Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Architecture

Binx is organized as a Cargo workspace with specialized crates.

Crate Structure

Binx/
├── binx-cli/          # Main CLI binary
├── binx-gwas/         # GWAS orchestration
├── binx-kinship/      # Kinship computation
├── binx-dosage/       # Dosage estimation
├── binx-convert/      # File conversion
├── binx-plotting/     # Visualization
├── binx-types/        # Core data structures
├── binx-io/           # I/O utilities
├── gwaspoly-rs/       # GWASpoly implementation
└── rrblup-rs/         # rrBLUP implementation

Crate Descriptions

CrateDescription
binx-cliCommand-line interface and argument parsing
binx-gwasGWAS workflow orchestration
binx-kinshipVanRaden kinship matrix computation
binx-dosageUpdog-style dosage estimation
binx-convertVCF parsing and format conversion
binx-typesShared types: GenotypeMatrix, Phenotype, etc.
binx-ioFile I/O helpers
binx-plottingSVG/PNG plot generation
gwaspoly-rsCore GWASpoly statistical methods
rrblup-rsREML mixed model solver

Data Flow

Input Files
    │
    ▼
binx-io (parsing)
    │
    ▼
binx-types (data structures)
    │
    ├──► binx-kinship ──► Kinship Matrix
    │
    ▼
binx-gwas
    │
    ├──► gwaspoly-rs (genetic models)
    │
    └──► rrblup-rs (mixed model)
            │
            ▼
        Results CSV
            │
            ▼
        binx-plotting
            │
            ▼
        Plots (SVG/PNG)

Key Dependencies

  • nalgebra: Linear algebra
  • ndarray: N-dimensional arrays
  • csv: CSV parsing
  • clap: CLI argument parsing
  • plotters: Visualization

See Also