Skip to content

Repository files navigation

Catalytix: Precision Enzyme Kinetics

License Python Status

Catalytix is a computational tool for fitting Michaelis–Menten enzyme kinetics data using non-linear regression. It provides accurate parameter estimation ($V_{max}$, $K_m$) through both a CLI and an interactive web interface.


The Science

This tool is built upon the foundational principles of enzyme kinetics established by Leonor Michaelis and Maud Menten in their seminal 1913 paper, "Die Kinetik der Invertinwirkung".

The model describes the rate of enzymatic reactions ($v$) as a function of substrate concentration ($[S]$):

$$ v = \frac{V_{max} [S]}{K_m + [S]} $$

Where:

  • $V_{max}$: The maximum reaction velocity achieved at saturating substrate concentrations.
  • $K_m$ (Michaelis constant): The substrate concentration at which the reaction rate is half of $V_{max}$. This is often used as a measure of the enzyme's affinity for its substrate.

Catalytix automates the determination of these critical parameters, replacing error-prone manual linearization methods (like Lineweaver-Burk plots) with direct non-linear regression.


Visual Output

Catalytix generates high-quality plots showing the experimental data overlaid with the fitted curve, along with a residual plot to assess the goodness of fit.

Enzyme Kinetics Fit

Figure 1: Example output showing the Michaelis-Menten curve fit (top) and residuals (bottom).


Features

  • Dual Interface:
    • CLI: Efficient for scripting and pipelines.
    • Web App: Interactive Streamlit dashboard for instant visualization.
  • Statistical Rigor: Calculates standard deviations for parameters and $R^2$ values.
  • Data Agnostic: Auto-detects numeric columns in your CSV files.
  • Publication Ready: Exports high-DPI plots suitable for reports and papers.

Installation

Prerequisites

  • Python 3.8 or higher

Quick Start

Clone the repository and install the dependencies:

git clone https://github.com/chiragroy2007/catalytix.git
cd catalytix
pip install -r requirements.txt

Usage

1. Interactive Web App (Recommended)

Launch the dashboard to upload data and visualize fits instantly:

streamlit run app.py

2. Command Line Interface

Run the analysis directly on your data files:

python enzyme_kinetics_fitter.py --input data.csv --output-plot my_results.png

Arguments:

  • --input: Path to your CSV file.
  • --substrate-col: (Optional) Name of the substrate column.
  • --velocity-col: (Optional) Name of the velocity column.
  • --output-json: (Optional) Save parameters to a JSON file.

Input Data Format

Your CSV file should look like this:

Substrate_mM Rate_uM_s
0.1 0.05
0.2 0.09
... ...

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License.

About

A computational tool for fitting Michaelis–Menten enzyme kinetics data using non-linear least squares regression. Features both a command-line interface for batch processing and an interactive web dashboard for real-time analysis.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages