P4: unit tests for calling/BAF/LRR/sex/CLI; vendor validation script
- tests/unit/test_genotype.py: fuzzy memberships incl. NaN rules, calls at cluster centres, intensity threshold, BAF/LRR interpolation and NaN pattern, LogR-dev locus set, sex rules v1/v2, TOP-strand base calls, invariant dates, end-to-end `simurg genotype` (summary schema, pass-through columns, thread/layout determinism, overwrite refusal) - tests/oracle/test_p4_genotype.py: 36 GSA samples x 2 versions byte-identical to the oracle - scripts/validate_p4_large.py + cloud task p4: compare every vendor GTC field by field and as whole files; reports which sex rule matches
This commit is contained in:
1 parent
354567e1d8
commit
7fb3967c3f
3 files changed
+496
No files matched your search
Executable
+13
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
# Phase P4: genotype every Omni2.5 IDAT pair and compare the GTC with the vendor's (fields + whole file).
|
||||
# Args: <data dir with bpm/egt and data/> <results dir>
|
||||
set -uo pipefail
|
||||
D=$1; OUT=$2
|
||||
SRC=s3://1000genomes/release/20130502/supporting/hd_genotype_chip/broad_intensities
|
||||
mkdir -p $D/egt
|
||||
aws s3 cp --no-sign-request "$SRC/HumanOmni2.5-4v1-Multi_H.egt" $D/egt/ --only-show-errors
|
||||
cp $D/HumanOmni2.5-4v1-Multi_B.egt $D/egt/
|
||||
/usr/bin/time -v .venv/bin/python scripts/validate_p4_large.py --root $D/data --bpm $D/HumanOmni2.5-4v1-Multi_B.bpm \
|
||||
--egt-dir $D/egt --out $OUT/summary.json --norm-version 1.1.2 --sex-version 1 --workers "$(nproc)" \
|
||||
2> $OUT/time.txt || echo "P4 validation reported differences"
|
||||
tail -25 $OUT/time.txt
|
||||
Reference in new issue
Block a user