32 #include <boost/program_options.hpp>
33 #include <boost/numeric/ublas/matrix_sparse.hpp>
34 #include <boost/numeric/ublas/io.hpp>
38 namespace Clustering {
48 transition_counts(std::vector<std::size_t> trajectory, std::vector<std::size_t> concat_limits, std::size_t n_lag_steps);
54 std::map<std::size_t, std::size_t>
56 std::set<std::size_t> cluster_names,
58 std::map<std::size_t, float> min_free_energy);
61 std::map<std::size_t, std::vector<std::size_t>>
62 most_probable_path(std::map<std::size_t, std::size_t> future_state, std::set<std::size_t> cluster_names);
64 std::map<std::size_t, std::size_t>
68 std::map<std::size_t, float>
70 const std::vector<float>& free_energy);
74 std::map<std::size_t, std::size_t>
76 std::map<std::size_t, std::vector<std::size_t>> mpp,
78 std::set<std::size_t> cluster_names,
80 std::vector<float> free_energy);
83 std::vector<std::size_t>
85 std::map<std::size_t, std::size_t> sinks);
87 std::tuple<std::vector<std::size_t>, std::map<std::size_t, std::size_t>>
89 std::vector<std::size_t> concat_limits,
92 std::vector<float> free_energy);
107 main(boost::program_options::variables_map args);
boost::numeric::ublas::mapped_matrix< float > SparseMatrixF
BOOST implementation of a sparse matrix for floats.
SparseMatrixF row_normalized_transition_probabilities(SparseMatrixF count_matrix, std::set< std::size_t > cluster_names)
compute transition matrix from counts by normalization of rows
std::map< std::size_t, std::size_t > microstate_populations(std::vector< std::size_t > clusters, std::set< std::size_t > cluster_names)
compute cluster populations
std::map< std::size_t, float > microstate_min_free_energy(const std::vector< std::size_t > &clustering, const std::vector< float > &free_energy)
std::map< std::size_t, std::vector< std::size_t > > most_probable_path(std::map< std::size_t, std::size_t > future_state, std::set< std::size_t > cluster_names)
std::map< std::size_t, std::size_t > path_sinks(std::vector< std::size_t > clusters, std::map< std::size_t, std::vector< std::size_t >> mpp, SparseMatrixF transition_matrix, std::set< std::size_t > cluster_names, float q_min, std::vector< float > free_energy)
Clustering::Tools::Neighborhood Neighborhood
Neighborhood per frame.
std::map< std::size_t, std::size_t > single_step_future_state(SparseMatrixF transition_matrix, std::set< std::size_t > cluster_names, float q_min, std::map< std::size_t, float > min_free_energy)
SparseMatrixF transition_counts(std::vector< std::size_t > trajectory, std::vector< std::size_t > concat_limits, std::size_t n_lag_steps)
std::tuple< std::vector< std::size_t >, std::map< std::size_t, std::size_t > > fixed_metastability_clustering(std::vector< std::size_t > initial_trajectory, std::vector< std::size_t > concat_limits, float q_min, std::size_t lagtime, std::vector< float > free_energy)
run clustering for given Q_min value
std::vector< std::size_t > lumped_trajectory(std::vector< std::size_t > trajectory, std::map< std::size_t, std::size_t > sinks)
void main(boost::program_options::variables_map args)