graph LR
Public_API_Facades["Public API Facades"]
Data_Input_Output_Layer["Data Input/Output Layer"]
Featurization_Layer["Featurization Layer"]
Dimensionality_Reduction_Transformation["Dimensionality Reduction & Transformation"]
Clustering_Discretization["Clustering & Discretization"]
MSM_Estimation_Layer["MSM Estimation Layer"]
MSM_Model_Representation["MSM Model Representation"]
Thermodynamic_Estimation_Layer["Thermodynamic Estimation Layer"]
Thermodynamic_Model_Representation["Thermodynamic Model Representation"]
Core_Base_Classes_Utilities["Core Base Classes & Utilities"]
Public_API_Facades -- "orchestrates" --> Data_Input_Output_Layer
Public_API_Facades -- "orchestrates" --> Featurization_Layer
Public_API_Facades -- "orchestrates" --> Dimensionality_Reduction_Transformation
Public_API_Facades -- "orchestrates" --> Clustering_Discretization
Public_API_Facades -- "orchestrates" --> MSM_Estimation_Layer
Public_API_Facades -- "orchestrates" --> Thermodynamic_Estimation_Layer
MSM_Estimation_Layer -- "produces" --> MSM_Model_Representation
Thermodynamic_Estimation_Layer -- "produces" --> Thermodynamic_Model_Representation
Dimensionality_Reduction_Transformation -- "processes data from" --> Featurization_Layer
Clustering_Discretization -- "processes data from" --> Dimensionality_Reduction_Transformation
Public_API_Facades -- "utilizes" --> Core_Base_Classes_Utilities
Data_Input_Output_Layer -- "utilizes" --> Core_Base_Classes_Utilities
Featurization_Layer -- "utilizes" --> Core_Base_Classes_Utilities
Dimensionality_Reduction_Transformation -- "utilizes" --> Core_Base_Classes_Utilities
Clustering_Discretization -- "utilizes" --> Core_Base_Classes_Utilities
MSM_Estimation_Layer -- "utilizes" --> Core_Base_Classes_Utilities
MSM_Model_Representation -- "utilizes" --> Core_Base_Classes_Utilities
Thermodynamic_Estimation_Layer -- "utilizes" --> Core_Base_Classes_Utilities
Thermodynamic_Model_Representation -- "utilizes" --> Core_Base_Classes_Utilities
The Public API in PyEMMA serves as the high-level, user-facing interface, designed to abstract the intricate details of data preprocessing, model estimation, and analysis. It provides a simplified, cohesive set of functions and classes that orchestrate complex scientific computing workflows, enabling users to perform molecular dynamics data analysis and statistical thermodynamics without needing deep knowledge of the underlying implementations. This component adheres to the Facade architectural pattern, offering a streamlined entry point to PyEMMA's powerful capabilities.
These modules (pyemma.coordinates.api, pyemma.msm.api, pyemma.thermo.api) are the primary entry points for users. They provide high-level functions that orchestrate the entire workflow, from data loading and preprocessing to model estimation and analysis.
Related Classes/Methods:
Responsible for handling the loading and management of molecular dynamics trajectory data from various sources (e.g., HDF5, NumPy, CSV files). It provides the foundational data structures and iterators for subsequent processing steps.
Related Classes/Methods:
pyemma.coordinates.data._base.datasource(1:1)pyemma.coordinates.data.feature_reader(1:1)pyemma.coordinates.data.h5_reader(1:1)pyemma.coordinates.data.numpy_filereader(1:1)pyemma.coordinates.data.py_csv_reader(1:1)
This component extracts relevant molecular features (e.g., distances, angles, torsions) from raw trajectory data, transforming it into a more suitable representation for analysis.
Related Classes/Methods:
pyemma.coordinates.data.featurization.featurizer(1:1)pyemma.coordinates.data.featurization._base.Feature(25:56)
Implements algorithms like TICA (Time-lagged Independent Component Analysis) and PCA (Principal Component Analysis) to reduce the dimensionality of the featurized data, identifying slow collective variables or principal components.
Related Classes/Methods:
pyemma.coordinates.transform.tica(1:1)pyemma.coordinates.transform.pca(1:1)pyemma.coordinates.transform.vamp(1:1)
Groups high-dimensional data points into a finite number of discrete states, which is a crucial step for building Markov State Models. This includes algorithms like k-means and regular space clustering.
Related Classes/Methods:
pyemma.coordinates.clustering.interface(1:1)pyemma.coordinates.clustering.kmeans(1:1)pyemma.coordinates.clustering.regspace(1:1)
Contains the algorithms for estimating Markov State Models (MSMs) from discretized trajectory data, including maximum likelihood and Bayesian approaches.
Related Classes/Methods:
Defines the data structures and methods for representing estimated Markov State Models, allowing for analysis of their properties (e.g., implied timescales, metastable states, reaction pathways).
Related Classes/Methods:
Provides estimators for thermodynamic properties, such as free energies, using methods like DTRAM, MBAR, TRAM, and WHAM.
Related Classes/Methods:
pyemma.thermo.estimators.DTRAM_estimator(1:1)pyemma.thermo.estimators.MBAR_estimator(1:1)pyemma.thermo.estimators.TRAM_estimator(1:1)pyemma.thermo.estimators.WHAM_estimator(1:1)
Encapsulates the results of thermodynamic estimations, providing a structured way to access and analyze calculated thermodynamic quantities.
Related Classes/Methods:
A foundational layer providing common functionalities and abstract interfaces (e.g., Estimator, Model, SerializableMixIn) that are inherited and utilized across various components, ensuring consistency and reusability.
Related Classes/Methods: