Blind docking is done when the catalytic/binding residues are unknown in a protein, hence, the binding pocket is unknown. In a previous article, we showed how to perform site-specific docking using Autodock Vina, where we bound a ligand in a catalytic pocket of a protein. Now, this article will cover the blind docking using Autodock Vina.
We are docking the same protein Human Serum Albumin (HSA) with a ligand Sodium Octanoate (SO) but since the HSA is already complexed with 3-carboxy-4-methyl-5-propyl-furanpropanoic acid (CMPF), therefore, it should be removed first leaving the only protein.
As mentioned previously, we need the following files prepared for docking with AutoDock Vina:
- Pdbqt files of protein and the ligand
- Configuration file
- Grid file
Preparation of PDB file before docking
- Download a protein crystal structure from PDB. We are using Human Serum Albumin complexed with 3-carboxy-4-methyl-5-propyl-furanpropanoic acid (CMPF) (PDB ID: 2BXA).
- Open the PDB file and remove HETATOMS.
The structure we are using is a crystal structure complexed with a ligand, therefore, in order to know the binding position of our ligand, we need to empty all the binding pockets by removing the bound ligand which can be done by deleting all hetatoms from the PDB file. If we will dock our ligand without removing the already complexed ligand, then we will not get the correct results. We can also easily remove ligand by visualizing the protein in PyMol.
- After removing hetatoms, we will keep only one of the four chains (here, Chain A was taken) and remove the rest of the three chains and save this file as “protein.pdb”
The chains are removed from the protein structure just to avoid complexity. But remember to read about the structure of your protein to know what chains are necessarily involved in the protein functioning.
- Now save the file as “protein.pdb”.
Now we have prepared our protein structure to proceed further for docking. Now we will prepare our ligand which we want to dock with the protein.
Preparation of ligand before docking
- Open PubChem (www.pubchem.ncbi.nlm.nih.gov) and search for the compound. We are using “sodium octanoate” as a ligand. We can download the structure from the ZINC database also.
- Click on Sodium octanoate and look under “3D Structure” section, click on “Download” and then you will see four different formats for downloading it. We will download the .SDF format.
- Since we need the protein and the ligand to be in a .pdb format, therefore, we have to convert .SDF to .pdb. We will use PyMol for this purpose and never use online converters because they may ruin your ligand file.
- Open PyMol, and open the downloaded ligand. Click on “File” –> “Save Molecule” –> select the molecule –> click “OK”. You can save it to your desired folder.
We will rename the ligand as “SO.pdb” just to avoid any kind of confusion. Now we have a PDB file of protein and that of the ligand. In order to perform docking, we need to prepare .pdbqt files from the .pdb files of the protein and the ligand, because docking through AutoDock Vina requires .pdbqt file format to dock.
Preparation of .pdbqt files
First, we will prepare a .pdbqt file of the ligand.
- Open AutoDock Vina –> click “Ligand” –> click “Input”–> click “Open”
It will ask to select your ligand, we will go to the folder where we have saved our ligand’s .pdb file and click “SO.pdb”.
- Click “Ligand” –> click “Torsion Tree” –> click “Detect Root”.
It will show the torsion angle on the ligand from where it can be rotated.
- Click “Ligand” –> click “Output” –> Click “Save as PDBQT”.
We can rename the ligand, but we will use the same name as before and will name it as “SO.pdbqt” and save it in the same folder.
We have prepared a .pdbqt file of the ligand and now we will prepare the protein file.
- Open AutoDock Vina, click “File” –> click “Read Molecule” –> select protein.pdb.
- We will delete water molecules from the protein as they can make unnecessary bonds with the ligand. Click “Edit” à click “Delete water”.
- We will add polar hydrogens in order to avoid any empty group/ atom left in the protein. Click “Edit” –> click “Add Hydrogens” –> click “Polar only”.
- We will save this file as .pdbqt, click “Grid” –> click “Macromolecule” –> click “Choose” –> select the “protein.pdb” –> click “OK”. It will ask for a folder to save, then save it as “protein.pdbqt”, in the same folder where the pdbqt file of the ligand was saved.
Again, since it is a tutorial for blind docking, there is no need to define binding residues.
Defining Grid Box for docking
In blind docking, we do not need to define a specific site in the protein for the ligand to bind, because we do not know the binding site, so we enclose the whole protein into the grid box. Make sure the whole protein fits inside the grid box.
- Click “Grid” –> click “Grid Box”.
You will see a small window in which you can see x, y, and z coordinates.
- Now try to adjust the grid box by scrolling the three coordinates, such that it covers all the selected residues.
- After adjusting the grid box, click “File” –> click “Output Grid Dimension File” –> save this file as grid.txt in the same folder.
- Click “File” –> Click “Close saving current”.
- Now close the Autodock Vina.
You will get the grid file as follows:
Preparation of Configuration file
AutoDock Vina requires an input configuration file which contains all the information of the parameters used in configuring the docking including the name of the protein and the ligand. The configuration is as follows:
From “grid.txt” file, we have written the center_x, y, and z coordinates, and also the size_x, y, and z of the grid box. Save this file as “conf.txt”.
Put all the following in the same folder (i.e., dock):
- All the MGL_Tools, Autodock Tools, Python.exe (for Linux) and Autodock Vina setup files.
Please keep in mind that you have named the files properly and kept all the setup files in the same folder otherwise you may get errors while running the docking.
- Open the terminal and enter into the “dock” folder.
- Type the following command:
./vina -–config conf.txt -–log logSO.txt
- Press “enter”.
- Open the command prompt and enter the folder where all the docking files are placed.
- Type the following command:
vina -–config conf.txt -–log logSO.txt
After the successful docking, you will get a log file, which in this case is named “logSO.txt”.
The log file will look like this:
This file consists of all the poses generated by the AutoDock Vina along with their binding affinities and RMSD scores. In the Vina output log file, the first pose is considered as the best because it has more binding affinity than the other poses and without any RMSD value, but you can choose the appropriate pose and visualize it in PyMol viewer.
Please share if you like this article!
If you have any query, then feel free to contact me at [email protected].
- 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.
[Tutorial] Installing Pyrx on Windows.
How to install Autodock4 on Ubuntu?
What values are considered as good or bad in computational docking?
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…)
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…)
[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 . (more…)
How to generate config file for docking using Autodock Tools?
How to install Autodock on Ubuntu (Linux) with CUDA GPU support?
Autodock  is most widely used for docking. To accelerate the docking process, especially, during virtual screening, Autodock-GPU  provides great help. In this article, we are going to install Autodock-GPU on Ubuntu. (more…)
Autodock Vina: Uses & Applications
Autodock Vina  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…)
How to perform virtual screening using Pyrx?
How to perform metal ion-protein docking using idock?
How to install idock on Ubuntu?
idock  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…)
How to analyze HADDOCK results using Pymol script generated from PRODIGY?
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…)
Protein-protein docking using HADDOCK2.4 web server
HADDOCK2.4 web server (https://bianca.science.uu.nl/haddock2.4/)  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…)
How to perform site-specific docking using Pyrx?
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…)
Video Tutorial: How to use vs_analysis Python script for virtual screening result analysis of Autodock Vina?
Basic Methodology to Predict Antigen-Antibody Interactions in silico
Antigen-antibody interactions play an important role in protecting our body from foreign molecules. This is applied in vaccine development against a disease. In this article, we are going to mention a simple methodology used in studying/ identifying interactions between antigen-antibody complex. (more…)