Skip to main content

A simple lightweight library for simulating and plotting enzyme kinetics

Project description

Kinetix - A simple enzyme kinetics simulation framework

This is a simple framework for single / multiple reaction enzyme kinetics simulation and plotting. It allows one to plot reaction kinetics that follows the reversible Michaelis - Menten model.

Usage

One can use the library to produce figures via a command line interface or programmatically (see below for examples)

CLI

Single reaction

As an example, the reaction kinetics of Glucose Kinase (EC: 2.7.1.2 is displayed as an example)

First, create a definition file in YAML format, that defines the reaction parameters:
name: "Glucose kinase simulation"
reactants: #Concentration of the reactants at the beginning of the reaction (mM)
  glucose: 0.2
  glucose_6_p: 0.0
enzymes: #Concentration of the enzyme(s) at the begining of the reaction (mM)
  gluk: 0.05 
reaction: #Kinetic parameters of each of the enzymes for the forward and backward steps of the (reversible) reaction. Note that non-reversible reactions can simple be modeled with high Km for on of the directions.
  gluk: 
    fwd: "glucose"
    back: "glucose_6_p"
    km_fwd: 0.24
    km_back: 21
    kcat_fwd: 61
    kcat_back: 15.9

Then, run the simulation with a simple command line and a few arguments:

python ./code/runner.py examples/glucose_kinase.yaml --plot_out gluc.png --csv_out gluc.csv

A figure showing the progression of the reaction as a function of time is generated:

A csv file containing the data used to generate the figure can also optionally be generated and saved (using the --csv_out flag)

A pathway

Kinetix can also simulate a pathway composed of several enzymes. This example shows a pathway composed of 3 different enzymes used in the production of allulose (D-psicose) a C3 epimer of fructose:

  1. Fructose kinase (for the production of fructose-6-phosphate)
  2. D-psicose-3-epimerase (converting fructose-6-phosphate to allulose-6-phosphate)
  3. Alkaline phosphatase (converting allulose-6-phosphate to allulose)

The flow is similar to the one-enzyme case. First, define a yaml file with all the parameters:

---
name: "Allulose synthesis from fructose"
reactants:
  fructose: 1.8
  fructose_6_p: 0.0
  allulose: 0.0
  allulose_6_p: 0.0
enzymes:
  fruk: 0.05
  alsE: 0.05
  phosphatase: 0.05
reaction:
  fruk:
    fwd: "fructose_6_p"
    back: "fructose"
    km_fwd: 0.24
    km_back: 21
    kcat_fwd: 61
    kcat_back: 15.9
  alsE:
    fwd: "allulose_6_p"
    back: "fructose_6_p"
    km_fwd: 1.6 
    km_back: 1.6 
    kcat_fwd: 46
    kcat_back: 46
  phosphatase:
    fwd: "allulose"
    back: "allulose_6_p"
    km_fwd: 1 
    km_back: 100
    kcat_fwd: 100
    kcat_back: 1

Then, invoke the application just as before:

./code/runner.py examples/allulose.yaml --plot_out examples/figures/alu.svg --csv_out examples/csvs/alu.csv

To produce the reaction figure, which displays the concentration of each of the reactants as a function of time:

Programmatic Access

Kinetix also makes it really easy to simulate and plot a reaction more flexibly via a simple API. Example:

https://github.com/LiorZ/Kinetix/blob/4d1107d3e85c45d8d3f222428936ef82c658f223/examples/programmatic.py#L8-L44

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kinetix-0.1.0.tar.gz (5.6 kB view hashes)

Uploaded Source

Built Distribution

kinetix-0.1.0-py2.py3-none-any.whl (5.9 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page