Docking
Prepare receptor and ligand files for docking using Python scripts
Docking software such as Autodock4 [1] and Autodock Vina [2] require input receptor and ligand files in a specific format called pdbqt. Sometimes, preparing files using Autodock Tools (ADT) gives various errors that are not easily understandable. Especially, when we are performing virtual screening (VS), we need to convert a lot of files from pdb to pdbqt format. Converting each file one by one using ADT is a tedious job. Therefore, python scripts provided by Autodock are quite helpful.
In this article, we will prepare the input receptor and ligand docking files using Python scripts.
- Preparing Ligands
At first, locate the ‘prepare_ligand.py’ (or ‘prepare_ligand4.py’ for Autodock4) file in the MGLTools directory you have already installed. The script will be present in /path/to/mgltools_x86_64Linux2_1.5.6/MGLToolsPckgs/AutoDockTools/Utilities24/ or download from here or here.
Keep your ligands in a directory in pdb format and run this script as follows:
$ python prepare_ligand.py -l ligand.pdb -v -o ligand.pdbqt
Here, -l defines the ligand filename, -o is the output file, and -v is for displaying processing (default is minimal output).
There are other arguments that you can define such as
- -d dictionary to write types list and number of active torsions “
- -A type(s) of repairs to make:\n\t\t bonds_hydrogens, bonds, hydrogens (default is to do no repairs)”
- -B type(s) of bonds to allow to rotate.
- -M interactive (default is automatic output), and so on.
To know more options, type $ python prepare_ligand.py -h
.
You can set parameters for the first ligand PDB file and then use the same command for all ligand files.
2. Prepare receptors
Similarly, receptors can be prepared from a Python script ‘prepare_receptor.py’ (or ‘prepare_receptor4.py’ for Autodock4) present in the directory mentioned above. You can also download it from here or here.
Keep your receptor files in a directory in pdb format and run this script as follows:
$ python prepare_receptor.py -r receptor.pdb -v -o receptor.pdbqt -A
Here, -r defines the receptor filename, -o is the output file, -v is for displaying processing (default is minimal output), and -A is used for checking hydrogens.
For more arguments, type $ python prepare_receptor.py -h
.
References
- Morris, G. M., Huey, R., Lindstrom, W., Sanner, M. F., Belew, R. K., Goodsell, D. S., & Olson, A. J. (2009). AutoDock4 and AutoDockTools4: Automated docking with selective receptor flexibility. Journal of computational chemistry, 30(16), 2785-2791.
- Trott, O., & Olson, A. J. (2010). AutoDock Vina: improving the speed and accuracy of docking with a new scoring function, efficient optimization, and multithreading. Journal of computational chemistry, 31(2), 455-461.
Docking
[Tutorial] Performing docking using DockingPie plugin in PyMOL.
DockingPie [1] is a PyMOL plugin to perform computational docking within PyMOL [2]. In this article, we will perform simple docking using DockingPie1.2.
Docking
How to install the DockingPie plugin on PyMOL?
DockingPie [1] is a plugin of PyMOL [2] made to fulfill the purpose of docking within the PyMOL interface. This plugin will allow you to dock using four different algorithms, namely, Vina, RxDock, SMINA, and ADFR. It will also allow you to perform flexible docking. Though the installation procedure is the same for all OSs, in this article, we are installing this plugin on Ubuntu (Linux).
Docking
[Tutorial] Installing Pyrx on Windows.
Pyrx [1] is another virtual screening software that also offers to perform docking using Autodock Vina. In this article, we will install Pyrx on Windows. (more…)
Docking
How to install Autodock4 on Ubuntu?
Autodock suite is used for docking small molecules [1]. Recently, Autodock-GPU [2] is developed to accelerate the docking process. Its installation is described in this article. In this tutorial, we will install Autodock 4.2.6 on Ubuntu.
Docking
What values are considered as good or bad in computational docking?
After performing computational docking, a question that comes to mind most is “what docking score is considered good or bad”. In this article, we will discuss this in detail. (more…)
Bioinformatics Programming
How to sort binding affinities based on a cutoff using vs_analysis.py script?
Previously, we have provided a Python script (vs_analysis.py) to analyze the virtual screening (VS) results of Autodock Vina. Now, we have updated this script to sort binding affinities based on user inputted cutoff value. (more…)
Docking
Virtual Screening using Autodock Vina: Frequently Asked Questions & Answers for Starters
Virtual Screening (VS) is one of the important techniques in bioinformatics. It can be easily performed using Autodock Vina. We have provided detailed articles on this topic. In this article, we are trying to answer some FAQs for beginners. (more…)
Docking
[Tutorial] How to perform docking of zinc metalloproteins using Autodock Vina?
Proteins containing zinc atoms are docked in a different way than that of the normal simple proteins. Zinc atoms must be considered by a force field during the docking process. In this article, we are going to dock zinc metalloprotein with a ligand using Autodock Vina [1]. (more…)
Docking
How to generate config file for docking using Autodock Tools?
A configuration file is one of the required files for docking using Autodock Vina. In this article, we are going to generate a config file using Autodock Tools GUI [1]. (more…)
Docking
How to install Autodock on Ubuntu (Linux) with CUDA GPU support?
Autodock [1] is most widely used for docking. To accelerate the docking process, especially, during virtual screening, Autodock-GPU [2] provides great help. In this article, we are going to install Autodock-GPU on Ubuntu. (more…)
Docking
Autodock Vina: Uses & Applications
Autodock Vina [1] is one of the most widely used bioinformatics software for computational docking. For beginners and those who are new to the field of bioinformatics, such software may appear confusing without having an initial idea of what this software actually used for. In this article, we have discussed some of the primary uses and applications of Autodock Vina software. (more…)
Docking
How to perform virtual screening using Pyrx?
Pyrx is a bioinformatics tool to perform virtual screening [1]. We previously provided an article on performing simple protein-ligand site-specific docking using Pyrx. In this article, we are going to perform virtual screening using Pyrx. (more…)
Docking
How to perform metal ion-protein docking using idock?
Previously, we provided a tutorial on the installation of idock on Ubuntu (Linux). In this article, we are going to demonstrate the docking of a metal ion (such as Zn, Mg, Fe, etc.,) with a protein using idock. (more…)
Docking
How to install idock on Ubuntu?
idock [1] is a multithreaded software based on Autodock Vina. It is a virtual screening tool for flexible ligand docking. It also supports 27 different chemical elements including zinc, magnesium, iron, calcium, etc. In this article, we are going to install idock on Ubuntu. (more…)
Docking
How to analyze HADDOCK results using Pymol script generated from PRODIGY?
In one of our previously published articles, we demonstrated protein-protein docking using HADDOCK2.4 [1]. In this article, we are going to demonstrate the HADDOCK results analysis using a Pymol script generated from the PRODIGY server [2]. (more…)
Docking
Installing PatchDock on Ubuntu (Linux)
PatchDock is a docking algorithm that is based on the shape complementarity principle [1,2]. It performs molecular docking of any two types of molecules including proteins, DNA, drugs, and peptides. In this article, we are going to install PatchDock on Ubuntu (Linux). (more…)
Docking
Protein-protein docking using HADDOCK2.4 web server
HADDOCK2.4 web server (https://bianca.science.uu.nl/haddock2.4/) [1] is used for protein-protein docking and their modeling. Not only proteins, but it can also process peptides, small molecules, and nucleic acids. In this article, we are going to perform protein-protein docking. (more…)
Docking
How to perform site-specific docking using Pyrx?
Pyrx [1] is a virtual screening software that allows the docking of multiple ligands with a target protein. Previously, we provided an article on the installation of Pyrx in Ubuntu. In this article, we are going to perform protein-ligand docking using Pyrx. (more…)
Software
How to install sdsorter on Ubuntu (Linux)?
sdsorter is a tool that helps in the easy manipulation of SDF files. It takes a single file as input and also provides a single output file. In this article, we are going to install sdsorter on Ubuntu (Linux). (more…)
Docking
Video Tutorial: How to use vs_analysis Python script for virtual screening result analysis of Autodock Vina?
This is a demonstration video of our previously mentioned Python script (vs_analysis.py) for virtual screening results analysis of Autodock Vina. (more…)
[email protected]
November 26, 2021 at 3:17 pm
Hi Team
I use this command – python prepare_ligand.py -l ligand.pdb -v -o ligand.pdbqt
I am getting below error
File “prepare_ligand.py”, line 26
print ” Description of command…”
^
SyntaxError: Missing parentheses in call to ‘print’. Did you mean print(” Description of command…”)?
Could you please rectify any error in the prepare_ligand.py file
Dr. Muniba Faiza
November 26, 2021 at 4:47 pm
Hi,
It seems that you have a different Python version installed on your system. Try running it with Python3.