All Projects β†’ danieljsharpe β†’ DISCOTRESS

danieljsharpe / DISCOTRESS

Licence: GPL-3.0 license
🦜 DISCOTRESS 🦜 is a software package to simulate and analyse the dynamics on arbitrary Markov chains

Programming Languages

C++
36643 projects - #6 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to DISCOTRESS

Deep-Learning-Mahjong---
Reinforcement learning (RL) implementation of imperfect information game Mahjong using markov decisionΒ processes to predict future game states
Stars: ✭ 45 (+125%)
Mutual labels:  markov-model, markov-chain
Probability
Applied Probability Theory for Everyone
Stars: ✭ 93 (+365%)
Mutual labels:  markov-chains, random-walk
marc
Markov chain generator for Python and/or Swift
Stars: ✭ 61 (+205%)
Mutual labels:  markov-chain, markov-chains
pomp
R package for statistical inference using partially observed Markov processes
Stars: ✭ 88 (+340%)
Mutual labels:  markov-model, stochastic-processes
mchmm
Markov Chains and Hidden Markov Models in Python
Stars: ✭ 89 (+345%)
Mutual labels:  markov-model, markov-chain
word-prediction
Auto generate text using Markov models.
Stars: ✭ 18 (-10%)
Mutual labels:  markov-model, markov-chains
TwitchMarkovChain
Twitch Bot for generating messages based on what it learned from chat
Stars: ✭ 87 (+335%)
Mutual labels:  markov-chain
dingo
A python library for metabolic networks sampling and analysis
Stars: ✭ 29 (+45%)
Mutual labels:  random-walk
pypmc
Clustering with variational Bayes and population Monte Carlo
Stars: ✭ 46 (+130%)
Mutual labels:  markov-chain
msmtools
Tools for estimating and analyzing Markov state models
Stars: ✭ 31 (+55%)
Mutual labels:  markov-model
bayseg
An unsupervised machine learning algorithm for the segmentation of spatial data sets.
Stars: ✭ 46 (+130%)
Mutual labels:  markov-chain
Nonlinear-Systems-and-Control
Files for my Nonlinear Systems and Controls class.
Stars: ✭ 16 (-20%)
Mutual labels:  markov-chain
cellrank
CellRank for directed single-cell fate mapping
Stars: ✭ 222 (+1010%)
Mutual labels:  markov-chains
wepy
Weighted Ensemble simulation framework in Python
Stars: ✭ 38 (+90%)
Mutual labels:  enhanced-sampling
presidential-rnn
Project 4 for Metis bootcamp. Objective was generation of character-level RNN trained on Donald Trump's statements using Keras. Also generated Markov chains, and quick pyTorch RNN as baseline. Attempted semi-supervised GAN, but was unable to test in time.
Stars: ✭ 26 (+30%)
Mutual labels:  markov-chain
antaresViz
ANTARES Visualizations
Stars: ✭ 19 (-5%)
Mutual labels:  stochastic-simulation-algorithm
PiecewiseDeterministicMarkovProcesses.jl
Piecewise Deterministic Markov Processes in Julia
Stars: ✭ 20 (+0%)
Mutual labels:  stochastic-processes
stochpy
StochPy is a versatile stochastic modeling package which is designed for stochastic simulation of molecular control networks
Stars: ✭ 36 (+80%)
Mutual labels:  stochastic-simulation-algorithm
PowerWalk
Personalized PageRank (PPR) on GraphLab PowerGraph
Stars: ✭ 14 (-30%)
Mutual labels:  random-walk
porn-description-generator
Generates new porn descriptions based on an edited dataset of xhamster video descriptions uploaded between 2007-2016.
Stars: ✭ 40 (+100%)
Mutual labels:  markov-chain

DISCOTRESS

Welcome to the DISCOTRESS (DIscrete State COntinuous Time Rare Event Simulation Suite) program, developed by Daniel J. Sharpe.

Getting from B to A in a Markov chain

Probability fluxes (edge thickness), visitation probabilities (node opacity), and stationary probabilities (node size) for the transition from an initial set of nodes, 𝔅, to an absorbing (target) set of nodes, 𝔄, in a Markov chain.

DISCOTRESS is a software package to simulate and analyse the dynamics for arbitrary Markov chains. DISCOTRESS is designed to enable simulation and analysis of the dynamics for discrete- and continuous-time finite Markov chains (DTMCs and CTMCs, respectively) that are nearly reducible. Such Markov chains exhibit strong metastability; that is, there exists a comparatively slow (i.e. low probability) process. In this rare event regime, which is frequently encountered in realistic modeling tasks, standard simulation algorithms are unfeasible owing to their inefficiency, and linear algebra methods for the exact computation of dynamical quantities fail to converge or lead to a severe propagation of numerical error. The advanced methods implemented in DISCOTRESS circumvent these problems.

Discrete-state DTMCs and CTMCs are widely applied models for the stochastic dynamics of many processes. Markov chains are commonly used to represent populations of species in and animal movement within an ecosystem 🦜 🌴, epidemic spread 🦠 🦟, financial markets πŸ’Έ πŸ“ˆ, climate dynamics 🌦️ πŸŒͺ️, gene regulatory and other chemical reaction networks 🧬 πŸ§ͺ, as well as the dynamics of many-particle systems in condensed matter and biological physics βš›οΈ 🧫, and more!

What can I do with DISCOTRESS?

A host of simulation algorithms to sample paths are built in to DISCOTRESS [1,2], including standard kinetic Monte Carlo (BKL), kinetic path sampling (kPS), Monte Carlo with absorbing Markov chains (MCAMC), milestoning, and weighted ensemble (WE) sampling. The software also includes algorithms to perform exact numerical analysis. The flexibility of the software and the relative advantages of the different algorithms allow for a variety of problems to be solved. DISCOTRESS can be used to:

  • sample the ensemble of 𝔄 ← 𝔅 first passage paths (the FPPE) from an initial set of nodes in the Markov chain, denoted 𝔅, to an absorbing (target) set of nodes, denoted 𝔄 [1,2].
  • simulate probability distributions of path properties for the 𝔄 ← 𝔅 FPPE, including the first passage time (FPT) [1,2], path probability [4], and entropy flow distributions of paths.
  • simulate statistics associated with nodes (or groups thereof) for the ensemble of direct 𝔄 ← 𝔅 transition paths (the TPE), namely committor and visitation probabilities [1,2]. These quantities can be calculated for both the nonequilbrium and equilibrium (steady state) TPEs [3].
  • obtain dynamical quantities characterising the 𝔄 ← 𝔅 nonequilibrium and equilibrium FPPE and TPE exactly, including MFPTs, committor and absorption probabilities, expected numbers of node visits, and node visitation probabilities, using numerically stable state reduction methods [2,3,5].
  • obtain dynamical quantities characterising the dynamics in the infinite-time limit, namely the stationary distribution and the average mixing time, using numerically stable state reduction methods [2,3].
  • determine the set of 𝔄 ← 𝔅 first passage paths with the highest probabilities, using a k shortest paths algorithm [4].
  • estimate and validate a coarse-grained Markov chain constructed from multiple short nonequilibrium trajectories [6].

How do I get started?

Requirements: C++17
Dependencies: OpenMP

Refer to the documentation for a list of keywords that may be included in the main input file input.kmc, a description of the other input and output files and their formats, and instructions for downloading and compiling the software.

Try running the tutorial examples to get started!

Use the available analysis scripts to find out what it all means.

Read the FAQs for hints and tips.

Citations

If you use the DISCOTRESS software in your publication, please cite the following articles:

Please cite relevant articles describing particular functionality of DISCOTRESS if you use these features:

Further example applications can be found in the following publications:

More publications for DISCOTRESS are forthcoming.

Please contact me directly to obtain copies of preprints.

For additional citations related to the various simulation and state reduction algorithms implemented in DISCOTRESS, please see the individual .cpp files in the source code.

Contact the author

Would you like to request a new feature in DISCOTRESS? Or simply have a question? Get in touch:

[email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].