Calculate DOCK6 RMSD
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.