[gmx-users] Re: restraints placed on the boundary region of a lipid membrane

Andreea ascacio at gwdg.de
Thu Aug 9 22:16:59 CEST 2012

Hi Jose,

I will start by telling you that I do not have an exact answer for your
problem since I did not encounter this particular problem myself. However,
your are reply-less for 3 days already so better a crazy idea than no idea.
Anyhow, if I am totally wrong, my reply would at least generate some
discussion among the outraged people:)

The error appears because you are trying to include the file for the
restraints on the lipids on the bilayer margin from your system after the
martini_v2.0_lipids.itp. You do not have an .itp of your bilayer. So, this
is why it is tempting to do what you did. However, your bilayer is formed of
a multitude of the POPCs or POPGs defined in martini_v2.0_lipids.itp. On
top, you want only a certain fraction of them to be restrained.

According to the 'rules' of GROMACS, the restraints have to be included
after finishing defining [moleculetype]. Moreover, in the
[position_restraints] the ai indices must respect the indices of the
atom/particle in the [moleculetype], not the system.
(http://www.gromacs.org/Documentation/How-tos/Position_Restraints). Your
problem is similar to the case of defining position restraints for water:

; Include water topology
#include "oplsaa.ff/spce.itp"

; Position restraint for each water oxygen
[ position_restraints ]
;  i funct       fcx        fcy        fcz
   1    1       1000       1000       1000

I.E. Here you have the topology defined for one molecule of water that you
multiply in your system, but the restraints are also defined only for that
molecule of water, and by extension to all molecule of water in the system.

This is why it is difficult to distinguish between different POPCs/POPGs
since the restraints can be defined either for all POPCs/POPGs or for none.

Crazy solution: rename the POPCs/POPGs on the margin of the bilayer (the
ones you want to restrain) into a new moleculetype i.e. POPCr (*r*estrained)
in the .gro file. Modify the martini_v2.0_lipids.itp to include your POPCr
by copying all the parameters from POPC. However, after the definition of
POPCr inside this file, not in the .top file (as you tried before), include:
#ifdef LIPID_RES
; Position restraint for each POPCr
[ position_restraints ]
;  i funct       fcx        fcy        fcz
   1    1       1000       1000       1000
   2    1       1000       1000       1000
13     1        1000       1000       1000
Moreover, in the .top file subtract from the POPC the number of restrained
POPC and add a new line for POPCr. Do the same for POPG.

Hope this helps,


View this message in context: http://gromacs.5086.n6.nabble.com/restraints-placed-on-the-boundary-region-of-a-lipid-membrane-tp4999983p5000054.html
Sent from the GROMACS Users Forum mailing list archive at Nabble.com.

More information about the gromacs.org_gmx-users mailing list