Skip to main content

Fit Michaelis-Menten and substrate-inhibition (Haldane) enzyme kinetics models to initial-velocity data.

Project description

enzyme-fit

License: MIT Status DOI

Fit Michaelis-Menten and substrate-inhibition (Haldane) enzyme kinetics models to initial-velocity data, with objective model selection (AIC), a built-in Lineweaver-Burk comparison, and a publication-ready report.

Problem

Determining Km and Vmax from initial-velocity vs. substrate-concentration data is one of the most common quantitative tasks in enzymology and food biochemistry (fermentation, enzymatic browning, hydrolytic processing enzymes). It is still routinely done via the Lineweaver-Burk double-reciprocal linearization (1/v vs 1/[S]) — a method known since the 1970s to give biased parameter estimates because it disproportionately weights low-velocity (high 1/v, high-noise) points, compared to direct nonlinear regression on the untransformed data. Substrate inhibition at high concentrations (common for many enzymes) also goes undetected unless a dedicated model is fit and compared objectively. enzyme-fit automates nonlinear regression for Michaelis-Menten and Haldane substrate-inhibition models, selects the best-describing model by AIC, and reports a Lineweaver-Burk panel side-by-side with the nonlinear fit purely as a diagnostic — making the difference, and the recommended method, explicit.

Installation

pip install enzyme-fit

Or from source:

git clone https://github.com/karenkhachatryan-lab/enzyme-fit.git
cd enzyme-fit
pip install -e ".[dev]"

Usage

Input CSV with columns substrate, velocity, and optionally velocity_std (any consistent concentration/rate units):

substrate,velocity,velocity_std
2,577.6,10.2
4,862.4,12.1
6,1032.0,11.8
8,1144.5,13.4
10,1224.6,14.0

Fit models and generate a report:

enzyme-fit fit data.csv --output report

This produces:

  • report.pdf — velocity vs. substrate curve with all fitted models, a Lineweaver-Burk diagnostic panel, and a residuals plot for the best model,
  • report.json — fitted parameters, metrics (R², RMSE, AIC), kinetics classification, and the Lineweaver-Burk comparison values.

Print citation information:

enzyme-fit cite

Desktop GUI (optional)

pip install "enzyme-fit[gui]"
enzyme-fit gui

Opens a desktop window (CustomTkinter) to load a CSV, pick models, view the kinetics plot and metrics live, and save the PDF/PNG/JSON outputs — no command-line arguments needed.

For users without Python, a prebuilt standalone Windows GUI is attached as a .zip to each GitHub Release — download, extract, and run enzyme-fit-gui.exe, no installation needed. To build it yourself instead, see packaging/build_exe.ps1 (PyInstaller).

Models

  • Michaelis-Menten: v = Vmax·[S] / (Km + [S]) — 2 parameters, the standard model for the vast majority of enzymes.
  • Haldane (substrate inhibition): v = Vmax·[S] / (Km + [S] + [S]²/Ki) — 3 parameters; velocity rises then declines at high substrate concentration, common for many hydrolases and oxidases at supra-physiological substrate levels.

Both models are fit on the full dataset, so their AIC values are always directly comparable — no restricted-range caveat (unlike isotherm-fit's BET model).

Project status

Early development (v0.1.0) — MVP scope: 2 models, CSV loader, AIC-based model selection, kinetics classification (inhibition detection + optimal substrate concentration), Lineweaver-Burk diagnostic panel, PDF/PNG + JSON report generation, CLI via Typer, optional CustomTkinter desktop GUI. See CHANGELOG.md.

Citing this software

If you use enzyme-fit in your research, please cite it — see CITATION.cff or run enzyme-fit cite for the formatted citation and BibTeX entry. DOI: 10.5281/zenodo.21724603.

Contributing and support

Bug reports, feature requests, and usage questions are all welcome via GitHub Issues.

License

MIT — see LICENSE.

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

enzyme_fit-0.1.0.tar.gz (92.4 kB view details)

Uploaded Source

Built Distribution

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

enzyme_fit-0.1.0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file enzyme_fit-0.1.0.tar.gz.

File metadata

  • Download URL: enzyme_fit-0.1.0.tar.gz
  • Upload date:
  • Size: 92.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for enzyme_fit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8de5effea7c890c7a4f12cbf0b633050dfe98c83babdbcf102be9fefca6cacf8
MD5 c018f95406e9e56aa5010516331519d2
BLAKE2b-256 77055f5e453d8e4f1e2a6ff55118aa394afd1b29687c2fa8904293cfcc35cd81

See more details on using hashes here.

File details

Details for the file enzyme_fit-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: enzyme_fit-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for enzyme_fit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4607aac2f2439d959527347b10ab1913c3d4e216b152c447889962e46df475a5
MD5 555473a2bf0ae8737a36dae07e551ef1
BLAKE2b-256 72e41f59cba81a6b552d62a5aeddc50dcf3a466911fe14dd6f0342eb90e3c0bb

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