Exclusions for protein docking

The functionality of OpenMM will (eventually) include everything that one would need to run modern molecular simulation.
POST REPLY
User avatar
Jack Wieting
Posts: 7
Joined: Wed Jul 07, 2010 11:05 am

Exclusions for protein docking

Post by Jack Wieting » Mon Jul 19, 2010 12:43 pm

Hi, I am trying to use openMM to perform protein docking calculations. Is there a way in openMM to just calculate the potential energies between the atoms of different interacting partners (i.e. molecules) of a system, excluding the energetic contributions that arise from the internal interactions within the molecules, without creating a ton of exceptions?

Thanks
-Jack

User avatar
John Chodera
Posts: 53
Joined: Wed Dec 13, 2006 6:22 pm

RE: Exclusions for protein docking

Post by John Chodera » Mon Jul 19, 2010 12:54 pm

Hi Jack,

Currently, OpenMM does not allow the decomposition of potential energies by groups of interacting molecules. However, on the Reference and Cuda platforms, you can have multiple Context objects in existence at the same time. This means you can do the following:

Suppose we have two proteins A and B. I create three OpenMM System objects, (1) AB, (2) A only, (3) B only. I can create a Context object for each of the three systems. To compute the AB interaction energy, I can (1) push coordinates for complex AB to the first context and compute the potential energy; (2) push coordinates of just A to the second context to compute the intramolecular energy of A; (3) push coordinates of just B to the third context to compute the intramolecular energy of B. Then the intermolecular interaction energy will be (1) - [(2) + (3)].

There's clearly some overhead in doing this, but at least it should work for now. If you think the overhead is terribly bad for your application, it's worth submitting a Feature Request to see if the developers will add support for decomposing interaction energies by molecule.

Best,

John

User avatar
Peter Eastman
Posts: 2606
Joined: Thu Aug 09, 2007 1:25 pm

RE: Exclusions for protein docking

Post by Peter Eastman » Mon Jul 19, 2010 1:26 pm

> However, on the Reference and Cuda platforms, you can have multiple Context objects in existence at the same time.

That should have been Reference and OpenCL, not CUDA. Actually, you can do it on CUDA too, but each Context needs to be created and accessed from a separate thread due to the way CUDA binds context information to thread state.

Peter

User avatar
John Chodera
Posts: 53
Joined: Wed Dec 13, 2006 6:22 pm

RE: Exclusions for protein docking

Post by John Chodera » Mon Jul 19, 2010 2:21 pm

Peter,

Thanks for the correction here!

John

POST REPLY