Giter Club home page Giter Club logo

danieljsharpe / discotress_tutorials Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 5.56 MB

Learn to get started using DISCOTRESS with these tutorials! Then apply to your own Markov chains in ecology 🦜🌴 economics πŸ’ΈπŸ“ˆ biophysics 🧬🦠 and more!

Brainfuck 100.00%
markov-chain tutorials markov-process stochastic-simulation discrete-event-simulation kinetic-monte-carlo network-dynamics rare-events markov-model random-walk

discotress_tutorials's Introduction

DISCOTRESS tutorials

Learn to get started using DISCOTRESS with these tutorials, then apply the methods to your own Markov chains!

Numerical estimate of the 𝔄 ← 𝔅 first passage time (FPT) distribution from dynamical simulations; one of many quantities that can be computed using DISCOTRESS.

Finite Markov chains are network models that can be used to model phenomena as varied and exciting as:

  • animal movement within an ecosystem, such as migration 🐦 🦜 or foraging 🐘 🌴
  • the variation in populations of species within an ecosystem, for example arising from predator-prey interactions 🐺 🦌, competition for limited resources 🐻 🐟, or the introduction of a parasite 🦟 or invasive species 🐍
  • the evolution of organisms or genes characterised by the fitness for their environment πŸ¦’ 🐒
  • epidemic spread of a disease in a population 🦠 πŸ’‰
  • climate dynamics 🌦️ πŸŒͺ️
  • the fluctuating status of financial markets πŸ’Έ πŸ“ˆ
  • social groups πŸ‘ͺ πŸ‘«
  • structural changes in molecular and condensed matter systems, for example a protein or DNA molecule folding to its functional shape 🧬 βš›οΈ
  • the distribution of molecule copy numbers in biochemical or chemical reaction cycles or gene regulatory networks πŸ§ͺ 🧫

We are typically interested in a particular 𝔄 ← 𝔅 first passage process on the Markov chain. That is, we wish to understand the dynamical process of first hitting an absorbing (target) set of nodes 𝔄 for paths beginning within the initial set of nodes 𝔅. We may want to know: what is the average time to reach the 𝔄 state? Which nodes are most likely to be visited along an 𝔄 ← 𝔅 path? How many times is each node visited along an 𝔄 ← 𝔅 path on average? If the 𝔄 ← 𝔅 transition is slow (i.e. low probability) compared to random fluctuations, then linear algebra methods to solve for exact dynamical properties are numerically unstable and the standard kinetic Monte Carlo method to simulate paths is inefficient and therefore unfeasible. DISCOTRESS includes implementations of advanced algorithms that negate these problems. The software is highly flexible, and can also be used to efficiently simulate long-timescale trajectories that are not conditioned on initial and target states.

Overview of tutorials

The following tutorials use simple example Markov chains to demonstrate various key features of the algorithms available in DISCOTRESS, allowing you to familiarise yourself with the capabilities and flexibility of the software:

  • mfpt_ctmc: you will learn to exactly compute key dynamical properties characterising an 𝔄 ← 𝔅 transition in a continuous-time Markov chain (CTMC), using numerically stable state reduction algorithms. Namely: mean first passage times (MFPTs), committor and absorption probabilities, and the stationary distribution.
  • mfpt_dtmc: repeats the same exercise for a discrete-time Markov chain (DTMC).
  • kmc_ab: you will learn to use the standard kinetic Monte Carlo (kMC) algorithm to simulate 𝔄 ← 𝔅 paths.
  • kps_ab: you will learn to use the kinetic path sampling (kPS) algorithm to simulate 𝔄 ← 𝔅 paths.
  • kmc_steadystate: you will learn to use the kMC algorithm to simulate long trajectories of fixed time and extract steady-state (i.e. equilibrium) statistics for 𝔄 ← 𝔅 transition paths.
  • dimredn: you will learn to use kinetic path sampling (kPS) to simulate many short nonequilibrium trajectories initialised from each community, from which a coarse-grained Markov chain can be estimated and validated.
  • rea: you will learn to use the recursive enumeration algorithm (REA) to determine the k 𝔄 ← 𝔅 first passage paths associated with the highest probabilities.

Scripts to help you process the output of DISCOTRESS simulations are available here.

discotress_tutorials's People

Contributors

danieljsharpe avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

jmschofi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.