Open-Source chromatography modeling software - 1D ion-exchange chromatography column simulator (mechanistic model; multi-species; with gradient; FPLC-style outputs)
ChromoSim simulates axial convection–dispersion with competitive Langmuir binding. Affinity can be constant (e.g., proteins) or mapped to a per-species property (e.g., surface potential) with salt-dependent screening. Outputs: breakthrough curves, in-column heatmaps, and an FPLC-style trace (mL / pseudo-mAU) with a %B overlay.
- Multi-species breakthrough + in-column heatmaps
- FPLC-style plot (elution volume in mL, pseudo-mAU) with %B overlay
- Fast stiff-ODE solve with a sparse Jacobian
- Configurable for proteins, nanoparticles, or EVs
# from the repo root
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -U pip setuptools wheel
pip install -r requirements.txt # installs ChromoSim in editable modepython -m scripts.main_ev_aexThis builds derivative matrices, integrates the model, and opens:
- Breakthrough/elution with %B overlay
- In-column concentration heatmap
- FPLC-style trace (mL / pseudo-mAU) with %B overlay
Edit parameters in scripts/main_ev_aex.py (or create your own script):
- Column & grid:
L,N(withdz = L/N),eps - Hydrodynamics:
u(via flow),Dax - Species:
Nsp,frac, optional per-species property array - Capacity:
qmax - Kinetics:
kd0,K0,gamma, andfI(I)(or setgamma=0for constant affinity) - Programs:
grad_start,grad_end,I_load,I_eluteandsalt_profile(t) - Feed:
Cfeed_total,frac,feed_profile(t)(e.g., 5 min load at 1 mL/min)
For species i:
For species i:
For species i:
Use constant
-
Mobile phase:
$C_i$ (concentration),$u$ (velocity),$D_{\mathrm{ax}}$ (dispersion),$\varepsilon$ (porosity) -
Stationary phase:
$Q_i$ (loading),$Q_{\max}$ (capacity),$k_{a,i}$ ,$k_{d,i}$ (rate constants) -
Salt effects:
$I$ (ionic strength),$I_{\mathrm{ref}}$ (reference),$\gamma$ (modulation)
[See full documentation for detailed parameter explanations and theory.]
-
chromosim/core librarynumerics/derivative matrices, sparsity, ODE systemmodels/parameter helpers (profiles, defaults)
-
scripts/runnable examples -
docs/user docs & public figures (MIT) -
requirements.txt,pyproject.tomlpackaging
- Coarser grids (
N) run faster; refine only to resolve peak shape. - If plots don’t show on macOS, try:
export MPLBACKEND=TkAggbefore running. - To compare with instrument data, adjust
eps_detin the example to match the mAU scale visually.
Issues and PRs welcome. See CONTRIBUTING.md and CODE_OF_CONDUCT.md.
MIT for code and assets. If you use ChromoSim in a publication, please cite the repo (CITATION.cff).