Clonalyzer 2 is a browser-based kinetics analysis tool for CHO fed-batch cultures. Drop a raw measurement CSV and it computes over 20 kinetic parameters β specific rates, metabolic yields, integral cell counts β then renders interactive charts and packages everything into a downloadable ZIP or a PDF report ready to paste into your lab notebook.
It runs entirely in the browser through Pyodide, the full scientific Python stack compiled to WebAssembly. No installation. No scripts. No data ever leaves your machine.
After each fed-batch run, extracting kinetic parameters from viability counter and metabolite analyzer data typically means hours of manual spreadsheet work β repeated for every clone and replicate. Without a dedicated tool:
- Specific rates must be calculated interval by interval from raw concentration and volume data
- Feed events require manual correction to avoid confounding dilution with cellular activity
- Clone comparisons and replicate statistics are assembled by hand from separate files
Clonalyzer 2 automates the entire pipeline in a single CSV drop. What used to take an afternoon now takes under a minute.
Four steps. No command line. No configuration files.
Step 1 β Upload your data
Drag your CSV onto the drop zone or click to browse. The app accepts European decimal commas and automatically detects the column layout.
Step 2 β Set the exponential phase window
Define the start and end time (h) of the exponential growth phase. Specific rates (Β΅, q values) are summarized separately for the exponential and stationary phases. Default: 0β96 h.
Step 3 β Choose your culture mode
Select Lote (batch) for concentration-based calculations, or Lote alimentado (fed-batch) to enable the hybrid mass-balance approach that automatically switches from concentration-based to mass-balance at the first feed event.
Step 4 β Analyze and explore
Click Analyze data. In seconds you get four families of interactive charts β scatter, mean Β± SD, exponential-phase bar plots, and pairwise correlations. Download everything as a ZIP or generate a compact PDF report for your lab notebook.
Clonalyzer 2 computes specific rates interval by interval between consecutive timepoints using a trapezoidal approximation. Two scenarios are supported depending on whether culture volume data are available.
ΞΌ is always calculated from viable cell density, regardless of mode:
Using total cell counts (TC = VCD Γ V) for ΞΌ would produce artefactual negative values whenever volume drops during sampling. VCD is the correct basis.
All intervals use the Integral Viable Cell Density (IVCD) as normalizer. No volume data are needed.
| Parameter | Numerator | Sign convention |
|---|---|---|
| qGlc | + consumed, reported as pmol/cell/day | |
| qLac | + produced, reported as pmol/cell/day | |
| qP | + produced | |
| qGln | + consumed, reported as pmol/cell/day | |
| qGlu | + produced, reported as pmol/cell/day |
Metabolic yields are the ratio of concentration changes:
Requires Vol_mL and is_post_feed. The engine applies a two-phase strategy per Clone Γ Replicate, detected automatically from is_post_feed:
Phase 1 β batch phase (before first feed event)
Before the first row where is_post_feed = TRUE, the culture has not yet received any feed addition. Volume only decreases due to sampling, so concentration changes are a faithful proxy for cellular activity. Concentration-based calculations are used β identical to Lote mode.
Phase 2 β fed-batch phase (from first feed event onwards)
Once feeding begins, adding a bolus of concentrated medium dilutes metabolites and increases the working volume. A raw concentration drop in glucose could reflect cellular consumption, feed dilution, or both. To isolate the biological signal, all calculations switch to total masses and total cell counts inside the reactor.
Total viable cells and ITVC:
Total metabolite mass and specific rates:
| Parameter | Numerator | Sign convention |
|---|---|---|
| qGlc | + consumed, reported as pmol/cell/day | |
| qLac | + produced, reported as pmol/cell/day | |
| qP | + produced | |
| qGln | + consumed, reported as pmol/cell/day | |
| qGlu | + produced, reported as pmol/cell/day |
Metabolic yields use mass changes in the same way:
Feed events are always excluded: intervals where is_post_feed transitions FALSE β TRUE are skipped entirely. The apparent concentration change at those points reflects medium addition, not cellular metabolism.
| Zero installation | Runs fully client-side via Pyodide β no Python, no pip, no server |
| 20+ kinetic parameters | Β΅, qGlc, qLac, qP, qGln, qGlu, yields, IVCD/ITVC, fluorescence kinetics |
| Batch & fed-batch modes | Concentration-based (Lote) or hybrid mass-balance (Lote alimentado) with automatic phase detection |
| 4 interactive plot families | Scatter Β· Mean Β± SD Β· Exponential phase bars Β· Correlations |
| Configurable phase window | Set exponential phase start and end independently |
| Custom correlations | Build any pairwise plot on demand, segmented by clone and phase |
| PDF reports | Full report (A4 landscape, one chart per page) or compact report (Letter portrait, 8 charts per page) with the Clonalyzer logo β ready to paste into a lab notebook |
| ZIP download | All CSVs and PNGs packaged in one click |
| No data upload | Everything runs locally in your browser β your experimental data never leaves your machine |
| Column | Description | Units |
|---|---|---|
t_hr |
Culture time | h |
Clone |
Clone identifier | β |
Rep |
Biological replicate number | β |
is_post_feed |
TRUE if sampled after a feed event |
boolean |
VCD |
Viable cell density | cells/mL |
DCD |
Dead cell density | cells/mL |
Viab_pct |
Viability | % |
rP_mg_L |
Recombinant protein titer | mg/L |
Glc_g_L |
Glucose | g/L |
Lac_g_L |
Lactate | g/L |
Gln_mM |
Glutamine | mM |
Glu_mM |
Glutamate | mM |
Two CSV layouts are accepted:
With metadata row (default β keep "Skip first row" checked)
Culture time (h), Clone ID, Biological replicate, ... β ignored
t_hr, Clone, Rep, ... β column names
0, Control, 1, ... β data
Without metadata row (uncheck "Skip first row")
t_hr, Clone, Rep, ... β column names
0, Control, 1, ... β data
European decimal commas (
1,5) are accepted and converted automatically.
If present, the corresponding features are enabled automatically.
| Column | Description |
|---|---|
Vol_mL |
Culture volume (mL) β required for Lote alimentado mass-balance mode |
GFP_mean / GFP_std |
GFP fluorescence intensity (A.U.) |
TMRM_mean / TMRM_std |
TMRM fluorescence intensity (A.U.) |
Bodipy_mean / Bodipy_std |
BODIPY fluorescence intensity (A.U.) |
CellROX_mean / CellROX_std |
CellROX fluorescence intensity (A.U.) |
Analysis (in-browser via WebAssembly)
Frontend
Packaging & export
Clonalyzer-2/
βββ index.html β markup and UI
βββ style.css β Material Design 3 custom styles
βββ app.js β Pyodide init, UI logic, ZIP/PDF generation
βββ clonalyzer.py β analysis pipeline (runs in-browser via Pyodide)
βββ Fig/ β screenshot assets for this README
Emiliano Balderas RamΓrez Bioengineer Β· PhD Candidate in Biochemical Sciences Instituto de BiotecnologΓa (IBt), UNAM
CellSplit β Neubauer cell counting and passage planning for CHO cultures.
CellBlock β shared biosafety cabinet scheduling for cell culture research groups.



