votca / csg

Coarse-graining potentials from atomistic references made easy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Problem with running csg_stat on IBI simulation of polymer

wisecashew opened this issue · comments

commented

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.

commented

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.

commented

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.

commented

I have two questions:

  1. 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.
  2. 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.
commented

Got it. I will get on this right away.

I have two questions:

  1. 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.

  1. 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!