Re: restraint with colvars mocule

From: Giacomo Fiorin (giacomo.fiorin_at_gmail.com)
Date: Mon Sep 12 2011 - 11:23:57 CDT

Hello Emilia, this is basically the same question that you asked a few weeks
ago, and you said that you want to equilibrate the membrane layer.

If the purpose is to obtain a stable bilayer with no water in the
hydrophobic region, why not simply delete those waters that are within the
-11 - 11 Å from the membrane middle plane? This is what is done usually
with NAMD, via a Tcl script, that runs psfgen inside VMD, and uses the
"delatom" command of psfgen on each atom that belongs to waters within the
forbidden range. You only lose a few water molecules versus tens of
thousand, so there is no loss.

If you remove water molecules from the interstitial regions of the lipids,
and the lipid bilayer starts from a reasonable configuration, water won't go
back in there, ever.

Giacomo

On Mon, Sep 12, 2011 at 5:08 PM, Jérôme Hénin <jhenin_at_ifr88.cnrs-mrs.fr>wrote:

> Hi Emilia,
>
> t is difficult to restrain the water layer, and in general it is not
> useful. If you want to keep water in a certain range, you'll have to
> restrain *every molecule* individually, not just the group as a whole.
>
> But why restrain water in the first place?
>
> Jerome
>
> On 12 September 2011 16:53, Ling Wu <emilia.l.wu_at_gmail.com> wrote:
> > Hi Jerome,
> >
> > Thanks a lot for your reply, I am testing it again according to your
> suggestion.
> >
> > I have another question about colvar, so I used 2 colvar restrain to
> control the water on the top the membrane and the water on the bottom
> separately. For water with Z coordinate bigger than 0, I tried to keep it
> in the range of 35 > Z >11, and it works fine. But
> > for the water with Z coordinate smaller than 0, I want to keep them in
> the range of -11 > Z > -35, but it did not work, I copied my colvar file
> below, and the error message is here. Do you know what's going on here?
> > Thanks a lot!
> >
> -------------------------------------------------------------------------------------------
> > colvars:
> ----------------------------------------------------------------------
> > colvars: Initializing the collective variables module, version
> 2011-02-03.
> > colvars: # analysis = off [default]
> > colvars: # colvarsTrajFrequency = 100 [default]
> > colvars: # colvarsRestartFrequency = 1000 [default]
> > colvars: # colvarsTrajAppend = off [default]
> > colvars: The restart output state file will be
> "step6.1_equilbration.colvars.state".
> > colvars: The final output state file will be
> "step6.1_equilibration.colvars.state".
> > colvars: The trajectory file will be
> "step6.1_equilibration.colvars.traj".
> > colvars: Error: no collective variables defined.
> > colvars: If this error message is unclear, try recompiling with
> -DCOLVARS_DEBUG.
> > FATAL ERROR: Error in the collective variables module: exiting.
> >
> > ------------- Processor 0 Exiting: Called CmiAbort ------------
> > Reason: FATAL ERROR: Error in the collective variables module: exiting.
> >
> >
> ------------------------------------------------------------------------------------------
> >
> >
> > colvar {
> > name waterup
> > width 0.1
> > lowerboundary 11.0
> > upperboundary 35.0
> > lowerWall 11.0
> > upperWall 35.0
> > lowerWallConstant 2.5
> > upperWallConstant 2.5
> > distanceZ {
> > main {
> > atomsFile watup_main.ref # use Tcl script to generate this file
> with selection of all the waters #
> > atomsCol B
> > atomsColValue 1.0
> > }
> > ref {
> > dummyAtom ( 0.000, 0.000, 0.000 )
> > }
> > axis (0.0, 0.0, 1.0)
> > }
> > }
> >
> >
> > colvar {
> > name waterdown
> > width 0.1
> > lowerboundary -35.0
> > upperboundary -11.0
> > lowerWall -35.0
> > upperWall -11.0
> > lowerWallConstant 2.5
> > upperWallConstant 2.5
> > distanceZ {
> > main {
> > atomsFile watdown_main.ref # use Tcl script to generate this
> file with selection of all the waters #
> > atomsCol B
> > atomsColValue 1.0
> > }
> > ref {
> > dummyAtom ( 0.000, 0.000, 0.000 )
> > }
> > axis (0.0, 0.0, 1.0)
> > }
> >
> >
> >
> > Emilia
> > On Sep 12, 2011, at 4:48 AM, Jérôme Hénin wrote:
> >
> >> Hi Emilia,
> >>
> >> From your input, one would expect the center of the whole membrane to
> >> shift to z=19 A eventually. To achieve what you want, you need two
> >> variables, one for each leaflet, and restrain one to +19 and the other
> >> to -19.
> >>
> >> Cheers,
> >> Jerome
> >>
> >> On 11 September 2011 23:25, Ling Wu <emilia.l.wu_at_gmail.com> wrote:
> >>> Hi All,
> >>>
> >>> I have a question regarding the colvars function of NAMD.
> >>>
> >>> I am trying to run a simulation of a pure POPC membrane system. I want
> to enforce a positional restrain on the head group and the tail group of
> POPC to constrain them at a certain area along Z-axis for the initial
> equilibration. After I apply this restrain on the system, I checked if the
> center of mass of the head group or tail group is in the area I want (head:
> +19 and -19; tail: between +5 and -5), but what I found is the membrane
> atoms are all shift up after 25ps MD, even though the center of the entire
> system (membrane+water+ion) is 0, 0, 0, but the center of the membrane shift
> to like 0, 0, 2. when I looked at the structure in VMD, it is obvious that
> there are thinner layer of water on the top of the membrane, and a much
> thicker layer of water on the bottom. I also found the bigger force
> constant I used, the more the center will shift up. if I remove the colvar
> part from my input file, then there is no prolem.
> >>>
> >>> here is my ColvarsConfig,
> >>>
> >>> ##Lipid Head###
> >>>
> >>> Colvarstrajfrequency 100
> >>> Colvarsrestartfrequency 100
> >>>
> >>> colvar {
> >>> name head_POPC
> >>> distanceZ {
> >>> ref {
> >>> dummyAtom ( 0.000, 0.000, 0.000 )
> >>> }
> >>> main {
> >>> atomsFile head_POPC_main.ref # head atoms #
> >>> atomsCol B
> >>> atomsColValue 1.0
> >>> }
> >>> }
> >>> }
> >>> harmonic {
> >>> colvars head_POPC
> >>> centers 19 # or wherever the head group should be (15, 18, 17...) #
> >>> forceConstant 5
> >>> }
> >>>
> >>>
> >>> ###lipid tail###
> >>>
> >>> colvar {
> >>> name tail
> >>> width 0.1
> >>> lowerboundary -10.0
> >>> upperboundary 10.0
> >>> lowerWall -5.0
> >>> upperWall 5.0
> >>> lowerWallConstant 5
> >>> upperWallConstant 5
> >>> distanceZ {
> >>> main {
> >>> atomsFile tail_main.ref
> >>> atomsCol B
> >>> atomsColValue 1.0
> >>> }
> >>> ref {
> >>> dummyAtom ( 0.000, 0.000, 0.000 )
> >>> }
> >>> axis (0.0, 0.0, 1.0)
> >>> }
> >>> }
> >>>
> >>> Can anyone give me some suggestions here, I am really confused. Thanks
> a lot!
> >>>
> >>>
> >>> Emilia
> >>>
> >>>
> >>>
> >
> >
> >
>
>

This archive was generated by hypermail 2.1.6 : Mon Dec 31 2012 - 23:20:47 CST