--- license: gpl-3.0 language: - en metrics: - bleu - accuracy base_model: - OpenPeerAI/Cloud-Agents library_name: dockingathome tags: - chemistry - biology - agent --- # 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) [![HuggingFace](https://img.shields.io/badge/%F0%9F%A4%97-Models-yellow)](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 ``` ## Quick Start ### Web GUI (Recommended!) ```bash # 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 ```bash # 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 ```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()) ``` ### Running on Localhost ```bash # 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 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} } ``` ## HuggingFace Integration Model cards and datasets are available at: - πŸ€— [https://huggingface.co/OpenPeerAI/DockingAtHOME](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**