Calculate DOCK6 RMSD

From DISI
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.