github teaguesterling/plinking_duck v0.2.0
v0.2.0 — GWAS regression and filter pushdown

latest releases: v0.9.2, v0.9.0, v0.8.2...
6 months ago

What's New

GWAS Regression (plink_glm)

  • Per-variant association testing using plink2's regression engine
  • Linear regression for continuous traits, logistic regression for case/control
  • Automatic Firth correction when logistic regression fails to converge
  • Covariate support (age, sex, PCs, etc.)
  • Phenotype and covariate loading from .psam columns or external lists

Filter Pushdown

  • af_range — filter variants by allele frequency (uses PgrGetCounts, no decompression)
  • ac_range — filter variants by allele count
  • genotype_range — filter individual genotype values (non-matching set to NULL)
  • All filters work across variant, genotype, and sample orient modes

Genotype Output Options

  • orient := 'sample' — one row per sample with genotype array across variants
  • genotypes := 'columns' — pivot mode with one column per sample/variant
  • genotypes := 'list' — LIST(TINYINT) fallback for large cohorts
  • phased := true — haplotype pair output as ARRAY(TINYINT, 2)
  • dosages := true — dosage output support
  • plinking_max_matrix_elements config option for sample orient memory guard

Performance

  • Parallel per-sample accumulation for plink_missing (sample mode) and plink_score

Platform

  • macOS amd64 + arm64 build fix (CMake -include flag deduplication)
  • Windows MinGW CI disabled pending further investigation

Full Changelog

v0.1.2...v0.2.0

Don't miss a new plinking_duck release

NewReleases is sending notifications on new releases.