Skip to content

goelanmol124/IndPenSim_Python

Repository files navigation

IndPenSim (Python)

Python reimplementation of IndPenSim V2, an industrial penicillin fermentation process model. This repository holds a working Jupyter prototype that mirrors the MATLAB Parameter_list layout and uses SciPy for integration and signal processing.

Requirements

  • Python 3.10+ recommended (uses Path | str union syntax in the notebook)
  • Dependencies are listed in requirements.txt: NumPy, PyYAML, SciPy

To run the notebook you also need a Jupyter environment (for example JupyterLab or the VS Code / Cursor notebook UI).

Setup

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
pip install jupyter

On Linux or macOS, activate the venv with source .venv/bin/activate instead of .venv\Scripts\activate.

Usage

  1. Open prototype.ipynb and run cells from the top. The notebook loads defaults from parameters.yaml and builds the 105-value parameter vector in MATLAB Parameter_list order (five quantities are supplied at runtime: mu_p, mux_max, alpha_kla, N_conc_paa, PAA_c; the rest come from the YAML fixed block).

  2. Edit parameters.yaml to change fixed model constants. The order section defines the exact key sequence used when assembling the parameter array.

Repository layout

Path Purpose
prototype.ipynb Main simulation code: parameters, ODE integration (scipy.integrate.solve_ivp), channels, and analysis
parameters.yaml Fixed parameters plus ordered list of all 105 parameter names
reference_Specra.txt Reference Raman spectrum (≥2200 rows, two columns: wavenumber and intensity); loaded by simulated Raman code aligned with MATLAB Raman_Sim.m
requirements.txt Python package dependencies

Status

Work in progress: functionality currently lives in the notebook; a packaged module layout may follow as the port matures.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors