1000 Genomes --assume-trans check¶
Phased NYGC 30x GRCh38 panels (AFR, AMR, EAS, EUR) as cis/trans truth for the unphased double-heterozygote rule.
Research use only
Phased 1000 Genomes genotypes are not salivary secretor phenotypes. This check asks whether
unphased --assume-trans matches phase at rs601338 × rs1047781. It is not a clinical
validation.
Panels: ~/.gwaslab/{ANC}.ALL.split_norm_af.1kg_30x.hg38.vcf.gz (override with GENOSECRETOR_1KG_<ANC>_VCF). AFR/EAS/EUR fall back to the bundled extracts if the full panel is absent.
#!/usr/bin/env bash
# Compare unphased --assume-trans to phased 1KG AFR/AMR/EAS/EUR diplotypes.
# Panels: GENOSECRETOR_1KG_<ANC>_VCF, else ~/.gwaslab/<ANC>.ALL.split_norm_af.1kg_30x.hg38.vcf.gz
# AFR/EAS/EUR fall back to the bundled three-SNP extracts.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
mkdir -p "$ROOT/out"
python "$ROOT/verify_assume_trans_1kg.py" --out-dir "$ROOT/out"
echo "Summary: $ROOT/out/assume_trans_1kg.summary.txt"
Writes examples/out/assume_trans_1kg.summary.tsv, .discordant.tsv, and .summary.txt.
Operational metric (the flag)¶
Unphased heterozygotes at both functional SNPs are compatible with trans Se^w/se or cis Se/se (both variants on one haplotype). --no-assume-trans leaves those samples ambiguous; default --assume-trans assigns Se^w/se. Concordance is the fraction of that double-het set whose phased genotype is Se^w/se.
| Super-population | n | Double-het | Phased trans (Se^w/se) |
Phased cis (Se/se) |
Concordance |
|---|---|---|---|---|---|
| AFR | 661 | 0 | 0 | 0 | NA |
| AMR | 347 | 0 | 0 | 0 | NA |
| EAS | 504 | 1 | 1 | 0 | 1/1 (100%) |
| EUR | 503 | 0 | 0 | 0 | NA |
se428 and se385 are nearly mutually exclusive in these panels, so the unphased rule almost never fires. The one EAS double-het is trans in phase, so --assume-trans matches the phased diplotype (and phenotype). Zero mismatches vs phase in AFR/AMR/EAS/EUR.
Default --assume-trans is unchanged. Pass --no-assume-trans when you do not want the ancestral-haplotype assumption.
Haplotype metric¶
Phased haplotype counts (se = se428 LoF, Se^w = se385 weak, Se = functional):
| Super-population | se | Se^w | Se |
|---|---|---|---|
| AFR | 649 | 0 | 673 |
| AMR | 237 | 1 | 456 |
| EAS | 4 | 443 | 561 |
| EUR | 444 | 0 | 562 |
se385 (Se^w) is common only in EAS. AFR and EUR have no Se^w haplotypes here; AMR has a single copy. That is why double-hets are rare: the two derived alleles almost never co-occur in the same person.
See Assumptions and Inference methods (double-heterozygote resolution).