Update log¶
0.3.0 (2026-09-09)¶
- VCF DS/GP FORMAT fields are parsed from cyvcf2 2-D arrays; missing GT can still use dosage or probabilities.
- Explicit
--geno-mode dosage|probabilityignores phased GT. Mixed-phase two-marker samples fall back to copy counts instead of dropping the unphased marker. - PLINK1 BIM A1/A2 alleles are stored for orientation-aware mapping. Auto-select with no FUT2 tags errors instead of inventing
common. - Missing
secretor_statusis written asNAin TSV and HTML. Uncertain dosage/probability calls areLOW_CONFIDENCE.fut2_allele1/2are sorted;haplotype1/2keep chromosomal order. - Ferrer-Admetlla 2009 citation corrected to Mol Biol Evol (DOI 10.1093/molbev/msp108).
- Se^w residual activity: assay-dependent COS-cell numbers (Kudo 1996, Henry 1996, Soejima and Koda 2021) with figure
secretor-weak-activity.svgin Assumptions. - Synthetic example runner also executes PGEN and PLINK1. BGEN
.sampleis optional; bundled BGEN fixtures are not yet provided. - Haplotype docs: unmodelled leftover → Se; both markers missing on a copy is not a haplotype.
--buildacceptsGRCh37/GRCh38/CHM13v2/hs1/T2T-CHM13v2. Missingsecretor_statusisNAin the workflow column list. - Contract tests for format detection, auto GP→DS→GT,
--strict-method, TSVNA,--methods(noauto),--inspectexit 1, ancestry auto-select, and marker coordinates vsassemblies.yaml.
0.2.0 (2026-09-09)¶
--ancestry auto|eas|eur|afr|amr|unknown: auto method selection is ancestry-aware. EAS-like files (se428 AF < 0.05, n ≥ 50) missing rs1047781 no longer fall back tocommon; EUR-like files missing rs601338 no longer fall back toeas.--inspectprints the marker table then exits 1 when auto would refuse. Explicit--methodstill runs with a warning.
0.1.0 (2026-09-09)¶
Initial public release.
- Infer FUT2 secretor status (secretor / weak-secretor / non-secretor) from VCF, BGEN, PGEN, and PLINK.
- Methods:
two-marker,common,eas,proxy, withautoselection. - Builds: GRCh37, GRCh38, T2T-CHM13v2.
- Outputs:
PREFIX.secretor.tsv,.qc.tsv,.summary.txt,.report.html. --assume-trans/--no-assume-transfor unphased double heterozygotes.--phenotype-coding biochemical|gwas: default biochemical labelsSe^w/Se^wandSe^w/seas weak-secretor;gwasrecodes them as non-secretor while keepingSe^winfut2_genotype.- 1000 Genomes FUT2 examples (EAS / EUR / AFR tag-SNP slices; hg19 and hg38), including AFR hg38 30x extract, per-ancestry runners with
--phase autoand EAS--phase unphased, and an--assume-transvs phased check. - Example HTML run reports in the docs site (1KG EAS / EUR / AFR on hg38, and synthetic).
- Documentation site: usage, workflow, methods, markers, assumptions, examples, and software citation.
- Documentation SVGs: FUT2 locus, 1000 Genomes LD r², VCF-to-state, haplotype rules, diplotype → phenotype, and unphased
--assume-trans.