Repository navigation
HomoeoGWAS v2.1.0
HomoeoGWAS v2.1.0 adds a heteroscedasticity-robust bootstrap null for group
omniB, chunk-parallel streaming scans and agent-facing audit and summary
tools.
Highlights:
interact.calibration.null_variance: smooth_pc4(canonical group omniB).
The parametric bootstrap draws null phenotypes whose residual variance is a
smooth function of the leading genotype principal components, fitted by
IRLS. When residual variance tracks population structure, the homoscedastic
bootstrap can be anti-conservative; smooth_pc4 restored familywise
calibration in the tested settings. On real data it can reject fewer units
than the homoscedastic null. Results record
smooth_variance_parametric_bootstrap_minp_plus_oneand the fitted
weights. The low-level config default stayshomoscedastic; report it as a
sensitivity analysis. smooth_pc4 requires bootstrap checkpointing.scan.n_jobsfor streaming single-locus scans (plain and LOCO). Chunks keep
the serial chunk boundaries and batches and are scored by forked workers;
each worker uses one native thread, and the decompressed summary statistics
are byte-identical to the serial scan run with one BLAS thread (verified on
1.9 million wheat markers). Each worker holds about
chunk_size × n_samples × 20bytes (about 3.3 GB at the default chunk size
and 827 samples); lowerscan.chunk_sizeorscan.n_jobsif memory is
limited. A worker that dies stops the scan with an error.scan.n_jobshas
no effect on in-memory or GPU scans. Gzip output is a standard multi-member
gzip stream.- MCP tools
audit_resultsandsummarize_results.run_interaction
exposesnull_variance(defaultsmooth_pc4, with checkpointing enabled in
the generated config) andrun_gwasexposesscan_jobs. - Batched
interactcases share phenotype-independent panel preparation, and
an opt-in hash-keyed GRM cache reuses relationship matrices across runs with
identical inputs. interact.burden.feature_seedseparates gene-feature randomness from the
bootstrap seed (default: the bootstrap seed).
Behaviour changes:
- In group-unit (and joint) families, a homoeolog group is eligible only when
every declared pair edge is estimable; groups with an unestimable edge are
marked unestimable instead of being scored on a partial edge set, which can
reduce the number of tested groups. Edge-unit families are unchanged. - Partial omniB response errors fail closed.
Reproducibility note: REML variance components depend on the BLAS thread count
in the last digits (about 1e-6 in PVE), which propagates to per-marker
statistics. Bit-identical reproduction requires the same thread settings; the
formal interaction path fixes one native thread per worker.
Upgrade guidance: existing configs run unchanged. To use the robust null, add
null_variance: smooth_pc4 and checkpoint: {enabled: true, root: <dir>}
under interact.calibration.