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

All examples · Example 3 of 34

Raincloud PlotDistributionStatistical report

Raincloud Plot: Gene Expression

Relative expression of a target gene under three treatments (n = 40 per group): density (cloud), box plot and individual values (rain).

Relative expression of a target gene under three treatments (n = 40 per group): density (cloud), box plot and individual values (rain).

Key findings

  • Kruskal–Wallis H = 47.61, p = 4.6 × 10⁻¹¹; one-way ANOVA agrees (F = 29.25, ω² = 0.32).
  • All 3 pairwise differences survive Holm correction on both the Welch and the Mann–Whitney family.
  • Levene's test flags unequal spread across groups, which is why Welch and rank-based tests are the ones to report.
29 LabTools stats calls
11 of 15 stats methods
LabTools 0.14.3
600 dpi PNG Data (CSV) Raw LabTools output
In this reportDescriptive statisticsNormalityEqual variancesOutlier screenConfidence intervals for the meanDo the groups differ? (omnibus tests)Which groups differ? (pairwise, corrected)

Descriptive statistics

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
Control401.0330.3720.058830.9830.7785 – 1.2160.457 – 2.0060.8190.396
Drug A401.6160.61630.097451.531.262 – 1.8670.706 – 3.491.051.32
Drug B401.9790.64410.10181.8631.508 – 2.2020.972 – 3.4310.8420.0464
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.

Normality

Three tests of the same question — could these values come from a normal distribution? Shapiro–Wilk has the best power at bench sample sizes, Anderson–Darling is more sensitive in the tails, and Kolmogorov–Smirnov (Lilliefors-corrected) is included for comparability with older papers. A significant p means normality is rejected.

GroupnShapiro–Wilk WpAnderson–Darling A²pK–S DpVerdict
Control400.94690.0590.60930.110.10420.34Consistent with normal
Drug A400.93040.0170.80630.0340.15130.022Normality rejected
Drug B400.92260.0091.0250.0090.15280.020Normality rejected
LabTools calls (3)
stats.normality
labtools stats normality --groups @groups.json --method shapiro-wilk
stats.normality
labtools stats normality --groups @groups.json --method anderson-darling
stats.normality
labtools stats normality --groups @groups.json --method kolmogorov-smirnov

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

LabTools notes

  • Group 'Drug A' rejects normality (p = 0.0166); prefer a rank-based test.
  • Group 'Drug B' rejects normality (p = 0.0093); prefer a rank-based test.
  • Group 'Drug A' rejects normality (p = 0.0337); prefer a rank-based test.
  • Group 'Drug B' rejects normality (p = 0.0095); prefer a rank-based test.
  • Group 'Drug A' rejects normality (p = 0.0217); prefer a rank-based test.
  • Group 'Drug B' rejects normality (p = 0.0195); prefer a rank-based test.

Equal variances

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)3.2880.0413Variances differ
Bartlett12.410.0023Variances differ
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

  • Variances differ: use Welch's t-test (stats.ttest default) or stats.kruskal rather than the pooled-variance alternatives.
  • Bartlett's test assumes normality and is badly inflated when that fails — confirm with stats.normality, or use method='levene'.

Outlier screen

Five detectors with different assumptions. Grubbs tests the single most extreme point, generalised ESD looks for up to several (immune to masking), Dixon's Q is the small-sample chemistry test, modified-z uses the median and MAD so needs no normality, and the IQR rule is Tukey's boxplot fence. LabTools flags points; it never deletes them.

MethodControlDrug ADrug B
Grubbsnone1 (3.49)none
Generalised ESDnone1 (3.49)none
Modified z (MAD)none1 (3.49)none
IQR fences (1.5×)1 (2.006)2 (3.012, 3.49)3 (3.431, 3.403, 3.313)
LabTools calls (4)
stats.outliers
labtools stats outliers --groups @groups.json --method grubbs
stats.outliers
labtools stats outliers --groups @groups.json --method generalized-esd --max-outliers 5
stats.outliers
labtools stats outliers --groups @groups.json --method modified-z
stats.outliers
labtools stats outliers --groups @groups.json --method iqr

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

LabTools notes

  • Flagged points are candidates, not verdicts, and nothing has been removed. Look for a physical cause before excluding anything; if there is none, keep the point and use a robust test instead. Any exclusion must be reported.
  • Grubbs tests only the single most extreme point, so a second outlier can mask the first. On larger samples use method='generalized_esd'.
  • The IQR rule is descriptive — it has no p-value and flags roughly 0.7% of a perfectly normal sample by construction.

Confidence intervals for the mean

t-based intervals: the range of population means these data are consistent with. Report them alongside p-values — an interval shows the size of an effect, a p-value does not.

GroupnMean95% CI
Control401.033[0.9143, 1.152]
Drug A401.616[1.419, 1.813]
Drug B401.979[1.773, 2.184]
LabTools calls (2)
stats.ci
labtools stats ci --data @Control.json --conf-level 0.95
stats.ci
labtools stats ci --data @Drug_B.json --conf-level 0.95

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

Do the groups differ? (omnibus tests)

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 = 29.252, 1175.0 × 10⁻¹¹ω² = 0.32 · η² = 0.333 · Cohen's f = 0.707
Kruskal–Wallis HH = 47.6124.6 × 10⁻¹¹ε² = 0.4
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 'Drug A' departs from normality (Shapiro–Wilk W = 0.9304, p = 0.0166 < 0.05). Consider stats.kruskal.
  • Group 'Drug B' departs from normality (Shapiro–Wilk W = 0.9226, p = 0.0093 < 0.05). Consider stats.kruskal.
  • Group variances are unequal (Levene W = 3.2876, p = 0.0408 < 0.05); the equal-variance assumption of this test is violated. Use the Welch variant instead.

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 δ
Control vs Drug A-0.5828[-0.8102, -0.3554]-1.133.0 × 10⁻⁶6.0 × 10⁻⁶4.5 × 10⁻⁶2.4 × 10⁻⁶4.8 × 10⁻⁶-0.613
Control vs Drug B-0.9453[-1.18, -0.7102]-1.783.3 × 10⁻¹¹9.8 × 10⁻¹¹9.8 × 10⁻¹¹1.0 × 10⁻¹⁰3.1 × 10⁻¹⁰-0.84
Drug A vs Drug B-0.3624[-0.643, -0.0818]-0.5690.0120.0120.0120.0070.007-0.352
LabTools calls (3)
stats.ttest
labtools stats ttest --a @Control.json --b @Drug_A.json --test welch --no-assumption-checks
stats.mannwhitney
labtools stats mannwhitney --a @Control.json --b @Drug_A.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 = 0.634
Minimum detectable effect (80% power, α = 0.05)
n = 40 vs 40
59.8%
Power to detect d = 0.5
94.2%
Power to detect d = 0.8
100.0%
Power to detect d = 1.2
LabTools calls (2)
stats.power
labtools stats power --n1 40 --n2 40 --mode mde --power 0.8
stats.power
labtools stats power --n1 40 --n2 40 --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.

Groups were compared by Kruskal–Wallis (H = 47.6, df = 2, p < 0.0001, ε² = 0.40), followed by pairwise Mann–Whitney U tests with Holm correction; all pairs differed (adjusted p ≤ 0.007).

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.

Bimodal DNA Content (Cell Cycle)Violin Plot: Cell Viability

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