File size: 4,971 Bytes
35aaa09 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 |
# Example Files for Docking@HOME
This directory contains example ligand and receptor files in PDBQT format for testing the Docking@HOME platform.
## Files
### `example_ligand.pdbqt`
- **Type**: Small molecule ligand
- **Format**: PDBQT (AutoDock format with partial charges and atom types)
- **Rotatable Bonds**: 2
- **Atoms**: 5
- **Purpose**: Simple test ligand for quick docking runs
### `example_receptor.pdbqt`
- **Type**: Protein receptor
- **Format**: PDBQT
- **Residues**: 4 (ALA, GLY, VAL, LEU)
- **Atoms**: 24
- **Purpose**: Simple test receptor for demonstration
## How to Use
### Web GUI
1. Start the server:
```bash
python start.py
```
2. Open browser to `http://localhost:8080`
3. Upload files:
- Click "Choose File" for Ligand → Select `example_ligand.pdbqt`
- Click "Choose File" for Receptor → Select `example_receptor.pdbqt`
4. Configure parameters:
- Runs: 100 (or your choice)
- GPU: Enable if available
5. Click "🚀 Start Docking"
### Command Line
```bash
docking-at-home dock \
-l examples/example_ligand.pdbqt \
-r examples/example_receptor.pdbqt \
-n 100 \
--gpu
```
### 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="examples/example_ligand.pdbqt",
receptor_file="examples/example_receptor.pdbqt",
num_runs=100,
use_gpu=True
)
print(f"Job submitted: {job_id}")
asyncio.run(main())
```
## Expected Results
When running docking with these example files, you should expect:
- **Binding Energies**: -12 to -6 kcal/mol (simulation mode)
- **Poses**: As many as requested runs
- **Execution Time**:
- Simulation mode: ~1-2 seconds for 100 runs
- Real AutoDock (CPU): ~30-60 minutes for 100 runs
- Real AutoDock (GPU): ~2-5 minutes for 100 runs
## Converting Your Own Files
These example files are in PDBQT format. To convert your own PDB files:
### Using AutoDockTools (Python 2.7)
```bash
# Install AutoDockTools
pip install numpy
# Download from: http://autodock.scripps.edu/downloads
# Prepare ligand
pythonsh prepare_ligand4.py -l molecule.pdb -o molecule.pdbqt
# Prepare receptor
pythonsh prepare_receptor4.py -r protein.pdb -o protein.pdbqt
```
### Using Open Babel
```bash
# Install Open Babel
# Ubuntu/Debian: sudo apt-get install openbabel
# Mac: brew install open-babel
# Windows: Download from http://openbabel.org/
# Convert ligand (add hydrogens and charges)
obabel molecule.pdb -O molecule.pdbqt -h --partialcharge gasteiger
# Convert receptor
obabel protein.pdb -O protein.pdbqt -h
```
### Using PyMOL
```python
# In PyMOL
load molecule.pdb
h_add
save molecule.pdbqt
```
## File Format Details
### PDBQT Format
PDBQT is an extension of PDB format that includes:
- **Atom types** (C.3, N.pl3, O.2, etc.)
- **Partial charges** (Gasteiger or other methods)
- **Rotatable bonds** (TORSDOF)
- **Flexible residues** (for receptor flexibility)
### Example PDBQT Structure:
```
REMARK Name = Example Ligand
REMARK 2 active torsions
ROOT
ATOM 1 C UNL 1 0.000 0.000 0.000 0.00 0.00 +0.000 C
ATOM 2 C UNL 1 1.540 0.000 0.000 0.00 0.00 +0.000 C
ENDROOT
BRANCH 2 3
ATOM 3 C UNL 1 2.078 1.421 0.000 0.00 0.00 +0.000 C
ENDBRANCH 2 3
TORSDOF 2
```
Key elements:
- `REMARK`: Comments and metadata
- `ROOT/ENDROOT`: Non-rotatable core structure
- `BRANCH/ENDBRANCH`: Rotatable bonds
- `TORSDOF`: Number of rotatable bonds (degrees of freedom)
- Coordinates: X, Y, Z in Ångströms
- Charges: Partial atomic charges
## More Examples
For more example structures:
1. **PDB Database**: https://www.rcsb.org/
- Download crystal structures
- Convert to PDBQT
2. **PubChem**: https://pubchem.ncbi.nlm.nih.gov/
- Download small molecules
- Convert to PDBQT
3. **AutoDock Website**: https://autodock.scripps.edu/
- Example files
- Tutorials
- Documentation
## Troubleshooting
### File Not Recognized?
Make sure your PDBQT file has:
- `.pdbqt` extension
- Proper ATOM/HETATM records
- Gasteiger charges
- Correct atom types
### Invalid Coordinates?
Check that:
- Coordinates are in Ångströms
- Values are reasonable (not NaN or infinity)
- Structure is 3D (not 2D)
### Missing Charges?
Add charges using:
```bash
obabel input.pdb -O output.pdbqt --partialcharge gasteiger
```
## Support
- 📧 Email: [email protected]
- 🤗 Issues: https://huggingface.co/OpenPeerAI/DockingAtHOME/discussions
- 📚 AutoDock Docs: https://autodock.scripps.edu/
---
**Authors**: OpenPeer AI, Riemann Computing Inc., Bleunomics, Andrew Magdy Kamal
|