MPose

From DISI
Revision as of 05:12, 14 February 2014 by Frodo (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Overview

MPose, or Multiple Pose, is a script to run single mode DOCK. It accepts a pre-built INDOCK file, or builds a single mode INDOCK file by patching an existing search mode INDOCK file. It then invokes DOCK to generate multiple poses for each molecule in the database. MPose can optionally prunes the output poses to remove similar poses and keep the top N poses with the highest DOCK scores.

A future option may be to use the new code for Dock_Ligand_Clustering instead of single mode dock.

Usage

Before using MPose, you must have a folder ready to run search mode DOCK. You can reuse a folder that has already been used for a search mode DOCK run. Essentially, MPose expects a valid and correct INDOCK file with associated PDB and database file.

Standard Mode Runs

With a general DOCK working folder containing a INDOCK, you can manually change the file to enable single mode, or you could create a patch file so that you can automate the patching by providing it to MPose. Using a patch has advantage of reusing the same patch in the future without manually update INDOCK for each folder. To make a patch, make a copy of the existing INDOCK:

cp INDOCK INDOCK.1

Then edit the INDOCK.1 file to enable single mode. You should change the following lines and make sure to comment out the remove_positive_solvation option if you have it.

mode                         single
rmsd_override                  0.0
contact_minimum                 0
energy_maximum                 1.0e+6

Now you can create the patch by running:

diff -c INDOCK INDOCK.1 > my.patch

This creates a patch file named my.patch. Now you can run MPose with the originan INDOCK and the patch:

~ycao/mpose/mpose INDOCK -p my.patch

With this, MPose will start a single mode DOCK run, and genarate output in mpose.mol2.

Note that you are allowed to have no -p or multiple -p. When multiple patches are provided with multiple -p switches, the input INDOCK will be patched sequentially in the order that the patch files are listed.

Many steps are involved in an MPose run. MPose first creates a temporary working folder (named singlemode.XXXXXXX), and places the patched INDOCK file inside. It will also resolve the file paths (such as grid files and database file) mentioned in INDOCK, and make sure the patched INDOCK still refers to the correct paths. It then runs DOCK. When DOCK finishes, a pose pruning process will be started. In this process, for each molecule, MPose ranks its poses by their DOCK scores, and returns the top 10 poses. MPose also makes sure there do no exist two poses in the output poses that are within 2A RMSD with each other. The final poses will be stored in a file named mpose.mol2, and the working directory will be removed.

You can override the default RMSD threshold and the maximum number of poses in the output as follows:

~ycao/mpose/mpose INDOCK -p my.patch -r 1 -l 20

The above command sets the threshold RMSD to 1A and the maximum number of output poses for each molecule to be 20.

DockBlaster Mode Runs

When working with standard DockBlaster job folders, you can advise MPose to use the stock patch files. You must enter a subfolder of a DockBlaster job folder that contains an INDOCK file, such as such as ~www/dockgui/06/24676/run.decoys/1.A. In such a directory, you can simply run

~ycao/mpose/mpose

MPose will perform single mode DOCK runs using an INDOCK file generated by patching the existing INDOCK with a stock patch file. MPose chooses the patch file based on the current working folder. For example, when MPose is invoked in ~www/dockgui/06/24676/run.decoys/1.A, it would use the patch file dockblaster.INDOCK.patch.1.A, which is written for DockBlaster's standard INDOCK for 1.A runs.

With the exception of the automatic patching, MPose in DockBlaster mode works the same as in the standard mode.

You can customize MPose, for example, to change the threshold RMSD and/or maximum number of poses to keep. In such cases, you must manually state that you want to run in the DockBlaster mode by adding -b switch. For example, the following command runs MPose in DockBlaster mode using a threshold of 2A (instead of 1A):

~ycao/mpose/mpose -b -r 2

Useful Options

All the options are very useful. Run

~ycao/mpose/mpose -h

to see a list of supported options. Here are some important ones.

  • -b tells MPose to run in DockBlaster mode, as explained above. In this mode, you do not need to provide the path to INDOCK or the patch file.
  • --no-pick tells MPose not to run the pose pruning step. All poses output by DOCK will be saved in the DOCK output format inside the temporary folder. If not set, MPose will run the pose pruning step after DOCK finishes. When pose pruning finishes, the temporary working folder will be removed.
  • -r sets the threshold RMSD that MPose uses to judge whether two poses are too similar to output both. Default is 2A.
  • -l sets the maximum number of poses for each molecule. Default is 10 poses per molecule in the database.
  • -o sets the output file name. Default is mpose.mol2.
  • -v changes makes the script more verbose.

Technical Details

Single mode DOCK run is managed by ~ycao/mpose/singlemode.py. It optionally calls ~ycao/mpose/posepick.py to perform pose pruning.