| | --- |
| | language: |
| | - en |
| | license: gpl-3.0 |
| | tags: |
| | - molecular-docking |
| | - drug-discovery |
| | - distributed-computing |
| | - autodock |
| | - boinc |
| | - chemistry |
| | - biology |
| | - agent |
| | - computational-chemistry |
| | - bioinformatics |
| | - gpu-acceleration |
| | - distributed-network |
| | - decentralized |
| | datasets: |
| | - protein-data-bank |
| | - pubchem |
| | - chembl |
| | metrics: |
| | - binding-energy |
| | - rmsd |
| | - bleu |
| | - accuracy |
| | base_model: |
| | - OpenPeerAI/Cloud-Agents |
| | library_name: docking-at-home |
| | pipeline_tag: other |
| | --- |
| | |
| | # Docking@HOME |
| |
|
| | **Distributed and Parallel Molecular Docking Platform** |
| |
|
| | [](https://www.gnu.org/licenses/gpl-3.0) |
| |
|
| | ## 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 |
| | |
| | ┌─────────────────────┐ |
| | │ BOINC Server │ |
| | │ (Task Mgmt) │ |
| | └─────────▲───────────┘ |
| | │ |
| | │ |
| | ┌──────────┴───────────┐ |
| | │ Decentralized │ |
| | │ Internet │ |
| | └─────────▲───────────┘ |
| | │ |
| | │ |
| | ┌──────────┴───────────┐ |
| | │ Cloud Agents │ |
| | │ (AI Routing) │ |
| | └──────────┬───────────┘ |
| | │ |
| | ▼ |
| | ┌──────────────────────────────────────────────┐ |
| | │ Distributed Worker Nodes (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 |
| | ``` |
| |
|
| | ## Getting Started |
| |
|
| | ### Installation |
| |
|
| | ```bash |
| | # Clone repository |
| | git clone https://huggingface.co/OpenPeerAI/DockingAtHOME |
| | cd DockingAtHOME |
| | |
| | # Install dependencies |
| | pip install -r requirements.txt |
| | npm install |
| | |
| | # Build C++/CUDA components |
| | mkdir build && cd build |
| | cmake .. && make -j$(nproc) |
| | ``` |
| |
|
| | ### Quick Start with GUI |
| |
|
| | ```bash |
| | # Start the web-based GUI (fastest way to get started) |
| | docking-at-home gui |
| | |
| | # Or with Python |
| | python -m docking_at_home.gui |
| | |
| | # Open browser to http://localhost:8080 |
| | ``` |
| |
|
| | ### Quick Start Example (CLI) |
| |
|
| | ```python |
| | from docking_at_home import DockingClient |
| | |
| | # Initialize client (localhost mode) |
| | client = DockingClient(mode="localhost") |
| | |
| | # Submit docking job |
| | job = client.submit_job( |
| | ligand="path/to/ligand.pdbqt", |
| | receptor="path/to/receptor.pdbqt", |
| | num_runs=100 |
| | ) |
| | |
| | # Monitor progress |
| | status = client.get_status(job.id) |
| | |
| | # Retrieve results |
| | results = client.get_results(job.id) |
| | print(f"Best binding energy: {results.best_energy} kcal/mol") |
| | ``` |
| |
|
| | ### Running on Localhost |
| |
|
| | ```bash |
| | # Start server |
| | docking-at-home server --port 8080 |
| | |
| | # In another terminal, run worker |
| | docking-at-home worker --local |
| | ``` |
| |
|
| | ### Python API |
| |
|
| | ```python |
| | 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()) |
| | ``` |
| |
|
| | ## Configuration |
| |
|
| | Configuration files are located in `config/`: |
| |
|
| | - `autodock.conf` - AutoDock parameters |
| | - `boinc_server.conf` - BOINC server settings |
| | - `gpu_config.conf` - CUDPP and GPU settings |
| | - `decentralized.conf` - Distributed Network Settings |
| | - `cloud_agents.conf` - AI orchestration parameters |
| |
|
| | ## 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](CONTRIBUTING.md) for guidelines. |
| |
|
| | ## License |
| |
|
| | This project is licensed under the GNU General Public License v3.0 - see [LICENSE](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: |
| |
|
| | ```bibtex |
| | @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} |
| | } |
| | ``` |
| |
|
| | ## Support |
| |
|
| | - 📧 Email: [email protected] |
| | - � Issues: [HuggingFace Issues](https://huggingface.co/OpenPeerAI/DockingAtHOME/discussions) |
| | - 🤗 Community: [HuggingFace Discussions](https://huggingface.co/OpenPeerAI/DockingAtHOME/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** |