How to perform covalent docking using AutodockFR (ADFR)?

6 mins read
Covalent docking using ADFR

Docking is performed in different ways depending upon the requirements. In some cases, it is required to dock a covalent ligand with the receptor. In this article, we will perform docking of a covalently bound ligand with a receptor using AGFR [1] and ADFR [2]. You can install these tools from the MGLTools2 package. For the installation guide, click here.

In a covalently bound ligand, there are three atoms shared between the receptor and the ligand. It includes a common anchor atom in the receptor that connects with the ligand’s atoms. You can see both connected atoms in the PDBQT files of both the receptor and the ligand as well. In this tutorial, we are docking 4-Chlorobenzoyl-CoA Ligase/Synthetase (PDB ID: 3CW9) bound to 4-chlorophenacyl-CoA.

Prepare PDBQT files

Prepare the PDBQT file of the receptor and the ligand using Autodock tools.

Preparation of PDBQT file of ligand

You can randomly optimize the ligand’s conformation as well as its positions and orientation in the crystal structure. Then save the PDBQT file.

  1. Open AutoDock Tools --> Ligand --> Input--> 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”.

  1. Click Ligand --> Torsion Tree --> Detect Root .

It will show the torsion angle on the ligand from where it can be rotated.

  1. Click Ligand --> Output --> Save as PDBQT

We can rename the ligand, but we will use the same name as before and will name it as “ligand.pdbqt” and save it in the same folder.

Preparation of PDBQT file of receptor

Let’s save the receptor file as “protein.pdb“. Now, prepare the PDBQT file of receptor protein using the same procedure as used for simple site-specific docking except for a few steps.

Let’s prepare a simple PDBQT file.

  1. Open AutoDock Tools, click File --> Read Molecule --> select protein.pdb .
  2. We will delete water molecules from the protein as they can make unnecessary bonds with the ligand. Click Edit --> Delete water.
  3. We will add polar hydrogens in order to avoid any empty group/ atom left in the protein. Click Edit --> Add Hydrogens --> Polar only
  4. We will save this file as .pdbqt, click Edit Grid --> Macromolecule --> Choose --> select the “protein.pdb” --> 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.
  5. Locate residues involved in making covalent bond. For details on how to locate residues, read this article.
  6. Remember, in covalent docking, there is no need for coordinates to define a grid box. The ligand is placed in the grid box using the covalent bond.

Prepare target file

Note down the PDB serial number of the atoms forming a covalent bond present in the PDBQT file of the receptor. In this case, 1593 and 1596. 

Generate the target file

We will use AGFR to calculate the affinity maps. It helps to specify the grid box position for docking. You can either use the command-line or GUI for that. Here, we will be using the command-line.

$ agfr -r protein.pdbqt -b user 28.565 6.329 6.985 25 25 25 -c 1593 1596 -t 1591 -x A:CYS164 -o protein_affmaps

Here, -r represents the receptor PDBQT file.

-b defines the box manually.

-c defines the serial numbers of atoms forming a covalent bond in the receptor.

-t represents the anchor atom defining the covalent attachment and is used to calculate the torsion angle of the covalent bond.

-x argument limits the parsing of receptor to covalent residues only as in some cases, covalent residues can create bonds with the receptor other than the covalent attachment.

-o defines the output filename.

It will output the mentioned file with .trg extension.

Analyze the generated target file

You can see all information in the target file using the following command:

$ about protein_affmaps.trg

It will display all necessary information including maps, pocketMode, box, and receptor.

Perform covalent docking

Now, you can dock the ligand with the receptor using the following command:

$ adfr -l ligand.pdbqt -t protein_affmaps.trg --jobName covalentdocking -C 1 2 3 --nbRuns 8 --maxEvals 100000 -O --seed 1

Here, -l defines the ligand.

-t defines the generated target file containing affinity maps.

-maxEvals define the number of evaluations of the scoring function. You can modify these values according to your requirements.

The output files are named according to the job name specified in the above command (--jobName covalentdocking). After the processing finishes, it will generate three output files:

  • ligand_covalentdocking_summary.dlg
  • ligand_covalentdocking_out.pdbqt
  • ligand_covalentdocking.dro

The output analysis will be explained in the upcoming tutorial.


  1. Zhao, Y., Stoffler, D., & Sanner, M. (2006). Hierarchical and multi-resolution representation of protein flexibility. Bioinformatics22(22), 2768-2774.
  2. Ravindranath, P. A., Forli, S., Goodsell, D. S., Olson, A. J., & Sanner, M. F. (2015). AutoDockFR: advances in protein-ligand docking with explicitly specified binding site flexibility. PLoS computational biology11(12), e1004586.
Muniba is a Bioinformatician based in the South China University of Technology. 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

Leave a Reply

monthly-october updates bioinformatics
Previous Story

This Month in Bioinformatics- Research Updates of October 2020

installing SIFT on ubuntu
Next Story

Installing SIFT for Missense Variants on Ubuntu

0 $0.00