Problem with running csg_stat on IBI simulation of polymer
wisecashew opened this issue · comments
I am running an IBI-based simulation of PNIPAM with 40 monomer segments. The monomer ssegment has 3 types of beads, two at the termini (TTA, TTB) and all the beads in the middle are one type of bead (TM). The molecule is PNM, and each monomer is a residue inside the molecule. The solvent is a single coarse-grained bead of water SOL, of type TW.
When I run the, ibi simulation, it stops after step_002, when it is trying to develop new potentials using the IBI framework.
My bonded distribution between TTA and TM, BOTA.dist.new, is just a bunch of zeros, and as a result, BOTA.dpot.pure_ibi is also just zeros.
I have provided all of my files in this public git repo.
The traj.xtc file I use for the csgstat command here is a large file (117 MB). I have placed it here. Please send a request for access, I will approve it instantly.
How should I go about figuring out what is wrong here? I tried csg_dump to check the topology, and from what I see, it looks to be fine...
Can you add the conf.gro
to the repo? That can serve as an replacement for traj.xtc
.
And you forget the water_cg.xml
as well.
Added both files
If I increase the max
for the BOTA
bond, run csg_stat --options settings.xml --top topol.tpr --trj conf.gro --begin 0 --first-frame 0 --cg "fortynipam_cg.xml;water_cg.xml"
, I get an entry at 0.613
, which is what I would see from the conf.gro file as well:
1PNM BTA 1 3.468 4.137 6.790
1PNM BM2 2 3.514 3.782 6.292
i.e. sqrt((3.468-3.514)^2+(4.137-3.782)^2+(6.790-6.292)^2)=0.613307
.
So my guess is that the bond got overstretched, in step_001 as the non-bonded interactions were too weak.
I would try to do IBI for the non-bonded interactions only first using an harmonic potential for the bonds that you get from fitting the distributions. Once the non-bonded interactions are converged through the bonded interactions in the mix.
I understand. The reason I picked those bond lengths is because that is what I saw from the target distributions (.tgt), which I have now added to the git repo.
Yeah, I have seen a similar things before where bonds got overstretched from too strong non-bonded interactions hence I would try to first do IBI on the non-bonded interactions and then do the bonded interactions later.
However, as you cannot do non-bonded IBI with at least some bonded interactions you will need do a harmonic fit from the target distributions.
I have two questions:
- What is the difference between conf.gro and confout.gro in this case? from grep-ing "confout" and "conf" in inverse.log, mdrun seems to use confout.gro, while grompp uses conf.gro.
- So I should first optimize non-bonded interactions, and then start optimizing bonded interactions. When you say performing a harmonic fit for the target distributions, do you mean finding the optimum k value for U = -kr^2 fitted on U = -kbT*log P(r)?
I am very grateful for your time and help!!
Looking at BOTA.dist.tgt
, I have two observations:
- the distributions is very rough, doing IBI on that is not going work, you will either need to run your all-atom simulation longer or increase the bin size.
- a fit with a single harmonic might not cut it, but I would still try,
r_0=0.6nm
.
Got it. I will get on this right away.
I have two questions:
- What is the difference between conf.gro and confout.gro in this case? from grep-ing "confout" and "conf" in inverse.log, mdrun seems to use confout.gro, while grompp uses conf.gro.
conf.gro
are the initial coordinates, while confout.gro
are the final coordinates after mdrun
ran.
- So I should first optimize non-bonded interactions, and then start optimizing bonded interactions. When you say performing a harmonic fit for the target distributions, do you mean finding the optimum k value for U = -kr^2 fitted on U = -kbT*log P(r)?
Yes, I meant a simple harmonics spring potential, .e.g U=k/2*(r-r_0)**2, gromacs has that built-in, you just need to determine the two missing numbers from the fit.
Got it. I will get on this right away.
Good luck!