Skip to main content

A Suite of Genotyping Tools for Genome-Wide Association Study and Genomic Selection

Project description

JanusX

CLI Guide | Core API Guide | Zea Eureka

Python License

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, adamixture, webui, sim, simulation
  • Launcher pipelines: fastq2vcf, fastq2count

Installation

Option A: Python package install (Recommend)

pip install janusx==1.0.24

Option B: launcher install

Download installer assets from Releases:

Then run installer:

# Linux
./JanusX-vX.Y.Z-linux-x86_64.run

# macOS
./JanusX-vX.Y.Z-darwin-universal.command

On Windows, double click or run the .exe installer.

Option C: Conda / Bioconda

Recommended Bioconda channel order:

conda create -n janusx \
  --channel conda-forge \
  --channel bioconda \
  janusx

Quick start

1) GWAS

# Estimate variance once in NULL model, similar with EMMAX. (Fast, recommand)
jx gwas -vcf example/mouse_hs1940.vcf.gz -p example/mouse_hs1940.pheno -fastlmm -o test
# Estimate variance for every snp, similar with GEMMA. (Exact)
jx gwas -vcf example/mouse_hs1940.vcf.gz -p example/mouse_hs1940.pheno -lmm -o test
# FarmCPU (Fast, and more sites)
jx gwas -vcf example/mouse_hs1940.vcf.gz -p example/mouse_hs1940.pheno -farmcpu -o test

overview

2) Post-GWAS

jx postgwas -gwasfile test/mouse_hs1940.test0.add.lmm.tsv -manh -qq -thr 1e-6 -o testpost

ldblock

3) Genomic selection

# GBLUP is a kernel method for small samples or small sites
# (n<15,000 or m<15,000>)
jx gs -vcf example/mouse_hs1940.vcf.gz -p example/mouse_hs1940.pheno -GBLUP -cv 5 -o testgs
# rrBLUP is a linear model designed for population with huge size
# (UKB, n~500,000 and m~500,000).
jx gs -vcf example/mouse_hs1940.vcf.gz -p example/mouse_hs1940.pheno -rrBLUP -cv 5 -o testgs
* Genomic Selection for trait: test0
Train size: 1410, Test size: 530, EffSNPs: 8960
✔︎ GBLUP ...Finished [3.5s]
✔︎ adBLUP ...Finished [10.1s]
✔︎ BayesA ...Finished [32.6s]
✔︎ BayesB ...Finished [34.2s]
✔︎ BayesCpi ...Finished [32.0s]
✔︎ RF ...Finished [1m46s]
✔︎ XGB ...Finished [9m27s]
✔︎ SVM ...Finished [2m05s]
✔︎ ENET ...Finished [9.7s]
Fold Method     Pearsonr Spearmanr     R² h²/PVE time(secs)
   1 GBLUP         0.704     0.671  0.493  0.610      0.531
   1 adBLUP        0.717     0.679  0.512  0.694      2.341
   1 BayesA        0.721     0.695  0.514  0.714      5.307
   1 BayesB        0.722     0.693  0.517  0.667      5.522
   1 BayesCpi      0.699     0.671  0.476  0.672      4.971
   1 RF            0.709     0.702  0.471  0.468      3.055
   1 XGB           0.754     0.733  0.564  0.563      5.231
   1 SVM           0.703     0.664  0.490  0.485      9.027
   1 ENET          0.720     0.704  0.514  0.517      0.274

gsoverview

See full usages in CLI Guide.

4) Get module help

jx <module> -h

Module map

Genome-wide Association Studies (GWAS):

  • grm
  • pca
  • gwas
  • postgwas (Visualization, manh qq ldblock)
  • adamixture (Optimized admixture based on ADAMIXTURE)

Genomic Selection (GS):

  • gs
  • postgs (Visualization, manh violin pcctime)
  • reml (Estimation of broaden heritability and blup values)

GARFIELD:

  • garfield
  • postgarfield

Utility:

  • hybrid (Generate F1 genotype base on Parents)
  • gformat (Conversion between genotype data formats)
  • gmerge (Merge genotype between samples)

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

janusx-1.0.24.tar.gz (4.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

janusx-1.0.24-cp310-abi3-win_arm64.whl (4.0 MB view details)

Uploaded CPython 3.10+Windows ARM64

janusx-1.0.24-cp310-abi3-win_amd64.whl (12.8 MB view details)

Uploaded CPython 3.10+Windows x86-64

janusx-1.0.24-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (19.9 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

janusx-1.0.24-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (13.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

janusx-1.0.24-cp310-abi3-macosx_11_0_arm64.whl (22.9 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

janusx-1.0.24-cp310-abi3-macosx_10_12_x86_64.whl (27.9 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file janusx-1.0.24.tar.gz.

File metadata

  • Download URL: janusx-1.0.24.tar.gz
  • Upload date:
  • Size: 4.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.4

File hashes

Hashes for janusx-1.0.24.tar.gz
Algorithm Hash digest
SHA256 96933f6d2afabb1b4baee14c120981f743a2d046c53fe3046b8876bb0e40fe0a
MD5 b54f527a5259e08d5b922ecd6b1f1a60
BLAKE2b-256 e31d543f18465d4071e3efc1a8d6009ef4dbae2be6426dfcae2b1fe61e8a9769

See more details on using hashes here.

File details

Details for the file janusx-1.0.24-cp310-abi3-win_arm64.whl.

File metadata

  • Download URL: janusx-1.0.24-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 4.0 MB
  • Tags: CPython 3.10+, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.4

File hashes

Hashes for janusx-1.0.24-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 039a2c18e95b56222126d020bae7c46203b9a30f44875b95776d4da4561601b5
MD5 6184706d3f5e4a363a2d06b48d3b11ee
BLAKE2b-256 b3ff1e69ef540a38a015049cec33eacb36501565dca7f09bdc35c33b8a458a69

See more details on using hashes here.

File details

Details for the file janusx-1.0.24-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: janusx-1.0.24-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 12.8 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.4

File hashes

Hashes for janusx-1.0.24-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 395dadbf64372c8406fe3b4206235520a4bce4013101f2e2acf9cdef539ee2a4
MD5 71b5bb3bcb57cc53dfd26a2a8d86b136
BLAKE2b-256 37303ef51525ff338e0c70266c8383508149d25bbade38dc7aa02446b8ba5463

See more details on using hashes here.

File details

Details for the file janusx-1.0.24-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for janusx-1.0.24-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 043b230580e476a02e48dabce16e7539d38052d220c5851a76f450e11e83511e
MD5 1c1d382815d13b0ab30075a8e0fdecaf
BLAKE2b-256 13240a88b4322bd13bb4af835f2a11b78046339ed9cfa1eb3f732c12cc2f2dac

See more details on using hashes here.

File details

Details for the file janusx-1.0.24-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for janusx-1.0.24-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 588febc8b2d5ec23dee25ccb1a74d9195f14743f6599dfdd7a257c9c40ff9bae
MD5 09a37aa83914f04dc8ebe7c7e562583f
BLAKE2b-256 f6d2a8e8864c5ff130c966c4ad9c6e8cda120af1dafc3d16b2407a9bb311c989

See more details on using hashes here.

File details

Details for the file janusx-1.0.24-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for janusx-1.0.24-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fe335d862ce304414d0f89f73e01a1700f536f1531896cebb4802c3e210e24cf
MD5 fb03e314fe54a7db7905ffa0a459054b
BLAKE2b-256 38feb09f230648778ddee59245889b6fafc5f8c4734649554856f4402cec3735

See more details on using hashes here.

File details

Details for the file janusx-1.0.24-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for janusx-1.0.24-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9a47158460125bbab03f5af2e9e517ca8503a90f112ae842b8659287789c1506
MD5 1fb968ac13540e8e2684f9e1663fdb12
BLAKE2b-256 fe454728104a4e35f5b39a79812df155d35a2e38dfc72224c639a48786de5dd8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page