Calculate DOCK6 RMSD

From DISI
Revision as of 23:37, 6 May 2013 by Oliv Eidam (talk | contribs)
Jump to navigation Jump to search

Calculate ligand RMSDs using DOCK6

Calculating ligand RMSDs is a tricky thing, but DOCK6 does this quite well. All you need is two ligands in mol2 format (with the same number of atoms and same Sybil atom types) and a DOCK6 binary.

Then you run the following command:

~eidamo/work/scripts/calc_dock6_rmsd.csh xtal.mol2 dock.mol2

calc_dock6_rmsd.csh (see code below) outputs three lines:

HA_RMSDs: 4.2878
HA_RMSDh: 2.7406
HA_RMSDm: 0.9625

The most meaningful line is the one in the middle (HA_RMSDh), which outputs the RMSD using the Hungarian Algorithm (for more information: http://dock.compbio.ucsf.edu/DOCK_6/dock6_manual.htm)


calc_dock6_rmsd.csh

#!/bin/csh -f
if ($#argv != 2) then
        echo "Usage: $0 mol.mol2 ref.mol2"
        echo "calculates rmsd between 2 molecules using hungarian algorithm implemented in DOCK 6"
    endif

setenv dock66_dir "/raid1/people/tbalius/zzz.programs/dock6_2012-10-09.stonybrook"

echo "ligand_atom_file                                             $1" > temp.in
echo "limit_max_ligands                                            no" >> temp.in
echo "skip_molecule                                                no" >> temp.in
echo "read_mol_solvation                                           no" >> temp.in
echo "calculate_rmsd                                               yes" >> temp.in
echo "use_rmsd_reference_mol                                       yes" >> temp.in
echo "rmsd_reference_filename                                      $2" >> temp.in
echo "use_database_filter                                          no" >> temp.in
echo "orient_ligand                                                no" >> temp.in
echo "use_internal_energy                                          no" >> temp.in
echo "flexible_ligand                                              no" >> temp.in
echo "bump_filter                                                  no" >> temp.in
echo "score_molecules                                              no" >> temp.in
echo "atom_model                                                   all" >> temp.in
echo "vdw_defn_file                                                $dock66_dir/parameters/vdw_AMBER_parm99.defn" >> temp.in
echo "flex_defn_file                                               $dock66_dir/parameters/flex.defn" >> temp.in
echo "flex_drive_file                                              $dock66_dir/parameters/flex_drive.tbl" >> temp.in
echo "ligand_outfile_prefix                                        output" >> temp.in
echo "write_orientations                                           no" >> temp.in
echo "num_scored_conformers                                        1" >> temp.in
echo "rank_ligands                                                 no" >> temp.in


$dock66_dir/bin/dock6 -i temp.in > dock6.log

grep "HA_RMSD" output_scored.mol2


Acknowledgments

Thanks to Trent for pointing out this great new feature in DOCK 6.6.