Closed francescomambretti closed 3 weeks ago
Hi there! I'm not sure I understand your question. Metadynamics simulations are run with an "external" script (which is in fact in the examples
directory): the simulation code itself knows nothing about the metadynamics interface.
As for observables, as with any other biasing techinques I'm familiar with, you can only unbias observables that depend exclusively on the collective variable(s) you are using to bias the simulation. This means that the metadynamics interface should have a way of understanding which observables can be unbiased and which cannot.
In all honesty I don't plan to add any of these features to the interface, which I consider as an advanced example that showcases what oxpy
can do rather than a full production-ready code. However, if you have any ideas about how to do these things you could either try to implement it yourself or detail how you would do it, and I can put it on my TODO list.
Hi, my question was exactly about the post-processing of the trajectories. I have read and studied the metad_interface.py
file, and I have understood that it "just" performs well-tempered multi-walker metadynamics with a (set of) given CV(s) (which is already a very nice thing!).
As far as I understand, it is currently possible to get the Free Energy as a function of the biased CV(s), as in the example notebooks. But if one wants to get (via reweighting) the true value of any other observables along the biased trajectory (e.g. track the center-of-mass position, or the number of formed hydrogen bonds or anything else that you can usually measure in an ordinary MD trajcetory), this kind of post processing needs to be done in-house. Correct?
In this case, I will try to write a code which does this, and in case I can tell you.
Yes, that's exactly right: post-processing is not handled by the interface.
Hi, it is unclear whether one needs to resort to external codes to perform the reweighting of the configurations obtained with the metadynamics package. In fact, while free energy can be easily obtained (and the provided analysis notebook does it clearly), the true value of any other observable cannot be, apparently, derived from simulations but it needs some postprocessing with external codes. Is it true, or is there a way to do it with OxDNA/OxDNA analysis tools? Best regards