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].
For docking zinc metalloprotein, we will be using the Autodock4Zn force field. For that, you need to install the Autodock-Vina-develop package [2,3] as shown below. Download the package from GitHub. For detailed steps on its installation, read this article.
Now, let’s start with the docking of metalloprotein with a ligand. We will use ‘Human protein farnesyltransferase’ complexed with L-778,123 and FPP (PDB ID: 1s63). Download this protein and then we will prepare it using python scripts.
Preparing Protein
This protein contains two chains A & B. You can remove one chain and other HETATMS such as HOH. Do not remove Zn from the PDB file. Now prepare the PDBQT file of protein using a Python script, namely, ‘prepare_receptor.py’. You can find this script here. You can also use Autodock tools for the same.
$ prepare_receptor.py -r 1s63.pdb -v -o protein.pdbqt
It will output the pdbqt file, namely, ‘protein.pdbqt‘. After that run the following command to add the tetrahedral zinc pseudo atoms.
$ python /home/user/Downloads/AutoDock-Vina-develop/example/autodock_scripts/zinc_pseudo.py -r protein.pdbqt -o protein_tz.pdbqt
Replace user
to your username in the above command. After running this command, it will display something like this:
$ Wrote 1 TZ atoms on protein_tz.pdbqt.
Your protein has been prepared, let’s prepare the ligand.
Preparing Ligand
Here, the ligand is 778 as given in 1s63 PDB structure. To download the ligand, click on ‘Download Instance Coordinates‘ below the ligand name under ‘Small Molecule‘ section. Click on SDF format. Download it in the same directory and we are going to save it as ‘ligand.sdf‘. Convert it into pdb format using Pymol. For more information, read here.
Now, let’s prepare the pdbqt file of ligand using Python script, namely, ‘prepare_ligand.py’. You can download this file from here.
$ prepare_ligand.py -l ligand.pdb -v -o ligand.pdbqt
Generating Affinity Maps
To generate affinity maps, we will use the ‘prepare_gpf4zn.py‘ script. You can find this script inside the AutoDock-Vina-develop/example/autodock_scripts directory. In this command, we will define the grid box dimensions and Autodock4Zn forcefield.
$ python /home/user/Downloads/AutoDock-Vina-develop/example/autodock_scripts/prepare_gpf4zn.py -l ligand.pdbqt -r protein_tz.pdbqt -o protein_tz.gpf -p npts=40,30,50 -p gridcenter=18,134,-1 –p parameter_file=AD4Zn.dat
Now, run autogrid4 to generate affinity maps.
$ autogrid4 -p protein_tz.gpf -o protein_tz.glg
After this command, we have successfully created protein and ligand files in pdbqt format and all information regarding forcefield is incorporated into the affinity maps. Now, we can run docking.
Docking using Autodock Vina
We will use --scoring ad4
argument to define Autodock4 forcefield as shown below. Run docking command:
$ vina --ligand 1s63_ligand.pdbqt --maps protein_tz --scoring ad4 --exhaustiveness 32 --out 1s63_ligand_ad4_out.pdbqt
It will take the usual time to finish docking. Soon, you will get docking results.
References
- 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.
- J. Eberhardt, D. Santos-Martins, A. F. Tillack, and S. Forli. (2021). AutoDock Vina 1.2.0: New Docking Methods, Expanded Force Field, and Python Bindings. Journal of Chemical Information and Modeling.
- O. Trott and A. J. Olson. (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.