Re: user defined restraint in ABF

From: Jerome Henin (jhenin_at_cmm.chem.upenn.edu)
Date: Thu Nov 15 2007 - 12:09:29 CST

On Nov 15, 2007 11:15 AM, Vlad Cojocaru
<Vlad.Cojocaru_at_eml-r.villa-bosch.de> wrote:
> Dear Jerome, NAMD users,
>
> I defined a new restraint in ABF which applies a linear bias on a
> distance between a point (the center of mass of some atoms) and a line
> (the distance between two centers of mass of some other atoms).
> Basically, this applies a force that is perpendicular to the ABF bias
> (rc = abscissa). The restraint force is calculated from the ABF bias in
> such a way that adding the vectors of the ABF bias and the restraint
> bias gives the direction of the force I want.
>
> Currently I am applying this restraint bias continuously during the
> simulation. Thus, even when the ABF bias is not applied, the restraint
> bias is still active.
>
> I have just submitted the first tests so I dont know if this produces
> the result I want but looking at the output it looks OK thus far ...
>
> I have short questions:
>
> 1. Is there any way to see how this restraint affects the calculation of
> the pmf?

Okay, let me be frank about this. I can't relate what your code does
to a precise theory, so until proven otherwise, my conservative guess
is that it might totally f*ck up your pmf. What I mean is, the burden
of proof will be on you when you try to draw conclusions from it. So
my advice is to try and derive equations that show exactly what you're
doing.

> According to the ABF manual, if the reaction coordinate is
> defined considering all the atoms involved in the restrain, it should
> not affect ....

I suspect you may be confusing this with the case of constrained bond lengths.

> 2. Could you give me a short hint, how I could write in the NAMD output
> the values of the restrained distance at certain time intervals
> (something like the ABF output of Xi at writeXiFreq intervals ?

Well, here are the few lines that do the job for writeXiFreq:
if { $writeXiFreq && [expr {$timestep % $writeXiFreq} ] == 0 } {
        print "ABF> Xi at timestep $timestep : $xi"
}

Best,
Jerome

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:47:15 CST