Skip to content

Synthetic cohort

Shared 18-sample genotypes across VCF, PGEN, and PLINK1, three genome builds, marker-notation variants, and a phased VCF.

See examples/data/expected_calls.txt. Under --method three-marker (unphased, --assume-bo default):

Scenario IIDs (examples) Typical outcome
Determined S01_AA … S08_OO_dup, S14_missProxy A×3, B×2, AB×1, O×3
Double-het S04_BO B (default); ambiguous with --no-assume-bo
Missing markers S09–S13, S17–S18 NA / MISSING_MARKER
Undetermined S15_conflictB, S16_conflictB_rev CONFLICT (6746 vs 6747)

Formats (GRCh38)

#!/usr/bin/env bash
# Run genoABO on the example GRCh38 VCF cohort (rsID notation).
set -euo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
mkdir -p "$ROOT/out"
genoabo "$ROOT/data/hg38/cohort.vcf" \
  --build hg38 \
  --method three-marker \
  -o "$ROOT/out/vcf_hg38"
echo "Open: $ROOT/out/vcf_hg38.report.html"
#!/usr/bin/env bash
# Run genoABO on the example GRCh38 PLINK2 PGEN cohort.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
mkdir -p "$ROOT/out"
genoabo "$ROOT/data/hg38/cohort.pgen" \
  --build hg38 \
  --method three-marker \
  -o "$ROOT/out/pgen_hg38"
echo "Open: $ROOT/out/pgen_hg38.report.html"
#!/usr/bin/env bash
# Run genoABO on the example GRCh38 PLINK1 BED cohort.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
mkdir -p "$ROOT/out"
genoabo "$ROOT/data/hg38/cohort.bed" \
  --format plink1 \
  --build hg38 \
  --method three-marker \
  -o "$ROOT/out/plink1_hg38"
echo "Open: $ROOT/out/plink1_hg38.report.html"
./examples/run_vcf.sh
./examples/run_pgen.sh
./examples/run_plink1.sh

Builds

Directory CLI Notes
data/hg38/ --build hg38 Primary demo + notation VCFs
data/hg19/ --build hg19 Same genotypes, GRCh37 coordinates
data/chm13/ --build chm13 Same genotypes, CHM13v2 coordinates
#!/usr/bin/env bash
# Run genoABO on the GRCh37 (hg19) example VCF.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
mkdir -p "$ROOT/out"
genoabo "$ROOT/data/hg19/cohort.vcf" \
  --build hg19 \
  --method three-marker \
  -o "$ROOT/out/vcf_hg19"
echo "Open: $ROOT/out/vcf_hg19.report.html"
#!/usr/bin/env bash
# Run genoABO on the CHM13v2 example VCF.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
mkdir -p "$ROOT/out"
genoabo "$ROOT/data/chm13/cohort.vcf" \
  --build chm13 \
  --method three-marker \
  -o "$ROOT/out/vcf_chm13"
echo "Open: $ROOT/out/vcf_chm13.report.html"
./examples/run_vcf_hg19.sh
./examples/run_vcf_chm13.sh

Marker notations (GRCh38 VCF)

File Contig ID column
cohort.vcf 9 rsID
cohort_chr.vcf chr9 .
cohort_chrpos.vcf 9 9:pos:REF:ALT
cohort_nc.vcf NC_000009.12 .
#!/usr/bin/env bash
# Run genoABO on GRCh38 VCF notation variants (chr prefix, chr:pos:alleles, NC contig).
set -euo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
mkdir -p "$ROOT/out"

run_one() {
  local label="$1"
  local vcf="$2"
  genoabo "$vcf" \
    --build hg38 \
    --method three-marker \
    -o "$ROOT/out/vcf_${label}"
  echo "  -> $ROOT/out/vcf_${label}.report.html"
}

echo "Notation: rsid (contig 9)"
run_one "rsid" "$ROOT/data/hg38/cohort.vcf"
echo "Notation: contig chr9, ID=."
run_one "chr" "$ROOT/data/hg38/cohort_chr.vcf"
echo "Notation: ID=9:pos:REF:ALT"
run_one "chrpos" "$ROOT/data/hg38/cohort_chrpos.vcf"
echo "Notation: contig NC_000009.12, ID=."
run_one "nc" "$ROOT/data/hg38/cohort_nc.vcf"
echo "All notation demos finished."
./examples/run_notations.sh

Phased VCF

genoABO reads phased genotypes (0|1) from VCF and uses haplotype-aware inference when --phase auto (detects |) or --phase phased.

File Build Notes
hg38/cohort_phased.vcf hg38 Same 18 samples; hets as 0|1
hg19/cohort_phased.vcf hg19 GRCh37 coords
chm13/cohort_phased.vcf chm13 CHM13v2 coords
hg38/cohort_phased_chr.vcf hg38 Phased + contig chr9, ID .

Determined phenotypes match the unphased cohort including S04_BO (B from cis/trans when phased). --no-assume-bo has no effect on phased calls; it only leaves unphased S04_BO ambiguous. phase_mode is phased and confidence is often high. PGEN/PLINK1 examples remain unphased (no phase in those writers).

#!/usr/bin/env bash
# Run genoABO on the phased GRCh38 VCF example (GT with |).
set -euo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
mkdir -p "$ROOT/out"
genoabo "$ROOT/data/hg38/cohort_phased.vcf" \
  --build hg38 \
  --method three-marker \
  --phase auto \
  -o "$ROOT/out/vcf_phased_hg38"
echo "Open: $ROOT/out/vcf_phased_hg38.report.html"
./examples/run_vcf_phased.sh

Example report

Snapshot of PREFIX.report.html from the hg38 VCF runner (--method three-marker). Research demo, not clinical typing.

Open full report