Connect with us

Docking

Prepare receptor and ligand files for docking using Python scripts

Published

on

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.

  1. 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

  1. 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 chemistry30(16), 2785-2791.
  2. 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 chemistry31(2), 455-461.

 

 

Dr. Muniba is a Bioinformatician based in New Delhi, India. She has completed her PhD in Bioinformatics from South China University of Technology, Guangzhou, China. She has cutting edge knowledge of bioinformatics tools, algorithms, and drug designing. When she is not reading she is found enjoying with the family. Know more about Muniba

Advertisement
2 Comments

2 Comments

  1. [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

  2. 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.

You must be logged in to post a comment Login

Leave a Reply

Bioinformatics Programming

How to sort binding affinities based on a cutoff using vs_analysis.py script?

Published

on

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…)

Continue Reading

Docking

Virtual Screening using Autodock Vina: Frequently Asked Questions & Answers for Starters

Published

on

Virtual Screening using Autodock Vina: Virtual Screening: 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…)

Continue Reading

Docking

[Tutorial] How to perform docking of zinc metalloproteins using Autodock Vina?

Published

on

[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…)

Continue Reading

LATEST ISSUE

ADVERT