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