Skip to main content

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

Metadata

Release files for kinetix 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kinetix 0.1.0
File Size Uploaded
kinetix-0.1.0.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kinetix 0.1.0
File Interpreter ABI Platform
kinetix-0.1.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 11.5 kB

Release files / kinetix-0.1.0.tar.gz

Download URL kinetix-0.1.0.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
80bc66fb050e37d284e5139b0f2a773ac212bd1383bf9d043115003e00f906fc
BLAKE2b-256 checksum
How to use checksums
638b1ca462b07335589a1f3b2d5053bae849afd2d3cde2fc96bbf5876b31b0a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.9.12 Linux/5.15.0-52-generic

Release files / kinetix-0.1.0-py2.py3-none-any.whl

Download URL kinetix-0.1.0-py2.py3-none-any.whl
Size 5.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
c984b16bb2bf42613b1528528b745df2012eb69fa9159b298c4ffd19def1cb01
BLAKE2b-256 checksum
How to use checksums
f089e44ed5f41b083254651196955bf9992e715824fd7103dc4b9b32d1738eba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.9.12 Linux/5.15.0-52-generic

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page