MolGenDocking: Molecular Generation and Docking Benchmarks
Welcome to MolGenDocking, a comprehensive framework for molecular generation tasks with integrated protein-ligand docking evaluation. This project provides datasets, benchmarks, and a reward server for training and evaluating models that generate drug-like molecules optimized for specific biological targets.
Quick Start
Installation
Basic Installation:
If called aspip install ., pytdc will not be installed.
Note: This installation requires OpenBabel to be installed on your system. OpenBabel is used for molecular file format conversions and processing.
Running the Reward Server
export DOCKING_ORACLE=autodock_gpu
... # Set other environment variables as needed
export DATA_PATH=... # Path to your data directory
uvicorn --host 0.0.0.0 --port 8000 mol_gen_docking.server:app
Using the API
import requests
response = requests.post(
"http://localhost:8000/get_reward",
json={
"query": "CC(C)Cc1ccc(cc1)C(C)C(=O)O",
"prompt": "Generate a drug-like molecule...",
"metadata": [
{
"properties": ["QED", "protein_1"],
"objectives": ["above", "minimize"],
"target": [0.7, 0.0]
}
]
}
)
⚙️ Reward Server API We use AutoDock-GPU for fast GPU-accelerated docking calculations. The Molecular Verifier server is built using FastAPI, and supports concurrent requests, ensuring efficient handling of multiple docking evaluations, and asynchroneous pipelines.
🤖 MCP Server Support The server also includes MCP (Model Context Protocol) support for seamless integration with AI workflows and language models that use MCP for tool calling and function execution.
Citation
If you use MolGenDocking in your research, please cite:
License
Apache License 2.0. See LICENSE for details.
Support
For issues, questions, or contributions, please visit our GitHub repository.