| --- |
| 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: andrew@bleunomics.com |
| - � 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** |