- Notifications
You must be signed in to change notification settings - Fork9
High-throughput molecular docking with multiple targets and ligands using Vina series engines
License
NotificationsYou must be signed in to change notification settings
aretasg/dockit
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Perform high-throughput molecular docking with multiple targets and ligands using AutoDock Vina series engines.
- Molecular docking with multiple target and ligands at the same time.
- Flexible residue declaration for targets.
- Use other Vina-like engines e.g.Qvina2/Qvina-W orSmina.
- Original PDBQT preparation method as distributed with MGLTools.
- Automated PDBQT file preparation.
- Optional ligand energy minimization usingobminimize.
- Output CSV file with all docking results for all modes for an easy access to the docking results.
- Docker support. Run it anywhere!
Dockit can be run withDocker. You must have Docker & docker-compose installed.
git clone https://github.com/aretasg/dockitcd dockit
Installconda first
git clone https://github.com/aretasg/dockitcd dockitconda env create -f environment.ymlconda activate dockit
- Determine the search box size and centre positioning usingChimera (Tools > Structure/Binding Analysis > Vina) or similar.
- Define search box and docking parameters for each target in
dockit_param.csv
. - Copy protein and ligand PDB files into
targets/PDB
andligands/PDB
folders, respectively and run:
python app/dockit.py
or if using Docker
docker-compose up
- The calculation will take some time depending on the parameters and the number of files. Results can be found in the
results
folder. - Visualise the
results
with a molecular viewer of your choice by loading ligand PDBQT file in theresults
folder and target PDB or PDBQT file intargets
directory. - CSV file
dockit_results.csv
is generated inresults
folder with all the docking results. - Run with
-r
flag to reset to the pre-run state - PDBQT and result files will be removed.
Argument | Description | Required |
---|---|---|
target | file name of the target located in targets/PDB - excluding the extension | ❗ |
x_center | X coordinate of the seach box center | ❗ |
y_center | Y coordinate of the search box center | ❗ |
z_center | Z coordinate of the search box center | ❗ |
x_size | search box size in the X dimension (Angstroms) | ❗ |
y_size | search box size in the Y dimension (Angstroms) | ❗ |
z_size | search box size in the Z dimension (Angstroms) | ❗ |
engine | type of engine to use to run the docking (e.g. vina or qvina2) | ❗ |
exhaustiveness | exhaustiveness of the global search (roughly proportional to time, default=8) | 🤔 |
num_modes | maximum number of binding modes to generate (default=9) | 🤔 |
seed | explicit random seed | 🤔 |
cpu | number of CPUs available to use for docking (default is to auto detect the number of cores available) | 🤔 |
energy_range | maximum energy difference between the best binding mode and the worst one displayed (default = 3 kcal/mol) | 🤔 |
flex_resi | specify target residues to be treaded as flexible during docking | 🤔 |
- Dockit will dock every target against every ligand in
targets/PDB
andligands/PDB
, respectively. - Dockit is not an input for docking preparation tool. Input files have to be in PDB format. Conversion to PDBQT adds hydrogens and removes non-polar ones.
- Edit
dockit_param.csv
to change any parameters to be run with the docking engine, including search box parameters. - Run with
-m
flag perform energy minimization for ligands usingobminimize
with default settings. - Supports declaration of flexible residues for targets. Please look at
dockit_param.csv
for an example for how to declare flexible residues. - Supports other Vina-like engines e.g. Qvina2. Please specify the engine name or path to it in the
engine
column ofdockit_param.csv
. Dockit comes installed withvina
,qvina2
,qvinaw
andsmina
. You should be able to use any other engine with the same CLI as Vina. - Specify custom scoring system weights in the
weight_*
fields ofdockit_param.csv
. More about the scoring systemhere. - Dockit utilises threading to distribute multiple simulations across available cores. Please change the
cpu
argument to a finite value to ensure distributed processing. - The necessity of selecting the charges (Kollman/Gasteirger) is obsolete with Vina due to the scoring system being based on hydrophobic and hydrogen bond interactions compared to its predecessor AutoDock 4. Nevertheless, the default charge for targets and ligands are set as Kollman and Gasteirger, respectively.
Written byAretas Gaspariunas. Have a question? You can always ask and I can always ignore.
If you found Dockit useful for your work please acknowledge it by citing this repository.
MIT License.
prepare_*
files are distributed as part of MGLTools 1.5.6 and all the ownership is credited to their respective authors (Morris et al., 2009).