Wednesday, 1 October 2008

Autodock - evaluating dockings

To evaluate my dockings I did it the hard way with a graphics program, however first needed to split the docking log files into multiple pdb files that could be read by the graphics programs. To do this I invoked the following script in each of my /Dockings/ligands directories:

#!
grep '^DOCKED' T000015_rigid.dlg | cut -c9- > my_docking.pdbqt
cut -c-66 my_docking.pdbqt > my_docking.pdb
# csh to split pdb files from autodock output.
# edit outputname.
#
set outputname=T000015
set a=`grep ENDMDL my_docking.pdb | wc -l`
set b=`expr $a - 2`
csplit -k -s -n 3 -f $outputname. my_docking.pdb '/^ENDMDL/+1' '{'$b'}'
foreach f ( $outputname.[0-9][0-9][0-9] )
mv $f $f.pdb
end

This gave me a whole bunch of pdb files which I loaded into PyMOL to examine using the PyMOL script:

load T000015.000.pdb, conf0
load T000015.001.pdb, conf1
load T000015.002.pdb, conf2
load T000015.003.pdb, conf3
etc...

1 comment:

  1. good pm

    i did the splitting of the files using your code but i get the error csplit:{}; integer required between '{' and '}'

    then when i entered the code as 1 one line i get something like unexpected token near ')'

    why does this happen? how did you input the commands..

    Thanks in advnce

    ReplyDelete