Skip to main content

Generalized Kinetic Modeler: A Python package for modeling arbitrary kinetic schemes.

Project description

GeKiM (Generalized Kinetic Modeler)

Description

GeKiM (Generalized Kinetic Modeler) is a Python package designed for creating, interpreting, and modeling arbitrary kinetic schemes. Schemes are defined by the user in a dictionary of species and transitions, which is used to initialize an instance of the System class. Choose (or make) and initialize a simulator for the instance and run it. Field-specific practices are found in gekim/fields.

Installation

With pip:

pip install gekim

Or directly from the source code:

git clone https://github.com/kghaby/GeKiM.git
cd GeKiM
pip install --editable . 

Usage

Here is a basic example of how to use GeKiM to create and simulate a kinetic system:

import gekim as gk
from gekim.fields.bio.enzyme.inhib import irrev as ii 

# Define your kinetic scheme in a configuration dictionary
concI0,concE0 = 100,1
scheme = {
    'species': {
        "I": {"y0": concI0, "label": "I"},
        "E": {"y0": concE0, "label": "E"},
        "EI": {"y0": 0, "label": "EI"},
        "E-I": {"y0": 0, "label": "E-I"},
    },    
    'transitions': {
        "kon": {"k": 0.01, "source": ["E","2I"], "target": ["EI"]},
        "koff": {"k": 0.1, "source": ["EI"], "target": ["E","2I"]},
        "kinact": {"k": 0.01, "source": ["EI"], "target": ["E-I"]}, # irreversible step
    }
}

# Initialize a system with your schematic dictionary
system = gk.System(scheme, quiet=False)

# Choose a simulator and go
#   In this example we're doing a deterministic 
#   simulation of the concentrations of each species over time.
sim = system.set_simulator(gk.simulators.ODESolver)
sim.simulate() # Note the lack of time-scale input. It's predicted!

# Fit the data to experimental models to extract mock-experimental measurements
t = system.simout["t"]
final_state = system.species["E-I"].simout["y"]
all_bound = system.sum_species_simout(blacklist=["E","I"])

fit_output = ii.kobs_uplim_fit_to_occ_final_wrt_t(
    t, final_state, 
    nondefault_params={"Etot":{"value":concE0, "vary":False}})

For more detailed examples, please refer to the examples directory.

Documentation

Documentation pages are pending, but the functions have docstrings.

Example Jupyter Notebooks where GeKiM has been applied to model and analyze irreversible enzyme inhibition:

  1. Covalent kinetics with rapid intermediates (2025)
  2. Covalent kinase activity probes (2026)

Contributing

If you have suggestions or want to contribute code, please feel free to open an issue or a pull request.

License

GeKiM is licensed under MIT.

Contact

kyleghaby@gmail.com

Citation

If you use this software, please cite:

Ghaby, K.; Roux, B. Kinetic Modeling of Covalent Inhibition: Effects of Rapidly Fluctuating Intermediate States. J. Chem. Inf. Model. 2025. https://doi.org/10.1021/acs.jcim.5c00952

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

gekim-0.7.10.tar.gz (47.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gekim-0.7.10-py3-none-any.whl (59.3 kB view details)

Uploaded Python 3

File details

Details for the file gekim-0.7.10.tar.gz.

File metadata

  • Download URL: gekim-0.7.10.tar.gz
  • Upload date:
  • Size: 47.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for gekim-0.7.10.tar.gz
Algorithm Hash digest
SHA256 b6a7362971d1dfe592d1d5bb8353f0f3dbdb42859f4b7128b25082cd033744a5
MD5 d4cda3f178a5d2475e8e7630494bc34d
BLAKE2b-256 6c69c297eae70a36c88e60783441685720cd9424520d52ff7d1cbfa86d8fcdc8

See more details on using hashes here.

File details

Details for the file gekim-0.7.10-py3-none-any.whl.

File metadata

  • Download URL: gekim-0.7.10-py3-none-any.whl
  • Upload date:
  • Size: 59.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for gekim-0.7.10-py3-none-any.whl
Algorithm Hash digest
SHA256 261c9a0dbc9ee0543a71f7422d5849834dcd56ae5eb512c3c1b843f4b4803bfb
MD5 49cb38f892b45b18174ec51c42e8800c
BLAKE2b-256 bf5742dd96f19ae8a8944c8c3d6253873efdde9aa589c5471f0291fb65cfa277

See more details on using hashes here.

Supported by

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