Fit Michaelis-Menten and substrate-inhibition (Haldane) enzyme kinetics models to initial-velocity data.
Project description
enzyme-fit
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
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8de5effea7c890c7a4f12cbf0b633050dfe98c83babdbcf102be9fefca6cacf8
|
|
| MD5 |
c018f95406e9e56aa5010516331519d2
|
|
| BLAKE2b-256 |
77055f5e453d8e4f1e2a6ff55118aa394afd1b29687c2fa8904293cfcc35cd81
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4607aac2f2439d959527347b10ab1913c3d4e216b152c447889962e46df475a5
|
|
| MD5 |
555473a2bf0ae8737a36dae07e551ef1
|
|
| BLAKE2b-256 |
72e41f59cba81a6b552d62a5aeddc50dcf3a466911fe14dd6f0342eb90e3c0bb
|