7aa59c8f6afbda4c2157d3990b2bbc48a39cac63 max Fri Sep 25 02:48:31 2026 -0700 varFreqs: add SFARI SPARK 45k WGS subtracks. sfariSparkWgs45k is built from the release's AF table (AN estimated, singletons dropped); sfariSparkWgs45kAsd is built from the genotype pVCFs with ASD/non-ASD counts, for now only the DSCAM locus while the genome-wide parasol run finishes, refs #38424 diff --git src/hg/makeDb/scripts/varFreqs/sparkWgs45kPvcfJobs.sh src/hg/makeDb/scripts/varFreqs/sparkWgs45kPvcfJobs.sh new file mode 100755 index 00000000000..2fff97d0129 --- /dev/null +++ src/hg/makeDb/scripts/varFreqs/sparkWgs45kPvcfJobs.sh @@ -0,0 +1,29 @@ +#!/bin/bash +# Write a parasol jobList for the SPARK WGS 2026_08 pVCFs: every 2.5 Mb chunk +# is split into pieces of <pieceSize> bp, and each piece is one job that runs +# sparkWgs45kPvcfToSites.sh on it. +# Usage: sparkWgs45kPvcfJobs.sh <pvcfDir> <groups.txt> <outDir> [pieceSize] > jobList +# pvcfDir: holds <chrom>/SPARK.WGS.2026_08.gatk.<chrom>_<start>_<end>.vcf.gz +# outDir: gets <chrom>/<chrom>_<pieceStart>.bcf (+ .csi, .norm.log) +set -euo pipefail + +pvcfDir=$(readlink -f "$1") +groups=$(readlink -f "$2") +outDir=$(readlink -f "$3") +pieceSize=${4:-500000} +scriptDir=$(dirname "$(readlink -f "$0")") + +for f in "$pvcfDir"/chr*/*.vcf.gz; do + base=$(basename "$f" .vcf.gz) + region=${base##*.} # e.g. chr21_40000001_42500000 + chrom=${region%%_*} + rest=${region#*_} + start=${rest%_*} + end=${rest#*_} + mkdir -p "$outDir/$chrom" + for ((s = start; s <= end; s += pieceSize)); do + e=$(( s + pieceSize < end + 1 ? s + pieceSize : end + 1 )) + out=$outDir/$chrom/${chrom}_$(printf '%09d' $s).bcf + echo "$scriptDir/sparkWgs45kPvcfToSites.sh $f $groups $out $s $e {check out exists $out}" + done +done