A Suite of Genotyping Tools for Genome-Wide Association Study and Genomic Selection
Project description
JanusX
CLI Guide | Core API Guide | Zea Eureka
Overview
JanusX (Joint Association and Novel Utility for Selection) is a GWAS and genomic selection toolkit that combines:
- Rust-accelerated kernels (PyO3 extension)
- Python analysis modules
- A Rust launcher (
jx) for runtime/toolchain management and pipeline orchestration
_ __ __
| | \ \ / /
| | __ _ _ __ _ _ ___ \ V /
_ | |/ _` | '_ \| | | / __| > <
| |__| | (_| | | | | |_| \__ \/ . \
\____/ \__,_|_| |_|\__,_|___/_/ \_\ Tools for GWAS and GS
---------------------------------------------------------
Main capabilities:
- GWAS:
LM,LMM,FastLMM,FarmCPU - Genomic selection:
GBLUP,adBLUP,rrBLUP,BayesA/B/Cpi, and ML models (RF/ET/GBDT/XGB/SVM/ENET) - Streaming genotype IO for VCF/HMP/PLINK/TXT/NPY
- Post-analysis workflows:
postgwas,postgarfield,postbsa - Utility workflows:
grm,pca,gformat,gmerge,hybrid,fastpop,webui,sim,simulation - Launcher pipelines:
fastq2vcf,fastq2count
Installation
Quick installation: Python with uv (Recommend)
- Linux | MacOS
curl -fsSL https://raw.githubusercontent.com/FJingxian/JanusX/main/scripts/install.sh | sh
- Windows
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
irm https://raw.githubusercontent.com/FJingxian/JanusX/main/scripts/install.ps1 | iex
Option A: Python package install
pip install janusx==1.0.25
Option B: Conda / Bioconda
Recommended Bioconda channel order:
conda create -n janusx \
--channel conda-forge \
--channel bioconda \
janusx
Quick start
1) GWAS
# Estimate variance for every snp, similar with GEMMA. (Exact, recommand)
jx gwas -vcf example/mouse_hs1940.vcf.gz -p example/mouse_hs1940.pheno -lmm -o test
# Estimate variance for every snp, similar with GEMMA. (Exact, wald and LR test, recommand)
jx gwas -vcf example/mouse_hs1940.vcf.gz -p example/mouse_hs1940.pheno -lmm2 -o test
# Estimate variance once in NULL model, similar with EMMAX. (Fast)
jx gwas -vcf example/mouse_hs1940.vcf.gz -p example/mouse_hs1940.pheno -fvlmm -o test
# Linear mixed model with sparse GRM, fastGWA-compatible sparse REML null + approximate GRAMMAR-gamma scan.
jx gwas -vcf example/mouse_hs1940.vcf.gz -p example/mouse_hs1940.pheno -splmm-approx -o test
# Linear mixed model with sparse GRM, fastGWA-compatible sparse REML null + exact g'Pg scan.
jx gwas -vcf example/mouse_hs1940.vcf.gz -p example/mouse_hs1940.pheno -splmm -o test
# FarmCPU (Fast, and more sites, prepared for biobank cohorts)
jx gwas -vcf example/mouse_hs1940.vcf.gz -p example/mouse_hs1940.pheno -farmcpu -o test
2) Post-GWAS
jx postgwas -i test/mouse_hs1940.test0.lmm.tsv -manh -qq -thr 1e-6 -o testpost
3) Genomic selection
# BLUP method, prepared for biobank cohorts
# n≤15,000 GBLUP
# n>15,000 & m≤15,000 rrBLUP
# n>15,000 & m>15,000 rrBLUP with PCG (Jacobi)
jx gs -vcf example/mouse_hs1940.vcf.gz -p example/mouse_hs1940.pheno -BLUP -o test -cv 5
# Bayesian methods
jx gs -vcf example/mouse_hs1940.vcf.gz -p example/mouse_hs1940.pheno -BayesA -BayesB -BayesCpi -o test -cv 5
* Genomic Selection for trait: test0
Train size: 1410, Test size: 530, EffSNPs: 8960
** BLUP
✔︎ Cross-validation ...Finished [0.8s]
✔︎ Fitting ...Finished [0.3s]
✔︎ Predicting ...Finished [0.0s]
** BayesA
✔︎ Cross-validation ...Finished [17.9s]
✔︎ Fitting ...Finished [4.1s]
✔︎ Predicting ...Finished [0.0s]
...
------------------------------------------------------------
Fold Method Pearsonr Spearmanr R2 time(s) Best
1 BLUP 0.704 0.675 0.493 0.198
1 BayesA 0.709 0.680 0.493 3.507
...
------------------------------------------------------------
4) Get module help
jx -h
jx <module> -h
See full usages in CLI Guide.
Module map
Genome-wide Association Studies (GWAS):
grmpcagwaspostgwas(Visualization,manhqqldblock)fastpop(population-structure analysis;jx adamixturekept as compatibility alias)
Attribution note:
- FastPop is JanusX's own population-structure workflow and public name for this module.
- Historical JanusX releases referenced ADAMIXTURE as a related implementation; the BSD-3-Clause attribution notice is recorded in THIRD_PARTY_NOTICES.md.
Genomic Selection (GS):
gspostgs(Visualization)reml(Estimation of broaden heritability and blup values)
GARFIELD:
garfield(Based on https://github.com/heroalone/Garfield)postgarfield
Utility:
gformat(Conversion between genotype data formats, support fast splicing/filtering/prune)gmerge(Merge genotype between samples)gstats(State freq/het/missing/ldscore of genotype)
Citation
@article {FuJanusX,
title = {JanusX: an integrated and high-performance platform for scalable genome-wide association studies and genomic selection},
author = {Fu, Jingxian and Jia, Anqiang and Wang, Haiyang and Liu, Hai-Jun},
year = {2026},
doi = {10.64898/2026.01.20.700366},
publisher = {Cold Spring Harbor Laboratory},
URL = {https://www.biorxiv.org/content/early/2026/01/23/2026.01.20.700366},
journal = {bioRxiv}
}
License
This project is licensed under GNU Affero General Public License v3.0 (AGPL-3.0-or-later). See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file janusx-1.0.25.tar.gz.
File metadata
- Download URL: janusx-1.0.25.tar.gz
- Upload date:
- Size: 5.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42eeeb86b88479425b00305a6e3497c05e80338c5450b1a4447af996d9fa3d75
|
|
| MD5 |
3aba14b0b8677e01c4838bb45dd72e5f
|
|
| BLAKE2b-256 |
ff38106def1f1e6311a310fc16ea9eba497cf2af4dd180c10f0f4f981d511067
|
File details
Details for the file janusx-1.0.25-cp310-abi3-win_arm64.whl.
File metadata
- Download URL: janusx-1.0.25-cp310-abi3-win_arm64.whl
- Upload date:
- Size: 7.9 MB
- Tags: CPython 3.10+, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d657aba8a7873072996a212903479b22edaecd9a99aaf5ddd7d6a7781a06caa8
|
|
| MD5 |
413e9baff5fcd49e7985288e53596378
|
|
| BLAKE2b-256 |
fefdc26067064964e286c2079b349986b041393cadb1b52185b4224651dd8ac8
|
File details
Details for the file janusx-1.0.25-cp310-abi3-win_amd64.whl.
File metadata
- Download URL: janusx-1.0.25-cp310-abi3-win_amd64.whl
- Upload date:
- Size: 17.0 MB
- Tags: CPython 3.10+, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67564da0489c3dc8948ab1c06b46df3c07ac1eaa37b249924f2c38dacaebeed7
|
|
| MD5 |
fc936b306ee19c6a9244e3c12a7e9e67
|
|
| BLAKE2b-256 |
ea9d9cc94f69de02c87aaf79f917d8fca535e0ed7d7793d979faa7a20471095a
|
File details
Details for the file janusx-1.0.25-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: janusx-1.0.25-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 24.0 MB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66a50c0ebe884150645cea1b89e367db74bfa7d2cc8f54d03d78a6039a51cbfc
|
|
| MD5 |
5be7fc7f900f6bf0fd0f69440f92cfcf
|
|
| BLAKE2b-256 |
808cba5d872f43e84aba99147d3cb8bdd34ac619c31be12b639921189dee445c
|
File details
Details for the file janusx-1.0.25-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.
File metadata
- Download URL: janusx-1.0.25-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
- Upload date:
- Size: 17.3 MB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5700248cade1d1ea9356733b67a80d0c64e14130476f79c721dddffd159e692b
|
|
| MD5 |
908b53a4ac6ea0d2c2c53d97569e13af
|
|
| BLAKE2b-256 |
8bfcf21b6742b3d7c4a18287f2f56516c63e668e8c1688bf697b06930be394d5
|
File details
Details for the file janusx-1.0.25-cp310-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: janusx-1.0.25-cp310-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 27.0 MB
- Tags: CPython 3.10+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa483ba2064f028651211f40704fcd3c95ff3d8efe4b67154fd8851c2d912875
|
|
| MD5 |
e8c677f7e06ece331da1f758e2394274
|
|
| BLAKE2b-256 |
bdb6b4ec64fb7d561501718a256b41547347cc716e52bba1b248ca0dcabb80c2
|
File details
Details for the file janusx-1.0.25-cp310-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: janusx-1.0.25-cp310-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 32.1 MB
- Tags: CPython 3.10+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdf58edadfcb29e06ce029211b18e75497c0029f5bdcec4933267d0db6a51679
|
|
| MD5 |
3f05ebb41e84e03651f87371eb01f8f8
|
|
| BLAKE2b-256 |
a55cb985318ff455f93ccf5d9a6c33a3d480df71ed1f5112efe550afc0d6bccd
|