LabToolsThe Research Infrastructure
  • Features
  • Demo
  • Technology
  • Examples
  • White Paper
  • FiTrace
  • Data Analysis ↗
  • Calculators
  • Scheduler
Download
FeaturesDemoTechnologyExamplesWhite PaperFiTraceData Analysis ↗CalculatorsSchedulerHealth Tracker ↗

All examples · Example 22 of 34

Line ChartTime & DoseStatistical report

Line Chart: Bacterial Growth Curve

OD600 of bacterial cultures in three media over 24 h (mean ± SD of 3 replicate cultures).

OD600 of bacterial cultures in three media over 24 h (mean ± SD of 3 replicate cultures).

Key findings

  • Two-way ANOVA: medium F = 8,399, time F = 876.5, and a medium × time interaction p = 7.8 × 10⁻⁸⁶ — the curves diverge over time, not just in height.
  • Final OD600 at 24 h differs between media (one-way ANOVA p = 7.7 × 10⁻⁷, ω² = 0.986), with n = 3 cultures per medium.
20 LabTools stats calls
8 of 15 stats methods
LabTools 0.14.3
600 dpi PNG Data (CSV) Raw LabTools output
In this reportTwo-way ANOVA: Medium × TimeFinal OD600 at 24 hEqual variances at the final time pointFinal yield: do the media differ at 24 h?Which groups differ? (pairwise, corrected)

Two-way ANOVA: Medium × Time

Every medium is sampled at the same 25 time points in triplicate, so medium and time are crossed factors. The interaction term asks the growth-curve question: do the media grow at different rates, not just to different heights? (Replicate cultures are followed over time, so a repeated-measures model would be stricter; the two-way ANOVA is shown as the standard factorial summary.)

SourceSSdfMSFpPartial η²
Medium61.286230.6438,3991.1 × 10⁻¹⁵⁴0.991
Time76.742243.1976876.51.3 × 10⁻¹⁴⁸0.993
Medium × Time14.025480.2921880.097.8 × 10⁻⁸⁶0.962
Residual0.547241500.0036483
LabTools call
stats.anova
labtools stats anova --design two-way --cells @cells.json --factor-a-name Medium --factor-b-name Time

The same method is available as an MCP tool (stats_anova) and from the desktop app's statistics panel.

LabTools notes

  • The interaction is significant, so the main effects are not interpretable on their own — the effect of one factor depends on the level of the other. Report simple effects at each level instead.

Final OD600 at 24 h

Location, spread and shape for every group — the first thing to read before choosing a test. Skewness near 0 and excess kurtosis near 0 are what a normal distribution looks like.

GroupnMeanSDSEMMedianQ1 – Q3Min – MaxSkewnessExcess kurtosis
LB31.6080.059160.034161.6311.586 – 1.6421.541 – 1.652-1.5—
TB32.3890.10450.060362.3582.331 – 2.4322.303 – 2.5051.2—
M9 minimal30.90610.029250.016890.910.8925 – 0.92160.8751 – 0.9332-0.589—
LabTools call
stats.describe
labtools stats describe --groups @groups.json

The same method is available as an MCP tool (stats_describe) and from the desktop app's statistics panel.

Equal variances at the final time point

Student's t and one-way ANOVA assume every group has the same spread. LabTools' Levene test uses deviations from the group median (the Brown–Forsythe form), which stays reliable on skewed data; Bartlett's test is more powerful but only trustworthy when the data are normal. A significant p means the equal-variance assumption fails — prefer Welch's t-test or a rank-based test.

TestStatisticpLargest / smallest varianceVerdict
Levene (Brown–Forsythe, median-centred)0.65870.5512.8Homogeneous
Bartlett2.2860.3212.8Homogeneous
LabTools calls (2)
stats.levene
labtools stats levene --groups @groups.json --method levene
stats.levene
labtools stats levene --groups @groups.json --method bartlett

The same method is available as an MCP tool (stats_levene) and from the desktop app's statistics panel.

LabTools notes

  • Group 'LB' has n = 3; normality screening has very low power at this size, so a non-significant Shapiro–Wilk is weak evidence of normality.
  • Group 'M9 minimal' has n = 3; normality screening has very low power at this size, so a non-significant Shapiro–Wilk is weak evidence of normality.
  • Group 'TB' has n = 3; normality screening has very low power at this size, so a non-significant Shapiro–Wilk is weak evidence of normality.
  • Non-significant. This test has low power on small samples, so treat this as 'no evidence against equal variances', not as evidence for them.
  • Bartlett's test assumes normality and is badly inflated when that fails — confirm with stats.normality, or use method='levene'.

Final yield: do the media differ at 24 h?

One-way ANOVA compares means and assumes normal residuals with equal variances; Kruskal–Wallis compares ranks and assumes neither. Both only say the groups differ somewhere — the pairwise table below says where.

TestStatisticdfpEffect size
One-way ANOVAF = 323.92, 67.7 × 10⁻⁷ω² = 0.986 · η² = 0.991 · Cohen's f = 10.4
Kruskal–Wallis HH = 7.220.027ε² = 0.9
LabTools calls (2)
stats.anova
labtools stats anova --groups @groups.json
stats.kruskal
labtools stats kruskal --groups @groups.json

The same method is available as an MCP tool (stats_anova) and from the desktop app's statistics panel.

LabTools notes

  • Group 'LB' has n = 3; normality screening has very low power at this size, so a non-significant Shapiro–Wilk is weak evidence of normality.

Which groups differ? (pairwise, corrected)

3 comparisons (every pair), each run as a Welch t-test and a Mann–Whitney test. Testing many pairs inflates false positives, so every p-value is corrected with Holm (family-wise) and Benjamini–Hochberg (false-discovery rate) through stats.adjust.

ComparisonMean diff.95% CIHedges' gWelch pHolmBHMann–Whitney pHolmCliff's δ
LB vs TB-0.7807[-0.9952, -0.5663]-7.350.0010.0020.0010.0810.24-1
LB vs M9 minimal0.702[0.5789, 0.8251]120.00040.0010.0010.0810.241
TB vs M9 minimal1.483[1.245, 1.72]15.50.00080.0020.0010.0810.241
LabTools calls (3)
stats.ttest
labtools stats ttest --a @LB.json --b @TB.json --test welch --no-assumption-checks
stats.mannwhitney
labtools stats mannwhitney --a @LB.json --b @TB.json
stats.adjust
labtools stats adjust --p-values @p_values.json --labels @labels.json --method holm

The same method is available as an MCP tool (stats_ttest) and from the desktop app's statistics panel.

Design sensitivity

d = 3.07
Minimum detectable effect (80% power, α = 0.05)
n = 3 vs 3
7.7%
Power to detect d = 0.5
11.9%
Power to detect d = 0.8
20.7%
Power to detect d = 1.2
LabTools calls (2)
stats.power
labtools stats power --n1 3 --n2 3 --mode mde --power 0.8
stats.power
labtools stats power --n1 3 --n2 3 --effect-size 0.5

The same method is available as an MCP tool (stats_power) and from the desktop app's statistics panel.

Methods paragraph

Written to go straight into a manuscript.

Final OD600 at 24 h differed between media (one-way ANOVA, F(2,6) = 323.9, p < 0.0001, ω² = 0.99): TB 2.39 ± 0.10, LB 1.61 ± 0.06, M9 0.91 ± 0.03.

Every number on this page was computed by the LabTools statistics engine (version 0.14.3) from the example's CSV on 2026-09-23. Where a value was derived before the data reached LabTools (replicate means, paired differences, log odds ratios), the text says so. The data are simulated from a fixed random seed.

Bland–Altman Agreement PlotDose–Response Curve: IC50

Get started

Run the same analysis on your data

Every test on this page is built into LabTools — from the statistics panel, the command line, or an AI assistant through MCP.

Download freeMore examples

LabTools

The research infrastructure: plot to figure to manuscript in one place. Free for academic and individual use.

Product

  • Features
  • Technology
  • Demo & Tutorials
  • Examples
  • Download

Support

  • Contact Support
  • Help Center

Filliaux Industries

  • filliaux.com
  • Data Analysis
  • Health Tracker

Stay updated

Research tips, product updates, and release notes. No spam.

© 2026 Filliaux Industries · LabToolsPrivacyTermsCookiesLinkedIn