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)
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:
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)
| File | Size | Uploaded | |
|---|---|---|---|
| kinetix-0.1.0.tar.gz | 5.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|