Skip to content
This repository has been archived by the owner on Sep 15, 2021. It is now read-only.

[WIP] Refactor MSM #222

Merged
merged 125 commits into from Jul 29, 2014
Merged

[WIP] Refactor MSM #222

merged 125 commits into from Jul 29, 2014

Conversation

rmcgibbo
Copy link
Contributor

No description provided.

@kyleabeauchamp
Copy link
Contributor

Am I supposed to be reviewing this yet?

@rmcgibbo
Copy link
Contributor Author

Not yet. I'll let you know when I'm ready.

On Wed, Jul 23, 2014 at 1:35 PM, kyleabeauchamp notifications@github.com
wrote:

Am I supposed to be reviewing this yet?


Reply to this email directly or view it on GitHub
#222 (comment).

@mpharrigan
Copy link
Member

Why not use reversible_type.lower() and use 'none' instead of None to simplify case-insensitivity

@rmcgibbo
Copy link
Contributor Author

Sure. I'll use str(self.reversible_type).lower(), which should cover it.

@rmcgibbo
Copy link
Contributor Author

Okay. Any review would be helpful at this point.

@rmcgibbo
Copy link
Contributor Author

The major changes are

  • All matrices are dense
  • Explicitly support input data that is not integers in (0, ..., n_states). Many of the tests now use input data that are strings, for example (e.g. msm.fit([['a', 'b', 'a', 'a', ...]]). This means never assuming that n_states == np.max(sequences)+1

Also, I added an option to use more aggressive ergodic trimming, with a threshold higher than just a single count in both direction. This has come up at Pande group meeting.

@mpharrigan
Copy link
Member

Issues with the docs:

  • default n_timescales is n_states - 3, this was from the sparse implementation
  • countsmat_ says it returns the symmetrized counts, whereas I think it returns raw counts

Thought:

  • Maybe don't have ergodic_trimming (bool) and trim_weight as two different parameters. Setting trim_weight to 0 would turn off ergodic trimming

@rmcgibbo
Copy link
Contributor Author

Maybe don't have ergodic_trimming (bool) and trim_weight as two different parameters. Setting trim_weight to 0 would turn off ergodic trimming

+1. This is a good idea, I think.

Thanks for the other comments too.

@rmcgibbo
Copy link
Contributor Author

@kyleabeauchamp: What do you think of the API for transform I implemented? https://github.com/rmcgibbo/mixtape/pull/222/files#diff-b4b9f1ef5ddb392515f54dc4b10fb560R183

@rmcgibbo
Copy link
Contributor Author

I rebased onto master.

rmcgibbo added a commit that referenced this pull request Jul 29, 2014
@rmcgibbo rmcgibbo merged commit 8d98fc7 into master Jul 29, 2014
@rmcgibbo rmcgibbo deleted the refactor-msm branch July 29, 2014 18:56
@kyleabeauchamp
Copy link
Contributor

Nice.
On Jul 29, 2014 2:56 PM, "Robert McGibbon" notifications@github.com wrote:

Merged #222 #222.


Reply to this email directly or view it on GitHub
#222 (comment).

@rmcgibbo
Copy link
Contributor Author

There is one bug in the tests, on py3, which is from a numpy py3 regression (numpy/numpy#641), but this shouldn't effect practical use (only present when the sequences argument to fit contains sequences with mixed types, such as [1, 1, None, 'hello', 0, 1, ...]

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants