Welcome to Binx!
Binx is a Rust command-line genomics workbench for diploid and polyploid species. It targets GWAS and related analyses with a familiar UX: fast defaults, explicit inputs, and clear outputs.
What can Binx do?
Binx provides a suite of tools for genomic analysis:
| Command | Description |
|---|---|
binx gwas | GWASpoly-style GWAS with multiple genetic models |
binx kinship | Compute kinship matrix (VanRaden method) |
binx dosage | Estimate genotype dosages from read counts |
binx convert | Convert VCF to other formats |
binx plot | Generate Manhattan, QQ, or LD decay plots |
binx qtl | Identify significant QTLs from GWAS results |
binx threshold | Calculate significance thresholds |
Key Features
- GWASpoly-style GWAS with eight genetic models for polyploids, validated against R/GWASpoly
- Accurate mixed model fitting via rrblup-rs, a Rust implementation of R/rrBLUP’s
mixed.solve - Genotype dosage estimation from VCF or read count data using R/Updog-based algorithms
- Polyploid-aware: supports ploidy levels 2, 4, 6, etc.
- LOCO support: Leave-One-Chromosome-Out analysis
- Multi-environment trials: handles repeated phenotype IDs
Quick Example
# Convert VCF to GWASpoly format
binx convert --vcf samples.vcf.gz --format gwaspoly --output genotypes.tsv
# Run GWAS with multiple genetic models
binx gwas \
--geno genotypes.tsv \
--pheno phenotypes.csv \
--trait yield \
--ploidy 4 \
--models additive,general \
--out gwas_results.csv
# Create a Manhattan plot
binx plot \
--input gwas_results.csv \
--plot-type manhattan \
--model additive \
--output gwas_manhattan.svg
Getting Started
New to Binx? Start here:
- Installation - Download and install Binx
- Quick Start - Run your first analysis in minutes
- Input Formats - Understand the data formats
Tutorials
Learn Binx through practical examples:
- Your First GWAS Analysis - Step-by-step GWAS walkthrough
- Working with Polyploids - Tetraploid and hexaploid analysis
- Multi-Environment Trials - Handling complex experimental designs
- From VCF to Results - Complete pipeline example
Why Binx?
Binx was created to bring the power of R/GWASpoly and R/rrBLUP to the command line with:
- Speed: Written in Rust for fast execution
- Reproducibility: Explicit parameters and deterministic outputs
- Validation: Results match R implementations to 4-6 decimal places
- Simplicity: No R environment or dependencies required
Getting Help
License
Binx is released under the GPL-3.0 license.