Docking@HOME
Distributed and Parallel Molecular Docking Platform
[](https://huggingface.co/)
## Overview
Docking@HOME is a cutting-edge distributed computing platform that leverages the power of volunteer computing, GPU acceleration, decentralized networking, and AI-driven orchestration to perform large-scale molecular docking simulations. This project combines multiple state-of-the-art technologies to democratize drug discovery and computational chemistry.
### Key Features
- 𧬠**AutoDock Integration**: Uses AutoDock Suite 4.2.6 for molecular docking simulations
- π **GPU Acceleration**: CUDPP-powered parallel processing for enhanced performance
- π **Distributed Computing**: BOINC framework for volunteer computing at scale
- π **Decentralized Networking**: Distributed Network Settings-based coordination using the Decentralized Internet SDK
- π€ **AI Orchestration**: Cloud Agents for intelligent task distribution and optimization
- π **HuggingFace Integration**: Model cards and datasets for reproducible research
## Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β Docking@HOME Platform β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β ββββββββββββββββ ββββββββββββββββ βββββββββββββββββββ β β β Cloud Agents β β Decentralizedβ β BOINC Server β β β β (AI Routing) ββββ€ Internet ββββ€ (Task Mgmt) β β β ββββββββββββββββ ββββββββββββββββ βββββββββββββββββββ β β βΌ βΌ β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β Distributed Worker Nodes (BOINC Clients) β β β β ββββββββββββββββ ββββββββββββββββ β β β β β AutoDock βββββββββΊβ CUDPP β β β β β β (Docking) β β (GPU Accel) β β β β β ββββββββββββββββ ββββββββββββββββ β β β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
## Components
### 1. AutoDock Suite (v4.2.6)
Core molecular docking engine that predicts binding modes and affinities of small molecules to protein targets.
### 2. CUDPP (CUDA Data Parallel Primitives Library)
Provides GPU-accelerated parallel primitives for enhancing AutoDock's computational performance.
### 3. BOINC (Berkeley Open Infrastructure for Network Computing)
Distributed computing middleware that manages volunteer computing resources globally.
### 4. The Decentralized Internet SDK
Enables Distributed Network Settings-based coordination, ensuring transparency and decentralization of task distribution.
### 5. Cloud Agents
AI-powered orchestration layer that optimizes task scheduling and resource allocation based on workload characteristics.
## Authors & Contributors
- **OpenPeer AI** - AI/ML Integration & Cloud Agents
- **Riemann Computing Inc.** - Distributed Computing Architecture
- **Bleunomics** - Bioinformatics & Drug Discovery Expertise
- **Andrew Magdy Kamal** - Project Lead & System Integration
## Installation
### Prerequisites
- C++ compiler (GCC 7+ or MSVC 2019+)
- CUDA Toolkit 11.0+ (for GPU acceleration)
- Python 3.8+
- Node.js 16+ (for the Decentralized Internet SDK)
- BOINC client/server software
### Build Instructions
```bash
# Clone the repository
git clone https://huggingface.co/OpenPeerAI/DockingAtHOME
cd DockingAtHOME
# Initialize submodules
git submodule update --init --recursive
# Build the project
mkdir build && cd build
cmake ..
make -j$(nproc)
# Install
sudo make install
Docker Installation
docker pull your-org/docking-at-home:latest
docker run -d --gpus all your-org/docking-at-home:latest
Quick Start
Web GUI (Recommended!)
# Install dependencies
pip install -r requirements.txt
# Start the GUI server
python start.py
# Open browser to: http://localhost:8080
The GUI provides:
- π±οΈ Drag-and-drop file upload
- π Real-time progress monitoring
- π Live statistics dashboard
- π― Interactive job management
- π± Responsive design
Command Line
# Run docking from terminal
docking-at-home dock -l molecule.pdbqt -r protein.pdbqt
# Start server
docking-at-home server --port 8080
# Start worker
docking-at-home worker --local
Python API
from docking_at_home.server import job_manager, initialize_server
import asyncio
async def main():
await initialize_server()
job_id = await job_manager.submit_job(
ligand_file="molecule.pdbqt",
receptor_file="protein.pdbqt",
num_runs=100,
use_gpu=True
)
# Monitor progress
while True:
job = job_manager.get_job(job_id)
if job["status"] == "completed":
print(f"Best energy: {job['results']['best_energy']}")
break
await asyncio.sleep(1)
asyncio.run(main())
Running on Localhost
# Start the local server
docking-at-home server --port 8080
# In another terminal, run the worker
docking-at-home worker --local
Configuration
Configuration files are located in config/:
autodock.conf- AutoDock parametersboinc_server.conf- BOINC server settingsgpu_config.conf- CUDPP and GPU settingsdecentralized.conf- Distributed Network Settingscloud_agents.conf- AI orchestration parameters
API Documentation
Full API documentation is available at docs/API.md
Performance
On a typical configuration:
- CPU-only: ~100 docking runs/hour
- Single GPU (RTX 3090): ~2,000 docking runs/hour
- Distributed (1000 nodes): ~100,000+ docking runs/hour
Use Cases
- π¬ Drug Discovery and Virtual Screening
- π§ͺ Protein-Ligand Binding Studies
- π Large-Scale Chemical Library Screening
- π Educational Computational Chemistry
- π Pandemic Response (e.g., COVID-19 drug discovery)
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
License
This project is licensed under the GNU General Public License v3.0 - see LICENSE for details.
Individual components retain their original licenses:
- AutoDock: GNU GPL v2
- BOINC: GNU LGPL v3
- CUDPP: BSD License
Citation
If you use Docking@HOME in your research, please cite:
@software{docking_at_home_2025,
title={Docking@HOME: A Distributed Platform for Molecular Docking},
author={OpenPeer AI and Riemann Computing Inc. and Bleunomics and Andrew Magdy Kamal},
year={2025},
url={https://huggingface.co/OpenPeerAI/DockingAtHOME}
}
HuggingFace Integration
Model cards and datasets are available at:
Support
- π§ Email: andrew@bleunomics.com
- οΏ½ Issues: HuggingFace Issues
- π€ Community: HuggingFace Discussions
Acknowledgments
- The AutoDock development team at The Scripps Research Institute
- BOINC project at UC Berkeley
- CUDPP developers
- Lonero Team for the Decentralized Internet SDK
- OpenPeer AI for Cloud Agents framework
Made with β€οΈ by the open-source computational chemistry community