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.
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
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
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
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
All the options are very useful. Run
to see a list of supported options. Here are some important ones.
-btells MPose to run in DockBlaster mode, as explained above. In this mode, you do not need to provide the path to
INDOCKor the patch file.
--no-picktells 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.
-rsets the threshold RMSD that MPose uses to judge whether two poses are too similar to output both. Default is 2A.
-lsets the maximum number of poses for each molecule. Default is 10 poses per molecule in the database.
-osets the output file name. Default is
-vchanges makes the script more verbose.
Single mode DOCK run is managed by
~ycao/mpose/singlemode.py. It optionally calls
~ycao/mpose/posepick.py to perform pose pruning.