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 or Smina.
- Original PDBQT preparation method as distributed with MGLTools.
- Automated PDBQT file preparation.
- Optional ligand energy minimization using obminimize.
- 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 with Docker. You must have Docker & docker-compose installed.
git clone https://github.com/aretasg/dockit
cd dockit
Install conda first
git clone https://github.com/aretasg/dockit
cd dockit
conda env create -f environment.yml
conda activate dockit
- Determine the search box size and centre positioning using Chimera (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 system here. - 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 by Aretas 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).