[gmx-developers] free energy calculations with restraints
Berk Hess
hess at kth.se
Mon Aug 19 10:10:36 CEST 2013
Hi,
I fully understood this point, maybe my reply wasn't well structured.
I was trying to argue that the proper solution would be to implement
inter-molecular restraints, instead of introducing an option which could
me misused. Also merging a ligand topology into your protein topology is
very inconvenient. This problem with the proper solution is, of course,
that someone will need to implement inter-molecular restraints/potentials.
One issue used to be that we corrected molecules for PBC before
calculating bonded interactions. But in 4.6 this is usually not faster
and not used any more. That makes it easier to treat intra- and
inter-molecular interactions the same way at the mdrun level.
Cheers,
Berk
On 08/19/2013 09:55 AM, Floris Buelens wrote:
> Hi Berk,
>
> I think some clarification is needed. What we're talking about is only relevant in the context of non-bonded interactions, typically between a small molecule and a protein. To access the binding affinity of a ligand through alchemical methods, it's useful to switch off only the interactions of the ligand with its environment while maintaining intra-ligand potentials - this is what's provided by the 'couple-moltype' code path.
>
> The limitation that we're trying to circumvent comes from the fact that as you scale down interactions with the environment, the ligand is no longer held in the binding site. To counteract this, it's necessary to perturb in restraining potentials as the intramolecular nonbonded interactions are perturbed out. The most practical method makes use of a single distance restraint, two angle and three dihedral restraints, whose effect can later be accounted for analytically.
>
> The current code only allows decoupling of a whole logical 'molecule' as specified in the topology file. This precludes the use of regular (fully perturbation-aware) bonded interactions. As far as I'm aware, the pull code doesn't provide what's required. Inter-molecular bonded interactions would be a great general solution but presumably won't show up any time soon.
>
> The workaround here is instead to represent two physical molecules (e.g. protein and ligand) as a single logical molecule (in the topology file), so regular bonded potentials can be applied. Current Gromacs doesn't allow the decoupling ('couple-moltype') code to be used in this scenario. My modification allows you to target the ligand by its residue name and get this functionality back.
>
> Decoupling a single residue of a multi-residue chain is indeed probably not correct in this framework (I did call it 'weird' in my last message :-) ). An extra check would block users from trying this.
>
> I hope that clarifies the problem we're trying to solve. I agree this will be useful a relatively small number of users, but on the other hand it's a very unobtrusive, self-contained modification which can maintain full backwards compatibility.
>
> thanks,
>
> Floris
>
>
> ----- Original Message -----
> From: Berk Hess <hess at kth.se>
> To: Floris Buelens <floris_buelens at yahoo.com>; Discussion list for GROMACS development <gmx-developers at gromacs.org>
> Cc:
> Sent: Monday, 19 August 2013, 9:03
> Subject: Re: [gmx-developers] free energy calculations with restraints
>
> Hi,
>
> There is the rotational pull code, but that might not provide the exact
> functionality you want.
> Already for some time we have been discussing inter-molecular
> interactions, by specifying molecule type, molecule index and atom
> index, but there are no concrete plans for implementing this yet.
>
> An option for decoupling part of a molecule indeed sound useful. But in
> practice you always need to replace that part by something else, at
> least a hydrogen, and modify some potentials of connecting atoms, so I
> don't know how generally useful such an option is.
>
> Cheers,
>
> Berk
>
> On 08/19/2013 07:56 AM, Floris Buelens wrote:
>> I suppose that would make sense. The changes are fairly minor (more or less just the function convert_moltype_couple and the four functions it calls) and mainly consist of a bit of extra juggling with nonbonded exclusions during preprocessing. The current functionality (decouple a whole molecule) could be handled as a special case of the new code. A check for bonds to the rest of the structure could stop people from trying weird stuff like decoupling residues from a chain.
>>
>>
>>
>>
>> ________________________________
>> From: David Mobley <dmobley at gmail.com>
>> To: Floris Buelens <floris_buelens at yahoo.com>
>> Cc: Discussion list for GROMACS development <gmx-developers at gromacs.org>
>> Sent: Friday, 16 August 2013, 18:30
>> Subject: Re: [gmx-developers] free energy calculations with restraints
>>
>>
>>
>> This does sound useful, though it would be more useful if this could be implemented into the main GROMACS rather than a separate code (since otherwise it will go away as GROMACS is further developed).
>>
>> Would this be a possibility going forward, devels?
>>
>> Thanks!
>>
>>
>>
>>
>> On Fri, Aug 16, 2013 at 3:07 AM, Floris Buelens <floris_buelens at yahoo.com> wrote:
>>
>> Hi David,
>>> I have the same requirement as you, but I've gone about it slightly differently. I've hacked the couple-moltype code path to allow decoupling of a specific residue (identified by name) instead of a molecule. This allows the residue of interest to be part of another molecule block so you can set up distance, angle and dihedral restraints using regular bonded interactions with full perturbation support.
>>>
>>> If this is useful to you or to anyone else, let me know and I'll be happy to share.
>>>
>>> best,
>>>
>>> Floris
>>>
>>> ________________________________
>>> From: David Mobley <dmobley at gmail.com>
>>>
>>> To: Discussion list for GROMACS development <gmx-developers at gromacs.org>
>>> Sent: Friday, 14 June 2013, 21:47
>>> Subject: [gmx-developers] free energy calculations with restraints
>>>
>>>
>>>
>>>
>>> Hi, devs,
>>>
>>>
>>> I'm writing with an issue relating to the interplay of new free energy features with restraints.
>>>
>>> I'm very much appreciating some of the new free energy features in gromacs, such as the 'couple-moltype' option which provides a way to set up decoupling or annihilation of a specific molecule via free energy calculations without having to edit the topology file directly. This is especially great when it comes to decoupling -- charge decoupling was not previously possible via topology file editing, and vdW decoupling took substantial manipulation of the topology file.
>>>
>>> However, for binding free energies, my work employs orientational restraints between the protein and ligand. I need to be able to impose both dihedral and angle restraints on angles between the protein and ligand. Currently, I do this using angle-restraints and dihedral-restraints. This requires that both the protein and ligand be within the same logical 'molecule', which (unfortunately) means that I can't make use of the new free energy features above, since couple-moltype has to apply to a whole molecule, not just part of a molecule.
>>>
>>> So, my I see two possible solutions to the problem, and hence have these questions:
>>> 1) Can dihedral and angle restraints be applied via the pull code? If not, are there any plans to add that?
>>> 2) Alternatively, what about modifying the restraints code so it uses (or at least optionally allows) absolute atom numbering, rather than numbering within a specific molecule, thus allowing restraints (angle-restraints and dihedral-restraints) to be applied between 'molecules'?
>>>
>>> Thanks!
>>> David
>>>
>>>
>>>
>>> --
>>> David Mobley
>>> dmobley at gmail.com
>>> 949-385-2436
>>>
>>>
>>> --
>>> gmx-developers mailing list
>>> gmx-developers at gromacs.org
>>> http://lists.gromacs.org/mailman/listinfo/gmx-developers
>>> Please don't post (un)subscribe requests to the list. Use the
>>> www interface or send it to gmx-developers-request at gromacs.org.
>>>
More information about the gromacs.org_gmx-developers
mailing list