JanusX v1.0.25 Release Notes
Compared with v1.0.24, v1.0.25 mainly focuses on scaling mixed-model GWAS to larger cohorts, simplifying BLUP usage in GS, and further reducing peak memory across GWAS/GS/GRM workflows while improving cross-tool consistency.
Added
- Added
splmmandsplmm-exact, together with sparse-GRM build and sparse null-model routes for very large GWAS cohorts.splmm-exactprovides an exact sparse mixed-model test, whilesplmmprovides a faster approximate route for large-scale scans. - Added
fvlmmand related low-rank/FaST-LMM style execution paths, providing an intermediate option between dense LMM and sparse LMM on large datasets. - Added richer REML outputs, including narrow-sense heritability estimation and
PVEcfor sparse-REML correction, plus new memory-control knobs injx grm,jx gs, and related workflows. - Added
fastpopas the JanusX population-structure entry.
Changed
- Unified
-GBLUPand-rrBLUPinto-BLUP; JanusX now switches solver routes automatically according to marker and sample scale. - Removed the GS
-GBLUP ad/dpath in preparation for a future multi-random-effect solver, and reworked BLUP/rrBLUP exact and PCG routes to better align centered scaling and estimates with GBLUP. - Reworked GWAS metadata scanning, packed BED routing, CLI output, and progress display so dense LMM, FvLMM, SparseLMM, FarmCPU, and related routes can reuse faster statistics and memory-control paths.
- Updated fastpop/PCA/postGWAS/postGS utility behavior and benchmark defaults to better match large real-data workflows.
Fixed
- Fixed a phenotype-recognition bug in GWAS and related modules where a phenotype column could be skipped when its first row was
NA. - Fixed multiple FarmCPU packed-BED fallback, redundant-copy, and high-RSS issues, reducing unnecessary full-genotype duplication during trait-wise runs.
- Fixed SparseLMM/SparseGRM issues in scaling, metadata scanning, peak-RSS reporting, approximate null-marker sampling, and CLI/progress output.
- Fixed rrBLUP/BLUP exact and PCG bugs, fallback regressions, lambda/PVE inconsistencies, and several memory/performance edge cases.
- Fixed additional regressions in RSVD/PCA, plotting/postGWAS prefixes, benchmark scripts, Python 3.11 behavior, Windows/Linux build dependencies, and other workflow edge cases.
相较于 v1.0.24,v1.0.25 主要聚焦于把 mixed-model GWAS 扩展到更大样本规模、简化 GS 中 BLUP 的使用方式,并继续降低 GWAS/GS/GRM 工作流的峰值内存,同时提升与其它常用工具之间的一致性。
新增
- 新增
splmm与splmm-exact,并补充 sparse GRM 构建与 sparse null model 路径,用于超大样本规模的 GWAS。splmm-exact提供精确的 sparse mixed-model 检验,splmm提供更快的近似扫描路径。 - 新增
fvlmm及相关 low-rank/FaST-LMM 风格执行路径,为大规模数据集提供 dense LMM 与 sparse LMM 之间的中间方案。 - 新增更丰富的
reml输出,包括狭义遗传力估计以及用于 sparse-REML 校正的PVEc,同时为jx grm、jx gs等流程补充了内存控制参数。 - 新增
fastpop作为 JanusX 的群体结构分析入口。
变更
- 将
-GBLUP与-rrBLUP融合为-BLUP,JanusX 会根据位点数和样本规模自动切换求解路径。 - 移除了 GS 模块中的
-GBLUP ad/d路径,为后续更强的多随机效应求解器预留接口;同时重构了 BLUP/rrBLUP 的 exact 与 PCG 路径,使中心化缩放与估计结果更好地对齐 GBLUP。 - 重构了 GWAS metadata 扫描、packed BED 路由、CLI 输出与进度显示,使 dense LMM、FvLMM、SparseLMM、FarmCPU 等路径可以复用更快的统计与内存控制逻辑。
- 更新了 fastpop、PCA、postGWAS、postGS 相关工具的行为与 benchmark 默认设置,使其更适合真实大规模数据工作流。
修复
- 修复了 GWAS 等模块中的表型识别问题:当某一表型列第一行是
NA时,整列可能被错误跳过。 - 修复了 FarmCPU 中多处 packed BED fallback、冗余拷贝与高 RSS 问题,减少了按性状运行时不必要的整份基因型重复占用。
- 修复了 SparseLMM/SparseGRM 在缩放、metadata 扫描、峰值 RSS 统计、近似 null marker 采样以及 CLI/进度输出上的多项问题。
- 修复了 rrBLUP/BLUP 的 exact 与 PCG 路径中的若干 bug、fallback 回归、lambda/PVE 不一致以及多类内存/性能边界问题。
- 修复了 RSVD/PCA、绘图/postGWAS prefix、benchmark 脚本、Python 3.11 行为、Windows/Linux 构建依赖等其它工作流边界问题。