Skip to content

ebalderasr/Clonalyzer-2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

53 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Clonalyzer 2

From raw CSV to publication-ready kinetics β€” in seconds, entirely in your browser


β†’ Open the live app


Stack Focus License Part of


What is Clonalyzer 2?

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.


Why it matters

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.


How it works

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 1 – Upload CSV


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 2 – Set kinetics window


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 3 – Choose culture mode


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.

Step 4 – Results and charts



Methods

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.

Specific growth rate

ΞΌ is always calculated from viable cell density, regardless of mode:

$$\mu = \frac{\ln(VCD_2 / VCD_1)}{\Delta t} \quad \text{[h}^{-1}\text{]}$$

Using total cell counts (TC = VCD Γ— V) for ΞΌ would produce artefactual negative values whenever volume drops during sampling. VCD is the correct basis.


Lote mode β€” concentration-based (default)

All intervals use the Integral Viable Cell Density (IVCD) as normalizer. No volume data are needed.

$$\Delta IVCD = \frac{VCD_1 + VCD_2}{2} \cdot \Delta t \quad \left[\frac{\text{cells} \cdot \text{h}}{\text{mL}}\right]$$

$$q_i = \frac{\Delta C_i}{\Delta IVCD} \quad \text{[pg or pmol / cell / day]}$$

Parameter Numerator Sign convention
qGlc $Glc_1 - Glc_2$ + consumed, reported as pmol/cell/day
qLac $Lac_2 - Lac_1$ + produced, reported as pmol/cell/day
qP $rP_2 - rP_1$ + produced
qGln $Gln_1 - Gln_2$ + consumed, reported as pmol/cell/day
qGlu $Glu_2 - Glu_1$ + produced, reported as pmol/cell/day

Metabolic yields are the ratio of concentration changes:

$$Y_{Lac/Glc} = \frac{Lac_2 - Lac_1}{Glc_1 - Glc_2} \quad Y_{Glu/Gln} = \frac{Glu_2 - Glu_1}{Gln_1 - Gln_2}$$


Lote alimentado mode β€” hybrid (concentration β†’ mass balance)

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:

$$TC = VCD \times V \quad \text{[cells]}$$

$$\Delta ITVC = \frac{TC_1 + TC_2}{2} \cdot \Delta t \quad \text{[cells} \cdot \text{h]}$$

Total metabolite mass and specific rates:

$$M_i = C_i \times \frac{V}{1000} \quad \text{[g or mmol]}$$

$$q_i = \frac{\Delta M_i}{\Delta ITVC} \quad \text{[pg or pmol / cell / day]}$$

Parameter Numerator Sign convention
qGlc $M_{Glc,1} - M_{Glc,2}$ + consumed, reported as pmol/cell/day
qLac $M_{Lac,2} - M_{Lac,1}$ + produced, reported as pmol/cell/day
qP $M_{rP,2} - M_{rP,1}$ + produced
qGln $M_{Gln,1} - M_{Gln,2}$ + consumed, reported as pmol/cell/day
qGlu $M_{Glu,2} - M_{Glu,1}$ + produced, reported as pmol/cell/day

Metabolic yields use mass changes in the same way:

$$Y_{Lac/Glc} = \frac{M_{Lac,2} - M_{Lac,1}}{M_{Glc,1} - M_{Glc,2}} \quad Y_{Glu/Gln} = \frac{M_{Glu,2} - M_{Glu,1}}{M_{Gln,1} - M_{Gln,2}}$$

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.


Features

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

Input format

Required columns

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.

Optional columns

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.)

Tech stack

Analysis (in-browser via WebAssembly)

Pyodide Pandas NumPy Plotly SciPy

Frontend

HTML5 CSS3 JavaScript

Packaging & export

JSZip FileSaver jsPDF


Project structure

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

Author

Emiliano Balderas RamΓ­rez Bioengineer Β· PhD Candidate in Biochemical Sciences Instituto de BiotecnologΓ­a (IBt), UNAM

LinkedIn Email


Related

CellSplit β€” Neubauer cell counting and passage planning for CHO cultures.

CellBlock β€” shared biosafety cabinet scheduling for cell culture research groups.


Clonalyzer 2 β€” drop a CSV, get your kinetics.

About

🧬 πŸ§«πŸ”¬ Browser-based kinetics analysis for CHO fed-batch cultures

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors