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 NState class. Choose (or make) and initialize a simulator for the instance and run it. Included applications are focused on covalent inhibition.

Installation

With pip:

pip install gekim

Or directly from the source code (recommended):

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

Usage

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

import gekim as gk
from gekim.analysis import covalent_inhibition as ci

# 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"},
    },    
    'transitions': {
        "kon": {"k": 0.01, "source": ["2E","I"], "target": ["EI"]},
        "koff": {"k": 0.1, "source": ["EI"], "target": ["2E","I"]},
    }
}

# Initialize a system with your schematic dictionary
system = gk.schemes.NState(scheme)

# Choose a simulator and go. In this example we're doing a deterministic 
# simulation of the concentrations of each species over time.
# Note that `system.simulator() = gk.simulators.ODESolver(system)` may be more doc-hint friendly
system.set_simulator(gk.simulators.ODESolver)
system.simulator.simulate() 

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

fit_output = ci.kobs_uplim_fit_to_occ_final_wrt_t(
    t,final_state,nondefault_params={"Etot":{"fix":concE0}})

print(f"Fit: {fit_output.fitted_params}\n")

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

Documentation

Documentation and example notebook(s) are pending.

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 the GPL-3.0.

Contact

kyleghaby@gmail.com

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.2.0.tar.gz (40.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.2.0-py3-none-any.whl (40.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gekim-0.2.0.tar.gz
  • Upload date:
  • Size: 40.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for gekim-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ad003f7b0631d9a5932d9e4e49a95847fbb3d7f01ee322af0c96693f60495832
MD5 db7a84bda59744866ee426aa2c7e0d6e
BLAKE2b-256 215eddbbe93c7a732a7aa89b1b37c2831d2c97012e761a95dbe3974510c1118c

See more details on using hashes here.

File details

Details for the file GeKiM-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: GeKiM-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 40.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for GeKiM-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 43d7c2fbda0fd4e4e13eedf353de6547f43a4f0c7041e07afcf8aee39e6d0ac7
MD5 cc91ddb9b8e51cea75408b7c034cc886
BLAKE2b-256 a92e84955e3d63cba954ec21a7fc839fcc4633ffc73b6e49dba90de6c2e7f37a

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