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:
- Fructose kinase (for the production of fructose-6-phosphate)
- D-psicose-3-epimerase (converting fructose-6-phosphate to allulose-6-phosphate)
- 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:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80bc66fb050e37d284e5139b0f2a773ac212bd1383bf9d043115003e00f906fc |
|
MD5 | fc881471bafef91d73e8cd7413c17cca |
|
BLAKE2b-256 | 638b1ca462b07335589a1f3b2d5053bae849afd2d3cde2fc96bbf5876b31b0a1 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c984b16bb2bf42613b1528528b745df2012eb69fa9159b298c4ffd19def1cb01 |
|
MD5 | 85c6bc8363c3b23a84ddeffdd823bbe0 |
|
BLAKE2b-256 | f089e44ed5f41b083254651196955bf9992e715824fd7103dc4b9b32d1738eba |