All examples · Example 31 of 34
Manhattan Plot: GWAS
Manhattan plot of 49,992 SNPs across 22 autosomes; the dashed line marks genome-wide significance (p = 5 × 10⁻⁸).

Key findings
- 13 SNPs pass the genome-wide 5 × 10⁻⁸ line; correcting only for the 49,992 SNPs on this panel, Bonferroni keeps 24 and Benjamini–Hochberg 52.
- 49,992 p-values are corrected in one LabTools call, in well under a second.
49,992 SNPs, one family
Genome-wide association uses a fixed threshold of p < 5 × 10⁻⁸ — Bonferroni for about a million independent tests. Here LabTools applies the four corrections to the SNPs actually tested, so the difference between family-wise and false-discovery control is visible at genome scale.
49,992 tests, α = 0.05
| Correction | Controls | Tests | Raw p < 0.05 | Significant after correction |
|---|---|---|---|---|
| Bonferroni | family-wise error | 49,992 | 2,630 | 24 |
| Holm | family-wise error | 49,992 | 2,630 | 24 |
| Benjamini–Hochberg | false discovery rate | 49,992 | 2,630 | 52 |
| Benjamini–Yekutieli | false discovery rate | 49,992 | 2,630 | 31 |
LabTools calls (4)
stats.adjustlabtools stats adjust --p-values @p_values.json --labels @labels.json --method bonferroni --alpha 0.05
stats.adjustlabtools stats adjust --p-values @p_values.json --labels @labels.json --method holm --alpha 0.05
stats.adjustlabtools stats adjust --p-values @p_values.json --labels @labels.json --method benjamini-hochberg --alpha 0.05
stats.adjustlabtools stats adjust --p-values @p_values.json --labels @labels.json --method benjamini-yekutieli --alpha 0.05
The same method is available as an MCP tool (stats_adjust) and from the desktop app's statistics panel.
Top 15 by raw p
| SNP | Raw p | Bonferroni | Holm | BH | BY |
|---|---|---|---|---|---|
| chr3:87,964,968 | 4.7 × 10⁻¹⁰ | 2.4 × 10⁻⁵ | 2.4 × 10⁻⁵ | 2.3 × 10⁻⁵ | 0.0003 |
| chr16:30,995,117 | 9.1 × 10⁻¹⁰ | 4.5 × 10⁻⁵ | 4.5 × 10⁻⁵ | 2.3 × 10⁻⁵ | 0.0003 |
| chr9:40,015,433 | 1.4 × 10⁻⁹ | 6.9 × 10⁻⁵ | 6.9 × 10⁻⁵ | 2.3 × 10⁻⁵ | 0.0003 |
| chr16:30,959,830 | 1.9 × 10⁻⁹ | 9.2 × 10⁻⁵ | 9.2 × 10⁻⁵ | 2.3 × 10⁻⁵ | 0.0003 |
| chr3:88,112,501 | 2.6 × 10⁻⁹ | 0.0001 | 0.0001 | 2.6 × 10⁻⁵ | 0.0003 |
| chr16:31,062,975 | 4.8 × 10⁻⁹ | 0.0002 | 0.0002 | 4.0 × 10⁻⁵ | 0.0005 |
| chr16:31,050,287 | 6.0 × 10⁻⁹ | 0.0003 | 0.0003 | 4.3 × 10⁻⁵ | 0.0005 |
| chr3:88,044,351 | 8.1 × 10⁻⁹ | 0.0004 | 0.0004 | 5.1 × 10⁻⁵ | 0.0006 |
| chr16:30,916,420 | 1.1 × 10⁻⁸ | 0.0005 | 0.0005 | 6.0 × 10⁻⁵ | 0.0007 |
| chr9:39,945,407 | 1.4 × 10⁻⁸ | 0.0007 | 0.0007 | 6.0 × 10⁻⁵ | 0.0007 |
| chr16:31,103,019 | 1.4 × 10⁻⁸ | 0.0007 | 0.0007 | 6.0 × 10⁻⁵ | 0.0007 |
| chr3:87,911,315 | 1.4 × 10⁻⁸ | 0.0007 | 0.0007 | 6.0 × 10⁻⁵ | 0.0007 |
| chr16:30,933,012 | 2.4 × 10⁻⁸ | 0.001 | 0.001 | 9.2 × 10⁻⁵ | 0.001 |
| chr3:87,877,464 | 6.5 × 10⁻⁸ | 0.003 | 0.003 | 0.0002 | 0.003 |
| chr3:88,133,576 | 1.1 × 10⁻⁷ | 0.005 | 0.005 | 0.0004 | 0.004 |
LabTools notes
- 2606 comparison(s) were significant on the raw p-values but are not after correction. Report the adjusted values.
- Holm controls the same familywise error rate as Bonferroni and rejects at least as much, so there is no statistical reason to prefer bonferroni.
- 2578 comparison(s) were significant on the raw p-values but are not after correction. Report the adjusted values.
- 2599 comparison(s) were significant on the raw p-values but are not after correction. Report the adjusted values.
Methods paragraph
Written to go straight into a manuscript.
Three loci reached genome-wide significance, on chromosomes 3, 9 and 16 (lead SNP p = 4.7 × 10⁻¹⁰ to 1.4 × 10⁻⁹).
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.
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.