DockingAtHOME / README.md
Mentors4EDU's picture
Update README.md
1547a5f verified
---
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: [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**