{"action":"created","issue":{"url":"https://api.github.com/repos/msmbuilder/msmbuilder/issues/570","labels_url":"https://api.github.com/repos/msmbuilder/msmbuilder/issues/570/labels{/name}","comments_url":"https://api.github.com/repos/msmbuilder/msmbuilder/issues/570/comments","events_url":"https://api.github.com/repos/msmbuilder/msmbuilder/issues/570/events","html_url":"https://github.com/msmbuilder/msmbuilder/pull/570","id":73091914,"number":570,"title":"Rewrote GaussianFusionHMM","user":{"login":"peastman","id":4379786,"avatar_url":"https://avatars.githubusercontent.com/u/4379786?v=3","gravatar_id":"","url":"https://api.github.com/users/peastman","html_url":"https://github.com/peastman","followers_url":"https://api.github.com/users/peastman/followers","following_url":"https://api.github.com/users/peastman/following{/other_user}","gists_url":"https://api.github.com/users/peastman/gists{/gist_id}","starred_url":"https://api.github.com/users/peastman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peastman/subscriptions","organizations_url":"https://api.github.com/users/peastman/orgs","repos_url":"https://api.github.com/users/peastman/repos","events_url":"https://api.github.com/users/peastman/events{/privacy}","received_events_url":"https://api.github.com/users/peastman/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2015-05-04T18:27:28Z","updated_at":"2015-05-04T23:06:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/msmbuilder/msmbuilder/pulls/570","html_url":"https://github.com/msmbuilder/msmbuilder/pull/570","diff_url":"https://github.com/msmbuilder/msmbuilder/pull/570.diff","patch_url":"https://github.com/msmbuilder/msmbuilder/pull/570.patch"},"body":"This is a complete rewrite.  The goal of this project is to create a unified architecture for all HMM classes, thus eliminating code duplication, improving consistency, and allowing all of them to use optimized C++ implementations.  See #402.  The new GaussianFusionHMM is *almost* a drop-in replacement for the old one.  There are a few differences:\r\n\r\n- The following constructor arguments have been removed: transmat_prior, params, init_params, precision.\r\n- The argument n_em_iter has been renamed to n_iter to make GaussianFusionHMM and VonMisesHMM consistent with each other.\r\n- A bunch of attributes that were previously read/write are now read only (means_, vars_, etc.).  These are things that get calculated, not things the user is supposed to modify.\r\n\r\nNext steps include optimizing performance (vectorization and threading), and rewriting VonMisesHMM based on the same architecture."},"comment":{"url":"https://api.github.com/repos/msmbuilder/msmbuilder/issues/comments/98880982","html_url":"https://github.com/msmbuilder/msmbuilder/pull/570#issuecomment-98880982","issue_url":"https://api.github.com/repos/msmbuilder/msmbuilder/issues/570","id":98880982,"user":{"login":"peastman","id":4379786,"avatar_url":"https://avatars.githubusercontent.com/u/4379786?v=3","gravatar_id":"","url":"https://api.github.com/users/peastman","html_url":"https://github.com/peastman","followers_url":"https://api.github.com/users/peastman/followers","following_url":"https://api.github.com/users/peastman/following{/other_user}","gists_url":"https://api.github.com/users/peastman/gists{/gist_id}","starred_url":"https://api.github.com/users/peastman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peastman/subscriptions","organizations_url":"https://api.github.com/users/peastman/orgs","repos_url":"https://api.github.com/users/peastman/repos","events_url":"https://api.github.com/users/peastman/events{/privacy}","received_events_url":"https://api.github.com/users/peastman/received_events","type":"User","site_admin":false},"created_at":"2015-05-04T23:06:03Z","updated_at":"2015-05-04T23:06:03Z","body":"Here's what I get with that addition:\r\n\r\n```\r\n$ ~/anaconda/bin/msmb GaussianHMM --inp atom_pairs_tica.h5 --out hmm.pkl --n_states 2\r\nusage: msmb GaussianHMM [-h] -i INP -o OUT --n_init N_INIT --fusion_prior\r\n                        FUSION_PRIOR --random_state RANDOM_STATE --vars_weight\r\n                        VARS_WEIGHT --n_states N_STATES --n_jobs N_JOBS\r\n                        --n_iter N_ITER --n_hotstart N_HOTSTART --timing\r\n                        --init_algo INIT_ALGO --thresh THRESH --vars_prior\r\n                        VARS_PRIOR --n_lqa_iter N_LQA_ITER --reversible_type\r\n                        REVERSIBLE_TYPE\r\nmsmb GaussianHMM: error: the following arguments are required: --n_init, --fusion_prior, --random_state, --vars_weight, --n_jobs, --n_iter, --n_hotstart, --timing/--no-timing, --init_algo, --thresh, --vars_prior, --n_lqa_iter, --reversible_type\r\n```"}}