Personal tools
You are here: Home FAQs & Help FAQs Is there a way to save a protein-ligand complex as a PDB file in AutoDock?
Document Actions

Is there a way to save a protein-ligand complex as a PDB file in AutoDock?

Up to table of contents

This FAQ applies to: AutoDock 4

I have completed my dockings of a ligand to a protein. Is there a way to save a protein-ligand complex as a PDB file in AutoDock?

Extracting Dockings from DLG Files

AutoDock 4 writes out the coordinates of the atoms in the ligand (and any moving parts of the receptor, if you are doing a flexible sidechain docking). It does not write out the coordinates of the fixed part of the receptor. Each docked conformation is written in PDBQT format in the DLG (docking log file). (Note that AutoDock 3 writes in PDBQ format). So if you did 10 dockings, there should be 10 different docked conformations in the DLG.

Each line of the PDBQT-formatted docked conformation is prefixed by the string "DOCKED: ", so it is possible to extract these lines from the DLG using a couple of simple UNIX commands. You need to go to the UNIX/Linux/Cygwin/Mac OS X Terminal and change directory (cd) to the directory that contains your DLG, then type the following line at the command line and press < Return > (substitute my_docking.dlg with the name of your DLG):

    grep '^DOCKED' my_docking.dlg | cut -c9- > my_docking.pdbqt

The grep command is a UNIX command that prints lines that match a pattern. Here, the pattern is ^DOCKED, and the ^ or caret symbol (Shift-6 on most keyboards) means "at the start of the line", so this pattern matches all lines that begin with the prefix "DOCKED". The | character (Shift-\ or Shift-backslash) is called a pipe, and it takes the output of the command on its left and feeds it into the input of the command on the right. The cut command selects portions of each line, and the flag -c9- means "cut out all the characters after column 9', which has the effect of removing the "DOCKED: " prefix from the line. The last part of the command, > my_docking.pdbqt, uses the > redirect command (Shift-. = greater-than symbol) to save the output into a new file called my_docking.pdbqt.

Converting from PDBQT to PDB

To convert from PDBQT format to PDB format, the simplest thing to do is to remove the charge (Q) and atom type (T) columns; this can be achieved using a simple UNIX command. Make sure you are in the same directory where you created my_docking.pdbqt, and type:

    cut -c-66 my_docking.pdbqt > my_docking.pdb

This will create a PDB file, containing all of the docking results. Each docking will appear as a single "MODEL", which is the PDB record usually used to denote an NMR model. Each "MODEL" will contain the ligand and any moving parts of the receptor. If you would like to view the models in this PDB file, you can go load the multi-model PDB file in a program like "PyMol"http://pymol.sourceforge.net/ and then click on the "Play" button to play through all the docked conformations. Click the "Stop" button to halt the play-back, and click on the ">" and "<" buttons to step through the conformations one-at-a-time. It is possible to load the PDB file of the receptor, too, to see how the ligand interacts.

Splitting a Multi-Model PDB File into Separate PDB Files

If you want to split the PDB file that contains all the docked conformations, my_docking.pdb, into separate PDB files each containing just one docking, then use these commands:

    set a=`grep ENDMDL my_docking.pdb | wc -l`
    set b=`expr $a - 2`
    csplit -k -s -n 3 -f my_docking. mydocking.pdb '/^ENDMDL/+1' '{'$b'}'
    foreach f ( mydocking.[0-9][0-9][0-9] )
      mv $f $f.pdb
    end

For example, if there were 50 ENDMDL records in the file my_docking.pdb, these commands would create 50 separate PDB files numbered from 000 to 049, and they would be named my_docking.000.pdb, my_docking.001.pdb, my_docking.002.pdb and so on, all the way up to my_docking.049.pdb.

Creating a PDB File of the Complex

To create a single PDB file that contains a complex of both the the receptor and all the models of the docked ligand, you can use the following command to combine the PDB file of the receptor (receptor.pdb) and all the docked conformations of the ligand stored in 'my_docking.pdb':

    cat receptor.pdb my_docking.pdb | grep -v '^END   ' | grep -v '^END$' > complex.pdb

This uses the UNIX cat command which concatenates files together. This command will create a new PDB file called complex.pdb.

To create a PDB file that contains a complex of both the receptor and a single ligand, then use the commands for splitting the multi-model docked PDB file, select the docked conformation of the ligand, and then use the following command to combine the PDB file of the receptor (receptor.pdb) and the docked conformation of the ligand; say we chose the ligand conformation in 'my_docking.042.pdb':

    cat receptor.pdb my_docking.042.pdb | grep -v '^END   ' | grep -v '^END$' > complex.pdb

This uses the UNIX cat command which concatenates files together, and the grep command with the -v flag which extracts all the lines except lines containing the END record. This command then creates a new PDB file called complex.pdb, that contains the coordinates of the receptor, followed by all the models of the docked ligand stored in the PDB file my_docking.pdb.

by morris last modified 2007-03-25 23:14

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: