--- 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** [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](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**