github teaguesterling/plinking_duck v0.1.0
v0.1.0 — Initial release

latest releases: v0.14.0, v0.13.1, v0.13.0...
7 months ago

PlinkingDuck: a DuckDB extension for reading PLINK 2 genomics file formats and running common genetic analyses directly in SQL.

Documentation · Getting Started · Tutorial

What's Included

File readers:

  • read_pvar — variant metadata (.pvar/.bim)
  • read_psam — sample metadata (.psam/.fam)
  • read_pgen — binary genotypes (.pgen)
  • read_pfile — unified fileset reader with tidy mode

Analysis functions:

  • plink_freq — per-variant allele frequencies
  • plink_hardy — Hardy-Weinberg equilibrium exact test
  • plink_missing — per-variant and per-sample missingness rates
  • plink_ld — pairwise linkage disequilibrium (r², D, D')
  • plink_score — polygenic risk scoring

Features

  • Projection pushdown (skip genotype decompression for metadata queries)
  • Parallel scan with atomic batch claiming
  • Sample subsetting (by IID or index)
  • Region filtering (chr:start-end)
  • Variant filtering (by ID or index)
  • Legacy PLINK 1 format support (.bim/.fam auto-detection)

Platform Support

  • Linux amd64
  • Linux arm64

Building

git clone --recurse-submodules https://github.com/teaguesterling/plinking_duck
cd plinking_duck
make

Don't miss a new plinking_duck release

NewReleases is sending notifications on new releases.