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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

Details for the file kinetix-0.1.0.tar.gz.

File metadata

  • Download URL: kinetix-0.1.0.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.9.12 Linux/5.15.0-52-generic

File hashes

Hashes for kinetix-0.1.0.tar.gz
Algorithm Hash digest
SHA256 80bc66fb050e37d284e5139b0f2a773ac212bd1383bf9d043115003e00f906fc
MD5 fc881471bafef91d73e8cd7413c17cca
BLAKE2b-256 638b1ca462b07335589a1f3b2d5053bae849afd2d3cde2fc96bbf5876b31b0a1

See more details on using hashes here.

File details

Details for the file kinetix-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: kinetix-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.9.12 Linux/5.15.0-52-generic

File hashes

Hashes for kinetix-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c984b16bb2bf42613b1528528b745df2012eb69fa9159b298c4ffd19def1cb01
MD5 85c6bc8363c3b23a84ddeffdd823bbe0
BLAKE2b-256 f089e44ed5f41b083254651196955bf9992e715824fd7103dc4b9b32d1738eba

See more details on using hashes here.

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