Git Product home page Git Product logo

nmpathanalysis's Introduction

NMpathAnalysis

NMpathAnalysis is a package to compute equilibrium and kinetic properties from n-dimensional time-series (trajectories).

See the jupyter notebook test/nm_path_analysis_testing.ipynb for examples

nmpathanalysis's People

Contributors

ernestosuarez avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

nmpathanalysis's Issues

Bug with clean_traj=False // improvement suggestions

1) When using clean_traj=False with multiple trajectories, you call map_to_integers on each trajectory separately:

newseq, m_dict = map_to_integers(seq, seq_map)

and for each trajectory you start counting new state indexes from 0:
hence if the 1st trajectory doesn't contain all states, you'll map the 'new' states from further trajectories to index 0 etc. again

Extra suggestion: you return m_dict here:

newseq, m_dict = map_to_integers(seq, seq_map)

but use seq_map (which luckily had been modified in place by map_to_integers) eventually instead:

self.seq_map = seq_map

2) When using coarse_macrostates=True the original dtrajs are not copied and get modified:

traj[i] = stateA[0]

which is not great if you don't know about this and want to use the same dtrajs downstream...

3) You use **kwargs:

coarse_macrostates=False, **kwargs):

they don't actually get passed to anything, but cause trouble if you misspell the existing keyword arguments - there's no error, e.g. I kept misspelling clean_trajs instead of clean_traj and it took me a while to realize why my transition paths were coming out wrong.

4) fit using list dtrajs is 6x faster than with int64 numpy array, and 36x faster than with int32 numpy array -- it should convert arrays to lists.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.