Coder Social home page Coder Social logo

willfinnigan / kinetics Goto Github PK

View Code? Open in Web Editor NEW
23.0 1.0 5.0 7.13 MB

Python package for modelling enzyme reactions using Monte carlo sampling from parameter distributions

License: MIT License

Python 100.00%
enzyme biocatalysis modelling reactions

kinetics's Introduction

kinetics

Documentation Status

kinetics is a package for modelling reactions using ordinary differential equations. It's primarily aimed at modelling enzyme reactions, although can be used for other purposes.

See the Documentation for more information.

kinetics uses scipy.integrate.odeint to solve ordinary differential equations, but extends upon this to allow the use of parameter distributions rather than single parameter values. This allows error to be incorporated into the modelling.

kinetics uses scipy's probability distributions, with a large number of distributions to choose from. Typically uniform , normal, log-uniform or log-normal distributions are used.

Documentation: ReadTheDocs

Github: kinetics

Requirements: NumPy, SciPy, matplotlib, tqdm, pandas, SALib, seaborn, and deap.

Installation: pip install kinetics

Citation: Finnigan, W., Cutlan, R., Snajdrova, R., Adams, J., Littlechild, J. and Harmer, N. (2019), Engineering a seven enzyme biotransformation using mathematical modelling and characterized enzyme parts. ChemCatChem.

graphical abstract

Features

  • Construct systems of ODEs simply by selecting suitable rate equations and naming parameters and species.
  • Use either simple parameter values or probability distributions.
  • Run sensitivity analysis using SALib
  • Easily plot model runs using predefined plotting functions
  • Optimisation using genetic algorithm using DEAP (coming soon)

kinetics's People

Contributors

willfinnigan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

kinetics's Issues

Dealing with non-uniform distributions, and implement other SA methods.

Currently only the Sobol Sensitivity Analysis is implemented through SALib. Implement other methods?

SALib only takes uniform distributions, so using other distributions is a bit of a problem?

If we have a normal distribution can we just approximate this as a uniform distribution for use in SALib by taking the 5th and 95th percentile as the lower and upper bounds?

Method to allow reaction rates to reference other reaction rates

So I'm trying to use this library to represent a comprehensive E.Coli metabolism model but the rate equations I have for numerous reactions are given as being dependent on the rate of another reaction, how would I implement this in the current system, and is there any plans to make this more integrated into the model somehow? Any help would be appreciated. Thanks.

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.