This repository was archived by the owner on Jun 15, 2026. It is now read-only.
Tags: dial481/allelix
Tags
v1.7.0: PLINK export, ADR-0034 magnitude scoring, punch list fixes Added: - PLINK export (#29): `allelix export plink` converts any supported genotype format to PLINK1 binary (.bed/.bim/.fam) for plink2, ADMIXTURE, PRSice. Single-sample SNP-major encoding. gnomAD ref/alt for allele coding. No-calls and indels skipped. Fixed: - Multi-allelic strand collision in PLINK coord selection: two-pass loop prefers forward allele matches over complement (same class as CADD #45). - Indel fallback: multi-character alleles skipped instead of producing non-standard BIM rows. Documentation: - ADR-0034: Magnitude scoring scale and ceiling (#23). Formalizes 0-10 scale, ceiling of 9, max-across-sources composite rule. Per-source scoring reserved for v2.0.0. - Test protocol updated with PLINK export section.
v1.6.0: CADD v1.7 variant deleteriousness scores PHRED-scaled deleteriousness enrichment from CADD v1.7. Two modes: cache (pre-built SQLite, ~5GB, ~120M keys) and full (81GB tabix via pysam, GRCh38 only). Enrichment-only annotator following the gnomAD/AlphaMissense pattern. Opt-in — disabled by default. Licensable-source gating: three-state permission model (ALLOW / BLOCK_FINAL / BLOCK_PURCHASABLE) with per-source license assertions. CADD is non-commercial by default but unlockable via commercial license; SNPedia is permanently blocked in commercial mode. Also: `config get` subcommand, strand normalization for array data, CADD cache build script with int64 packing and indel pass. 1215 tests, 92%+ coverage.
v1.5.3: centralized license descriptors, GWAS attribution fix, CI dev… … gate * fix: add missing GWAS Catalog attribution to reports GWAS Catalog was registered as an annotator but absent from the license attribution maps in both HTML and JSON reports. * docs: add SECURITY.md Vulnerability reporting policy (GitHub private vulnerability reporting), supported versions, and scope definition. * refactor: centralize license descriptors on annotator base License metadata was duplicated across config.py, html.py, json_report.py, and annotator docstrings with no enforcement. Single LicenseDescriptor on the Annotator base class now serves as the sole source of truth. Non-commercial gating derived from SPDX identifier. __init_subclass__ enforces declaration at class definition time. JSON schema bumped to 3: license_attributions block carries source_url and license_url as separate keys. ADR-0031. * chore: bump version to 1.5.3 * ci: gate dev branch pushes with lint + test Direct pushes to dev were bypassing CI (only pull_request events triggered). This let a broken rename ship to dev undetected. * fix: complete license_url rename in dataclass and annotators The url → license_url rename was applied to report renderers and tests but not to the LicenseDescriptor dataclass field or the 6 annotator constructions. Editable installs masked the gap locally. --------- Co-authored-by: dial481 <dial481@users.noreply.github.com>
PreviousNext