Becksteinlab / hop

Solvent network analysis. Hop is a python package based on MDAnalysis to analyze solvation dynamics.
https://hop.readthedocs.io
GNU General Public License v3.0
14 stars 5 forks source link

checking calculated rates for the manual test #17

Open orbeckst opened 8 years ago

orbeckst commented 8 years ago

The current manual testing protocol contains a short (0.5 ns) trajectory of I-FABP. The rates that come out of running it through hop are not very believable, see discussion following https://github.com/Becksteinlab/hop/issues/11#issuecomment-222240071.

We want to figure out if these rates are correctly calculated but just not converged or if there's a deeper problem.

(This is also important if we want to use a short version of the test trajectory for proper tests #2.)

orbeckst commented 8 years ago

@iwelland suggested the following approach (https://github.com/Becksteinlab/hop/issues/11#issuecomment-222251793):

I have a 1 microsecond IFABP trajectory, let me compare rates on 500ps windows and also compare to 1ns + windows.

Without experimental data or a direct MD method to compute the rate we can try to just compare multiple windows/look at convergence; the variance in the rate distribution over several .5ns windows might be helpful.

orbeckst commented 8 years ago

I replied (https://github.com/Becksteinlab/hop/issues/11#issuecomment-223167418): Good ideas! Can you

Then lets look at the raw rate.txt files. We can then decide how to continue, eg making histograms of rates, computing the rates over all blocks, etc. But I don't want to do anything exhaustive until we have a rough idea what to expect.

orbeckst commented 8 years ago

@iwelland , you put forward the hypothesis that the weird numbers are due to the fact that the exponential fits are generated from very short trajectories. Did you look into how good of an estimator the exponential fit is for rates with few/short events?

iwelland commented 8 years ago

Not yet, what do you think the best method is?

Some possibilities:

  1. Build a very simple Hamiltonian with two states and fit exponentials with different conditions
  2. Look for statistical tests which measure goodness of fit of this model and compute it for each rate
  3. Look in the literature for a paper on the subject
orbeckst commented 8 years ago

Simulating a simple two state model and then fitting it seems simple enough so why not try it?

If you find that you can accurately fit rates even with few events then this indicates that the assumption of a simple 2 state model in hop is flawed (at least for some sites).

(2) and (3) might be quicker, if you can find an answer quickly… what does Google or the ASU library search say?

On 1 Sep, 2016, at 16:07, iwelland notifications@github.com wrote:

Not yet, what do you think the best method is?

Some possibilities:

  1. Build a very simple Hamiltonian with two states and fit exponentials with different conditions
  2. Look for statistical tests which measure goodness of fit of this model and compute it for each rate
  3. Look in the literature for a paper on the subject

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

Oliver Beckstein * orbeckst@gmx.net skype: orbeckst * orbeckst@gmail.com

iwelland commented 8 years ago

I will try 1, but I actually think the easiest thing to do is to consider several other plausible distribution functions and fit them to the 1micro Aqp1 data. Provided the bi-exponential fits are good in the first place, deviations in the simulation results vs. walker sim will give us a sense of how these things matter. We can also try various hand waves to discard edges/nodes to sanitize the model as a starting point before applying anything more rigorous.