From: Vermaas, Joshua (Joshua.Vermaas_at_nrel.gov)
Date: Fri Jul 13 2018 - 20:30:39 CDT
Hi Jun,
1.) I was being a bit careless with my nomenclature. This is not SMD as in the SMD module of NAMD, but instead using a moving umbrella to do SMD. To do SMD, your centers should be the initial value, and the targetCenters would be your desired value at the end of the simulation. In this case, if I were pulling a molecule down, my "ref" would be a selection at the center of the membrane, and the "main" selection would be my molecule. So long as targetCenters < centers and the force constant and targetNumSteps are reasonable.
2.) Math it out. I like adjacent umbrellas/windows to cross at a height of ~0.5kcal/mol. If your width is 1, this comes down to solving 0.5=k (dx/2)**2 for your value of dx.
-Josh
On 2018-07-12 16:45:25-06:00 Junwoong Yoon wrote:
Hi Josh,
Thank you so much for your explanation. It was very helpful to prepare my umbrella sampling strategy.
But I still have couple questions that bother me.
1) For SMD prior to umbrella sampling, can I use SMDDir 0 0 -1 if I am trying to pull a molecule down along the z-direction?
Or should I still need to define a normalized direction between fixed atoms and SMD atoms for SMDDir?
How will this be different if I'm calculating distance in x-y plane? For example, pulling two molecules on a surface while their heights(z-dir value) are fixed?
2) To make sure neighboring windows to overlap, what forceConstant should I use if my width is 0.1, and each window is equally spaced by 1A?
I used 0.025 based on the tutorial, but I want to clarify how does 0.025 scaled forceConstant allow windows to overlap.
My colvars file looks like,
colvar {
width 0.1
distance Z { }
harmonic {
centers $CENTER
forceConstant 0.025
Thank you
- Jun
On Tue, Jul 10, 2018 at 6:40 AM, Vermaas, Joshua <Joshua.Vermaas_at_nrel.gov<mailto:Joshua.Vermaas_at_nrel.gov>> wrote:
Hi Jun,
There are two ways of setting up umbrella sampling with colvars. The most common approach is to use an initial SMD pull to cover your reaction coordinate space (center = initial value, targetCenter = final value), and then pick frames from that pull to seed your umbrellas. In that case, each umbrella would have a center, with no defined targetCenter (since the umbrella isn't moving). The other alternative combines your SMD and umbrella sampling together, and sequentially moves umbrellas. In this case, you would use the targetNumStages parameter to move your umbrellas sequentially along your chosen reaction coordinate. This has two drawbacks: 1.) You can't easily make your simulations longer if you are not converged, since the same trajectory is used for all states. 2.) Your umbrella sampling calculation becomes serial, as each window depends on the result of the last one. Since oftentimes umbrella sampling has like a microsecond of MD behind it, this would take prohibitively long for real systems. So if it were me, I'd use the more common approach.
Another piece of advice is to just set your width to 1 unless you are combining dissimilar collective variables together. The applied force constant is unrelated to the upper or lowerboundary parameters. It is instead determined by the forceconstant parameter applied to the harmonic and the width of the collective variable, as described in the documentation of the forceconstant parameter. This also clarifies that you indeed should NOT set upper/lower limits. This is effectively already done by the harmonic potentials, and adding extra biases will skew WHAM analysis.
-Josh
Example umbrella sampling configuration file:
#############################################################
## Collective Variables ##
#############################################################
# Global parameters
colvarsTrajFrequency 50
colvarsTrajAppend off
analysis off
colvar {
name contactcount
#Here I don't follow my own advice and set the width to be not 1. This was so that the whole reaction coordinate could be mapped to the range (0,1)
width 977.429
coordNum {
expNumer 2
expDenom 24
cutoff 10.0
group1 {
atomsFile beta.pdb
atomsCol B
atomsColValue 1
}
group2 {
atomsFile beta.pdb
atomsCol B
atomsColValue 2
}
}
}
harmonic {
name contactpull
colvars contactcount
centers 684.20000973
#Technically, I didn't need to specify targetCenters, since the default is for targetCenters=centers
targetCenters 684.200010
forceConstant 2000.000000
targetNumSteps 100
}
On 2018-07-10 01:00:28-06:00 owner-namd-l_at_ks.uiuc.edu<mailto:owner-namd-l_at_ks.uiuc.edu> wrote:
Hi all,
I want to implement Umbrella Sampling and questions about input parameters.
My colvars is a distance between two molecules.
If my initial distance is 11, and I want to make free energy profile along the distance in range of from 2 to 30 with width of 0.1.
Then what should be my "centers" and "targetCenters"?
If I set "centers" to 11 and "targetCenters" to 31, then will I not be able to explore the region between 2 and 11?
And will the force constant be [upperboundary - lowerboundary]*width^2 ?
I heard that I should not define lower/upperBoundary, or lower/uppderWallConstant for Umbrella Sampling, is it correct?
Thank you
Jun
This archive was generated by hypermail 2.1.6 : Mon Dec 31 2018 - 23:21:16 CST