DockingAtHOME / README.md
Mentors4EDU's picture
Remove Docker Pull (Not Available Yet) and API Documentation (Localhost)
bbcb5c7 verified
|
raw
history blame
8.61 kB
---
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**