From f911ef46814a3deb7f92c1e80bb603d9d2178464 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 3 Dec 2025 10:17:35 -0500 Subject: [PATCH 001/147] feat: minimap2 tool wrapper --- tools/minimap2.wdl | 113 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 tools/minimap2.wdl diff --git a/tools/minimap2.wdl b/tools/minimap2.wdl new file mode 100644 index 000000000..e9ef020d9 --- /dev/null +++ b/tools/minimap2.wdl @@ -0,0 +1,113 @@ +version 1.2 + +task align { + meta { + description: "Align DNA or mRNA sequences against a large reference database" + outputs: { + alignments: "The output alignment file in SAM or PAF format" + } + } + + parameter_meta { + reads: "The input reads file in FASTQ format" + reference_index: "The minimap2 index file for the reference genome" + read_group: "The read group string to be included in the SAM header. Format: '@RG\\tID:foo\\tSM:bar'" + output_name: "The name of the output alignment file" + output_paf: "If true, output in PAF format instead of SAM" + cigar_in_paf: "If true and outputting PAF, include CIGAR strings in the PAF output" + ignore_base_quality: "If true, ignore base quality scores during alignment" + output_md_tag: "If true, include MD tags in the SAM output" + eqx: "If true, use =/X CIGAR operators instead of M" + soft_clip: "If true, use soft clipping for secondary alignments in SAM format" + secondary_alignments: "If true, report secondary alignments" + seed: "Seed value for the minimap2 aligner" + threads: "Number of threads to use for alignment" + } + + input { + File reads + File reference_index + String read_group + String output_name = "aligned.sam" + Boolean output_paf = false + Boolean cigar_in_paf = true + Boolean ignore_base_quality = false + Boolean output_md_tag = true + Boolean eqx = false + Boolean soft_clip = true + Boolean secondary_alignments = true + Int seed = 11 + Int threads = 3 + } + + command <<< + minimap2 \ + ~{if output_paf then "" else "-a"} \ + ~{if output_paf && cigar_in_paf then "-c" else ""} \ + ~{if ignore_base_quality then "-Q" else ""} \ + ~{if output_md_tag then "--MD" else ""} \ + ~{if eqx then "-X" else ""} \ + ~{if soft_clip then "-Y" else ""} \ + ~{if secondary_alignments then "--secondary=yes" else "--secondary=no"} \ + -t ~{threads} \ + --seed ~{seed} \ + -R "~{read_group}" \ + "~{reference_index}" \ + "~{reads}" \ + > "~{output_name}" + >>> + + output { + File alignments = output_name + } + + requirements { + container: "quay.io/biocontainers/minimap2:2.30--h577a1d6_0" + cpu: threads + memory: "4 GB" + } +} + +task index { + meta { + description: "Create a minimap2 index for a reference genome" + outputs: { + reference_index: "The generated minimap2 index file" + } + } + + parameter_meta { + reference_fasta: "The reference genome in FASTA format to be indexed" + alt_contigs: "Optional file containing a list of alternative contigs" + index_name: "The name of the output index file" + minimizer_kmer_size: "K-mer size for minimizer indexing" + minimizer_window_size: "Window size for minimizer indexing" + } + + input { + File reference_fasta + File? alt_contigs + String index_name = "reference.mmi" + Int minimizer_kmer_size = 15 + Int minimizer_window_size = 10 + } + + command <<< + minimap2 \ + -k ~{minimizer_kmer_size} \ + -w ~{minimizer_window_size} \ + ~{if defined(alt_contigs) then "--alt \"~{alt_contigs}\"" else ""} \ + -d "~{index_name}" \ + "~{reference_fasta}" + >>> + + output { + File reference_index = index_name + } + + requirements { + container: "quay.io/biocontainers/minimap2:2.30--h577a1d6_0" + cpu: 1 + memory: "4 GB" + } +} From fd2bca4ef925630aa02c5b853f45981d4b917814 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 3 Dec 2025 10:46:34 -0500 Subject: [PATCH 002/147] refactor: handle optionally gzipped reference --- tools/minimap2.wdl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/minimap2.wdl b/tools/minimap2.wdl index e9ef020d9..8912c42c0 100644 --- a/tools/minimap2.wdl +++ b/tools/minimap2.wdl @@ -93,12 +93,18 @@ task index { } command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + minimap2 \ -k ~{minimizer_kmer_size} \ -w ~{minimizer_window_size} \ ~{if defined(alt_contigs) then "--alt \"~{alt_contigs}\"" else ""} \ -d "~{index_name}" \ - "~{reference_fasta}" + "$ref_fasta" >>> output { From 1ebe2a064a19ea3cba37f1f914835e797a5eb49d Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 3 Dec 2025 11:20:08 -0500 Subject: [PATCH 003/147] chore: fill in options --- tools/minimap2.wdl | 40 ++++++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/tools/minimap2.wdl b/tools/minimap2.wdl index 8912c42c0..262e4e324 100644 --- a/tools/minimap2.wdl +++ b/tools/minimap2.wdl @@ -9,10 +9,31 @@ task align { } parameter_meta { - reads: "The input reads file in FASTQ format" + read_one_fastq_gz: "Input gzipped FASTQ read one file to align with minimap2" + read_two_fastq_gz: "Input gzipped FASTQ read two file to align with minimap2" reference_index: "The minimap2 index file for the reference genome" read_group: "The read group string to be included in the SAM header. Format: '@RG\\tID:foo\\tSM:bar'" output_name: "The name of the output alignment file" + preset: { + description: "Minimap2 preset for alignment", + external_help: "https://lh3.github.io/minimap2/minimap2.html#8", + options: [ + "sr", + "map-ont", + "lr:hq", + "map-hifi", + "map-pb", + "map-iclr", + "asm5", + "asm10", + "asm20", + "splice", + "splice:hq", + "splice:sr", + "ava-pb", + "ava-ont" + ], + } output_paf: "If true, output in PAF format instead of SAM" cigar_in_paf: "If true and outputting PAF, include CIGAR strings in the PAF output" ignore_base_quality: "If true, ignore base quality scores during alignment" @@ -25,9 +46,11 @@ task align { } input { - File reads + File read_one_fastq_gz File reference_index String read_group + File? read_two_fastq_gz + String? preset = "sr" String output_name = "aligned.sam" Boolean output_paf = false Boolean cigar_in_paf = true @@ -42,6 +65,7 @@ task align { command <<< minimap2 \ + ~{if defined(preset) then "-x \"~{preset}\"" else ""} \ ~{if output_paf then "" else "-a"} \ ~{if output_paf && cigar_in_paf then "-c" else ""} \ ~{if ignore_base_quality then "-Q" else ""} \ @@ -53,7 +77,8 @@ task align { --seed ~{seed} \ -R "~{read_group}" \ "~{reference_index}" \ - "~{reads}" \ + "~{read_one_fastq_gz}" \ + ~{if defined(read_two_fastq_gz) then "\"~{read_two_fastq_gz}\"" else ""} \ > "~{output_name}" >>> @@ -64,7 +89,7 @@ task align { requirements { container: "quay.io/biocontainers/minimap2:2.30--h577a1d6_0" cpu: threads - memory: "4 GB" + memory: "16 GB" } } @@ -82,6 +107,7 @@ task index { index_name: "The name of the output index file" minimizer_kmer_size: "K-mer size for minimizer indexing" minimizer_window_size: "Window size for minimizer indexing" + threads: "Number of threads to use for indexing" } input { @@ -90,6 +116,7 @@ task index { String index_name = "reference.mmi" Int minimizer_kmer_size = 15 Int minimizer_window_size = 10 + Int threads = 3 } command <<< @@ -103,6 +130,7 @@ task index { -k ~{minimizer_kmer_size} \ -w ~{minimizer_window_size} \ ~{if defined(alt_contigs) then "--alt \"~{alt_contigs}\"" else ""} \ + -t ~{threads} \ -d "~{index_name}" \ "$ref_fasta" >>> @@ -113,7 +141,7 @@ task index { requirements { container: "quay.io/biocontainers/minimap2:2.30--h577a1d6_0" - cpu: 1 - memory: "4 GB" + cpu: threads + memory: "16 GB" } } From 9533656d9e4741e3f6a6133ecb8a521939b36051 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 3 Dec 2025 14:28:48 -0500 Subject: [PATCH 004/147] chore: add samtools to minimap2 image and convert to BAM --- docker/minimap2/Dockerfile | 8 ++++++++ docker/minimap2/package.json | 5 +++++ tools/minimap2.wdl | 16 +++++++++++----- 3 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 docker/minimap2/Dockerfile create mode 100644 docker/minimap2/package.json diff --git a/docker/minimap2/Dockerfile b/docker/minimap2/Dockerfile new file mode 100644 index 000000000..7fb04869b --- /dev/null +++ b/docker/minimap2/Dockerfile @@ -0,0 +1,8 @@ +FROM quay.io/biocontainers/samtools:1.17--h00cdaf9_0 AS samtools +FROM quay.io/biocontainers/minimap2:2.30--h577a1d6_0 + +COPY --from=samtools /usr/local/bin/ /usr/local/bin/ +COPY --from=samtools /usr/local/lib/ /usr/local/lib/ +COPY --from=samtools /usr/local/libexec/ /usr/local/libexec/ + +ENTRYPOINT [ "minimap2" ] \ No newline at end of file diff --git a/docker/minimap2/package.json b/docker/minimap2/package.json new file mode 100644 index 000000000..a78b7377c --- /dev/null +++ b/docker/minimap2/package.json @@ -0,0 +1,5 @@ +{ + "name": "minimap2", + "version": "2.30", + "revision": "0" +} \ No newline at end of file diff --git a/tools/minimap2.wdl b/tools/minimap2.wdl index 262e4e324..5a300509f 100644 --- a/tools/minimap2.wdl +++ b/tools/minimap2.wdl @@ -34,7 +34,7 @@ task align { "ava-ont" ], } - output_paf: "If true, output in PAF format instead of SAM" + output_paf: "If true, output in PAF format instead of BAM" cigar_in_paf: "If true and outputting PAF, include CIGAR strings in the PAF output" ignore_base_quality: "If true, ignore base quality scores during alignment" output_md_tag: "If true, include MD tags in the SAM output" @@ -51,7 +51,7 @@ task align { String read_group File? read_two_fastq_gz String? preset = "sr" - String output_name = "aligned.sam" + String output_name = "aligned.bam" Boolean output_paf = false Boolean cigar_in_paf = true Boolean ignore_base_quality = false @@ -79,7 +79,13 @@ task align { "~{reference_index}" \ "~{read_one_fastq_gz}" \ ~{if defined(read_two_fastq_gz) then "\"~{read_two_fastq_gz}\"" else ""} \ - > "~{output_name}" + > output + + if ~{output_paf}; then + mv output "~{output_name}" + else + samtools view -b output > "~{output_name}" + fi >>> output { @@ -87,7 +93,7 @@ task align { } requirements { - container: "quay.io/biocontainers/minimap2:2.30--h577a1d6_0" + container: "ghcr.io/stjudecloud/minimap2:branch-minimap2-2.30-0" cpu: threads memory: "16 GB" } @@ -140,7 +146,7 @@ task index { } requirements { - container: "quay.io/biocontainers/minimap2:2.30--h577a1d6_0" + container: "ghcr.io/stjudecloud/minimap2:branch-minimap2-2.30-0" cpu: threads memory: "16 GB" } From 1b28075c8c8ebecf2eb5cbea2fc837d645eb6b9a Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 3 Dec 2025 14:29:48 -0500 Subject: [PATCH 005/147] chore: lint --- tools/minimap2.wdl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/minimap2.wdl b/tools/minimap2.wdl index 5a300509f..58b0cf15b 100644 --- a/tools/minimap2.wdl +++ b/tools/minimap2.wdl @@ -10,10 +10,9 @@ task align { parameter_meta { read_one_fastq_gz: "Input gzipped FASTQ read one file to align with minimap2" - read_two_fastq_gz: "Input gzipped FASTQ read two file to align with minimap2" reference_index: "The minimap2 index file for the reference genome" read_group: "The read group string to be included in the SAM header. Format: '@RG\\tID:foo\\tSM:bar'" - output_name: "The name of the output alignment file" + read_two_fastq_gz: "Input gzipped FASTQ read two file to align with minimap2" preset: { description: "Minimap2 preset for alignment", external_help: "https://lh3.github.io/minimap2/minimap2.html#8", @@ -31,9 +30,10 @@ task align { "splice:hq", "splice:sr", "ava-pb", - "ava-ont" + "ava-ont", ], } + output_name: "The name of the output alignment file" output_paf: "If true, output in PAF format instead of BAM" cigar_in_paf: "If true and outputting PAF, include CIGAR strings in the PAF output" ignore_base_quality: "If true, ignore base quality scores during alignment" From 0ac46dbd6183ecd1ac2d986c2e112fd4ee1bd04a Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 3 Dec 2025 17:00:24 -0500 Subject: [PATCH 006/147] chore: add disk specification --- tools/minimap2.wdl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tools/minimap2.wdl b/tools/minimap2.wdl index 58b0cf15b..d953a5e39 100644 --- a/tools/minimap2.wdl +++ b/tools/minimap2.wdl @@ -43,6 +43,7 @@ task align { secondary_alignments: "If true, report secondary alignments" seed: "Seed value for the minimap2 aligner" threads: "Number of threads to use for alignment" + modify_disk_size_gb: "Additional disk space to allocate (in GB)" } input { @@ -61,8 +62,17 @@ task align { Boolean secondary_alignments = true Int seed = 11 Int threads = 3 + Int modify_disk_size_gb = 0 } + Int disk_size_gb = ceil( + ( + size(read_one_fastq_gz, "GiB") + size(read_two_fastq_gz, "GiB") + ) * 2) + + ceil(size(reference_index, "GiB")) + + 10 + + modify_disk_size_gb + command <<< minimap2 \ ~{if defined(preset) then "-x \"~{preset}\"" else ""} \ @@ -96,6 +106,7 @@ task align { container: "ghcr.io/stjudecloud/minimap2:branch-minimap2-2.30-0" cpu: threads memory: "16 GB" + disks: "~{disk_size_gb} GB" } } @@ -114,6 +125,7 @@ task index { minimizer_kmer_size: "K-mer size for minimizer indexing" minimizer_window_size: "Window size for minimizer indexing" threads: "Number of threads to use for indexing" + modify_disk_size_gb: "Additional disk space to allocate (in GB)" } input { @@ -123,8 +135,11 @@ task index { Int minimizer_kmer_size = 15 Int minimizer_window_size = 10 Int threads = 3 + Int modify_disk_size_gb = 0 } + Int disk_size_gb = ceil(size(reference_fasta, "GiB")) + 10 + modify_disk_size_gb + command <<< set -euo pipefail @@ -149,5 +164,6 @@ task index { container: "ghcr.io/stjudecloud/minimap2:branch-minimap2-2.30-0" cpu: threads memory: "16 GB" + disks: "~{disk_size_gb} GB" } } From 5161669f78a05a84231edb352bdaf07f2900039e Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 3 Dec 2025 17:02:24 -0500 Subject: [PATCH 007/147] feat: add bwa-mem2 task --- docker/bwamem2/Dockerfile | 8 +++ docker/bwamem2/package.json | 5 ++ tools/bwamem2.wdl | 127 ++++++++++++++++++++++++++++++++++++ 3 files changed, 140 insertions(+) create mode 100644 docker/bwamem2/Dockerfile create mode 100644 docker/bwamem2/package.json create mode 100644 tools/bwamem2.wdl diff --git a/docker/bwamem2/Dockerfile b/docker/bwamem2/Dockerfile new file mode 100644 index 000000000..a79bab258 --- /dev/null +++ b/docker/bwamem2/Dockerfile @@ -0,0 +1,8 @@ +FROM quay.io/biocontainers/samtools:1.17--h00cdaf9_0 AS samtools +FROM quay.io/biocontainers/bwa-mem2:2.3--he70b90d_0 + +COPY --from=samtools /usr/local/bin/ /usr/local/bin/ +COPY --from=samtools /usr/local/lib/ /usr/local/lib/ +COPY --from=samtools /usr/local/libexec/ /usr/local/libexec/ + +ENTRYPOINT [ "bwa-mem2" ] \ No newline at end of file diff --git a/docker/bwamem2/package.json b/docker/bwamem2/package.json new file mode 100644 index 000000000..8a483d363 --- /dev/null +++ b/docker/bwamem2/package.json @@ -0,0 +1,5 @@ +{ + "name": "bwamem2", + "version": "2.3", + "revision": "0" +} \ No newline at end of file diff --git a/tools/bwamem2.wdl b/tools/bwamem2.wdl new file mode 100644 index 000000000..bdba1e258 --- /dev/null +++ b/tools/bwamem2.wdl @@ -0,0 +1,127 @@ +version 1.2 + +task align { + meta { + description: "Align DNA sequences against a large reference database using BWA-MEM2" + outputs: { + alignments: "The output alignment file in SAM format" + } + } + + parameter_meta { + read_one_fastq_gz: "Input gzipped FASTQ read one file to align with BWA-MEM2" + reference_index: "The BWA-MEM2 index file for the reference genome" + read_group: "The read group string to be included in the SAM header. Format: '@RG\\tID:foo\\tSM:bar'" + read_two_fastq_gz: "Input gzipped FASTQ read two file to align with BWA-MEM2" + prefix: "Prefix for the BAM file. The extension `.bam` will be added." + seed: "Seed value for the BWA-MEM2 aligner" + threads: "Number of threads to use for alignment" + modify_disk_size_gb: "Additional disk space to allocate (in GB)" + } + + input { + File read_one_fastq_gz + File reference_index + String read_group + File? read_two_fastq_gz + String prefix = sub( + basename(read_one_fastq_gz), + "([_\\.][rR][12])?(\\.subsampled)?\\.(fastq|fq)(\\.gz)?$", + "" + ) + Int threads = 4 + Int modify_disk_size_gb = 0 + Int seed_length = 19 + Int min_score = 30 + Boolean smart_pairing = false + Boolean skip_mate_rescue = false + } + + String output_name = prefix + ".bam" + Int disk_size_gb = ceil(( + size(read_one_fastq_gz, "GiB") + size(read_two_fastq_gz, "GiB") + ) * 2) + + ceil(size(reference_index, "GiB")) + + 10 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + mkdir bwa_db + tar -C bwa_db -xzf "~{reference_index}" --no-same-owner + PREFIX=$(basename bwa_db/*.ann ".ann") + + bwa-mem2 mem \ + -t ~{threads} \ + -R "~{read_group}" \ + -k ~{seed_length} \ + -T ~{min_score} \ + ~{if smart_pairing then "-p" else ""} \ + ~{if skip_mate_rescue then "-S" else ""} \ + bwa_db/"$PREFIX" \ + "~{read_one_fastq_gz}" \ + ~{if defined(read_two_fastq_gz) then "~{read_two_fastq_gz}" else ""} | + samtools view -b -o "~{output_name}" - + >>> + + output { + File alignments = output_name + } + + requirements { + container: "ghcr.io/stjudecloud/bwamem2:branch-minimap2-2.3-0" + cpu: threads + memory: "~{disk_size_gb * 2} GB" + disks: "~{disk_size_gb} GB" + } +} + +task index { + meta { + description: "Index a reference genome for alignment with minimap2" + outputs: { + reference_index: "The minimap2 index file for the reference genome" + } + } + + parameter_meta { + reference_fasta: "The reference genome in FASTA format to be indexed" + db_name: "The base name for the output index files" + modify_disk_size_gb: "Additional disk space to allocate (in GB)" + } + + input { + File reference_fasta + String db_name = "reference" + Int modify_disk_size_gb = 0 + } + + Float input_fasta_size = size(reference_fasta, "GiB") + Int disk_size_gb = ceil(input_fasta_size * 2) + 10 + modify_disk_size_gb + String bwa_db_out_name = db_name + ".tar.gz" + + command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + + bwa-mem2 index \ + "$ref_fasta" + + tar -czf "~{bwa_db_out_name}" "$ref_fasta"* + >>> + + output { + File reference_index = bwa_db_out_name + } + + requirements { + container: "ghcr.io/stjudecloud/bwamem2:branch-minimap2-2.3-0" + cpu: 1 + memory: "16 GB" + disks: "~{disk_size_gb} GB" + } +} From af994e2029101b4c977aaf7d26f31cf02fe8a1ae Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 4 Dec 2025 12:55:40 -0500 Subject: [PATCH 008/147] chore: lint --- tools/bwamem2.wdl | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tools/bwamem2.wdl b/tools/bwamem2.wdl index bdba1e258..15a499fd2 100644 --- a/tools/bwamem2.wdl +++ b/tools/bwamem2.wdl @@ -14,9 +14,12 @@ task align { read_group: "The read group string to be included in the SAM header. Format: '@RG\\tID:foo\\tSM:bar'" read_two_fastq_gz: "Input gzipped FASTQ read two file to align with BWA-MEM2" prefix: "Prefix for the BAM file. The extension `.bam` will be added." - seed: "Seed value for the BWA-MEM2 aligner" + smart_pairing: "If true, enable smart pairing mode for paired-end reads" + skip_mate_rescue: "If true, skip mate rescue for paired-end reads" threads: "Number of threads to use for alignment" modify_disk_size_gb: "Additional disk space to allocate (in GB)" + seed_length: "Seed value for the BWA-MEM2 aligner" + min_score: "Minimum score threshold for reporting alignments" } input { @@ -29,12 +32,12 @@ task align { "([_\\.][rR][12])?(\\.subsampled)?\\.(fastq|fq)(\\.gz)?$", "" ) + Boolean smart_pairing = false + Boolean skip_mate_rescue = false Int threads = 4 Int modify_disk_size_gb = 0 Int seed_length = 19 Int min_score = 30 - Boolean smart_pairing = false - Boolean skip_mate_rescue = false } String output_name = prefix + ".bam" @@ -61,7 +64,7 @@ task align { ~{if skip_mate_rescue then "-S" else ""} \ bwa_db/"$PREFIX" \ "~{read_one_fastq_gz}" \ - ~{if defined(read_two_fastq_gz) then "~{read_two_fastq_gz}" else ""} | + ~{if defined(read_two_fastq_gz) then "\"~{read_two_fastq_gz}\"" else ""} | samtools view -b -o "~{output_name}" - >>> @@ -121,7 +124,7 @@ task index { requirements { container: "ghcr.io/stjudecloud/bwamem2:branch-minimap2-2.3-0" cpu: 1 - memory: "16 GB" + memory: "120 GB" disks: "~{disk_size_gb} GB" } } From 00deed43a5564a4b7c1c1231a73e017df46a376c Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 4 Dec 2025 12:56:02 -0500 Subject: [PATCH 009/147] feat: add hisat2 task --- docker/hisat2/Dockerfile | 8 ++ docker/hisat2/package.json | 5 ++ tools/hisat2.wdl | 169 +++++++++++++++++++++++++++++++++++++ 3 files changed, 182 insertions(+) create mode 100644 docker/hisat2/Dockerfile create mode 100644 docker/hisat2/package.json create mode 100644 tools/hisat2.wdl diff --git a/docker/hisat2/Dockerfile b/docker/hisat2/Dockerfile new file mode 100644 index 000000000..a57d0c75a --- /dev/null +++ b/docker/hisat2/Dockerfile @@ -0,0 +1,8 @@ +FROM quay.io/biocontainers/samtools:1.17--h00cdaf9_0 AS samtools +FROM quay.io/biocontainers/hisat2:2.2.1--h503566f_8 + +COPY --from=samtools /usr/local/bin/ /usr/local/bin/ +COPY --from=samtools /usr/local/lib/ /usr/local/lib/ +COPY --from=samtools /usr/local/libexec/ /usr/local/libexec/ + +ENTRYPOINT [ "hisat2" ] \ No newline at end of file diff --git a/docker/hisat2/package.json b/docker/hisat2/package.json new file mode 100644 index 000000000..e17679260 --- /dev/null +++ b/docker/hisat2/package.json @@ -0,0 +1,5 @@ +{ + "name": "hisat2", + "version": "2.2.1", + "revision": "0" +} \ No newline at end of file diff --git a/tools/hisat2.wdl b/tools/hisat2.wdl new file mode 100644 index 000000000..bd06d2eaa --- /dev/null +++ b/tools/hisat2.wdl @@ -0,0 +1,169 @@ +version 1.2 + +task align { + meta { + description: "Align RNA-seq reads against a reference genome using HISAT2" + outputs: { + alignments: "The output alignment file in SAM format" + } + } + + parameter_meta { + read_one_fastq_gz: "Input gzipped FASTQ read one file to align with HISAT2" + reference_index: "The HISAT2 index files for the reference genome" + read_two_fastq_gz: "Input gzipped FASTQ read two file to align with HISAT2" + output_name: "The name of the output alignment file" + threads: "Number of threads to use for alignment" + modify_disk_size_gb: "Additional disk space to allocate (in GB)" + } + + input { + File read_one_fastq_gz + File reference_index + File? read_two_fastq_gz + String output_name = "aligned.sam" + Int threads = 4 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(( + size(read_one_fastq_gz, "GiB") + size(read_two_fastq_gz, "GiB") + ) * 2) + + ceil(size(reference_index, "GiB")) + + 10 + + modify_disk_size_gb + + command <<< + hisat2 \ + -q \ + -p ~{threads} \ + -x "~{reference_index}" \ + -1 "~{read_one_fastq_gz}" \ + ~{if defined(read_two_fastq_gz) then "-2 \"~{read_two_fastq_gz}\"" else ""} \ + -S "~{output_name}" + >>> + + output { + File alignments = "~{output_name}" + } + + requirements { + cpu: threads + memory: "16 GB" + disks: "~{disk_size_gb} GB" + container: "ghcr.io/stjudecloud/hisat2:branch-minimap2-2.2.1-0" + } +} + +task index { + meta { + description: "Index a reference genome for alignment with HISAT2" + outputs: { + reference_index: "The HISAT2 index files for the reference genome" + } + } + + parameter_meta { + reference_fasta: "The reference genome in FASTA format to be indexed" + snp: "List of SNPs" + haplotype: "List of haplotypes" + splice_site: "List of splice sites. Use with `exon`." + exon: "List of exons. Use with `splice_site`." + repeat_ref: "" + repeat_info: "" + repeat_snp: "" + repeat_haplotype: "" + bmax: "Maximum number of suffixes allowed in a block" + seed: "Seed for psuedo-random number generator" + bmaxdivn: "Maximum number of suffixes allowed in a block, expressed as a fraction of the length of the reference" + index_base_name: "The base name for the output index files" + force_large_index: "Force creation of a large index" + disable_auto_fitting: "Disable automatic fitting of index parameters" + nodc: "Disable difference-cover sample" + no_ref: "Do not build bitpacked version of reference sequence for paired-end alignment" + just_ref: "Build only the bitpacked version of reference sequence for paired-end alignment" + threads: "Number of threads to use for indexing" + dcv: "Period for the difference-cover sample. A larger period uses less memory, but may be slower. Must be a power of 2, no greater than 4096." + offrate: "The off-rate for the FM index" + ftabchars: "The lookup table to calculate initial BW range with respect to the first N characters of the query" + localoffrate: "The off-rate for the local FM index" + localftabchars: "The lookup table to calculate initial BW range for the local FM" + modify_disk_size_gb: "Additional disk space to allocate (in GB)" + } + + input { + File reference_fasta + File? snp + File? haplotype + File? splice_site + File? exon + File? repeat_ref + File? repeat_info + File? repeat_snp + File? repeat_haplotype + Int? bmax + Int? seed + Int? bmaxdivn = 4 + String index_base_name = "hisat2_index" + Boolean force_large_index = false + Boolean disable_auto_fitting = false + Boolean nodc = false + Boolean no_ref = false + Boolean just_ref = false + Int threads = 1 + Int dcv = 1024 + Int offrate = 5 + Int ftabchars = 10 + Int localoffrate = 3 + Int localftabchars = 6 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + 10 + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + + hisat2-build \ + ~{if force_large_index then "--large-index" else ""} \ + ~{if disable_auto_fitting then "--disable-auto-fitting" else ""} \ + -p ~{threads} \ + ~{if defined(bmax) then "--bmax \"~{bmax}\"" else ""} \ + ~{if defined(bmaxdivn) then "--bmaxdivn \"~{bmaxdivn}\"" else ""} \ + ~{if !nodc then "--dcv \"~{dcv}\"" else ""} \ + ~{if no_ref then "--no-ref" else ""} \ + ~{if just_ref then "--just-ref" else ""} \ + --offrate "~{offrate}" \ + --ftabchars "~{ftabchars}" \ + --localoffrate "~{localoffrate}" \ + --localftabchars "~{localftabchars}" \ + ~{if defined(snp) then "--snp \"~{snp}\"" else ""} \ + ~{if defined(haplotype) then "--haplotype \"~{haplotype}\"" else ""} \ + ~{if defined(splice_site) then "--ss \"~{splice_site}\"" else ""} \ + ~{if defined(exon) then "--exon \"~{exon}\"" else ""} \ + ~{if defined(repeat_ref) then "--repeat-ref \"~{repeat_ref}\"" else ""} \ + ~{if defined(repeat_info) then "--repeat-info \"~{repeat_info}\"" else ""} \ + ~{if defined(repeat_snp) then "--repeat-snp \"~{repeat_snp}\"" else ""} \ + ~{if defined(repeat_haplotype) then "--repeat-haplotype \"~{repeat_haplotype}\"" else ""} \ + ~{if defined(seed) then "--seed \"~{seed}\"" else ""} \ + "$ref_fasta" \ + "~{index_base_name}" + + tar -czf "~{index_base_name}.tar.gz" "~{index_base_name}"* + >>> + + output { + File reference_index = "~{index_base_name}.tar.gz" + } + + requirements { + cpu: threads + memory: "16 GB" + disks: "~{disk_size_gb} GB" + container: "ghcr.io/stjudecloud/hisat2:branch-minimap2-2.2.1-0" + } +} From 443466617858f7359ba329a618133a1513d74125 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 4 Dec 2025 13:56:15 -0500 Subject: [PATCH 010/147] chore: change base image as other segfaults --- docker/hisat2/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/hisat2/Dockerfile b/docker/hisat2/Dockerfile index a57d0c75a..85b3898dd 100644 --- a/docker/hisat2/Dockerfile +++ b/docker/hisat2/Dockerfile @@ -1,5 +1,5 @@ FROM quay.io/biocontainers/samtools:1.17--h00cdaf9_0 AS samtools -FROM quay.io/biocontainers/hisat2:2.2.1--h503566f_8 +FROM quay.io/biocontainers/hisat2:2.2.1--hdbdd923_7 COPY --from=samtools /usr/local/bin/ /usr/local/bin/ COPY --from=samtools /usr/local/lib/ /usr/local/lib/ From b07d7690d6f2de6903dc92b96ed520c824d77bb6 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 5 Dec 2025 11:47:35 -0500 Subject: [PATCH 011/147] feat: add `vg` indexing --- tools/vg.wdl | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 tools/vg.wdl diff --git a/tools/vg.wdl b/tools/vg.wdl new file mode 100644 index 000000000..f002533ce --- /dev/null +++ b/tools/vg.wdl @@ -0,0 +1,75 @@ +version 1.2 + +task index { + meta { + description: "Index a reference genome for alignment with vg giraffe" + outputs: { + reference_index: "The vg giraffe index file for the reference genome" + } + } + + parameter_meta { + reference_fasta: "The reference genome in FASTA format to be indexed" + vcf_files: "VCF(s) containing variants to augment the graph" + transcript_gff: "GFF(s) containing transcript annotations" + db_prefix: "The base name for the output index files" + gff_feature: "The feature type in the GFF to use for transcripts" + gff_id_tag: "The attribute tag in the GFF to use as transcript ID" + workflow: { + description: "The vg autoindex workflow to use", + choices: [ + "map", + "mpmap", + "rpvg", + "giraffe", + "sr-giraffe", + "lr-giraffe", + ], + } + modify_disk_size_gb: "Additional disk space to allocate (in GB)" + threads: "Number of threads to use for indexing" + } + + input { + File reference_fasta + Array[File] vcf_files = [] + Array[File] transcript_gff = [] + String db_prefix = "reference" + String gff_feature = "exon" + String gff_id_tag = "transcript_id" + String workflow = "giraffe" + Int modify_disk_size_gb = 0 + Int threads = 4 + } + + Float input_fasta_size = size(reference_fasta, "GiB") + Float vcf_size = size(vcf_files, "GiB") + Float transcript_gff_size = size(transcript_gff, "GiB") + Int disk_size_gb = ceil(input_fasta_size * 2) + + ceil(vcf_size * 2) + + ceil(transcript_gff_size * 2) + + 10 + modify_disk_size_gb + + command <<< + vg autoindex \ + --workflow "~{workflow}" \ + -r "~{reference_fasta}" \ + -p "~{db_prefix}" \ + ~{sep(" ", prefix("-v ", quote(vcf_files)))} \ + ~{sep(" ", prefix("-x ", quote(transcript_gff)))} \ + -t ~{threads} \ + --gff-feature "~{gff_feature}" \ + --gff-tx-tag "~{gff_id_tag}" + >>> + + output { + Array[File] reference_index = glob("~{db_prefix}*") + } + + requirements { + container: "quay.io/biocontainers/vg:1.70.0--h9ee0642_0" + cpu: threads + memory: "120 GB" + disks: "~{disk_size_gb} GB" + } +} From cb47772356a169eebcfbc278948428cf1c6ececf Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 5 Dec 2025 12:41:18 -0500 Subject: [PATCH 012/147] chore: localize fasta for indexing --- tools/vg.wdl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/vg.wdl b/tools/vg.wdl index f002533ce..6407a79a9 100644 --- a/tools/vg.wdl +++ b/tools/vg.wdl @@ -51,9 +51,15 @@ task index { + 10 + modify_disk_size_gb command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + vg autoindex \ --workflow "~{workflow}" \ - -r "~{reference_fasta}" \ + -r "$ref_fasta" \ -p "~{db_prefix}" \ ~{sep(" ", prefix("-v ", quote(vcf_files)))} \ ~{sep(" ", prefix("-x ", quote(transcript_gff)))} \ From 39ca901c99e728c4da2ffdf60029dbdd220aecfb Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 5 Dec 2025 13:54:52 -0500 Subject: [PATCH 013/147] feat: add vg giraffe task --- tools/vg.wdl | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/tools/vg.wdl b/tools/vg.wdl index 6407a79a9..86f2a95f2 100644 --- a/tools/vg.wdl +++ b/tools/vg.wdl @@ -1,5 +1,110 @@ version 1.2 +task giraffe { + meta { + description: "Align DNA sequences against a variation graph using vg giraffe" + outputs: { + alignments: "The output alignment file in GAM format" + } + } + + parameter_meta { + read_one_fastq_gz: "Input gzipped FASTQ read one file to align with vg giraffe" + gbz_graph: "The vg GBZ graph file for the reference genome" + minimizer_index: "The vg minimizer index file for the reference genome" + zipcode_name: "The vg zipcode name file for the reference genome" + distance_index: "The vg distance index file for the reference genome" + read_two_fastq_gz: "Input gzipped FASTQ read two file to align with vg giraffe" + haploytype: "The haplotype information file" + kff: "The KFF file containing kmer counts" + sample_name: "The sample name to include" + read_group: "The read group" + output_name: "The name of the output alignment file" + output_format: { + description: "The output format for alignments", + options: [ + "gam", + "gaf", + "json", + "tsv", + "SAM", + "BAM", + "CRAM", + ], + } + preset: { + description: "vg giraffe preset for alignment", + options: [ + "chaining-sr", + "default", + "fast", + "hifi", + "r10", + "srold", + ], + } + threads: "Number of threads to use for alignment" + modify_disk_size_gb: "Additional disk space to allocate (in GB)" + } + + input { + File read_one_fastq_gz + File gbz_graph + File minimizer_index + File zipcode_name + File distance_index + File? read_two_fastq_gz + File? haploytype + File? kff + String? sample_name + String? read_group + String output_name = "aligned.bam" + String output_format = "BAM" + String preset = "default" + Int threads = 4 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(( + size(read_one_fastq_gz, "GiB") + size(read_two_fastq_gz, "GiB") + ) * 2) + + ceil(size(gbz_graph, "GiB")) + + ceil(size(minimizer_index, "GiB")) + + ceil(size(distance_index, "GiB")) + + ceil(size(zipcode_name, "GiB")) + + 10 + + modify_disk_size_gb + + command <<< + vg giraffe \ + -t ~{threads} \ + -Z "~{gbz_graph}" \ + -m "~{minimizer_index}" \ + -d "~{distance_index}" \ + -z "~{zipcode_name}" \ + -f "~{read_one_fastq_gz}" \ + ~{if defined(read_two_fastq_gz) then "-f \"~{read_two_fastq_gz}\"" else ""} \ + -o "~{output_format}" \ + ~{if defined(sample_name) then "--sample \"~{sample_name}\"" else ""} \ + ~{if defined(read_group) then "--read-group \"~{read_group}\"" else ""} \ + ~{if defined(haploytype) then "--haplotype-name \"~{haploytype}\"" else ""} \ + ~{if defined(kff) then "--kff-name \"~{kff}\"" else ""} \ + --parameter-preset "~{preset}" \ + > "~{output_name}" + >>> + + output { + File alignments = "~{output_name}" + } + + requirements { + container: "quay.io/biocontainers/vg:1.70.0--h9ee0642_0" + cpu: threads + memory: "120 GB" + disks: "~{disk_size_gb} GB" + } +} + task index { meta { description: "Index a reference genome for alignment with vg giraffe" From a921e17f160ec24c8bbb432cf082c2532fb1b914 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 9 Dec 2025 14:23:38 -0600 Subject: [PATCH 014/147] chore: avoid writing intermediate SAM to disk --- tools/minimap2.wdl | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tools/minimap2.wdl b/tools/minimap2.wdl index d953a5e39..3a8dd364d 100644 --- a/tools/minimap2.wdl +++ b/tools/minimap2.wdl @@ -89,12 +89,10 @@ task align { "~{reference_index}" \ "~{read_one_fastq_gz}" \ ~{if defined(read_two_fastq_gz) then "\"~{read_two_fastq_gz}\"" else ""} \ - > output - - if ~{output_paf}; then - mv output "~{output_name}" + | if ~{output_paf}; then + cat - > "~{output_name}" else - samtools view -b output > "~{output_name}" + samtools view -b - > "~{output_name}" fi >>> From 2dc478a40cc8b05a350767768c6d555ba57d4db0 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 12 Dec 2025 09:33:30 -0500 Subject: [PATCH 015/147] chore: use database prefix --- tools/hisat2.wdl | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tools/hisat2.wdl b/tools/hisat2.wdl index bd06d2eaa..e61c75439 100644 --- a/tools/hisat2.wdl +++ b/tools/hisat2.wdl @@ -34,13 +34,21 @@ task align { + modify_disk_size_gb command <<< + set -euo pipefail + + mkdir hisat2_db + tar -C hisat2_db -xzf "~{hisat2_db_tar_gz}" --no-same-owner + PREFIX=$(basename hisat2_db/*.1.ht2 ".1.ht2") + hisat2 \ -q \ -p ~{threads} \ - -x "~{reference_index}" \ + -S "~{output_name}" \ + -x "$PREFIX" \ -1 "~{read_one_fastq_gz}" \ - ~{if defined(read_two_fastq_gz) then "-2 \"~{read_two_fastq_gz}\"" else ""} \ - -S "~{output_name}" + ~{if defined(read_two_fastq_gz) then "-2 \"~{read_two_fastq_gz}\"" else ""} + + rm -r hisat2_db >>> output { From 1c832fcc43fd2b078ca6d949c8c92d5eed0d4f7c Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 12 Dec 2025 13:23:10 -0600 Subject: [PATCH 016/147] chore: bump resources for azure --- tools/hisat2.wdl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/hisat2.wdl b/tools/hisat2.wdl index e61c75439..56d143556 100644 --- a/tools/hisat2.wdl +++ b/tools/hisat2.wdl @@ -29,7 +29,7 @@ task align { Int disk_size_gb = ceil(( size(read_one_fastq_gz, "GiB") + size(read_two_fastq_gz, "GiB") ) * 2) - + ceil(size(reference_index, "GiB")) + + ceil(size(reference_index, "GiB") * 5) + 10 + modify_disk_size_gb @@ -37,14 +37,14 @@ task align { set -euo pipefail mkdir hisat2_db - tar -C hisat2_db -xzf "~{hisat2_db_tar_gz}" --no-same-owner + tar -C hisat2_db -xzf "~{reference_index}" --no-same-owner PREFIX=$(basename hisat2_db/*.1.ht2 ".1.ht2") hisat2 \ -q \ -p ~{threads} \ -S "~{output_name}" \ - -x "$PREFIX" \ + -x "hisat2_db/$PREFIX" \ -1 "~{read_one_fastq_gz}" \ ~{if defined(read_two_fastq_gz) then "-2 \"~{read_two_fastq_gz}\"" else ""} @@ -57,7 +57,7 @@ task align { requirements { cpu: threads - memory: "16 GB" + memory: "64 GB" disks: "~{disk_size_gb} GB" container: "ghcr.io/stjudecloud/hisat2:branch-minimap2-2.2.1-0" } From bd841324406b61c7fd5ddf842c8228496a17d943 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 12 Dec 2025 14:28:50 -0500 Subject: [PATCH 017/147] chore: format+lint --- tools/hisat2.wdl | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tools/hisat2.wdl b/tools/hisat2.wdl index 56d143556..a049ec07e 100644 --- a/tools/hisat2.wdl +++ b/tools/hisat2.wdl @@ -4,7 +4,7 @@ task align { meta { description: "Align RNA-seq reads against a reference genome using HISAT2" outputs: { - alignments: "The output alignment file in SAM format" + alignments: "The output alignment file in SAM format", } } @@ -67,7 +67,7 @@ task index { meta { description: "Index a reference genome for alignment with HISAT2" outputs: { - reference_index: "The HISAT2 index files for the reference genome" + reference_index: "The HISAT2 index files for the reference genome", } } @@ -156,7 +156,11 @@ task index { ~{if defined(repeat_ref) then "--repeat-ref \"~{repeat_ref}\"" else ""} \ ~{if defined(repeat_info) then "--repeat-info \"~{repeat_info}\"" else ""} \ ~{if defined(repeat_snp) then "--repeat-snp \"~{repeat_snp}\"" else ""} \ - ~{if defined(repeat_haplotype) then "--repeat-haplotype \"~{repeat_haplotype}\"" else ""} \ + ~{( + if defined(repeat_haplotype) + then "--repeat-haplotype \"~{repeat_haplotype}\"" + else "" + )} \ ~{if defined(seed) then "--seed \"~{seed}\"" else ""} \ "$ref_fasta" \ "~{index_base_name}" From 8abaf9c35b7d2a81537ef0e411d35fd5ea4d9a52 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 18 Dec 2025 08:09:43 -0600 Subject: [PATCH 018/147] chore: remove memory oversubscribe --- tools/bwamem2.wdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/bwamem2.wdl b/tools/bwamem2.wdl index 15a499fd2..c34634a73 100644 --- a/tools/bwamem2.wdl +++ b/tools/bwamem2.wdl @@ -75,7 +75,7 @@ task align { requirements { container: "ghcr.io/stjudecloud/bwamem2:branch-minimap2-2.3-0" cpu: threads - memory: "~{disk_size_gb * 2} GB" + memory: "64 GB" disks: "~{disk_size_gb} GB" } } From d42fbfb0e14867b77939912ba268ddcfb10ea8d3 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 18 Dec 2025 13:52:47 -0500 Subject: [PATCH 019/147] feat: add strelka and manta wrappers --- tools/manta.wdl | 125 ++++++++++++++++++++++++++++++++++++++ tools/strelka.wdl | 151 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 276 insertions(+) create mode 100644 tools/manta.wdl create mode 100644 tools/strelka.wdl diff --git a/tools/manta.wdl b/tools/manta.wdl new file mode 100644 index 000000000..29946b749 --- /dev/null +++ b/tools/manta.wdl @@ -0,0 +1,125 @@ +version 1.2 + +task manta_germline { + meta { + description: "Run Manta structural variant and indel caller" + outputs: { + manta_output: "Directory containing Manta variant calls", + log_file: "Log file from the Manta workflow execution", + } + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + bam: "Input BAM file with aligned reads" + output_dir: "Directory to store Manta output" + threads: "Number of threads to use" + modify_disk_size_gb: "Additional disk size in GB to allocate" + } + + input { + File reference_fasta + File bam + String output_dir = "manta_output" + Int threads = 4 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + + ceil(size(bam, "GiB")) + + 20 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + + configManta.py \ + --bam "~{bam}" \ + --referenceFasta "$ref_fasta" \ + --runDir "~{output_dir}" + + "~{output_dir}/runWorkflow.py" -j "~{threads}" + + rm -rf "$ref_fasta" + >>> + + output { + Directory manta_output = output_dir + File log_file = "~{output_dir}/manta.log" + } + + requirements { + container: "quay.io/biocontainers/manta:1.6.0--py27h9948957_6" + cpu: threads + memory: "25 GB" + disks: "~{disk_size_gb} GB" + } +} + +task manta_somatic { + meta { + description: "Run Manta structural variant and indel caller in somatic mode" + outputs: { + manta_output: "Directory containing Manta variant calls", + log_file: "Log file from the Manta workflow execution", + } + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + tumor_bam: "Input BAM file with aligned reads from tumor sample" + normal_bam: "Input BAM file with aligned reads from normal sample" + output_dir: "Directory to store Manta output" + threads: "Number of threads to use" + modify_disk_size_gb: "Additional disk size in GB to allocate" + } + + input { + File reference_fasta + File tumor_bam + File normal_bam + String output_dir = "manta_output" + Int threads = 4 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + + ceil(size(tumor_bam, "GiB")) + + ceil(size(normal_bam, "GiB")) + + 20 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + + configManta.py \ + --normalBam "~{normal_bam}" \ + --tumorBam "~{tumor_bam}" \ + --referenceFasta "$ref_fasta" \ + --runDir "~{output_dir}" + + "~{output_dir}/runWorkflow.py" -j "~{threads}" + + rm -rf "$ref_fasta" + >>> + + output { + Directory manta_output = output_dir + File log_file = "~{output_dir}/workspace/pyflow.data/logs/pyflow_log.txt" + } + + requirements { + container: "quay.io/biocontainers/manta:1.6.0--py27h9948957_6" + cpu: threads + memory: "25 GB" + disks: "~{disk_size_gb} GB" + } +} diff --git a/tools/strelka.wdl b/tools/strelka.wdl new file mode 100644 index 000000000..b986693a4 --- /dev/null +++ b/tools/strelka.wdl @@ -0,0 +1,151 @@ +version 1.2 + +task somatic { + meta { + description: "Run Strelka somatic variant calling workflow" + outputs: { + strelka_output: "Directory containing Strelka somatic variant calls", + log_file: "Log file from the Strelka workflow execution", + } + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + normal_bam: "Input BAM file with aligned reads for normal sample" + tumor_bam: "Input BAM file with aligned reads for tumor sample" + indel_candidates: "Optional VCF file with candidate indels, recommended to be generated by Manta" + output_dir: "Directory to store Strelka output" + exome: "Boolean indicating if the data is exome sequencing" + rna: "Boolean indicating if the data is RNA sequencing" + threads: "Number of threads to use" + modify_disk_size_gb: "Additional disk size in GB to allocate" + } + + input { + File reference_fasta + File normal_bam + File tumor_bam + File? indel_candidates + String output_dir = "strelka_somatic_output" + Boolean exome = false + Boolean rna = false + Int threads = 4 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + + ceil(size(normal_bam, "GiB")) + + ceil(size(tumor_bam, "GiB")) + + ( + if defined(indel_candidates) + then ceil(size(indel_candidates, "GiB")) + else 0 + ) + + 20 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + + configureStrelkaSomaticWorkflow.py \ + --referenceFasta "$ref_fasta" \ + --runDir "~{output_dir}" \ + --tumorBam "~{tumor_bam}" \ + --normalBam "~{normal_bam}" \ + ~{if (exome) then "--exome" else ""} \ + ~{if (rna) then "--rna" else ""} \ + ~{( + if (defined(indel_candidates)) + then "--indelCandidates '~{indel_candidates}'" + else "" + )} + + + "~{output_dir}/runWorkflow.py" -m local -j ~{threads} + + rm -rf "$ref_fasta" + >>> + + output { + Directory strelka_output = output_dir + File log_file = "~{output_dir}/workspace/pyflow.data/logs/pyflow_log.txt" + } + + requirements { + container: "quay.io/biocontainers/strelka:2.9.10--hdfd78af_2" + cpu: threads + memory: "25 GB" + disks: "~{disk_size_gb} GB" + } +} + +task germline { + meta { + description: "Run Strelka germline variant calling workflow" + outputs: { + strelka_output: "Directory containing Strelka germline variant calls", + log_file: "Log file from the Strelka workflow execution", + } + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + bam: "Input BAM file with aligned reads" + output_dir: "Directory to store Strelka output" + exome: "Boolean indicating if the data is exome sequencing" + rna: "Boolean indicating if the data is RNA sequencing" + threads: "Number of threads to use" + modify_disk_size_gb: "Additional disk size in GB to allocate" + } + + input { + File reference_fasta + File bam + String output_dir = "strelka_germline_output" + Boolean exome = false + Boolean rna = false + Int threads = 4 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + + ceil(size(bam, "GiB")) + + 20 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + + configureStrelkaGermlineWorkflow.py \ + --referenceFasta "$ref_fasta" \ + --runDir "~{output_dir}" \ + --bam "~{bam}" \ + ~{if (exome) then "--exome" else ""} \ + ~{if (rna) then "--rna" else ""} + + + "~{output_dir}/runWorkflow.py" -m local -j ~{threads} + + rm -rf "$ref_fasta" + >>> + + output { + Directory strelka_output = output_dir + File log_file = "~{output_dir}/workspace/pyflow.data/logs/pyflow_log.txt" + } + + requirements { + container: "quay.io/biocontainers/strelka:2.9.10--hdfd78af_2" + cpu: threads + memory: "25 GB" + disks: "~{disk_size_gb} GB" + } +} From 589190dc9061fa72bedf9aa90b5832904038ce52 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 18 Dec 2025 14:25:59 -0500 Subject: [PATCH 020/147] feat: add clair3 wrapper --- tools/clair3.wdl | 90 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 tools/clair3.wdl diff --git a/tools/clair3.wdl b/tools/clair3.wdl new file mode 100644 index 000000000..6b23f1de7 --- /dev/null +++ b/tools/clair3.wdl @@ -0,0 +1,90 @@ +version 1.2 + +task clair3 { + meta { + description: "Run Clair3 variant caller for small variants using deep neural networks" + outputs: { + pileup_vcf: "VCF file with variants called using pileup model", + full_alignment_vcf: "VCF file with variants called using full-alignment model", + merged_vcf: "Final merged VCF file with variants from both models", + } + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + bam: "Input BAM file with aligned reads" + model: "Pre-trained Clair3 model to use for variant calling" + bed_regions: "Optional BED file specifying regions to call variants in" + vcf_candidates: "Optional VCF file with candidate variants to consider" + output_dir: "Directory to store Clair3 output" + platform: { + description: "Sequencing platform used to generate the reads", + choices: [ + "ont", + "hifi", + "ilmn", + ], + } + all_contigs: "Boolean indicating whether to include all contigs in variant calling. If false only chr{1..22,X,Y} are called." + print_ref_calls: "Boolean indicating whether to print reference calls in the output VCF" + gvcf: "Boolean indicating whether to output gVCF format" + threads: "Number of threads to use" + modify_disk_size_gb: "Additional disk size in GB to allocate" + } + + input { + File reference_fasta + File bam + File model + File? bed_regions + File? vcf_candidates + String output_dir = "clair3_output" + String platform = "ilmn" + Boolean all_contigs = false + Boolean print_ref_calls = false + Boolean gvcf = false + Int threads = 4 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + + ceil(size(bam, "GiB")) + + 20 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + + ./run_clair3.sh \ + --bam_fn="~{bam}" \ + --ref_fn="$ref_fasta" \ + --threads="~{threads}" \ + --platform="~{platform}" \ + --model_path="~{model}" \ + --output="~{output_dir}" \ + ~{if all_contigs then "--include_all_ctgs" else ""} \ + ~{if print_ref_calls then "--print_ref_calls" else ""} \ + ~{if defined(bed_regions) then "--bed_fn='~{bed_regions}'" else ""} \ + ~{if defined(vcf_candidates) then "--vcf_fn='~{vcf_candidates}'" else ""} \ + ~{if gvcf then "--gvcf" else ""} + + rm -rf "$ref_fasta" + >>> + + output { + File pileup_vcf = "~{output_dir}/pileup.vcf.gz" + File full_alignment_vcf = "~{output_dir}/full_alignment.vcf.gz" + File merged_vcf = "~{output_dir}/merge_output.vcf.gz" + } + + requirements { + container: "quay.io/biocontainers/clair3:1.2.0--py310h779eee5_0" + cpu: threads + memory: "16 GB" + disks: "~{disk_size_gb} GB" + } +} From efb1d50cc9d9542d309795e79b7d471ef51f5dfc Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 18 Dec 2025 14:51:13 -0500 Subject: [PATCH 021/147] chore: fix invocation --- tools/{clair3.wdl => clair.wdl} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename tools/{clair3.wdl => clair.wdl} (99%) diff --git a/tools/clair3.wdl b/tools/clair.wdl similarity index 99% rename from tools/clair3.wdl rename to tools/clair.wdl index 6b23f1de7..20225f61c 100644 --- a/tools/clair3.wdl +++ b/tools/clair.wdl @@ -59,7 +59,7 @@ task clair3 { gunzip -c "~{reference_fasta}" > "$ref_fasta" \ || ln -sf "~{reference_fasta}" "$ref_fasta" - ./run_clair3.sh \ + run_clair3.sh \ --bam_fn="~{bam}" \ --ref_fn="$ref_fasta" \ --threads="~{threads}" \ From 25681c72a9546488bed2848dedb3a8178f2126c6 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 18 Dec 2025 15:48:41 -0500 Subject: [PATCH 022/147] feat: add NGSEP wrapper --- docker/ngsep/Dockerfile | 5 ++++ docker/ngsep/package.json | 5 ++++ tools/ngsep.wdl | 59 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 docker/ngsep/Dockerfile create mode 100644 docker/ngsep/package.json create mode 100644 tools/ngsep.wdl diff --git a/docker/ngsep/Dockerfile b/docker/ngsep/Dockerfile new file mode 100644 index 000000000..d7c3ada65 --- /dev/null +++ b/docker/ngsep/Dockerfile @@ -0,0 +1,5 @@ +FROM eclipse-temurin:8 + +RUN wget https://github.com/NGSEP/NGSEPcore/releases/download/v5.1.0/NGSEPcore_5.1.0.jar -O /usr/local/bin/NGSEPcore.jar + +ENTRYPOINT [ "java", "-jar", "/usr/local/bin/NGSEPcore.jar" ] \ No newline at end of file diff --git a/docker/ngsep/package.json b/docker/ngsep/package.json new file mode 100644 index 000000000..19a575139 --- /dev/null +++ b/docker/ngsep/package.json @@ -0,0 +1,5 @@ +{ + "name": "ngsep", + "version": "5.1.0", + "revision": "0" +} diff --git a/tools/ngsep.wdl b/tools/ngsep.wdl new file mode 100644 index 000000000..bf93f9472 --- /dev/null +++ b/tools/ngsep.wdl @@ -0,0 +1,59 @@ +version 1.2 + +task germline_variant { + meta { + description: "Call germline variants using NGSEP" + outputs: { + vcf_output: "VCF file containing called germline variants" + } + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + bam: "Input BAM file with aligned reads" + output_prefix: "Prefix for the output file with called variants" + threads: "Number of threads to use" + modify_disk_size_gb: "Additional disk size in GB to allocate" + } + + input { + File reference_fasta + File bam + String output_prefix = "ngsep_germline_output" + Int threads = 4 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + + ceil(size(bam, "GiB")) + + 20 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + + java -Xmx16g -jar /usr/local/bin/NGSEPcore.jar \ + SingleSampleVariantsDetector \ + -r "$ref_fasta" \ + -i "~{bam}" \ + -o "~{output_prefix}" \ + -t "~{threads}" + + rm -rf "$ref_fasta" + >>> + + output { + Array[File] vcf_output = glob("~{output_prefix}*") + } + + requirements { + container: "ghcr.io/stjude/ngsep:5.1.0-0" + cpu: threads + memory: "20 GB" + disks: "~{disk_size_gb} GB" + } +} From 1083326853229804e8d2675c0f353a0800c412de Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 18 Dec 2025 17:27:15 -0500 Subject: [PATCH 023/147] feat: add deepsomatic and deepvariant wrappers with GPU support --- tools/deepvariant.wdl | 216 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 216 insertions(+) create mode 100644 tools/deepvariant.wdl diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl new file mode 100644 index 000000000..c5c1a3ad9 --- /dev/null +++ b/tools/deepvariant.wdl @@ -0,0 +1,216 @@ +version 1.2 + +task deepsomatic { + meta { + description: "Call variants using DeepSomatic" + outputs: { + vcf_output: "VCF file containing called somatic variants", + gvcf_output: "gVCF file containing called somatic variants", + runtime: "Optional HTML report of runtime metrics", + vcf_stats: "Optional HTML report of VCF statistics", + } + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" + tumor_bam: "Input BAM file with aligned reads for tumor sample" + normal_bam: "Input BAM file with aligned reads for normal sample" + output_prefix: "Prefix for output VCF and gVCF files" + tumor_sample_name: "Sample name for the tumor sample" + normal_sample_name: "Sample name for the normal sample" + model_type: { + description: "Type of model to use for variant calling", + choices: [ + "WGS", + "WES", + "PACBIO", + "ONT", + "FFPE_WGS", + "FFPE_WES", + "FFPE_WGS_TUMOR_ONLY", + "FFPE_WES_TUMOR_ONLY", + "WGS_TUMOR_ONLY", + "WES_TUMOR_ONLY", + "PACBIO_TUMOR_ONLY", + "ONT_TUMOR_ONLY", + ], + } + runtime_report: "Output make_examples_somatic runtime metrics and create a visual runtime report using runtime_by_region_vis." + vcf_stats_report: "Output a visual report (HTML) of statistics about the output VCF." + threads: "Number of threads to use" + modify_disk_size_gb: "Additional disk size in GB to allocate" + } + + input { + File reference_fasta + File reference_fasta_index + File tumor_bam + File normal_bam + String output_prefix = "deepsomatic_output" + String tumor_sample_name = "tumor" + String normal_sample_name = "normal" + String model_type = "WGS" + Boolean runtime_report = false + Boolean vcf_stats_report = false + Int threads = 8 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + + ceil(size(tumor_bam, "GiB")) + + ceil(size(normal_bam, "GiB")) + + 50 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + + run_deepsomatic \ + --model_type="~{model_type}" \ + --ref="$ref_fasta" \ + --tumor_bam="~{tumor_bam}" \ + --normal_bam="~{normal_bam}" \ + --output_vcf="~{output_prefix}.vcf.gz" \ + --output_gvcf="~{output_prefix}.g.vcf.gz" \ + --tumor_sample_name="~{tumor_sample_name}" \ + --normal_sample_name="~{normal_sample_name}" \ + --num_shards="~{threads}" \ + --logging_dir="logs" \ + --intermediate_results_dir="intermediate_results" \ + ~{if runtime_report then "--runtime_report" else ""} \ + ~{if vcf_stats_report then "--vcf_stats_report" else ""} + + + rm -rf "$ref_fasta" + + >>> + + output { + File vcf_output = "~{output_prefix}.vcf.gz" + File gvcf_output = "~{output_prefix}.g.vcf.gz" + File? runtime = "logs/runtime_by_region_vis.html" + File? vcf_stats = "logs/vcf_stats_report.html" + } + + requirements { + container: "google/deepsomatic:1.9.0-gpu" + cpu: threads + memory: "32 GB" + disks: "~{disk_size_gb} GB" + gpu: true + } + + hints { + gpu: 1 + } +} + +task deepvariant { + meta { + description: "Call variants using DeepVariant" + outputs: { + vcf_output: "VCF file containing called variants", + gvcf_output: "gVCF file containing called variants", + runtime: "Optional HTML report of runtime metrics", + vcf_stats: "Optional HTML report of VCF statistics", + } + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" + bam: "Input BAM file with aligned reads for sample" + haploid_chromosomes: "List of chromosomes to be treated as haploid during variant calling" + output_prefix: "Prefix for output VCF and gVCF files" + model_type: { + description: "Type of model to use for variant calling", + choices: [ + "WGS", + "WES", + "PACBIO", + "ONT", + "FFPE_WGS", + "FFPE_WES", + "FFPE_WGS_TUMOR_ONLY", + "FFPE_WES_TUMOR_ONLY", + "WGS_TUMOR_ONLY", + "WES_TUMOR_ONLY", + "PACBIO_TUMOR_ONLY", + "ONT_TUMOR_ONLY", + ], + } + runtime_report: "Output make_examples_somatic runtime metrics and create a visual runtime report using runtime_by_region_vis." + vcf_stats_report: "Output a visual report (HTML) of statistics about the output VCF." + threads: "Number of threads to use" + modify_disk_size_gb: "Additional disk size in GB to allocate" + } + + input { + File reference_fasta + File reference_fasta_index + File bam + Array[String] haploid_chromosomes = ["chrX", "chrY"] + String output_prefix = "deepsomatic_output" + String model_type = "WGS" + Boolean runtime_report = false + Boolean vcf_stats_report = false + Int threads = 8 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + + ceil(size(bam, "GiB")) + + 50 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + + run_deepvariant \ + --model_type="~{model_type}" \ + --ref="$ref_fasta" \ + --reads="~{bam}" \ + --output_vcf="~{output_prefix}.vcf.gz" \ + --output_gvcf="~{output_prefix}.g.vcf.gz" \ + --num_shards="~{threads}" \ + --logging_dir="logs" \ + --intermediate_results_dir="intermediate_results" \ + ~{if runtime_report then "--runtime_report" else ""} \ + ~{if vcf_stats_report then "--vcf_stats_report" else ""} \ + --haploid_contigs="~{sep(",", haploid_chromosomes)}" + + + rm -rf "$ref_fasta" + + >>> + + output { + File vcf_output = "~{output_prefix}.vcf.gz" + File gvcf_output = "~{output_prefix}.g.vcf.gz" + File? runtime = "logs/runtime_by_region_vis.html" + File? vcf_stats = "logs/vcf_stats_report.html" + } + + requirements { + container: "google/deepvariant:1.9.0-gpu" + cpu: threads + memory: "32 GB" + disks: "~{disk_size_gb} GB" + gpu: true + } + + hints { + gpu: 1 + } +} From 30d11593c4ecf571ce4fb9b07bf03b1367e4cd76 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 19 Dec 2025 12:45:46 -0500 Subject: [PATCH 024/147] chore: change hisat2 output to BAM --- tools/hisat2.wdl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/hisat2.wdl b/tools/hisat2.wdl index a049ec07e..9e9dcb250 100644 --- a/tools/hisat2.wdl +++ b/tools/hisat2.wdl @@ -21,7 +21,7 @@ task align { File read_one_fastq_gz File reference_index File? read_two_fastq_gz - String output_name = "aligned.sam" + String output_name = "aligned.bam" Int threads = 4 Int modify_disk_size_gb = 0 } @@ -40,13 +40,15 @@ task align { tar -C hisat2_db -xzf "~{reference_index}" --no-same-owner PREFIX=$(basename hisat2_db/*.1.ht2 ".1.ht2") + mkfifo hisat2_stdout_pipe hisat2 \ -q \ -p ~{threads} \ - -S "~{output_name}" \ + -S hisat2_stdout_pipe \ -x "hisat2_db/$PREFIX" \ -1 "~{read_one_fastq_gz}" \ - ~{if defined(read_two_fastq_gz) then "-2 \"~{read_two_fastq_gz}\"" else ""} + ~{if defined(read_two_fastq_gz) then "-2 \"~{read_two_fastq_gz}\"" else ""} & + samtools view -bS hisat2_stdout_pipe > "~{output_name}" rm -r hisat2_db >>> From e58c2edecbe0c6b65cca1ced3ff650a32d4cf39d Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 19 Dec 2025 12:47:43 -0500 Subject: [PATCH 025/147] chore: write to stdout instead of fifo --- tools/hisat2.wdl | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tools/hisat2.wdl b/tools/hisat2.wdl index 9e9dcb250..aa3077859 100644 --- a/tools/hisat2.wdl +++ b/tools/hisat2.wdl @@ -40,15 +40,13 @@ task align { tar -C hisat2_db -xzf "~{reference_index}" --no-same-owner PREFIX=$(basename hisat2_db/*.1.ht2 ".1.ht2") - mkfifo hisat2_stdout_pipe hisat2 \ -q \ -p ~{threads} \ - -S hisat2_stdout_pipe \ -x "hisat2_db/$PREFIX" \ -1 "~{read_one_fastq_gz}" \ - ~{if defined(read_two_fastq_gz) then "-2 \"~{read_two_fastq_gz}\"" else ""} & - samtools view -bS hisat2_stdout_pipe > "~{output_name}" + ~{if defined(read_two_fastq_gz) then "-2 \"~{read_two_fastq_gz}\"" else ""} \ + | samtools view -bS - > "~{output_name}" rm -r hisat2_db >>> From e680a5b4248e69ecfe9d58145d0dbef7489df3d0 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 22 Dec 2025 16:07:33 -0500 Subject: [PATCH 026/147] chore: add undocumented FAI requirement --- tools/strelka.wdl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/strelka.wdl b/tools/strelka.wdl index b986693a4..73b0236b0 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -11,6 +11,7 @@ task somatic { parameter_meta { reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" normal_bam: "Input BAM file with aligned reads for normal sample" tumor_bam: "Input BAM file with aligned reads for tumor sample" indel_candidates: "Optional VCF file with candidate indels, recommended to be generated by Manta" @@ -23,6 +24,7 @@ task somatic { input { File reference_fasta + File reference_fasta_index File normal_bam File tumor_bam File? indel_candidates @@ -50,6 +52,7 @@ task somatic { ref_fasta=~{basename(reference_fasta, ".gz")} gunzip -c "~{reference_fasta}" > "$ref_fasta" \ || ln -sf "~{reference_fasta}" "$ref_fasta" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" configureStrelkaSomaticWorkflow.py \ --referenceFasta "$ref_fasta" \ @@ -94,6 +97,7 @@ task germline { parameter_meta { reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" bam: "Input BAM file with aligned reads" output_dir: "Directory to store Strelka output" exome: "Boolean indicating if the data is exome sequencing" @@ -104,6 +108,7 @@ task germline { input { File reference_fasta + File reference_fasta_index File bam String output_dir = "strelka_germline_output" Boolean exome = false @@ -123,6 +128,7 @@ task germline { ref_fasta=~{basename(reference_fasta, ".gz")} gunzip -c "~{reference_fasta}" > "$ref_fasta" \ || ln -sf "~{reference_fasta}" "$ref_fasta" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" configureStrelkaGermlineWorkflow.py \ --referenceFasta "$ref_fasta" \ From 60dce466b9861c5cfb5851852a4b0281af1d28c6 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 23 Dec 2025 09:33:09 -0500 Subject: [PATCH 027/147] chore: add error checking to minimap2 --- tools/minimap2.wdl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/minimap2.wdl b/tools/minimap2.wdl index 3a8dd364d..d2118a630 100644 --- a/tools/minimap2.wdl +++ b/tools/minimap2.wdl @@ -74,6 +74,8 @@ task align { + modify_disk_size_gb command <<< + set -euo pipefail + minimap2 \ ~{if defined(preset) then "-x \"~{preset}\"" else ""} \ ~{if output_paf then "" else "-a"} \ From f614485d9a24a43467fddc588d9a25d680427262 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 15 Jan 2026 11:55:48 -0500 Subject: [PATCH 028/147] chore: cleanup reference files --- tools/bwamem2.wdl | 4 ++++ tools/deepvariant.wdl | 1 - tools/hisat2.wdl | 2 ++ tools/minimap2.wdl | 4 +++- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/tools/bwamem2.wdl b/tools/bwamem2.wdl index c34634a73..765fc44a5 100644 --- a/tools/bwamem2.wdl +++ b/tools/bwamem2.wdl @@ -66,6 +66,8 @@ task align { "~{read_one_fastq_gz}" \ ~{if defined(read_two_fastq_gz) then "\"~{read_two_fastq_gz}\"" else ""} | samtools view -b -o "~{output_name}" - + + rm -r bwa_db >>> output { @@ -115,6 +117,8 @@ task index { "$ref_fasta" tar -czf "~{bwa_db_out_name}" "$ref_fasta"* + + rm -r "$ref_fasta" >>> output { diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl index c5c1a3ad9..24d789fb6 100644 --- a/tools/deepvariant.wdl +++ b/tools/deepvariant.wdl @@ -192,7 +192,6 @@ task deepvariant { rm -rf "$ref_fasta" - >>> output { diff --git a/tools/hisat2.wdl b/tools/hisat2.wdl index aa3077859..f63dd49b9 100644 --- a/tools/hisat2.wdl +++ b/tools/hisat2.wdl @@ -166,6 +166,8 @@ task index { "~{index_base_name}" tar -czf "~{index_base_name}.tar.gz" "~{index_base_name}"* + + rm -r "$ref_fasta" >>> output { diff --git a/tools/minimap2.wdl b/tools/minimap2.wdl index d2118a630..41975e1ed 100644 --- a/tools/minimap2.wdl +++ b/tools/minimap2.wdl @@ -68,7 +68,7 @@ task align { Int disk_size_gb = ceil( ( size(read_one_fastq_gz, "GiB") + size(read_two_fastq_gz, "GiB") - ) * 2) + ) * 3) + ceil(size(reference_index, "GiB")) + 10 + modify_disk_size_gb @@ -154,6 +154,8 @@ task index { -t ~{threads} \ -d "~{index_name}" \ "$ref_fasta" + + rm -r "$ref_fasta" >>> output { From 352fa6f11ef27a9856c63807eb396bfc2d1fcd7c Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 20 Jan 2026 11:44:08 -0500 Subject: [PATCH 029/147] chore: minimum cores to 1 --- tools/bwa.wdl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/bwa.wdl b/tools/bwa.wdl index dbba3f2e7..3c407a326 100644 --- a/tools/bwa.wdl +++ b/tools/bwa.wdl @@ -62,7 +62,7 @@ task bwa_aln { n_cores=$(nproc) fi # -1 because samtools uses one more core than `--threads` specifies - (( samtools_cores = n_cores - 1 )) + (( samtools_cores = n_cores - 1 || 1 )) mkdir bwa_db tar -C bwa_db -xzf "~{bwa_db_tar_gz}" --no-same-owner @@ -160,7 +160,7 @@ task bwa_aln_pe { n_cores=$(nproc) fi # -1 because samtools uses one more core than `--threads` specifies - (( samtools_cores = n_cores - 1 )) + (( samtools_cores = n_cores - 1 || 1 )) mkdir bwa_db tar -C bwa_db -xzf "~{bwa_db_tar_gz}" --no-same-owner @@ -257,7 +257,7 @@ task bwa_mem { n_cores=$(nproc) fi # -1 because samtools uses one more core than `--threads` specifies - (( samtools_cores = n_cores - 1 )) + (( samtools_cores = n_cores - 1 || 1 )) mkdir bwa_db tar -C bwa_db -xzf "~{bwa_db_tar_gz}" --no-same-owner From 339f20ae4cff45cf01c9398b282c51a597242080 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 2 Feb 2026 09:11:42 -0500 Subject: [PATCH 030/147] chore: update danio rerio url and add memory request --- tools/util.wdl | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/util.wdl b/tools/util.wdl index 3bb4c5963..c388ecc5a 100644 --- a/tools/util.wdl +++ b/tools/util.wdl @@ -304,6 +304,7 @@ task make_coverage_regions_bed { } runtime { + memory: "8 GB" disks: "~{disk_size_gb} GB" container: "quay.io/biocontainers/bedops:2.4.41--h9f5acd7_0" maxRetries: 1 From df13caf7ba6b8c1dfbca38e49e04e5a295f262ec Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 2 Feb 2026 08:18:50 -0600 Subject: [PATCH 031/147] chore: scale memory with threads --- tools/bwa.wdl | 4 ++-- tools/bwamem2.wdl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/bwa.wdl b/tools/bwa.wdl index 3c407a326..4bc830916 100644 --- a/tools/bwa.wdl +++ b/tools/bwa.wdl @@ -250,7 +250,7 @@ task bwa_mem { ) command <<< - set -euo pipefail + set -xeuo pipefail n_cores=~{ncpu} if ~{use_all_cores}; then @@ -294,7 +294,7 @@ task bwa_mem { runtime { cpu: ncpu - memory: "25 GB" + memory: "128 GB" disks: "~{disk_size_gb} GB" container: "ghcr.io/stjudecloud/bwa:0.7.17-2" maxRetries: 1 diff --git a/tools/bwamem2.wdl b/tools/bwamem2.wdl index 765fc44a5..afbc1c89a 100644 --- a/tools/bwamem2.wdl +++ b/tools/bwamem2.wdl @@ -77,7 +77,7 @@ task align { requirements { container: "ghcr.io/stjudecloud/bwamem2:branch-minimap2-2.3-0" cpu: threads - memory: "64 GB" + memory: "~{4 * threads} GB" disks: "~{disk_size_gb} GB" } } From 8ca1901fbaed203836169dc1594982e6d81fe7d0 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 2 Feb 2026 08:20:49 -0600 Subject: [PATCH 032/147] chore: update disk specification and memory requests --- tools/md5sum.wdl | 2 +- tools/mosdepth.wdl | 2 +- tools/ngsderive.wdl | 12 ++++++------ tools/samtools.wdl | 2 +- tools/util.wdl | 5 +++-- tools/vg.wdl | 2 +- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/tools/md5sum.wdl b/tools/md5sum.wdl index e967e55c3..69880f925 100755 --- a/tools/md5sum.wdl +++ b/tools/md5sum.wdl @@ -21,7 +21,7 @@ task compute_checksum { } Float file_size = size(file, "GiB") - Int disk_size_gb = ceil(file_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(file_size) + 30 + modify_disk_size_gb String outfile_name = basename(file) + ".md5" diff --git a/tools/mosdepth.wdl b/tools/mosdepth.wdl index 69b81d1ac..99043a97f 100644 --- a/tools/mosdepth.wdl +++ b/tools/mosdepth.wdl @@ -39,7 +39,7 @@ task coverage { } Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size) + 30 + modify_disk_size_gb command <<< set -euo pipefail diff --git a/tools/ngsderive.wdl b/tools/ngsderive.wdl index 3abaac343..6aded3946 100644 --- a/tools/ngsderive.wdl +++ b/tools/ngsderive.wdl @@ -48,7 +48,7 @@ task strandedness { } Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size) + 30 + modify_disk_size_gb command <<< set -euo pipefail @@ -118,7 +118,7 @@ task instrument { } Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size) + 30 + modify_disk_size_gb command <<< set -euo pipefail @@ -177,7 +177,7 @@ task read_length { } Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size) + 30 + modify_disk_size_gb command <<< set -euo pipefail @@ -234,7 +234,7 @@ task encoding { } Float files_size = size(ngs_files, "GiB") - Int disk_size_gb = ceil(files_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(files_size) + 30 + modify_disk_size_gb command <<< ngsderive encoding --verbose \ @@ -302,7 +302,7 @@ task junction_annotation { } Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size) + 30 + modify_disk_size_gb command <<< set -euo pipefail @@ -405,7 +405,7 @@ task endedness { ) else 4 ) - Int disk_size_gb = ceil(bam_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size) + 30 + modify_disk_size_gb command <<< ngsderive endedness --verbose \ diff --git a/tools/samtools.wdl b/tools/samtools.wdl index 21a8cfd46..875cff8e3 100755 --- a/tools/samtools.wdl +++ b/tools/samtools.wdl @@ -21,7 +21,7 @@ task quickcheck { } Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size) + 30 + modify_disk_size_gb command <<< samtools quickcheck "~{bam}" diff --git a/tools/util.wdl b/tools/util.wdl index c388ecc5a..5e9fed736 100644 --- a/tools/util.wdl +++ b/tools/util.wdl @@ -149,7 +149,7 @@ task compression_integrity { } Float file_size = size(bgzipped_file, "GiB") - Int disk_size_gb = ceil(file_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(file_size) + 30 + modify_disk_size_gb command <<< bgzip -t "~{bgzipped_file}" @@ -306,6 +306,7 @@ task make_coverage_regions_bed { runtime { memory: "8 GB" disks: "~{disk_size_gb} GB" + memory: "18 GB" container: "quay.io/biocontainers/bedops:2.4.41--h9f5acd7_0" maxRetries: 1 } @@ -334,7 +335,7 @@ task global_phred_scores { } Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size) + 30 + modify_disk_size_gb String outfile_name = prefix + ".global_PHRED_scores.tsv" diff --git a/tools/vg.wdl b/tools/vg.wdl index 86f2a95f2..f81f815de 100644 --- a/tools/vg.wdl +++ b/tools/vg.wdl @@ -100,7 +100,7 @@ task giraffe { requirements { container: "quay.io/biocontainers/vg:1.70.0--h9ee0642_0" cpu: threads - memory: "120 GB" + memory: "60 GB" disks: "~{disk_size_gb} GB" } } From a37db777252baf1ecf6aded17eaf947eb420ac70 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 2 Feb 2026 08:21:58 -0600 Subject: [PATCH 033/147] chore: add missing bam index --- tools/strelka.wdl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/strelka.wdl b/tools/strelka.wdl index 73b0236b0..f9bd11994 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -99,6 +99,7 @@ task germline { reference_fasta: "Reference genome in FASTA format" reference_fasta_index: "Index file for the reference genome FASTA" bam: "Input BAM file with aligned reads" + bam_index: "Index for input BAM file" output_dir: "Directory to store Strelka output" exome: "Boolean indicating if the data is exome sequencing" rna: "Boolean indicating if the data is RNA sequencing" @@ -110,6 +111,7 @@ task germline { File reference_fasta File reference_fasta_index File bam + File bam_index String output_dir = "strelka_germline_output" Boolean exome = false Boolean rna = false From 5badc775104394bc8f0f8b5a08df31acfd705bbc Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 2 Feb 2026 09:23:37 -0500 Subject: [PATCH 034/147] chore: update danio rerio url --- workflows/reference/inputs/qc-reference-inputs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/reference/inputs/qc-reference-inputs.json b/workflows/reference/inputs/qc-reference-inputs.json index 29cb830cd..1261bf977 100644 --- a/workflows/reference/inputs/qc-reference-inputs.json +++ b/workflows/reference/inputs/qc-reference-inputs.json @@ -19,7 +19,7 @@ "https://ftp.ncbi.nlm.nih.gov/genomes/refseq/plant/Arabidopsis_thaliana/reference/GCF_000001735.4_TAIR10.1/GCF_000001735.4_TAIR10.1_genomic.fna.gz", "https://ftp.ncbi.nlm.nih.gov/genomes/refseq/invertebrate/Drosophila_melanogaster/reference/GCF_000001215.4_Release_6_plus_ISO1_MT/GCF_000001215.4_Release_6_plus_ISO1_MT_genomic.fna.gz", "https://ftp.ncbi.nlm.nih.gov/genomes/refseq/invertebrate/Caenorhabditis_elegans/reference/GCF_000002985.6_WBcel235/GCF_000002985.6_WBcel235_genomic.fna.gz", - "https://ftp.ncbi.nlm.nih.gov/genomes/refseq/vertebrate_other/Danio_rerio/reference/GCF_000002035.6_GRCz11/GCF_000002035.6_GRCz11_genomic.fna.gz" + "https://ftp.ncbi.nlm.nih.gov/genomes/refseq/vertebrate_other/Danio_rerio/reference/GCF_049306965.1_GRCz12tu/GCF_049306965.1_GRCz12tu_genomic.fna.gz" ], "qc_reference.kraken_fastas": [], "qc_reference.kraken_build_db.db_name": "custom_kraken2_db", From fb1ed4363bcb40b29a736611efe1a02e5b61b273 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 2 Feb 2026 08:33:03 -0600 Subject: [PATCH 035/147] chore: fix bad merge --- tools/util.wdl | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/util.wdl b/tools/util.wdl index 5e9fed736..53df9ef46 100644 --- a/tools/util.wdl +++ b/tools/util.wdl @@ -306,7 +306,6 @@ task make_coverage_regions_bed { runtime { memory: "8 GB" disks: "~{disk_size_gb} GB" - memory: "18 GB" container: "quay.io/biocontainers/bedops:2.4.41--h9f5acd7_0" maxRetries: 1 } From b8411d59e3def66d8ffb3bb234eec3370e6d3c21 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 2 Feb 2026 10:09:56 -0500 Subject: [PATCH 036/147] feat: add readgroup to array conversion for addreplacerg --- data_structures/read_group.wdl | 47 ++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/data_structures/read_group.wdl b/data_structures/read_group.wdl index 151f58ac8..047d770cb 100644 --- a/data_structures/read_group.wdl +++ b/data_structures/read_group.wdl @@ -416,3 +416,50 @@ task inner_read_group_to_string { maxRetries: 1 } } + +task read_group_to_array { + meta { + description: "Converts a `ReadGroup` struct to a `Array[String]` **without any validation**." + outputs: { + converted_read_group: "Input `ReadGroup` as a `Array[String]`" + } + } + + parameter_meta { + read_group: "`ReadGroup` struct to convert to array" + } + + input { + ReadGroup read_group + } + + String delimiter = "\n" + + command <<< + { + echo -n "~{"ID:" + read_group.ID}" # required field. All others optional + echo -n "~{delimiter + "BC:" + read_group.BC}" + echo -n "~{delimiter + "CN:" + read_group.CN}" + echo -n "~{delimiter + "DS:" + read_group.DS}" + echo -n "~{delimiter + "DT:" + read_group.DT}" + echo -n "~{delimiter + "FO:" + read_group.FO}" + echo -n "~{delimiter + "KS:" + read_group.KS}" + echo -n "~{delimiter + "LB:" + read_group.LB}" + echo -n "~{delimiter + "PG:" + read_group.PG}" + echo -n "~{delimiter + "PI:" + read_group.PI}" + echo -n "~{delimiter + "PL:" + read_group.PL}" + echo -n "~{delimiter + "PM:" + read_group.PM}" + echo -n "~{delimiter + "PU:" + read_group.PU}" + echo "~{delimiter + "SM:" + read_group.SM}" + } >> out.txt + >>> + + output { + Array[String] converted_read_group = read_lines("out.txt") + } + + runtime { + container: "ghcr.io/stjudecloud/util:3.0.1" + maxRetries: 1 + } +} From f749a6ce094c1f16792cc2c81c006a1ba185ed55 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 2 Feb 2026 15:03:35 -0600 Subject: [PATCH 037/147] chore: bump disk requirements --- tools/picard.wdl | 8 ++++---- tools/samtools.wdl | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/picard.wdl b/tools/picard.wdl index 8f35947d1..a57f403c7 100755 --- a/tools/picard.wdl +++ b/tools/picard.wdl @@ -87,8 +87,8 @@ task mark_duplicates { Int disk_size_gb = ( ( if create_bam - then ceil((bam_size * 2) + 10) - else ceil(bam_size + 10) + then ceil((bam_size * 2) + 30) + else ceil(bam_size + 30) ) + modify_disk_size_gb ) @@ -598,7 +598,7 @@ task collect_alignment_summary_metrics { } Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size) + 30 + modify_disk_size_gb Int java_heap_size = ceil(memory_gb * 0.9) command <<< @@ -791,7 +791,7 @@ task quality_score_distribution { } Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size) + 30 + modify_disk_size_gb Int java_heap_size = ceil(memory_gb * 0.9) command <<< diff --git a/tools/samtools.wdl b/tools/samtools.wdl index 875cff8e3..22314ca2e 100755 --- a/tools/samtools.wdl +++ b/tools/samtools.wdl @@ -863,7 +863,7 @@ task bam_to_fastq { if (retain_collated_bam && !collated && paired_end) then 5 else 2 - )) + 10 + modify_disk_size_gb + )) + 30 + modify_disk_size_gb command <<< set -euo pipefail From b2659f42ce5746e49995a43cd8772b3e790dff26 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 17 Feb 2026 10:41:16 -0600 Subject: [PATCH 038/147] chore: bump requirements --- tools/bwa.wdl | 2 +- tools/bwamem2.wdl | 2 +- tools/hisat2.wdl | 2 +- tools/picard.wdl | 8 ++++---- tools/samtools.wdl | 6 +++--- tools/strelka.wdl | 1 - 6 files changed, 10 insertions(+), 11 deletions(-) diff --git a/tools/bwa.wdl b/tools/bwa.wdl index 4bc830916..13b251a33 100644 --- a/tools/bwa.wdl +++ b/tools/bwa.wdl @@ -294,7 +294,7 @@ task bwa_mem { runtime { cpu: ncpu - memory: "128 GB" + memory: "120 GB" disks: "~{disk_size_gb} GB" container: "ghcr.io/stjudecloud/bwa:0.7.17-2" maxRetries: 1 diff --git a/tools/bwamem2.wdl b/tools/bwamem2.wdl index afbc1c89a..8e1f2e529 100644 --- a/tools/bwamem2.wdl +++ b/tools/bwamem2.wdl @@ -45,7 +45,7 @@ task align { size(read_one_fastq_gz, "GiB") + size(read_two_fastq_gz, "GiB") ) * 2) + ceil(size(reference_index, "GiB")) - + 10 + + 30 + modify_disk_size_gb command <<< diff --git a/tools/hisat2.wdl b/tools/hisat2.wdl index f63dd49b9..70b8743ed 100644 --- a/tools/hisat2.wdl +++ b/tools/hisat2.wdl @@ -57,7 +57,7 @@ task align { requirements { cpu: threads - memory: "64 GB" + memory: "120 GB" disks: "~{disk_size_gb} GB" container: "ghcr.io/stjudecloud/hisat2:branch-minimap2-2.2.1-0" } diff --git a/tools/picard.wdl b/tools/picard.wdl index a57f403c7..26b17759e 100755 --- a/tools/picard.wdl +++ b/tools/picard.wdl @@ -201,7 +201,7 @@ task validate_bam { else "" ) Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size * 2) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size * 4) + 50 + modify_disk_size_gb Int java_heap_size = ceil(memory_gb * 0.9) command <<< @@ -296,12 +296,12 @@ task sort { String sort_order = "coordinate" String prefix = basename(bam, ".bam") + ".sorted" String validation_stringency = "SILENT" - Int memory_gb = 25 + Int memory_gb = 35 Int modify_disk_size_gb = 0 } Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size * 4) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size * 4) + 30 + modify_disk_size_gb Int java_heap_size = ceil(memory_gb * 0.9) String outfile_name = prefix + ".bam" @@ -732,7 +732,7 @@ task collect_insert_size_metrics { } Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size) + 30 + modify_disk_size_gb Int java_heap_size = ceil(memory_gb * 0.9) command <<< diff --git a/tools/samtools.wdl b/tools/samtools.wdl index 22314ca2e..396c88e0c 100755 --- a/tools/samtools.wdl +++ b/tools/samtools.wdl @@ -179,7 +179,7 @@ task flagstat { } Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size) + 30 + modify_disk_size_gb command <<< set -euo pipefail @@ -659,7 +659,7 @@ task addreplacerg { } Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size * 2) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(bam_size * 2) + 50 + modify_disk_size_gb String outfile_name = prefix + ".bam" @@ -689,7 +689,7 @@ task addreplacerg { runtime { cpu: ncpu - memory: "4 GB" + memory: "8 GB" disks: "~{disk_size_gb} GB" container: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_0" maxRetries: 1 diff --git a/tools/strelka.wdl b/tools/strelka.wdl index f9bd11994..18a5614ba 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -139,7 +139,6 @@ task germline { ~{if (exome) then "--exome" else ""} \ ~{if (rna) then "--rna" else ""} - "~{output_dir}/runWorkflow.py" -m local -j ~{threads} rm -rf "$ref_fasta" From 6bf593692746d672856001b171d167afe2bc8780 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 17 Feb 2026 10:41:33 -0600 Subject: [PATCH 039/147] chore: correct container --- tools/ngsep.wdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/ngsep.wdl b/tools/ngsep.wdl index bf93f9472..8760d09e1 100644 --- a/tools/ngsep.wdl +++ b/tools/ngsep.wdl @@ -51,7 +51,7 @@ task germline_variant { } requirements { - container: "ghcr.io/stjude/ngsep:5.1.0-0" + container: "ghcr.io/stjudecloud/ngsep:branch-minimap2-5.1.0-0" cpu: threads memory: "20 GB" disks: "~{disk_size_gb} GB" From c17a8749f0fc96974dd81f2a20b389f0788a2b54 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 17 Feb 2026 10:42:23 -0600 Subject: [PATCH 040/147] feat: add samtools calmd implementation --- tools/samtools.wdl | 60 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/tools/samtools.wdl b/tools/samtools.wdl index 396c88e0c..8dcd32fcd 100755 --- a/tools/samtools.wdl +++ b/tools/samtools.wdl @@ -1355,3 +1355,63 @@ task faidx { maxRetries: 1 } } + +task calmd { + meta { + description: "Calculates MD and NM tags" + outputs: { + calmd_bam: "A BAM file with the MD and NM tags calculated. Output filename is `basename(bam) + '.calmd.bam'`." + } + } + + parameter_meta { + bam: "Input BAM format file to quickcheck" + reference_fasta: "Reference FASTA format file. Must be indexed with a `.fai` file." + modify_disk_size_gb: "Add to or subtract from dynamic disk space allocation. Default disk size is determined by the size of the inputs. Specified in GB." + prefix: "Prefix for the output file. The extension `.bam` will be added." + ncpu: "Number of cores to allocate for task" + } + + input { + File bam + File reference_fasta + Int modify_disk_size_gb = 0 + String prefix = basename(bam, ".bam") + ".calmd" + Int ncpu = 2 + } + + Float bam_size = size(bam, "GiB") + Int disk_size_gb = ceil(bam_size * 2.5) + + ceil(size(reference_fasta, "GiB") * 2) + + 30 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + (( n_cores = ~{ncpu} - 1 || 1 )) + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + + samtools calmd \ + --threads "$n_cores" \ + -b \ + "~{bam}" \ + "$ref_fasta" \ + > "~{prefix}.bam" + >>> + + output { + File calmd_bam = "~{prefix}.bam" + } + + runtime { + cpu: ncpu + memory: "4 GB" + disks: "~{disk_size_gb} GB" + container: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_0" + maxRetries: 2 + } +} \ No newline at end of file From 31d32b12a136b3113250fcbbfcb6f8a08ef36441 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 17 Feb 2026 15:17:33 -0500 Subject: [PATCH 041/147] chore: eclipse 8 -> 21 --- docker/ngsep/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/ngsep/Dockerfile b/docker/ngsep/Dockerfile index d7c3ada65..86226e361 100644 --- a/docker/ngsep/Dockerfile +++ b/docker/ngsep/Dockerfile @@ -1,4 +1,4 @@ -FROM eclipse-temurin:8 +FROM eclipse-temurin:21 RUN wget https://github.com/NGSEP/NGSEPcore/releases/download/v5.1.0/NGSEPcore_5.1.0.jar -O /usr/local/bin/NGSEPcore.jar From bc6af626bf3efc3e3fe19f03a356391fca16c58d Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 17 Feb 2026 15:38:41 -0600 Subject: [PATCH 042/147] chore: add index files --- tools/clair.wdl | 7 ++++++- tools/deepvariant.wdl | 3 ++- tools/manta.wdl | 5 +++++ tools/ngsep.wdl | 4 ++-- workflows/general/alignment-post.wdl | 5 ++++- 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/tools/clair.wdl b/tools/clair.wdl index 20225f61c..2511212ba 100644 --- a/tools/clair.wdl +++ b/tools/clair.wdl @@ -12,7 +12,9 @@ task clair3 { parameter_meta { reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" bam: "Input BAM file with aligned reads" + bam_index: "Index file for the input BAM file" model: "Pre-trained Clair3 model to use for variant calling" bed_regions: "Optional BED file specifying regions to call variants in" vcf_candidates: "Optional VCF file with candidate variants to consider" @@ -34,8 +36,10 @@ task clair3 { input { File reference_fasta + File reference_fasta_index File bam - File model + File bam_index + Directory model File? bed_regions File? vcf_candidates String output_dir = "clair3_output" @@ -58,6 +62,7 @@ task clair3 { ref_fasta=~{basename(reference_fasta, ".gz")} gunzip -c "~{reference_fasta}" > "$ref_fasta" \ || ln -sf "~{reference_fasta}" "$ref_fasta" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" run_clair3.sh \ --bam_fn="~{bam}" \ diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl index 24d789fb6..29e11f1f0 100644 --- a/tools/deepvariant.wdl +++ b/tools/deepvariant.wdl @@ -126,6 +126,7 @@ task deepvariant { reference_fasta: "Reference genome in FASTA format" reference_fasta_index: "Index file for the reference genome FASTA" bam: "Input BAM file with aligned reads for sample" + bam_index: "Index for input BAM file" haploid_chromosomes: "List of chromosomes to be treated as haploid during variant calling" output_prefix: "Prefix for output VCF and gVCF files" model_type: { @@ -155,6 +156,7 @@ task deepvariant { File reference_fasta File reference_fasta_index File bam + File bam_index Array[String] haploid_chromosomes = ["chrX", "chrY"] String output_prefix = "deepsomatic_output" String model_type = "WGS" @@ -190,7 +192,6 @@ task deepvariant { ~{if vcf_stats_report then "--vcf_stats_report" else ""} \ --haploid_contigs="~{sep(",", haploid_chromosomes)}" - rm -rf "$ref_fasta" >>> diff --git a/tools/manta.wdl b/tools/manta.wdl index 29946b749..bd3ae42f6 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -11,7 +11,9 @@ task manta_germline { parameter_meta { reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" bam: "Input BAM file with aligned reads" + bam_index: "Index file for the input BAM file" output_dir: "Directory to store Manta output" threads: "Number of threads to use" modify_disk_size_gb: "Additional disk size in GB to allocate" @@ -19,7 +21,9 @@ task manta_germline { input { File reference_fasta + File reference_fasta_index File bam + File bam_index String output_dir = "manta_output" Int threads = 4 Int modify_disk_size_gb = 0 @@ -36,6 +40,7 @@ task manta_germline { ref_fasta=~{basename(reference_fasta, ".gz")} gunzip -c "~{reference_fasta}" > "$ref_fasta" \ || ln -sf "~{reference_fasta}" "$ref_fasta" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" configManta.py \ --bam "~{bam}" \ diff --git a/tools/ngsep.wdl b/tools/ngsep.wdl index 8760d09e1..c7702b674 100644 --- a/tools/ngsep.wdl +++ b/tools/ngsep.wdl @@ -40,8 +40,8 @@ task germline_variant { SingleSampleVariantsDetector \ -r "$ref_fasta" \ -i "~{bam}" \ - -o "~{output_prefix}" \ - -t "~{threads}" + -o "~{output_prefix}" + # -t "~{threads}" rm -rf "$ref_fasta" >>> diff --git a/workflows/general/alignment-post.wdl b/workflows/general/alignment-post.wdl index 53c18d64a..043fea645 100644 --- a/workflows/general/alignment-post.wdl +++ b/workflows/general/alignment-post.wdl @@ -79,7 +79,10 @@ workflow alignment_post { use_all_cores, } File aligned_bam_index = samtools_index.bam_index - call picard.validate_bam { input: bam = aligned_bam } + call picard.validate_bam { input: + bam = aligned_bam, + succeed_on_errors = true, + } call md5sum.compute_checksum { input: file = aligned_bam } From fe347403d4de685f78baf93f0415e01f9d963b62 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 3 Mar 2026 11:54:41 -0500 Subject: [PATCH 043/147] chore: address lint --- tools/samtools.wdl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/samtools.wdl b/tools/samtools.wdl index 8dcd32fcd..af0737aea 100755 --- a/tools/samtools.wdl +++ b/tools/samtools.wdl @@ -1367,16 +1367,16 @@ task calmd { parameter_meta { bam: "Input BAM format file to quickcheck" reference_fasta: "Reference FASTA format file. Must be indexed with a `.fai` file." - modify_disk_size_gb: "Add to or subtract from dynamic disk space allocation. Default disk size is determined by the size of the inputs. Specified in GB." prefix: "Prefix for the output file. The extension `.bam` will be added." + modify_disk_size_gb: "Add to or subtract from dynamic disk space allocation. Default disk size is determined by the size of the inputs. Specified in GB." ncpu: "Number of cores to allocate for task" } input { File bam File reference_fasta - Int modify_disk_size_gb = 0 String prefix = basename(bam, ".bam") + ".calmd" + Int modify_disk_size_gb = 0 Int ncpu = 2 } From 3afa3e0327bfff1dee66db33052d19b79ad677a7 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 3 Mar 2026 11:55:05 -0500 Subject: [PATCH 044/147] feat: add samtools sort implementation --- tools/samtools.wdl | 66 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/tools/samtools.wdl b/tools/samtools.wdl index af0737aea..34964e4ed 100755 --- a/tools/samtools.wdl +++ b/tools/samtools.wdl @@ -1414,4 +1414,68 @@ task calmd { container: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_0" maxRetries: 2 } -} \ No newline at end of file +} + +task sort { + meta { + description: "Sorts the input BAM file using `samtools sort`." + outputs: { + sorted_bam: "A sorted BAM file" + } + } + + parameter_meta { + bam: "Input BAM format file to sort" + prefix: "Prefix for the output file. The extension `.bam` will be added." + use_all_cores: { + description: "Use all cores? Recommended for cloud environments.", + group: "Common", + } + ncpu: { + description: "Number of cores to allocate for task", + group: "Common", + } + modify_memory_gb: "Add to or subtract from dynamic memory allocation. Default memory is determined by the size of the inputs. Specified in GB." + modify_disk_size_gb: "Add to or subtract from dynamic disk space allocation. Default disk size is determined by the size of the inputs. Specified in GB." + } + + input { + File bam + String prefix = basename(bam, ".bam") + ".sorted" + Boolean use_all_cores = false + Int ncpu = 4 + Int modify_memory_gb = 0 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(bam, "GB") * 2) + 10 + modify_disk_size_gb + Int memory_gb = ncpu + 4 + modify_memory_gb + + command <<< + set -euo pipefail + + n_cores=~{ncpu} + if ~{use_all_cores}; then + n_cores=$(nproc) + fi + # -1 because samtools uses one more core than `--threads` specifies + (( n_cores -= 1 )) + + samtools sort \ + --threads "$n_cores" \ + -o "~{prefix}.bam" \ + "~{bam}" + >>> + + output { + File sorted_bam = "~{prefix}.bam" + } + + runtime { + cpu: ncpu + memory: "~{memory_gb} GB" + disks: "~{disk_size_gb} GB" + container: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_0" + maxRetries: 1 + } +} From a9948bd7962b7c2d4f1d78d46f7577ad8c5c3a6b Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 3 Mar 2026 12:16:02 -0500 Subject: [PATCH 045/147] chore: address lint --- tools/picard.wdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/picard.wdl b/tools/picard.wdl index a818835fd..3c7395e49 100755 --- a/tools/picard.wdl +++ b/tools/picard.wdl @@ -201,7 +201,7 @@ task validate_bam { then "--INDEX_VALIDATION_STRINGENCY LESS_EXHAUSTIVE" else "" ) - + Float bam_size = size(bam, "GB") Int disk_size_gb = ceil(bam_size * 4) + 50 + modify_disk_size_gb Int java_heap_size = ceil(memory_gb * 0.9) From 81224cf44016ba8a211c3223ca167b565276bdc0 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 3 Mar 2026 12:24:30 -0500 Subject: [PATCH 046/147] chore: unify docker image version --- data_structures/read_group.wdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_structures/read_group.wdl b/data_structures/read_group.wdl index 831d3275a..12941a1a8 100644 --- a/data_structures/read_group.wdl +++ b/data_structures/read_group.wdl @@ -459,7 +459,7 @@ task read_group_to_array { } runtime { - container: "ghcr.io/stjudecloud/util:3.0.1" + container: "ghcr.io/stjudecloud/util:3.0.3" maxRetries: 1 } } From 455f4d79213265ece1c8109125d3332b2e493367 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 3 Mar 2026 11:29:24 -0600 Subject: [PATCH 047/147] chore: GiB -> GB for new tools --- tools/bwamem2.wdl | 6 +++--- tools/clair.wdl | 4 ++-- tools/deepvariant.wdl | 10 +++++----- tools/hisat2.wdl | 6 +++--- tools/manta.wdl | 10 +++++----- tools/minimap2.wdl | 6 +++--- tools/ngsep.wdl | 4 ++-- tools/strelka.wdl | 12 ++++++------ tools/vg.wdl | 16 ++++++++-------- 9 files changed, 37 insertions(+), 37 deletions(-) diff --git a/tools/bwamem2.wdl b/tools/bwamem2.wdl index 8e1f2e529..7aaa1a00e 100644 --- a/tools/bwamem2.wdl +++ b/tools/bwamem2.wdl @@ -42,9 +42,9 @@ task align { String output_name = prefix + ".bam" Int disk_size_gb = ceil(( - size(read_one_fastq_gz, "GiB") + size(read_two_fastq_gz, "GiB") + size(read_one_fastq_gz, "GB") + size(read_two_fastq_gz, "GB") ) * 2) - + ceil(size(reference_index, "GiB")) + + ceil(size(reference_index, "GB")) + 30 + modify_disk_size_gb @@ -102,7 +102,7 @@ task index { Int modify_disk_size_gb = 0 } - Float input_fasta_size = size(reference_fasta, "GiB") + Float input_fasta_size = size(reference_fasta, "GB") Int disk_size_gb = ceil(input_fasta_size * 2) + 10 + modify_disk_size_gb String bwa_db_out_name = db_name + ".tar.gz" diff --git a/tools/clair.wdl b/tools/clair.wdl index 2511212ba..cefe1fa8e 100644 --- a/tools/clair.wdl +++ b/tools/clair.wdl @@ -51,8 +51,8 @@ task clair3 { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) - + ceil(size(bam, "GiB")) + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + + ceil(size(bam, "GB")) + 20 + modify_disk_size_gb diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl index 29e11f1f0..7d4890d77 100644 --- a/tools/deepvariant.wdl +++ b/tools/deepvariant.wdl @@ -57,9 +57,9 @@ task deepsomatic { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) - + ceil(size(tumor_bam, "GiB")) - + ceil(size(normal_bam, "GiB")) + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + + ceil(size(tumor_bam, "GB")) + + ceil(size(normal_bam, "GB")) + 50 + modify_disk_size_gb @@ -166,8 +166,8 @@ task deepvariant { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) - + ceil(size(bam, "GiB")) + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + + ceil(size(bam, "GB")) + 50 + modify_disk_size_gb diff --git a/tools/hisat2.wdl b/tools/hisat2.wdl index 70b8743ed..ee7a55ca1 100644 --- a/tools/hisat2.wdl +++ b/tools/hisat2.wdl @@ -27,9 +27,9 @@ task align { } Int disk_size_gb = ceil(( - size(read_one_fastq_gz, "GiB") + size(read_two_fastq_gz, "GiB") + size(read_one_fastq_gz, "GB") + size(read_two_fastq_gz, "GB") ) * 2) - + ceil(size(reference_index, "GiB") * 5) + + ceil(size(reference_index, "GB") * 5) + 10 + modify_disk_size_gb @@ -127,7 +127,7 @@ task index { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + 10 + modify_disk_size_gb command <<< set -euo pipefail diff --git a/tools/manta.wdl b/tools/manta.wdl index bd3ae42f6..57e0593cf 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -29,8 +29,8 @@ task manta_germline { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) - + ceil(size(bam, "GiB")) + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + + ceil(size(bam, "GB")) + 20 + modify_disk_size_gb @@ -92,9 +92,9 @@ task manta_somatic { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) - + ceil(size(tumor_bam, "GiB")) - + ceil(size(normal_bam, "GiB")) + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + + ceil(size(tumor_bam, "GB")) + + ceil(size(normal_bam, "GB")) + 20 + modify_disk_size_gb diff --git a/tools/minimap2.wdl b/tools/minimap2.wdl index 41975e1ed..efc8f5aca 100644 --- a/tools/minimap2.wdl +++ b/tools/minimap2.wdl @@ -67,9 +67,9 @@ task align { Int disk_size_gb = ceil( ( - size(read_one_fastq_gz, "GiB") + size(read_two_fastq_gz, "GiB") + size(read_one_fastq_gz, "GB") + size(read_two_fastq_gz, "GB") ) * 3) - + ceil(size(reference_index, "GiB")) + + ceil(size(reference_index, "GB")) + 10 + modify_disk_size_gb @@ -138,7 +138,7 @@ task index { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GiB")) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(size(reference_fasta, "GB")) + 10 + modify_disk_size_gb command <<< set -euo pipefail diff --git a/tools/ngsep.wdl b/tools/ngsep.wdl index c7702b674..a0b722071 100644 --- a/tools/ngsep.wdl +++ b/tools/ngsep.wdl @@ -24,8 +24,8 @@ task germline_variant { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) - + ceil(size(bam, "GiB")) + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + + ceil(size(bam, "GB")) + 20 + modify_disk_size_gb diff --git a/tools/strelka.wdl b/tools/strelka.wdl index 18a5614ba..637c1027d 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -35,12 +35,12 @@ task somatic { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) - + ceil(size(normal_bam, "GiB")) - + ceil(size(tumor_bam, "GiB")) + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + + ceil(size(normal_bam, "GB")) + + ceil(size(tumor_bam, "GB")) + ( if defined(indel_candidates) - then ceil(size(indel_candidates, "GiB")) + then ceil(size(indel_candidates, "GB")) else 0 ) + 20 @@ -119,8 +119,8 @@ task germline { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) - + ceil(size(bam, "GiB")) + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + + ceil(size(bam, "GB")) + 20 + modify_disk_size_gb diff --git a/tools/vg.wdl b/tools/vg.wdl index f81f815de..4bbd1807a 100644 --- a/tools/vg.wdl +++ b/tools/vg.wdl @@ -66,12 +66,12 @@ task giraffe { } Int disk_size_gb = ceil(( - size(read_one_fastq_gz, "GiB") + size(read_two_fastq_gz, "GiB") + size(read_one_fastq_gz, "GB") + size(read_two_fastq_gz, "GB") ) * 2) - + ceil(size(gbz_graph, "GiB")) - + ceil(size(minimizer_index, "GiB")) - + ceil(size(distance_index, "GiB")) - + ceil(size(zipcode_name, "GiB")) + + ceil(size(gbz_graph, "GB")) + + ceil(size(minimizer_index, "GB")) + + ceil(size(distance_index, "GB")) + + ceil(size(zipcode_name, "GB")) + 10 + modify_disk_size_gb @@ -147,9 +147,9 @@ task index { Int threads = 4 } - Float input_fasta_size = size(reference_fasta, "GiB") - Float vcf_size = size(vcf_files, "GiB") - Float transcript_gff_size = size(transcript_gff, "GiB") + Float input_fasta_size = size(reference_fasta, "GB") + Float vcf_size = size(vcf_files, "GB") + Float transcript_gff_size = size(transcript_gff, "GB") Int disk_size_gb = ceil(input_fasta_size * 2) + ceil(vcf_size * 2) + ceil(transcript_gff_size * 2) From f197aef80c728bf89adcdffdd5c295f6d8383375 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 3 Mar 2026 11:29:55 -0600 Subject: [PATCH 048/147] chore: update outputs --- tools/manta.wdl | 2 +- tools/strelka.wdl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/manta.wdl b/tools/manta.wdl index 57e0593cf..e004346af 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -54,7 +54,7 @@ task manta_germline { output { Directory manta_output = output_dir - File log_file = "~{output_dir}/manta.log" + File log_file = "~{output_dir}/workspace/pyflow.data/logs/pyflow_log.txt" } requirements { diff --git a/tools/strelka.wdl b/tools/strelka.wdl index 637c1027d..fc1398a44 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -141,7 +141,7 @@ task germline { "~{output_dir}/runWorkflow.py" -m local -j ~{threads} - rm -rf "$ref_fasta" + rm -rf "$ref_fasta" "~{output_dir}/workspace/pyflow.data/logs/tmp" >>> output { From 56328f29bdbdbf89dcc454e223b0eac0570fa16c Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 4 Mar 2026 16:08:22 -0600 Subject: [PATCH 049/147] chore: update sorting disk requirements --- tools/picard.wdl | 3 ++- tools/samtools.wdl | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/picard.wdl b/tools/picard.wdl index 3c7395e49..8b63fcf78 100755 --- a/tools/picard.wdl +++ b/tools/picard.wdl @@ -304,7 +304,8 @@ task sort { } Float bam_size = size(bam, "GB") - Int disk_size_gb = ceil(bam_size * 4) + 30 + modify_disk_size_gb + # Original BAM, sorted fragments (~2.5x original BAM size), final BAM + Int disk_size_gb = ceil(bam_size * 5) + 30 + modify_disk_size_gb Int java_heap_size = ceil(memory_gb * 0.9) String outfile_name = prefix + ".bam" diff --git a/tools/samtools.wdl b/tools/samtools.wdl index fbb419694..782ff45ed 100755 --- a/tools/samtools.wdl +++ b/tools/samtools.wdl @@ -1448,7 +1448,8 @@ task sort { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(bam, "GB") * 2) + 10 + modify_disk_size_gb + # Original BAM, intermediate BAM chunks (~1.5x), final BAM, hence 4x + Int disk_size_gb = ceil(size(bam, "GB") * 4) + 10 + modify_disk_size_gb Int memory_gb = ncpu + 4 + modify_memory_gb command <<< From 174703fdb1e944e01ff4b41d2114db89cc6ce92b Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 10 Mar 2026 11:11:42 -0400 Subject: [PATCH 050/147] chore: updates for somatic calling --- tools/deepvariant.wdl | 23 +++++++++++++++++++---- tools/manta.wdl | 1 + tools/strelka.wdl | 2 +- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl index 7d4890d77..b9e51cb26 100644 --- a/tools/deepvariant.wdl +++ b/tools/deepvariant.wdl @@ -1,4 +1,19 @@ -version 1.2 +version 1.3 + +enum ModelType { + WGS, + WES, + PACBIO, + ONT, + FFPE_WGS, + FFPE_WES, + FFPE_WGS_TUMOR_ONLY, + FFPE_WES_TUMOR_ONLY, + WGS_TUMOR_ONLY, + WES_TUMOR_ONLY, + PACBIO_TUMOR_ONLY, + ONT_TUMOR_ONLY +} task deepsomatic { meta { @@ -50,7 +65,7 @@ task deepsomatic { String output_prefix = "deepsomatic_output" String tumor_sample_name = "tumor" String normal_sample_name = "normal" - String model_type = "WGS" + ModelType model_type = ModelType.WGS Boolean runtime_report = false Boolean vcf_stats_report = false Int threads = 8 @@ -87,7 +102,7 @@ task deepsomatic { ~{if vcf_stats_report then "--vcf_stats_report" else ""} - rm -rf "$ref_fasta" + rm -rf "$ref_fasta" "$ref_fasta.fai" >>> @@ -192,7 +207,7 @@ task deepvariant { ~{if vcf_stats_report then "--vcf_stats_report" else ""} \ --haploid_contigs="~{sep(",", haploid_chromosomes)}" - rm -rf "$ref_fasta" + rm -rf "$ref_fasta" "$ref_fasta.fai" >>> output { diff --git a/tools/manta.wdl b/tools/manta.wdl index e004346af..d3613d344 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -118,6 +118,7 @@ task manta_somatic { output { Directory manta_output = output_dir + File indel_candidates = "~{output_dir}/results/variants/candidateSmallIndels.vcf.gz" File log_file = "~{output_dir}/workspace/pyflow.data/logs/pyflow_log.txt" } diff --git a/tools/strelka.wdl b/tools/strelka.wdl index fc1398a44..da152e9f5 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -70,7 +70,7 @@ task somatic { "~{output_dir}/runWorkflow.py" -m local -j ~{threads} - rm -rf "$ref_fasta" + rm -rf "$ref_fasta" "$ref_fasta.fai" >>> output { From fd50c7e105cbd842fa363da20b507852d1d4a9ef Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 10 Mar 2026 11:11:57 -0400 Subject: [PATCH 051/147] feat: add octopus wrapper --- tools/octopus.wdl | 129 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 tools/octopus.wdl diff --git a/tools/octopus.wdl b/tools/octopus.wdl new file mode 100644 index 000000000..0940dbcc8 --- /dev/null +++ b/tools/octopus.wdl @@ -0,0 +1,129 @@ +version 1.2 + +task germline { + meta { + description: "Run Octopus individual germline variant caller" + outputs: { + output_vcf: "VCF file with called germline variants" + } + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" + bam: "Input BAM file with aligned reads" + forest: "Pre-trained random forest model for variant filtering" + output_vcf: "Output VCF file with called variants" + threads: "Number of threads to use" + modify_disk_size_gb: "Additional disk size in GB to allocate" + } + + input { + File reference_fasta + File reference_fasta_index + File bam + File forest + String output_vcf = "octopus_germline_output.vcf" + Int threads = 4 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + + ceil(size(bam, "GiB")) + + 20 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + + octopus \ + -R "$ref_fasta" \ + -I "~{bam}" \ + -o "~{output_vcf}" \ + --forest "~{forest}" \ + --threads "~{threads}" + + rm -rf "$ref_fasta" "$ref_fasta.fai" + >>> + + output { + File output_vcf = "~{output_vcf}" + } + + requirements { + container: "quay.io/biocontainers/octopus:0.7.4--ha3c1580_2" + cpu: threads + memory: "30 GB" + disks: "~{disk_size_gb} GB" +} + +task somatic { + meta { + description: "Run Octopus individual somatic variant caller" + outputs: { + output_vcf: "VCF file with called somatic variants" + } + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" + normal_bam: "Input BAM file with aligned reads from normal sample" + tumor_bam: "Input BAM file with aligned reads from tumor sample" + forest: "Pre-trained random forest model for variant filtering" + output_vcf: "Output VCF file with called variants" + threads: "Number of threads to use" + modify_disk_size_gb: "Additional disk size in GB to allocate" + } + + input { + File reference_fasta + File reference_fasta_index + File normal_bam + File tumor_bam + File forest + String output_vcf = "octopus_germline_output.vcf" + Int threads = 4 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + + ceil(size(bam, "GiB")) + + 20 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + + # TODO: I have no idea what `--normal-sample` is supposed to contain. The documentation is unhelpful. + octopus \ + -R "$ref_fasta" \ + -I "~{normal_bam}" "~{tumor_bam}" \ + --normal-sample "~{basename(normal_bam, ".bam")}" \ + -o "~{output_vcf}" \ + --forest "~{forest}" \ + --threads "~{threads}" + + rm -rf "$ref_fasta" + >>> + + output { + File output_vcf = "~{output_vcf}" + } + + requirements { + container: "quay.io/biocontainers/octopus:0.7.4--ha3c1580_2" + cpu: threads + memory: "30 GB" + disks: "~{disk_size_gb} GB" +} \ No newline at end of file From 34e808e4e84d3c777b95273221185563621b7643 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 10 Mar 2026 10:13:08 -0500 Subject: [PATCH 052/147] chore: fixes for clair3 --- tools/clair.wdl | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/clair.wdl b/tools/clair.wdl index cefe1fa8e..5723cfefd 100644 --- a/tools/clair.wdl +++ b/tools/clair.wdl @@ -53,7 +53,7 @@ task clair3 { Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size(bam, "GB")) - + 20 + + 50 + modify_disk_size_gb command <<< @@ -77,7 +77,7 @@ task clair3 { ~{if defined(vcf_candidates) then "--vcf_fn='~{vcf_candidates}'" else ""} \ ~{if gvcf then "--gvcf" else ""} - rm -rf "$ref_fasta" + rm -rf "$ref_fasta" "$ref_fasta.fai" >>> output { @@ -87,9 +87,10 @@ task clair3 { } requirements { - container: "quay.io/biocontainers/clair3:1.2.0--py310h779eee5_0" + # container: "quay.io/biocontainers/clair3:1.2.0--py310h779eee5_0" + container: "hkubal/clair3:v2.0.0" cpu: threads - memory: "16 GB" + memory: "64 GB" disks: "~{disk_size_gb} GB" } } From c084df7706aee6720f380c85ccef9c4d21e76feb Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 10 Mar 2026 10:13:43 -0500 Subject: [PATCH 053/147] chore: update deepvariant to 1.10 plus fixes --- tools/deepvariant.wdl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl index b9e51cb26..9c13cba19 100644 --- a/tools/deepvariant.wdl +++ b/tools/deepvariant.wdl @@ -114,9 +114,10 @@ task deepsomatic { } requirements { - container: "google/deepsomatic:1.9.0-gpu" + container: "google/deepsomatic:1.10.0-gpu" + #container: "google/deepsomatic:1.10.0" cpu: threads - memory: "32 GB" + memory: "64 GB" disks: "~{disk_size_gb} GB" gpu: true } @@ -194,7 +195,8 @@ task deepvariant { || ln -sf "~{reference_fasta}" "$ref_fasta" ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" - run_deepvariant \ + mkdir "test" + TMPDIR="test" run_deepvariant \ --model_type="~{model_type}" \ --ref="$ref_fasta" \ --reads="~{bam}" \ @@ -203,6 +205,7 @@ task deepvariant { --num_shards="~{threads}" \ --logging_dir="logs" \ --intermediate_results_dir="intermediate_results" \ + --test_tmpdir="test" \ ~{if runtime_report then "--runtime_report" else ""} \ ~{if vcf_stats_report then "--vcf_stats_report" else ""} \ --haploid_contigs="~{sep(",", haploid_chromosomes)}" @@ -218,9 +221,10 @@ task deepvariant { } requirements { - container: "google/deepvariant:1.9.0-gpu" + #container: "google/deepvariant:1.10.0-gpu" + container: "google/deepvariant:1.10.0" cpu: threads - memory: "32 GB" + memory: "64 GB" disks: "~{disk_size_gb} GB" gpu: true } From c6fdb1a75dd56e4282dfa6795bf980581e16ba98 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 10 Mar 2026 10:14:07 -0500 Subject: [PATCH 054/147] chore: cleanup FAI --- tools/manta.wdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/manta.wdl b/tools/manta.wdl index d3613d344..cfcb5ae4d 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -49,7 +49,7 @@ task manta_germline { "~{output_dir}/runWorkflow.py" -j "~{threads}" - rm -rf "$ref_fasta" + rm -rf "$ref_fasta" "$ref_fasta.fai" >>> output { From 6b6b92e10f19fb01839afff86593647401d6e447 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 10 Mar 2026 10:14:29 -0500 Subject: [PATCH 055/147] chore: update sort memory --- tools/samtools.wdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/samtools.wdl b/tools/samtools.wdl index 782ff45ed..21057bdde 100755 --- a/tools/samtools.wdl +++ b/tools/samtools.wdl @@ -1449,7 +1449,7 @@ task sort { } # Original BAM, intermediate BAM chunks (~1.5x), final BAM, hence 4x - Int disk_size_gb = ceil(size(bam, "GB") * 4) + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(size(bam, "GB") * 5) + 10 + modify_disk_size_gb Int memory_gb = ncpu + 4 + modify_memory_gb command <<< From f7b7fb102cc5445b97dc23ec9e21465a436955d9 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 10 Mar 2026 10:14:47 -0500 Subject: [PATCH 056/147] chore: cleanup FAI --- tools/strelka.wdl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/strelka.wdl b/tools/strelka.wdl index da152e9f5..fbb727899 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -120,7 +120,7 @@ task germline { } Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) - + ceil(size(bam, "GB")) + + ceil(size(bam, "GB") * 2) + 20 + modify_disk_size_gb @@ -141,7 +141,7 @@ task germline { "~{output_dir}/runWorkflow.py" -m local -j ~{threads} - rm -rf "$ref_fasta" "~{output_dir}/workspace/pyflow.data/logs/tmp" + rm -rf "$ref_fasta" "$ref_fasta.fai" "~{output_dir}/workspace/pyflow.data/logs/tmp" >>> output { From 664a0d14b3f0edfaaa53a3357ce364231950f258 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 10 Mar 2026 15:33:07 -0400 Subject: [PATCH 057/147] chore: add BAM indices --- tools/deepvariant.wdl | 4 ++++ tools/manta.wdl | 4 ++++ tools/strelka.wdl | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl index 9c13cba19..ac653b346 100644 --- a/tools/deepvariant.wdl +++ b/tools/deepvariant.wdl @@ -30,7 +30,9 @@ task deepsomatic { reference_fasta: "Reference genome in FASTA format" reference_fasta_index: "Index file for the reference genome FASTA" tumor_bam: "Input BAM file with aligned reads for tumor sample" + tumor_bam_index: "Index for tumor BAM file" normal_bam: "Input BAM file with aligned reads for normal sample" + normal_bam_index: "Index for normal BAM file" output_prefix: "Prefix for output VCF and gVCF files" tumor_sample_name: "Sample name for the tumor sample" normal_sample_name: "Sample name for the normal sample" @@ -61,7 +63,9 @@ task deepsomatic { File reference_fasta File reference_fasta_index File tumor_bam + File tumor_bam_index File normal_bam + File normal_bam_index String output_prefix = "deepsomatic_output" String tumor_sample_name = "tumor" String normal_sample_name = "normal" diff --git a/tools/manta.wdl b/tools/manta.wdl index cfcb5ae4d..8c48b73ae 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -77,7 +77,9 @@ task manta_somatic { parameter_meta { reference_fasta: "Reference genome in FASTA format" tumor_bam: "Input BAM file with aligned reads from tumor sample" + tumor_bam_index: "Index file for the tumor BAM file" normal_bam: "Input BAM file with aligned reads from normal sample" + normal_bam_index: "Index file for the normal BAM file" output_dir: "Directory to store Manta output" threads: "Number of threads to use" modify_disk_size_gb: "Additional disk size in GB to allocate" @@ -86,7 +88,9 @@ task manta_somatic { input { File reference_fasta File tumor_bam + File tumor_bam_index File normal_bam + File normal_bam_index String output_dir = "manta_output" Int threads = 4 Int modify_disk_size_gb = 0 diff --git a/tools/strelka.wdl b/tools/strelka.wdl index fbb727899..6724d2466 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -13,7 +13,9 @@ task somatic { reference_fasta: "Reference genome in FASTA format" reference_fasta_index: "Index file for the reference genome FASTA" normal_bam: "Input BAM file with aligned reads for normal sample" + normal_bam_index: "Index file for the normal BAM file" tumor_bam: "Input BAM file with aligned reads for tumor sample" + tumor_bam_index: "Index file for the tumor BAM file" indel_candidates: "Optional VCF file with candidate indels, recommended to be generated by Manta" output_dir: "Directory to store Strelka output" exome: "Boolean indicating if the data is exome sequencing" @@ -26,7 +28,9 @@ task somatic { File reference_fasta File reference_fasta_index File normal_bam + File normal_bam_index File tumor_bam + File tumor_bam_index File? indel_candidates String output_dir = "strelka_somatic_output" Boolean exome = false From f470afa94e9c830481bb65c22a2f1bfe22a1c6bc Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 10 Mar 2026 15:33:49 -0400 Subject: [PATCH 058/147] chore: add octopus warning --- tools/octopus.wdl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/octopus.wdl b/tools/octopus.wdl index 0940dbcc8..98f5bb729 100644 --- a/tools/octopus.wdl +++ b/tools/octopus.wdl @@ -3,6 +3,7 @@ version 1.2 task germline { meta { description: "Run Octopus individual germline variant caller" + warning: "octopus appears to functionally be abandonware at this point. the random forest filtering models are no longer available." outputs: { output_vcf: "VCF file with called germline variants" } @@ -65,6 +66,7 @@ task germline { task somatic { meta { description: "Run Octopus individual somatic variant caller" + warning: "octopus appears to functionally be abandonware at this point. the random forest filtering models are no longer available." outputs: { output_vcf: "VCF file with called somatic variants" } From fcafe1ed5308049582c40f3d3ce539a8305c2a97 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 10 Mar 2026 15:47:47 -0400 Subject: [PATCH 059/147] chore: add FASTA index to manta --- tools/manta.wdl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/manta.wdl b/tools/manta.wdl index 8c48b73ae..d27449572 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -76,6 +76,7 @@ task manta_somatic { parameter_meta { reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" tumor_bam: "Input BAM file with aligned reads from tumor sample" tumor_bam_index: "Index file for the tumor BAM file" normal_bam: "Input BAM file with aligned reads from normal sample" @@ -87,6 +88,7 @@ task manta_somatic { input { File reference_fasta + File reference_fasta_index File tumor_bam File tumor_bam_index File normal_bam @@ -108,6 +110,7 @@ task manta_somatic { ref_fasta=~{basename(reference_fasta, ".gz")} gunzip -c "~{reference_fasta}" > "$ref_fasta" \ || ln -sf "~{reference_fasta}" "$ref_fasta" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" configManta.py \ --normalBam "~{normal_bam}" \ @@ -117,7 +120,7 @@ task manta_somatic { "~{output_dir}/runWorkflow.py" -j "~{threads}" - rm -rf "$ref_fasta" + rm -rf "$ref_fasta" "$ref_fasta.fai" >>> output { From b4621c394fce53d577f49495f9214e7292c311fe Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 10 Mar 2026 16:43:42 -0400 Subject: [PATCH 060/147] chore: localize BAM and index --- tools/deepvariant.wdl | 17 ++++++++++++----- tools/manta.wdl | 23 ++++++++++++++++++----- tools/strelka.wdl | 14 +++++++++++--- 3 files changed, 41 insertions(+), 13 deletions(-) diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl index ac653b346..0700b1e56 100644 --- a/tools/deepvariant.wdl +++ b/tools/deepvariant.wdl @@ -69,7 +69,7 @@ task deepsomatic { String output_prefix = "deepsomatic_output" String tumor_sample_name = "tumor" String normal_sample_name = "normal" - ModelType model_type = ModelType.WGS + ModelType model_type Boolean runtime_report = false Boolean vcf_stats_report = false Int threads = 8 @@ -82,6 +82,9 @@ task deepsomatic { + 50 + modify_disk_size_gb + String tumor = basename(tumor_bam) + String normal = basename(normal_bam) + command <<< set -euo pipefail @@ -90,11 +93,16 @@ task deepsomatic { || ln -sf "~{reference_fasta}" "$ref_fasta" ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + ln -s "~{tumor_bam}" "~{tumor}" + ln -s "~{tumor_bam_index}" "~{tumor}.bai" + ln -s "~{normal_bam}" "~{normal}" + ln -s "~{normal_bam_index}" "~{normal}.bai" + run_deepsomatic \ --model_type="~{model_type}" \ --ref="$ref_fasta" \ - --tumor_bam="~{tumor_bam}" \ - --normal_bam="~{normal_bam}" \ + --tumor_bam="~{tumor}" \ + --normal_bam="~{normal}" \ --output_vcf="~{output_prefix}.vcf.gz" \ --output_gvcf="~{output_prefix}.g.vcf.gz" \ --tumor_sample_name="~{tumor_sample_name}" \ @@ -106,8 +114,7 @@ task deepsomatic { ~{if vcf_stats_report then "--vcf_stats_report" else ""} - rm -rf "$ref_fasta" "$ref_fasta.fai" - + rm -rf "$ref_fasta" "$ref_fasta.fai" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{normal}.bai" >>> output { diff --git a/tools/manta.wdl b/tools/manta.wdl index d27449572..399ca3a41 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -34,6 +34,8 @@ task manta_germline { + 20 + modify_disk_size_gb + String filename = basename(bam) + command <<< set -euo pipefail @@ -42,14 +44,17 @@ task manta_germline { || ln -sf "~{reference_fasta}" "$ref_fasta" ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + ln -s "~{bam}" "~{filename}" + ln -s "~{bam_index}" "~{filename}.bai" + configManta.py \ - --bam "~{bam}" \ + --bam "~{filename}" \ --referenceFasta "$ref_fasta" \ --runDir "~{output_dir}" "~{output_dir}/runWorkflow.py" -j "~{threads}" - rm -rf "$ref_fasta" "$ref_fasta.fai" + rm -rf "$ref_fasta" "$ref_fasta.fai" "~{filename}" "~{filename}.bai" >>> output { @@ -104,6 +109,9 @@ task manta_somatic { + 20 + modify_disk_size_gb + String tumor = basename(tumor_bam) + String normal = basename(normal_bam) + command <<< set -euo pipefail @@ -112,15 +120,20 @@ task manta_somatic { || ln -sf "~{reference_fasta}" "$ref_fasta" ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + ln -s "~{tumor_bam}" "~{tumor}" + ln -s "~{tumor_bam_index}" "~{tumor}.bai" + ln -s "~{normal_bam}" "~{normal}" + ln -s "~{normal_bam_index}" "~{normal}.bai" + configManta.py \ - --normalBam "~{normal_bam}" \ - --tumorBam "~{tumor_bam}" \ + --normalBam "~{normal}" \ + --tumorBam "~{tumor}" \ --referenceFasta "$ref_fasta" \ --runDir "~{output_dir}" "~{output_dir}/runWorkflow.py" -j "~{threads}" - rm -rf "$ref_fasta" "$ref_fasta.fai" + rm -rf "$ref_fasta" "$ref_fasta.fai" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{normal}.bai" >>> output { diff --git a/tools/strelka.wdl b/tools/strelka.wdl index 6724d2466..af494bc91 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -50,6 +50,9 @@ task somatic { + 20 + modify_disk_size_gb + String tumor = basename(tumor_bam) + String normal = basename(normal_bam) + command <<< set -euo pipefail @@ -58,11 +61,16 @@ task somatic { || ln -sf "~{reference_fasta}" "$ref_fasta" ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + ln -s "~{tumor_bam}" "~{tumor}" + ln -s "~{tumor_bam_index}" "~{tumor}.bai" + ln -s "~{normal_bam}" "~{normal}" + ln -s "~{normal_bam_index}" "~{normal}.bai" + configureStrelkaSomaticWorkflow.py \ --referenceFasta "$ref_fasta" \ --runDir "~{output_dir}" \ - --tumorBam "~{tumor_bam}" \ - --normalBam "~{normal_bam}" \ + --tumorBam "~{tumor}" \ + --normalBam "~{normal}" \ ~{if (exome) then "--exome" else ""} \ ~{if (rna) then "--rna" else ""} \ ~{( @@ -74,7 +82,7 @@ task somatic { "~{output_dir}/runWorkflow.py" -m local -j ~{threads} - rm -rf "$ref_fasta" "$ref_fasta.fai" + rm -rf "$ref_fasta" "$ref_fasta.fai" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{normal}.bai" >>> output { From dd35f36d323be5a047d1e39c6ce572c3a5c8c809 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 11 Mar 2026 16:23:49 -0400 Subject: [PATCH 061/147] chore: add index file --- tools/manta.wdl | 1 + tools/strelka.wdl | 1 + 2 files changed, 2 insertions(+) diff --git a/tools/manta.wdl b/tools/manta.wdl index 399ca3a41..40ddc82d3 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -139,6 +139,7 @@ task manta_somatic { output { Directory manta_output = output_dir File indel_candidates = "~{output_dir}/results/variants/candidateSmallIndels.vcf.gz" + File indel_candidates_index = "~{output_dir}/results/variants/candidateSmallIndels.vcf.gz.tbi" File log_file = "~{output_dir}/workspace/pyflow.data/logs/pyflow_log.txt" } diff --git a/tools/strelka.wdl b/tools/strelka.wdl index af494bc91..0fd5dbacb 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -32,6 +32,7 @@ task somatic { File tumor_bam File tumor_bam_index File? indel_candidates + File? indel_candidates_index String output_dir = "strelka_somatic_output" Boolean exome = false Boolean rna = false From ab2496a4b927c61a43e4c6973efb7de72ae4639d Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 11 Mar 2026 15:24:47 -0500 Subject: [PATCH 062/147] chore: fix deepsomatic arguments --- tools/deepvariant.wdl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl index 0700b1e56..4e7ddaf40 100644 --- a/tools/deepvariant.wdl +++ b/tools/deepvariant.wdl @@ -101,12 +101,12 @@ task deepsomatic { run_deepsomatic \ --model_type="~{model_type}" \ --ref="$ref_fasta" \ - --tumor_bam="~{tumor}" \ - --normal_bam="~{normal}" \ + --reads_tumor="~{tumor}" \ + --reads_normal="~{normal}" \ --output_vcf="~{output_prefix}.vcf.gz" \ --output_gvcf="~{output_prefix}.g.vcf.gz" \ - --tumor_sample_name="~{tumor_sample_name}" \ - --normal_sample_name="~{normal_sample_name}" \ + --sample_name_tumor="~{tumor_sample_name}" \ + --sample_name_normal="~{normal_sample_name}" \ --num_shards="~{threads}" \ --logging_dir="logs" \ --intermediate_results_dir="intermediate_results" \ From 5ba4e5adaf108343454386fe9dfc2af971a3d955 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 11 Mar 2026 16:29:33 -0400 Subject: [PATCH 063/147] chore: check --- tools/octopus.wdl | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/tools/octopus.wdl b/tools/octopus.wdl index 98f5bb729..6398a9d7d 100644 --- a/tools/octopus.wdl +++ b/tools/octopus.wdl @@ -14,7 +14,7 @@ task germline { reference_fasta_index: "Index file for the reference genome FASTA" bam: "Input BAM file with aligned reads" forest: "Pre-trained random forest model for variant filtering" - output_vcf: "Output VCF file with called variants" + output_vcf_name: "Output VCF file with called variants" threads: "Number of threads to use" modify_disk_size_gb: "Additional disk size in GB to allocate" } @@ -24,7 +24,7 @@ task germline { File reference_fasta_index File bam File forest - String output_vcf = "octopus_germline_output.vcf" + String output_vcf_name = "octopus_germline_output.vcf" Int threads = 4 Int modify_disk_size_gb = 0 } @@ -45,7 +45,7 @@ task germline { octopus \ -R "$ref_fasta" \ -I "~{bam}" \ - -o "~{output_vcf}" \ + -o "~{output_vcf_name}" \ --forest "~{forest}" \ --threads "~{threads}" @@ -53,7 +53,7 @@ task germline { >>> output { - File output_vcf = "~{output_vcf}" + File output_vcf = "~{output_vcf_name}" } requirements { @@ -61,6 +61,7 @@ task germline { cpu: threads memory: "30 GB" disks: "~{disk_size_gb} GB" + } } task somatic { @@ -78,7 +79,7 @@ task somatic { normal_bam: "Input BAM file with aligned reads from normal sample" tumor_bam: "Input BAM file with aligned reads from tumor sample" forest: "Pre-trained random forest model for variant filtering" - output_vcf: "Output VCF file with called variants" + output_vcf_name: "Output VCF file with called variants" threads: "Number of threads to use" modify_disk_size_gb: "Additional disk size in GB to allocate" } @@ -89,13 +90,14 @@ task somatic { File normal_bam File tumor_bam File forest - String output_vcf = "octopus_germline_output.vcf" + String output_vcf_name = "octopus_germline_output.vcf" Int threads = 4 Int modify_disk_size_gb = 0 } Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) - + ceil(size(bam, "GiB")) + + ceil(size(tumor_bam, "GiB")) + + ceil(size(normal_bam, "GiB")) + 20 + modify_disk_size_gb @@ -112,7 +114,7 @@ task somatic { -R "$ref_fasta" \ -I "~{normal_bam}" "~{tumor_bam}" \ --normal-sample "~{basename(normal_bam, ".bam")}" \ - -o "~{output_vcf}" \ + -o "~{output_vcf_name}" \ --forest "~{forest}" \ --threads "~{threads}" @@ -120,7 +122,7 @@ task somatic { >>> output { - File output_vcf = "~{output_vcf}" + File output_vcf = "~{output_vcf_name}" } requirements { @@ -128,4 +130,5 @@ task somatic { cpu: threads memory: "30 GB" disks: "~{disk_size_gb} GB" + } } \ No newline at end of file From 7ab7375283b574b41075a636790ad81880baca9c Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 12 Mar 2026 16:03:05 -0400 Subject: [PATCH 064/147] feat: clairS wrapper --- tools/clair.wdl | 206 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 197 insertions(+), 9 deletions(-) diff --git a/tools/clair.wdl b/tools/clair.wdl index 5723cfefd..1f10de5f7 100644 --- a/tools/clair.wdl +++ b/tools/clair.wdl @@ -1,4 +1,16 @@ -version 1.2 +version 1.3 + +enum platform { + ont_r10_dorado_sup_4khz, + ont_r10_dorado_sup_5khz, + ont_r10_dorado_hac_5khz, + ont_r10_dorado_hac_4khz, + ont_r10_guppy, + ont_r9_guppy, + ilmn, + hifi_sequel2, + hifi_revio, +} task clair3 { meta { @@ -51,9 +63,7 @@ task clair3 { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) - + ceil(size(bam, "GB")) - + 50 + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size(bam, "GB")) + 50 + modify_disk_size_gb command <<< @@ -71,11 +81,26 @@ task clair3 { --platform="~{platform}" \ --model_path="~{model}" \ --output="~{output_dir}" \ - ~{if all_contigs then "--include_all_ctgs" else ""} \ - ~{if print_ref_calls then "--print_ref_calls" else ""} \ - ~{if defined(bed_regions) then "--bed_fn='~{bed_regions}'" else ""} \ - ~{if defined(vcf_candidates) then "--vcf_fn='~{vcf_candidates}'" else ""} \ - ~{if gvcf then "--gvcf" else ""} + ~{if all_contigs + then "--include_all_ctgs" + else "" + } \ + ~{if print_ref_calls + then "--print_ref_calls" + else "" + } \ + ~{if defined(bed_regions) + then "--bed_fn='~{bed_regions}'" + else "" + } \ + ~{if defined(vcf_candidates) + then "--vcf_fn='~{vcf_candidates}'" + else "" + } \ + ~{if gvcf + then "--gvcf" + else "" + } rm -rf "$ref_fasta" "$ref_fasta.fai" >>> @@ -94,3 +119,166 @@ task clair3 { disks: "~{disk_size_gb} GB" } } + +task clairs { + meta { + description: "Run ClairS paired sample variant caller" + outputs: { + vcf: "VCF file with somatic variants called by ClairS", + } + } + + parameter_meta { + tumor_bam: "Input BAM file with aligned reads for tumor sample" + tumor_bam_index: "Index file for the tumor BAM file" + normal_bam: "Input BAM file with aligned reads for normal sample" + normal_bam_index: "Index file for the normal BAM file" + reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" + platform: { + description: "Sequencing platform used to generate the reads", + choices: [ + "ont_r10_dorado_sup_4khz", + "ont_r10_dorado_sup_5khz", + "ont_r10_dorado_hac_5khz", + "ont_r10_dorado_hac_4khz", + "ont_r10_guppy", + "ont_r9_guppy", + "ilmn", + "hifi_sequel2", + "hifi_revio", + ], + } + bed_regions: "Optional BED file specifying regions to call variants in" + vcf_candidates: "Optional VCF file with candidate variants to consider" + pileup_model: "Optional pre-trained ClairS pileup model to use for variant calling" + full_alignment_model: "Optional pre-trained ClairS full-alignment model to use for variant calling" + snv_min_qual: "Minimum quality score required to call a SNV" + indel_min_qual: "Minimum quality score required to call an indel" + prefix: "Prefix for ClairS output files" + sample_name: "Sample name to use in the output VCF" + all_contigs: "Boolean indicating whether to include all contigs in variant calling. If false only chr{1..22,X,Y} are called." + print_ref_calls: "Boolean indicating whether to print reference calls in the output VCF" + print_germline_calls: "Boolean indicating whether to print germline calls in the output VCF" + remove_intermediate_directory: "Boolean indicating whether to remove the intermediate output directory generated by ClairS after the final VCF is produced" + snv_min_af: "Minimum allele frequency required to call a SNV" + threads: "Number of threads to use" + modify_disk_size_gb: "Additional disk size in GB to allocate" + min_coverage: "Minimum coverage required at a site to make a variant call" + chunk_size: "Size of genomic chunks in base pairs to split the input BAMs into for parallel processing" + } + + input { + File tumor_bam + File tumor_bam_index + File normal_bam + File normal_bam_index + File reference_fasta + File reference_fasta_index + platform platform + File? bed_regions + File? vcf_candidates + File? pileup_model + File? full_alignment_model + Int? snv_min_qual + Int? indel_min_qual + String prefix = "output" + String sample_name = "SAMPLE" + Boolean all_contigs = false + Boolean print_ref_calls = false + Boolean print_germline_calls = false + Boolean remove_intermediate_directory = false + Float snv_min_af = 0.05 + Int threads = 4 + Int modify_disk_size_gb = 0 + Int min_coverage = 4 + Int chunk_size = 5000000 + } + + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size(tumor_bam, "GB") + * 2) + ceil(size(normal_bam, "GB") * 2) + 50 + modify_disk_size_gb + + String tumor = basename(tumor_bam) + String normal = basename(normal_bam) + + command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + + ln -s "~{tumor_bam}" "~{tumor}" + ln -s "~{tumor_bam_index}" "~{tumor}.bai" + ln -s "~{normal_bam}" "~{normal}" + ln -s "~{normal_bam_index}" "~{normal}.bai" + + run_clairs \ + --tumor_bam_fn "~{tumor}" \ + --normal_bam_fn "~{normal}" \ + --ref_fn "$ref_fasta" \ + --threads "~{threads}" \ + --platform "~{platform}" \ + --output_prefix "~{prefix}" \ + --min_coverage "~{min_coverage}" \ + --chunk_size "~{chunk_size}" \ + --snv_min_af "~{snv_min_af}" \ + --sample_name "~{sample_name}" \ + ~{if defined(bed_regions) + then "--bed_fn '~{bed_regions}'" + else "" + } \ + ~{if defined(vcf_candidates) + then "--genotyping_mode_vcf_fn '~{vcf_candidates}'" + else "" + } \ + ~{if all_contigs + then "--include_all_ctgs" + else "" + } \ + ~{if print_ref_calls + then "--print_ref_calls" + else "" + } \ + ~{if print_germline_calls + then "--print_germline_calls" + else "" + } \ + ~{if defined(pileup_model) + then "--pileup_model_path '~{pileup_model}'" + else "" + } \ + ~{if defined(full_alignment_model) + then "--full_alignment_model_path '~{full_alignment_model}'" + else "" + } \ + ~{if defined(snv_min_qual) + then "--snv_min_qual '~{snv_min_qual}'" + else "" + } \ + ~{if defined(indel_min_qual) + then "--indel_min_qual '~{indel_min_qual}'" + else "" + } \ + ~{if remove_intermediate_directory + then "--remove_intermediate_directory" + else "" + } + + rm -rf "$ref_fasta" "$ref_fasta.fai" \ + "~{tumor}" "~{tumor}.bai" \ + "~{normal}" "~{normal}.bai" + >>> + + output { + File vcf = "~{prefix}.vcf.gz" + } + + requirements { + container: "hkubal/clairs:v0.4.4" + cpu: threads + memory: "64 GB" + disks: "~{disk_size_gb} GB" + } +} From cda5a4aa539e3fd1b68e6c58b7d1c98ed0450f89 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 12 Mar 2026 16:06:24 -0400 Subject: [PATCH 065/147] chore: lint and format --- tools/deepvariant.wdl | 8 ++++---- tools/manta.wdl | 2 ++ tools/octopus.wdl | 8 ++++---- tools/strelka.wdl | 1 + 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl index 4e7ddaf40..f64e8147f 100644 --- a/tools/deepvariant.wdl +++ b/tools/deepvariant.wdl @@ -33,9 +33,6 @@ task deepsomatic { tumor_bam_index: "Index for tumor BAM file" normal_bam: "Input BAM file with aligned reads for normal sample" normal_bam_index: "Index for normal BAM file" - output_prefix: "Prefix for output VCF and gVCF files" - tumor_sample_name: "Sample name for the tumor sample" - normal_sample_name: "Sample name for the normal sample" model_type: { description: "Type of model to use for variant calling", choices: [ @@ -53,6 +50,9 @@ task deepsomatic { "ONT_TUMOR_ONLY", ], } + output_prefix: "Prefix for output VCF and gVCF files" + tumor_sample_name: "Sample name for the tumor sample" + normal_sample_name: "Sample name for the normal sample" runtime_report: "Output make_examples_somatic runtime metrics and create a visual runtime report using runtime_by_region_vis." vcf_stats_report: "Output a visual report (HTML) of statistics about the output VCF." threads: "Number of threads to use" @@ -66,10 +66,10 @@ task deepsomatic { File tumor_bam_index File normal_bam File normal_bam_index + ModelType model_type String output_prefix = "deepsomatic_output" String tumor_sample_name = "tumor" String normal_sample_name = "normal" - ModelType model_type Boolean runtime_report = false Boolean vcf_stats_report = false Int threads = 8 diff --git a/tools/manta.wdl b/tools/manta.wdl index 40ddc82d3..925612832 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -75,6 +75,8 @@ task manta_somatic { description: "Run Manta structural variant and indel caller in somatic mode" outputs: { manta_output: "Directory containing Manta variant calls", + indel_candidates: "VCF file with candidate small indels", + indel_candidates_index: "Index file for the candidate small indels VCF", log_file: "Log file from the Manta workflow execution", } } diff --git a/tools/octopus.wdl b/tools/octopus.wdl index 6398a9d7d..e7a6cc43f 100644 --- a/tools/octopus.wdl +++ b/tools/octopus.wdl @@ -5,7 +5,7 @@ task germline { description: "Run Octopus individual germline variant caller" warning: "octopus appears to functionally be abandonware at this point. the random forest filtering models are no longer available." outputs: { - output_vcf: "VCF file with called germline variants" + vcf: "VCF file with called germline variants" } } @@ -53,7 +53,7 @@ task germline { >>> output { - File output_vcf = "~{output_vcf_name}" + File vcf = "~{output_vcf_name}" } requirements { @@ -69,7 +69,7 @@ task somatic { description: "Run Octopus individual somatic variant caller" warning: "octopus appears to functionally be abandonware at this point. the random forest filtering models are no longer available." outputs: { - output_vcf: "VCF file with called somatic variants" + vcf: "VCF file with called somatic variants" } } @@ -122,7 +122,7 @@ task somatic { >>> output { - File output_vcf = "~{output_vcf_name}" + File vcf = "~{output_vcf_name}" } requirements { diff --git a/tools/strelka.wdl b/tools/strelka.wdl index 0fd5dbacb..23086cb88 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -17,6 +17,7 @@ task somatic { tumor_bam: "Input BAM file with aligned reads for tumor sample" tumor_bam_index: "Index file for the tumor BAM file" indel_candidates: "Optional VCF file with candidate indels, recommended to be generated by Manta" + indel_candidates_index: "Index file for the indel candidates VCF" output_dir: "Directory to store Strelka output" exome: "Boolean indicating if the data is exome sequencing" rna: "Boolean indicating if the data is RNA sequencing" From e579d6934e4f130224d6bcc6443d241f5146a405 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 13 Mar 2026 11:31:15 -0400 Subject: [PATCH 066/147] chore: add region filtering to manta --- tools/manta.wdl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/manta.wdl b/tools/manta.wdl index 925612832..a507bcfd5 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -14,6 +14,7 @@ task manta_germline { reference_fasta_index: "Index file for the reference genome FASTA" bam: "Input BAM file with aligned reads" bam_index: "Index file for the input BAM file" + calling_regions_bed: "Optional BED file specifying regions to call variants" output_dir: "Directory to store Manta output" threads: "Number of threads to use" modify_disk_size_gb: "Additional disk size in GB to allocate" @@ -24,6 +25,7 @@ task manta_germline { File reference_fasta_index File bam File bam_index + File? calling_regions_bed String output_dir = "manta_output" Int threads = 4 Int modify_disk_size_gb = 0 @@ -50,6 +52,7 @@ task manta_germline { configManta.py \ --bam "~{filename}" \ --referenceFasta "$ref_fasta" \ + ~{if defined(calling_regions_bed) then "--callRegions '" + calling_regions_bed + "'" else ""} \ --runDir "~{output_dir}" "~{output_dir}/runWorkflow.py" -j "~{threads}" @@ -88,6 +91,7 @@ task manta_somatic { tumor_bam_index: "Index file for the tumor BAM file" normal_bam: "Input BAM file with aligned reads from normal sample" normal_bam_index: "Index file for the normal BAM file" + calling_regions_bed: "Optional BED file specifying regions to call variants" output_dir: "Directory to store Manta output" threads: "Number of threads to use" modify_disk_size_gb: "Additional disk size in GB to allocate" @@ -100,6 +104,7 @@ task manta_somatic { File tumor_bam_index File normal_bam File normal_bam_index + File? calling_regions_bed String output_dir = "manta_output" Int threads = 4 Int modify_disk_size_gb = 0 @@ -131,6 +136,7 @@ task manta_somatic { --normalBam "~{normal}" \ --tumorBam "~{tumor}" \ --referenceFasta "$ref_fasta" \ + ~{if defined(calling_regions_bed) then "--callRegions '" + calling_regions_bed + "'" else ""} \ --runDir "~{output_dir}" "~{output_dir}/runWorkflow.py" -j "~{threads}" From 9d07e096b9d0d7c708a4a58d8c454da3876c1135 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 17 Mar 2026 14:00:20 -0500 Subject: [PATCH 067/147] chore: update tools --- tools/clair.wdl | 4 +++- tools/deepvariant.wdl | 8 ++++---- tools/manta.wdl | 14 ++++++++------ tools/strelka.wdl | 8 ++++---- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/tools/clair.wdl b/tools/clair.wdl index 1f10de5f7..cfdac7ac7 100644 --- a/tools/clair.wdl +++ b/tools/clair.wdl @@ -184,6 +184,7 @@ task clairs { Int? indel_min_qual String prefix = "output" String sample_name = "SAMPLE" + String output_dir = "output" Boolean all_contigs = false Boolean print_ref_calls = false Boolean print_germline_calls = false @@ -220,6 +221,7 @@ task clairs { --ref_fn "$ref_fasta" \ --threads "~{threads}" \ --platform "~{platform}" \ + --output_dir "~{output_dir}" \ --output_prefix "~{prefix}" \ --min_coverage "~{min_coverage}" \ --chunk_size "~{chunk_size}" \ @@ -272,7 +274,7 @@ task clairs { >>> output { - File vcf = "~{prefix}.vcf.gz" + File vcf = "~{output_dir}/~{prefix}.vcf.gz" } requirements { diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl index f64e8147f..08f39a495 100644 --- a/tools/deepvariant.wdl +++ b/tools/deepvariant.wdl @@ -77,8 +77,8 @@ task deepsomatic { } Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) - + ceil(size(tumor_bam, "GB")) - + ceil(size(normal_bam, "GB")) + + ceil(size(tumor_bam, "GB") * 2) + + ceil(size(normal_bam, "GB") * 2) + 50 + modify_disk_size_gb @@ -232,8 +232,8 @@ task deepvariant { } requirements { - #container: "google/deepvariant:1.10.0-gpu" - container: "google/deepvariant:1.10.0" + container: "google/deepvariant:1.10.0-gpu" + #container: "google/deepvariant:1.10.0" cpu: threads memory: "64 GB" disks: "~{disk_size_gb} GB" diff --git a/tools/manta.wdl b/tools/manta.wdl index a507bcfd5..8740cab6f 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -26,8 +26,9 @@ task manta_germline { File bam File bam_index File? calling_regions_bed + File? calling_regions_index String output_dir = "manta_output" - Int threads = 4 + Int threads = 20 Int modify_disk_size_gb = 0 } @@ -105,8 +106,9 @@ task manta_somatic { File normal_bam File normal_bam_index File? calling_regions_bed + File? calling_regions_index String output_dir = "manta_output" - Int threads = 4 + Int threads = 20 Int modify_disk_size_gb = 0 } @@ -127,10 +129,10 @@ task manta_somatic { || ln -sf "~{reference_fasta}" "$ref_fasta" ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" - ln -s "~{tumor_bam}" "~{tumor}" - ln -s "~{tumor_bam_index}" "~{tumor}.bai" - ln -s "~{normal_bam}" "~{normal}" - ln -s "~{normal_bam_index}" "~{normal}.bai" + ln -sf "~{tumor_bam}" "~{tumor}" + ln -sf "~{tumor_bam_index}" "~{tumor}.bai" + ln -sf "~{normal_bam}" "~{normal}" + ln -sf "~{normal_bam_index}" "~{normal}.bai" configManta.py \ --normalBam "~{normal}" \ diff --git a/tools/strelka.wdl b/tools/strelka.wdl index 23086cb88..38d2be7e5 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -42,8 +42,8 @@ task somatic { } Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) - + ceil(size(normal_bam, "GB")) - + ceil(size(tumor_bam, "GB")) + + ceil(size(normal_bam, "GB") * 2) + + ceil(size(tumor_bam, "GB") * 2) + ( if defined(indel_candidates) then ceil(size(indel_candidates, "GB")) @@ -93,7 +93,7 @@ task somatic { } requirements { - container: "quay.io/biocontainers/strelka:2.9.10--hdfd78af_2" + container: "quay.io/biocontainers/strelka:2.9.10--h9ee0642_1" cpu: threads memory: "25 GB" disks: "~{disk_size_gb} GB" @@ -164,7 +164,7 @@ task germline { } requirements { - container: "quay.io/biocontainers/strelka:2.9.10--hdfd78af_2" + container: "quay.io/biocontainers/strelka:2.9.10--h9ee0642_1" cpu: threads memory: "25 GB" disks: "~{disk_size_gb} GB" From 810cbe64cd3174d579918e0e7e25d940f79de7ac Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 17 Mar 2026 15:05:44 -0400 Subject: [PATCH 068/147] chore: add outputs for strelka and manta somatic --- tools/manta.wdl | 12 ++++++++++++ tools/strelka.wdl | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/tools/manta.wdl b/tools/manta.wdl index 8740cab6f..be8b0b7c3 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -81,6 +81,12 @@ task manta_somatic { manta_output: "Directory containing Manta variant calls", indel_candidates: "VCF file with candidate small indels", indel_candidates_index: "Index file for the candidate small indels VCF", + sv_candidates: "VCF file with candidate structural variants", + sv_candidates_index: "Index file for the candidate structural variants VCF", + somatic_sv: "VCF file with candidate somatic structural variants", + somatic_sv_index: "Index file for the candidate somatic structural variants VCF", + diploid_sv: "VCF file with candidate diploid structural variants", + diploid_sv_index: "Index file for the candidate diploid structural variants VCF", log_file: "Log file from the Manta workflow execution", } } @@ -150,6 +156,12 @@ task manta_somatic { Directory manta_output = output_dir File indel_candidates = "~{output_dir}/results/variants/candidateSmallIndels.vcf.gz" File indel_candidates_index = "~{output_dir}/results/variants/candidateSmallIndels.vcf.gz.tbi" + File sv_candidates = "~{output_dir}/results/variants/candidateSV.vcf.gz" + File sv_candidates_index = "~{output_dir}/results/variants/candidateSV.vcf.gz.tbi" + File somatic_sv = "~{output_dir}/results/variants/somaticSV.vcf.gz" + File somatic_sv_index = "~{output_dir}/results/variants/somaticSV.vcf.gz.tbi" + File diploid_sv = "~{output_dir}/results/variants/diploidSV.vcf.gz" + File diploid_sv_index = "~{output_dir}/results/variants/diploidSV.vcf.gz.tbi" File log_file = "~{output_dir}/workspace/pyflow.data/logs/pyflow_log.txt" } diff --git a/tools/strelka.wdl b/tools/strelka.wdl index 38d2be7e5..a38b23406 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -5,6 +5,10 @@ task somatic { description: "Run Strelka somatic variant calling workflow" outputs: { strelka_output: "Directory containing Strelka somatic variant calls", + somatic_indels: "VCF file with somatic indels", + somatic_indels_index: "Index file for the somatic indels VCF", + somatic_snvs: "VCF file with somatic SNVs", + somatic_snvs_index: "Index file for the somatic SNVs VCF", log_file: "Log file from the Strelka workflow execution", } } @@ -89,6 +93,10 @@ task somatic { output { Directory strelka_output = output_dir + File somatic_indels = "~{output_dir}/results/variants/somatic.indels.vcf.gz" + File somatic_indels_index = "~{output_dir}/results/variants/somatic.indels.vcf.gz.tbi" + File somatic_snvs = "~{output_dir}/results/variants/somatic.snvs.vcf.gz" + File somatic_snvs_index = "~{output_dir}/results/variants/somatic.snvs.vcf.gz.tbi" File log_file = "~{output_dir}/workspace/pyflow.data/logs/pyflow_log.txt" } From a8e214834e9e12785e60e6c56b22a01413905abd Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 19 Mar 2026 14:26:47 -0400 Subject: [PATCH 069/147] feat: mutect2 wrapper --- tools/mutect2.wdl | 99 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 tools/mutect2.wdl diff --git a/tools/mutect2.wdl b/tools/mutect2.wdl new file mode 100644 index 000000000..7565395d0 --- /dev/null +++ b/tools/mutect2.wdl @@ -0,0 +1,99 @@ +version 1.3 + +task mutect2 { + meta { + description: "Run GATK Mutect2 somatic variant calling workflow" + outputs: { + mutect2_output: "Directory containing Mutect2 somatic variant calls", + somatic_vcf: "VCF file with somatic variants called by Mutect2", + somatic_vcf_index: "Index file for the Mutect2 somatic variants VCF", + log_file: "Log file from the Mutect2 workflow execution", + } + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" + normal_bam: "Input BAM file with aligned reads for normal sample" + normal_bam_index: "Index file for the normal BAM file" + tumor_bam: "Input BAM file with aligned reads for tumor sample" + tumor_bam_index: "Index file for the tumor BAM file" + germline_resource_vcf: "Optional VCF file with germline variants for Mutect2, recommended to be from gnomAD or similar population resource" + germline_resource_vcf_index: "Index file for the germline resource VCF" + panel_of_normals_vcf: "Optional VCF file with panel of normals for Mutect2, recommended to be generated from a large set of normal samples processed with Mutect2" + panel_of_normals_vcf_index: "Index file for the panel of normals VCF" + normal_sample_name: "Name of the normal sample" + tumor_sample_name: "Name of the tumor sample" + output_dir: "Directory to store Mutect2 output" + threads: "Number of threads to use" + modify_disk_size_gb: "Additional disk size in GB to allocate" + } + + input { + File reference_fasta + File reference_fasta_index + File normal_bam + File normal_bam_index + File tumor_bam + File tumor_bam_index + File? germline_resource_vcf + File? germline_resource_vcf_index + File? panel_of_normals_vcf + File? panel_of_normals_vcf_index + String normal_sample_name = basename(normal_bam, ".bam") + String tumor_sample_name = basename(tumor_bam, ".bam") + String output_dir = "mutect2_somatic_output" + Int threads = 4 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + + ceil(size(normal_bam, "GB") * 2) + + ceil(size(tumor_bam, "GB") * 2) + + 20 + + modify_disk_size_gb + + String tumor = basename(tumor_bam) + String normal = basename(normal_bam) + + command <<< + set -euo pipefail + + ref_fasta=~{basename(reference_fasta, ".gz")} + gunzip -c "~{reference_fasta}" > "$ref_fasta" \ + || ln -sf "~{reference_fasta}" "$ref_fasta" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + + ln -s "~{tumor_bam}" "~{tumor}" + ln -s "~{tumor_bam_index}" "~{tumor}.bai" + ln -s "~{normal_bam}" "~{normal}" + ln -s "~{normal_bam_index}" "~{normal}.bai" + + gatk Mutect2 \ + -R "$ref_fasta" \ + -I "~{tumor}" \ + -I "~{normal}" \ + -normal "~{normal_sample_name}" \ + -tumor "~{tumor_sample_name}" \ + ~{if defined(germline_resource_vcf) then "-germline-resource '" + germline_resource_vcf + "'" else ""} \ + ~{if defined(panel_of_normals_vcf) then "-panel-of-normals '" + panel_of_normals_vcf + "'" else ""} \ + -O "~{output_dir}/somatic_variants.vcf.gz" \ + --native-pair-hmm-threads "~{threads}" + + rm -rf "$ref_fasta" "$ref_fasta.fai" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{normal}.bai" + >>> + + output { + Directory mutect2_output = output_dir + File somatic_vcf = "~{output_dir}/somatic_variants.vcf.gz" + File somatic_vcf_index = "~{output_dir}/somatic_variants.vcf.gz.tbi" + File log_file = "~{output_dir}/gatk_mutect2.log" + } + + requirements { + container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" + cpu: threads + memory: "25 GB" + disks: "~{disk_size_gb} GB" + } +} From db57b47baf0957b15c26b2a10c7f2c7f798aa1bc Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 19 Mar 2026 15:19:46 -0400 Subject: [PATCH 070/147] chore: add dictionary because of course GATK needs that --- tools/mutect2.wdl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/mutect2.wdl b/tools/mutect2.wdl index 7565395d0..e8f18ebe7 100644 --- a/tools/mutect2.wdl +++ b/tools/mutect2.wdl @@ -14,6 +14,7 @@ task mutect2 { parameter_meta { reference_fasta: "Reference genome in FASTA format" reference_fasta_index: "Index file for the reference genome FASTA" + reference_fasta_dict: "Dictionary file for the reference genome FASTA" normal_bam: "Input BAM file with aligned reads for normal sample" normal_bam_index: "Index file for the normal BAM file" tumor_bam: "Input BAM file with aligned reads for tumor sample" @@ -32,6 +33,7 @@ task mutect2 { input { File reference_fasta File reference_fasta_index + File reference_fasta_dict File normal_bam File normal_bam_index File tumor_bam @@ -63,6 +65,7 @@ task mutect2 { gunzip -c "~{reference_fasta}" > "$ref_fasta" \ || ln -sf "~{reference_fasta}" "$ref_fasta" ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + ln -sf "~{reference_fasta_dict}" "$ref_fasta.dict" ln -s "~{tumor_bam}" "~{tumor}" ln -s "~{tumor_bam_index}" "~{tumor}.bai" @@ -80,7 +83,7 @@ task mutect2 { -O "~{output_dir}/somatic_variants.vcf.gz" \ --native-pair-hmm-threads "~{threads}" - rm -rf "$ref_fasta" "$ref_fasta.fai" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{normal}.bai" + rm -rf "$ref_fasta" "$ref_fasta.fai" "$ref_fasta.dict" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{normal}.bai" >>> output { From 707b7025513dd373b687382c5fbe41a447733b6e Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 19 Mar 2026 15:56:21 -0500 Subject: [PATCH 071/147] chore: ensure names match GATK's expectations --- tools/mutect2.wdl | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tools/mutect2.wdl b/tools/mutect2.wdl index e8f18ebe7..ee362901a 100644 --- a/tools/mutect2.wdl +++ b/tools/mutect2.wdl @@ -61,19 +61,19 @@ task mutect2 { command <<< set -euo pipefail - ref_fasta=~{basename(reference_fasta, ".gz")} - gunzip -c "~{reference_fasta}" > "$ref_fasta" \ - || ln -sf "~{reference_fasta}" "$ref_fasta" - ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + ref_fasta=~{sub(basename(reference_fasta, ".gz"), ".(fasta|fa)?$", "")} + gunzip -c "~{reference_fasta}" > "$ref_fasta.fa" \ + || ln -sf "~{reference_fasta}" "$ref_fasta.fa" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fa.fai" ln -sf "~{reference_fasta_dict}" "$ref_fasta.dict" - ln -s "~{tumor_bam}" "~{tumor}" - ln -s "~{tumor_bam_index}" "~{tumor}.bai" - ln -s "~{normal_bam}" "~{normal}" - ln -s "~{normal_bam_index}" "~{normal}.bai" + ln -sf "~{tumor_bam}" "~{tumor}" + ln -sf "~{tumor_bam_index}" "~{tumor}.bai" + ln -sf "~{normal_bam}" "~{normal}" + ln -sf "~{normal_bam_index}" "~{normal}.bai" gatk Mutect2 \ - -R "$ref_fasta" \ + -R "$ref_fasta.fa" \ -I "~{tumor}" \ -I "~{normal}" \ -normal "~{normal_sample_name}" \ @@ -83,7 +83,7 @@ task mutect2 { -O "~{output_dir}/somatic_variants.vcf.gz" \ --native-pair-hmm-threads "~{threads}" - rm -rf "$ref_fasta" "$ref_fasta.fai" "$ref_fasta.dict" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{normal}.bai" + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{normal}.bai" >>> output { From 0bb848abb257188f9c38a1e30c8fbe5a970ae999 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 20 Mar 2026 08:04:11 -0500 Subject: [PATCH 072/147] chore: clean up mutect output --- tools/mutect2.wdl | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/tools/mutect2.wdl b/tools/mutect2.wdl index ee362901a..02fbf3cee 100644 --- a/tools/mutect2.wdl +++ b/tools/mutect2.wdl @@ -4,10 +4,8 @@ task mutect2 { meta { description: "Run GATK Mutect2 somatic variant calling workflow" outputs: { - mutect2_output: "Directory containing Mutect2 somatic variant calls", somatic_vcf: "VCF file with somatic variants called by Mutect2", somatic_vcf_index: "Index file for the Mutect2 somatic variants VCF", - log_file: "Log file from the Mutect2 workflow execution", } } @@ -25,7 +23,7 @@ task mutect2 { panel_of_normals_vcf_index: "Index file for the panel of normals VCF" normal_sample_name: "Name of the normal sample" tumor_sample_name: "Name of the tumor sample" - output_dir: "Directory to store Mutect2 output" + output_prefix: "Prefix for output file. The extension '.vcf.gz' will be added." threads: "Number of threads to use" modify_disk_size_gb: "Additional disk size in GB to allocate" } @@ -44,7 +42,7 @@ task mutect2 { File? panel_of_normals_vcf_index String normal_sample_name = basename(normal_bam, ".bam") String tumor_sample_name = basename(tumor_bam, ".bam") - String output_dir = "mutect2_somatic_output" + String output_prefix = "mutect2_somatic_variants" Int threads = 4 Int modify_disk_size_gb = 0 } @@ -80,17 +78,15 @@ task mutect2 { -tumor "~{tumor_sample_name}" \ ~{if defined(germline_resource_vcf) then "-germline-resource '" + germline_resource_vcf + "'" else ""} \ ~{if defined(panel_of_normals_vcf) then "-panel-of-normals '" + panel_of_normals_vcf + "'" else ""} \ - -O "~{output_dir}/somatic_variants.vcf.gz" \ + -O "~{output_prefix}.vcf.gz" \ --native-pair-hmm-threads "~{threads}" rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{normal}.bai" >>> output { - Directory mutect2_output = output_dir - File somatic_vcf = "~{output_dir}/somatic_variants.vcf.gz" - File somatic_vcf_index = "~{output_dir}/somatic_variants.vcf.gz.tbi" - File log_file = "~{output_dir}/gatk_mutect2.log" + File somatic_vcf = "~{output_prefix}.vcf.gz" + File somatic_vcf_index = "~{output_prefix}.vcf.gz.tbi" } requirements { From ff8224514bbafc593a3712c85d3bcd1d188df9ba Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 20 Mar 2026 10:06:35 -0400 Subject: [PATCH 073/147] chore: localize files for Haplotype Caller --- tools/gatk4.wdl | 54 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 41 insertions(+), 13 deletions(-) diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index c0b9085e3..16ac3f4b6 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -1,6 +1,12 @@ ## [Homepage](https://software.broadinstitute.org/gatk) -version 1.1 +version 1.3 + +enum ref_confidence { + NONE, + GVCF, + BP_RESOLUTION +} task split_n_cigar_reads { meta { @@ -62,7 +68,7 @@ task split_n_cigar_reads { File split_n_reads_bam_md5 = "~{prefix}.bam.md5" } - runtime { + requirements { cpu: ncpu memory: "~{memory_gb} GB" disks: "~{disk_size_gb} GB" @@ -121,7 +127,6 @@ task base_recalibrator { + modify_disk_size_gb Int java_heap_size = ceil(memory_gb * 0.9) - #@ except: LineWidth command <<< # shellcheck disable=SC2102 gatk \ @@ -144,7 +149,7 @@ task base_recalibrator { File recalibration_report = "~{outfile_name}" } - runtime { + requirements { cpu: ncpu memory: "~{memory_gb} GB" disks: "~{disk_size_gb} GB" @@ -188,7 +193,6 @@ task apply_bqsr { Int disk_size_gb = ceil(size(bam, "GB") * 2) + 30 + modify_disk_size_gb Int java_heap_size = ceil(memory_gb * 0.9) - #@ except: LineWidth command <<< set -euo pipefail @@ -208,7 +212,7 @@ task apply_bqsr { File recalibrated_bam_index = "~{prefix}.bqsr.bam.bai" } - runtime { + requirements { cpu: ncpu memory: "~{memory_gb} GB" disks: "~{disk_size_gb} GB" @@ -239,6 +243,11 @@ task haplotype_caller { dict: "Dictionary file for FASTA format genome" dbSNP_vcf: "dbSNP VCF file" dbSNP_vcf_index: "dbSNP VCF index file" + reference_confidence: { + description: "Reference confidence mode to run HaplotypeCaller in.", + help: "If `NONE`, HaplotypeCaller will run in default mode and only output variant sites. If `GVCF`, HaplotypeCaller will run in GVCF mode and output both variant and non-variant sites with reference confidence scores. If `BP_RESOLUTION`, HaplotypeCaller will run in GVCF mode but output non-variant sites at base pair resolution instead of block resolution.", + external_help: "https://gatk.broadinstitute.org/hc/en-us/articles/360037225632-HaplotypeCaller#--emit-ref-confidence", + } prefix: "Prefix for the output VCF. The extension `.vcf.gz` will be added." use_soft_clipped_bases: "Use soft clipped bases in variant calling. Default is to ignore soft clipped bases." stand_call_conf: { @@ -261,6 +270,7 @@ task haplotype_caller { File dbSNP_vcf #@ except: SnakeCase File dbSNP_vcf_index + ref_confidence reference_confidence = ref_confidence.NONE String prefix = basename(bam, ".bam") Boolean use_soft_clipped_bases = false Int stand_call_conf = 20 @@ -275,18 +285,36 @@ task haplotype_caller { + modify_disk_size_gb Int java_heap_size = ceil(memory_gb * 0.9) - #@ except: LineWidth + String sample = basename(bam) + command <<< + set -euo pipefail + + ref_fasta=~{sub(basename(fasta, ".gz"), ".(fasta|fa)?$", "")} + gunzip -c "~{fasta}" > "$ref_fasta.fa" \ + || ln -sf "~{fasta}" "$ref_fasta.fa" + ln -sf "~{fasta_index}" "$ref_fasta.fa.fai" + ln -sf "~{dict}" "$ref_fasta.dict" + + ln -sf "~{bam}" "~{sample}" + ln -sf "~{bam_index}" "~{sample}.bai" + + ln -sf "~{dbSNP_vcf}" "dbSNP.vcf.gz" + ln -sf "~{dbSNP_vcf_index}" "dbSNP.vcf.gz.tbi" + gatk \ --java-options "-Xms6000m -Xmx~{java_heap_size}g -XX:GCTimeLimit=50 -XX:GCHeapFreeLimit=10" \ HaplotypeCaller \ - -R "~{fasta}" \ - -I "~{bam}" \ + -R "$ref_fasta.fa" \ + -I "~{sample}" \ -L "~{interval_list}" \ -O "~{prefix}.vcf.gz" \ ~{if use_soft_clipped_bases then "" else "--dont-use-soft-clipped-bases"} \ --standard-min-confidence-threshold-for-calling ~{stand_call_conf} \ - --dbsnp "~{dbSNP_vcf}" + --dbsnp "dbSNP.vcf.gz" \ + --emit-ref-confidence "~{reference_confidence}" + + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{sample}" "~{sample}.bai" "dbSNP.vcf.gz" "dbSNP.vcf.gz.tbi" >>> output { @@ -294,7 +322,7 @@ task haplotype_caller { File vcf_index = "~{prefix}.vcf.gz.tbi" } - runtime { + requirements { cpu: ncpu memory: "~{memory_gb} GB" disks: "~{disk_size_gb} GB" @@ -367,7 +395,7 @@ task variant_filtration { File vcf_filtered_index = "~{prefix}.filtered.vcf.gz.tbi" } - runtime { + requirements { cpu: ncpu memory: "15 GB" disks: "~{disk_size_gb} GB" @@ -488,7 +516,7 @@ task mark_duplicates_spark { File mark_duplicates_metrics = "~{prefix}.metrics.txt" } - runtime { + requirements { cpu: ncpu memory: "~{memory_gb} GB" disks: "~{disk_size_gb} GB" From 9adf2f5498dca2f43aa00a2b44d14c9239f120d2 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 20 Mar 2026 13:19:45 -0400 Subject: [PATCH 074/147] chore: localize inputs for deepvariant --- tools/deepvariant.wdl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl index 08f39a495..188f3f379 100644 --- a/tools/deepvariant.wdl +++ b/tools/deepvariant.wdl @@ -198,6 +198,8 @@ task deepvariant { + 50 + modify_disk_size_gb + String filename = basename(bam) + command <<< set -euo pipefail @@ -206,11 +208,14 @@ task deepvariant { || ln -sf "~{reference_fasta}" "$ref_fasta" ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + ln -s "~{bam}" "~{filename}" + ln -s "~{bam_index}" "~{filename}.bai" + mkdir "test" TMPDIR="test" run_deepvariant \ --model_type="~{model_type}" \ --ref="$ref_fasta" \ - --reads="~{bam}" \ + --reads="~{filename}" \ --output_vcf="~{output_prefix}.vcf.gz" \ --output_gvcf="~{output_prefix}.g.vcf.gz" \ --num_shards="~{threads}" \ @@ -221,7 +226,7 @@ task deepvariant { ~{if vcf_stats_report then "--vcf_stats_report" else ""} \ --haploid_contigs="~{sep(",", haploid_chromosomes)}" - rm -rf "$ref_fasta" "$ref_fasta.fai" + rm -rf "$ref_fasta" "$ref_fasta.fai" "~{filename}" "~{filename}.bai" >>> output { From 2efd09853f9c8da8162ddc3765cc507f18fa879f Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 20 Mar 2026 13:21:45 -0400 Subject: [PATCH 075/147] chore: localize inputs for clair3 and strelka --- tools/clair.wdl | 9 +++++++-- tools/strelka.wdl | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/tools/clair.wdl b/tools/clair.wdl index cfdac7ac7..fb94e179b 100644 --- a/tools/clair.wdl +++ b/tools/clair.wdl @@ -66,6 +66,8 @@ task clair3 { Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size(bam, "GB")) + 50 + modify_disk_size_gb + String filename = basename(bam) + command <<< set -euo pipefail @@ -74,8 +76,11 @@ task clair3 { || ln -sf "~{reference_fasta}" "$ref_fasta" ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + ln -s "~{bam}" "~{filename}" + ln -s "~{bam_index}" "~{filename}.bai" + run_clair3.sh \ - --bam_fn="~{bam}" \ + --bam_fn="~{filename}" \ --ref_fn="$ref_fasta" \ --threads="~{threads}" \ --platform="~{platform}" \ @@ -102,7 +107,7 @@ task clair3 { else "" } - rm -rf "$ref_fasta" "$ref_fasta.fai" + rm -rf "$ref_fasta" "$ref_fasta.fai" "~{filename}" "~{filename}.bai" >>> output { diff --git a/tools/strelka.wdl b/tools/strelka.wdl index a38b23406..ce9c6bf5f 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -146,6 +146,8 @@ task germline { + 20 + modify_disk_size_gb + String filename = basename(bam) + command <<< set -euo pipefail @@ -154,16 +156,19 @@ task germline { || ln -sf "~{reference_fasta}" "$ref_fasta" ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" + ln -s "~{bam}" "~{filename}" + ln -s "~{bam_index}" "~{filename}.bai" + configureStrelkaGermlineWorkflow.py \ --referenceFasta "$ref_fasta" \ --runDir "~{output_dir}" \ - --bam "~{bam}" \ + --bam "~{filename}" \ ~{if (exome) then "--exome" else ""} \ ~{if (rna) then "--rna" else ""} "~{output_dir}/runWorkflow.py" -m local -j ~{threads} - rm -rf "$ref_fasta" "$ref_fasta.fai" "~{output_dir}/workspace/pyflow.data/logs/tmp" + rm -rf "$ref_fasta" "$ref_fasta.fai" "~{filename}" "~{filename}.bai" "~{output_dir}/workspace/pyflow.data/logs/tmp" >>> output { From 9f62956e7c181a415b26323f5e66a3089235ba7c Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 20 Mar 2026 13:25:10 -0400 Subject: [PATCH 076/147] chore: lint --- tools/clair.wdl | 1 + tools/manta.wdl | 2 ++ 2 files changed, 3 insertions(+) diff --git a/tools/clair.wdl b/tools/clair.wdl index fb94e179b..d8446f522 100644 --- a/tools/clair.wdl +++ b/tools/clair.wdl @@ -162,6 +162,7 @@ task clairs { indel_min_qual: "Minimum quality score required to call an indel" prefix: "Prefix for ClairS output files" sample_name: "Sample name to use in the output VCF" + output_dir: "Directory to store ClairS output" all_contigs: "Boolean indicating whether to include all contigs in variant calling. If false only chr{1..22,X,Y} are called." print_ref_calls: "Boolean indicating whether to print reference calls in the output VCF" print_germline_calls: "Boolean indicating whether to print germline calls in the output VCF" diff --git a/tools/manta.wdl b/tools/manta.wdl index be8b0b7c3..03b545cd3 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -15,6 +15,7 @@ task manta_germline { bam: "Input BAM file with aligned reads" bam_index: "Index file for the input BAM file" calling_regions_bed: "Optional BED file specifying regions to call variants" + calling_regions_index: "Index file for the calling regions BED file" output_dir: "Directory to store Manta output" threads: "Number of threads to use" modify_disk_size_gb: "Additional disk size in GB to allocate" @@ -99,6 +100,7 @@ task manta_somatic { normal_bam: "Input BAM file with aligned reads from normal sample" normal_bam_index: "Index file for the normal BAM file" calling_regions_bed: "Optional BED file specifying regions to call variants" + calling_regions_index: "Index file for the calling regions BED file" output_dir: "Directory to store Manta output" threads: "Number of threads to use" modify_disk_size_gb: "Additional disk size in GB to allocate" From 0929b6797e774f94a38aaf0e5bf9149ef8c73c4a Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 23 Mar 2026 11:08:36 -0400 Subject: [PATCH 077/147] feat: add mutect2 filtering --- tools/mutect2.wdl | 183 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) diff --git a/tools/mutect2.wdl b/tools/mutect2.wdl index 02fbf3cee..76877a309 100644 --- a/tools/mutect2.wdl +++ b/tools/mutect2.wdl @@ -96,3 +96,186 @@ task mutect2 { disks: "~{disk_size_gb} GB" } } + +task filter_mutect { + meta { + description: "Run GATK FilterMutectCalls to filter Mutect2 somatic variant calls" + outputs: { + filtered_somatic_vcf: "VCF file with filtered somatic variants from Mutect2", + filtered_somatic_vcf_index: "Index file for the filtered Mutect2 somatic variants VCF", + } + } + + parameter_meta { + unfiltered_somatic_vcf: "Input VCF file with unfiltered somatic variants from Mutect2" + unfiltered_somatic_vcf_index: "Index file for the unfiltered Mutect2 somatic variants VCF" + reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" + reference_fasta_dict: "Dictionary file for the reference genome FASTA" + contamination_table: "Table file with estimated contamination fraction and related metrics from GATK CalculateContamination" + maf_segments: "Table file with segmented genomic intervals for MAF calculation from GATK CalculateContamination" + prefix: "Prefix for output file. The extension '.vcf.gz' will be added." + modify_disk_size_gb: "Additional disk size in GB to allocate" + } + + input { + File unfiltered_somatic_vcf + File unfiltered_somatic_vcf_index + File reference_fasta + File reference_fasta_index + File reference_fasta_dict + File contamination_table + File maf_segments + String prefix = basename(unfiltered_somatic_vcf, ".vcf.gz") + "_filtered" + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + + ceil(size(unfiltered_somatic_vcf, "GB") * 2) + + 20 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{sub(basename(reference_fasta, ".gz"), ".(fasta|fa)?$", "")} + gunzip -c "~{reference_fasta}" > "$ref_fasta.fa" \ + || ln -sf "~{reference_fasta}" "$ref_fasta.fa" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fa.fai" + ln -sf "~{reference_fasta_dict}" "$ref_fasta.dict" + + gatk --java-options "-Xmx~{24000}m" \ + FilterMutectCalls \ + -R "$ref_fasta.fa" \ + -V "~{unfiltered_somatic_vcf}" \ + --contamination-table "~{contamination_table}" \ + --tumor-segmentation "~{maf_segments}" \ + -O "~{prefix}.vcf.gz" + + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" + >>> + + output { + File filtered_somatic_vcf = "~{prefix}.vcf.gz" + File filtered_somatic_vcf_index = "~{prefix}.vcf.gz.tbi" + } + + requirements { + container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" + cpu: 1 + memory: "25 GB" + disks: "~{disk_size_gb} GB" + } +} + +task calculate_contamination { + meta { + description: "Run GATK CalculateContamination to estimate cross-sample contamination in tumor sample" + outputs: { + contamination_table: "Table file with estimated contamination fraction and related metrics", + maf_segments: "Table file with segmented genomic intervals for MAF calculation", + } + } + + parameter_meta { + tumor_pileups: "Pileup summaries file for the tumor sample generated by GATK GetPileupSummaries" + normal_pileups: { + description: "Pileup summaries file for the normal sample generated by GATK GetPileupSummaries.", + help: "Optional but recommended for more accurate contamination estimation." + } + prefix: "Prefix for output files. The extensions '.table' and '.segments.table' will be added." + modify_disk_size_gb: "Additional disk size in GB to allocate" + } + + input { + File tumor_pileups + File? normal_pileups + String prefix = basename(tumor_pileups, ".table") + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(tumor_pileups, "GB") * 2) + + ceil(size(normal_pileups, "GB") * 2) + + 20 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + gatk --java-options "-Xmx~{24000}m" \ + CalculateContamination \ + -I "~{tumor_pileups}" \ + -O "~{prefix}.contamination.table" \ + --tumor-segmentation "~{prefix}.segments.table" \ + ~{if defined(normal_pileups) then "-matched '" + normal_pileups + "'" else ""} + >>> + + output { + File contamination_table = "~{prefix}.contamination.table" + File maf_segments = "~{prefix}.segments.table" + } + + requirements { + container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" + memory: "25 GB" + disks: "~{disk_size_gb} GB" + maxRetries: 1 + cpu: 1 + } +} + +task get_pileup_summaries { + meta { + description: "Run GATK GetPileupSummaries to generate pileup summaries for contamination estimation" + outputs: { + pileup_summaries: "Table file with pileup summaries for the input BAM file over the specified variants and intervals" + } + } + + parameter_meta { + bam: "Input BAM file with aligned reads" + bam_index: "Index file for the input BAM file" + intervals: "One or more genomic intervals over which to operate. Often the same file as `variants`" + variants: "VCF file with variants and allele frequencies to summarize pileups over." + prefix: "Prefix for output file. The extension '.table' will be added." + modify_disk_size_gb: "Additional disk size in GB to allocate" + } + + input { + File bam + File bam_index + File intervals + File variants + String prefix = basename(bam, ".bam") + "_pileup_summaries" + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(bam, "GB") * 2) + + ceil(size(intervals, "GB") * 2) + + ceil(size(variants, "GB") * 2) + + 20 + + modify_disk_size_gb + + command <<< + set -euo pipefail + + gatk --java-options "-Xmx~{24000}m" \ + GetPileupSummaries \ + -I "~{bam}" \ + -V "~{variants}" \ + -L "~{intervals}" \ + -O "~{prefix}.table" + >>> + + output { + File pileup_summaries = "~{prefix}.table" + } + + requirements { + container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" + memory: "25 GB" + disks: "~{disk_size_gb} GB" + maxRetries: 1 + cpu: 1 + } +} From 211ba8ec06f2d7b1c268395c9cf62d8cb812a138 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 25 Mar 2026 11:40:32 -0400 Subject: [PATCH 078/147] feat: add mutect2 filtering --- tools/mutect2.wdl | 131 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 130 insertions(+), 1 deletion(-) diff --git a/tools/mutect2.wdl b/tools/mutect2.wdl index 76877a309..6955ddf17 100644 --- a/tools/mutect2.wdl +++ b/tools/mutect2.wdl @@ -1,5 +1,116 @@ version 1.3 +workflow mutect { + meta { + description: "Workflow for calling somatic variants using GATK Mutect2 and filtering with FilterMutectCalls" + outputs: { + filtered_somatic_vcf: "VCF file with filtered somatic variants from Mutect2", + filtered_somatic_vcf_index: "Index file for the filtered Mutect2 somatic variants VCF", + } + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" + reference_fasta_dict: "Dictionary file for the reference genome FASTA" + normal_bam: "Input BAM file with aligned reads for normal sample" + normal_bam_index: "Index file for the normal BAM file" + tumor_bam: "Input BAM file with aligned reads for tumor sample" + tumor_bam_index: "Index file for the tumor BAM file" + variant_vcf: "VCF file with variants and allele frequencies to summarize pileups over." + variant_vcf_index: "Index file for the variant VCF" + intervals: "One or more genomic intervals over which to operate. Often the same file as `variants`" + intervals_index: "Index file for the intervals file" + germline_resource_vcf: "Optional VCF file with germline variants for Mutect2, recommended to be from gnomAD or similar population resource" + germline_resource_vcf_index: "Index file for the germline resource VCF" + panel_of_normals_vcf: "Optional VCF file with panel of normals for Mutect2, recommended to be generated from a large set of normal samples processed with Mutect2" + panel_of_normals_vcf_index: "Index file for the panel of normals VCF" + normal_sample_name: "Name of the normal sample" + tumor_sample_name: "Name of the tumor sample" + output_prefix: "Prefix for output files. The extensions '.vcf.gz' and '.vcf.gz.tbi' will be added." + } + + input { + File reference_fasta + File reference_fasta_index + File reference_fasta_dict + File normal_bam + File normal_bam_index + File tumor_bam + File tumor_bam_index + File variant_vcf + File variant_vcf_index + File intervals + File intervals_index + File? germline_resource_vcf + File? germline_resource_vcf_index + File? panel_of_normals_vcf + File? panel_of_normals_vcf_index + String normal_sample_name = basename(normal_bam, ".bam") + String tumor_sample_name = basename(tumor_bam, ".bam") + String output_prefix = basename(tumor_bam, ".bam") + "_v_" + basename(normal_bam, ".bam") + } + + call mutect2 { + reference_fasta, + reference_fasta_index, + reference_fasta_dict, + normal_bam, + normal_bam_index, + tumor_bam, + tumor_bam_index, + normal_sample_name, + tumor_sample_name, + output_prefix = output_prefix + "_unfiltered", + germline_resource_vcf, + germline_resource_vcf_index, + panel_of_normals_vcf, + panel_of_normals_vcf_index, + } + + call get_pileup_summaries as get_tumor_pileups { + bam = tumor_bam, + bam_index = tumor_bam_index, + intervals, + intervals_index, + variants = variant_vcf, + variants_index = variant_vcf_index, + prefix = output_prefix + "_tumor", + } + + call get_pileup_summaries as get_normal_pileups { + bam = normal_bam, + bam_index = normal_bam_index, + intervals, + intervals_index, + variants = variant_vcf, + variants_index = variant_vcf_index, + prefix = output_prefix + "_normal", + } + + call calculate_contamination { + tumor_pileups = get_tumor_pileups.pileup_summaries, + normal_pileups = get_normal_pileups.pileup_summaries, + prefix = output_prefix, + } + + call filter_mutect { + unfiltered_somatic_vcf = mutect2.somatic_vcf, + unfiltered_somatic_vcf_index = mutect2.somatic_vcf_index, + reference_fasta, + reference_fasta_index, + reference_fasta_dict, + contamination_table = calculate_contamination.contamination_table, + maf_segments = calculate_contamination.maf_segments, + prefix = output_prefix, + } + + output { + File filtered_somatic_vcf = filter_mutect.filtered_somatic_vcf + File filtered_somatic_vcf_index = filter_mutect.filtered_somatic_vcf_index + } +} + task mutect2 { meta { description: "Run GATK Mutect2 somatic variant calling workflow" @@ -144,6 +255,9 @@ task filter_mutect { ln -sf "~{reference_fasta_index}" "$ref_fasta.fa.fai" ln -sf "~{reference_fasta_dict}" "$ref_fasta.dict" + ln -sf "~{unfiltered_somatic_vcf}" "~{basename(unfiltered_somatic_vcf)}" + ln -sf "~{unfiltered_somatic_vcf_index}" "~{basename(unfiltered_somatic_vcf_index)}" + gatk --java-options "-Xmx~{24000}m" \ FilterMutectCalls \ -R "$ref_fasta.fa" \ @@ -152,7 +266,7 @@ task filter_mutect { --tumor-segmentation "~{maf_segments}" \ -O "~{prefix}.vcf.gz" - rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename(unfiltered_somatic_vcf)}" "~{basename(unfiltered_somatic_vcf_index)}" >>> output { @@ -236,7 +350,9 @@ task get_pileup_summaries { bam: "Input BAM file with aligned reads" bam_index: "Index file for the input BAM file" intervals: "One or more genomic intervals over which to operate. Often the same file as `variants`" + intervals_index: "Index file for the intervals file" variants: "VCF file with variants and allele frequencies to summarize pileups over." + variants_index: "Index file for the variant VCF" prefix: "Prefix for output file. The extension '.table' will be added." modify_disk_size_gb: "Additional disk size in GB to allocate" } @@ -245,7 +361,9 @@ task get_pileup_summaries { File bam File bam_index File intervals + File intervals_index File variants + File variants_index String prefix = basename(bam, ".bam") + "_pileup_summaries" Int modify_disk_size_gb = 0 } @@ -256,15 +374,26 @@ task get_pileup_summaries { + 20 + modify_disk_size_gb + String name = basename(bam, ".bam") + command <<< set -euo pipefail + ln -sf "~{bam}" "~{name}" + ln -sf "~{bam_index}" "~{name}.bai" + ln -sf "~{intervals}" "~{basename(intervals)}" + ln -sf "~{intervals_index}" "~{basename(intervals_index)}" + ln -sf "~{variants}" "~{basename(variants)}" + ln -sf "~{variants_index}" "~{basename(variants_index)}" + gatk --java-options "-Xmx~{24000}m" \ GetPileupSummaries \ -I "~{bam}" \ -V "~{variants}" \ -L "~{intervals}" \ -O "~{prefix}.table" + + rm -rf "~{name}" "~{name}.bai" "~{basename(intervals)}" "~{basename(intervals_index)}" "~{basename(variants)}" "~{basename(variants_index)}" >>> output { From d002e55df2b6bd4078c9e798f51898898d7288bd Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 25 Mar 2026 11:46:01 -0400 Subject: [PATCH 079/147] chore: clarify workflow name --- tools/mutect2.wdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/mutect2.wdl b/tools/mutect2.wdl index 6955ddf17..8550420ec 100644 --- a/tools/mutect2.wdl +++ b/tools/mutect2.wdl @@ -1,6 +1,6 @@ version 1.3 -workflow mutect { +workflow mutect2_wf { meta { description: "Workflow for calling somatic variants using GATK Mutect2 and filtering with FilterMutectCalls" outputs: { From 7ef349252dd8e9b6405eab0edfd2fe6fcb360513 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 25 Mar 2026 14:24:13 -0400 Subject: [PATCH 080/147] feat: add germline variant calling best practices workflow --- tools/gatk4.wdl | 526 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 520 insertions(+), 6 deletions(-) diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index 16ac3f4b6..dc2cda2d9 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -8,6 +8,70 @@ enum ref_confidence { BP_RESOLUTION } +enum VariantMode { + SNP, + INDEL, + BOTH +} + +struct Resource { + meta { + description: "Struct representing a resource to be used in GATK VariantRecalibrator. This includes both the VCF file for the resource and metadata about how to use the resource in building the recalibration model." + } + + parameter_meta { + name: "Name of the resource. This is an arbitrary string that is used to identify the resource in the recalibration model." + known: "Boolean indicating whether the resource is a known set of variants." + training: "Boolean indicating whether the resource is a training set of variants to be used for building the recalibration model." + truth: "Boolean indicating whether the resource is a truth set of variants to be used for building the recalibration model." + prior: "Prior probability for the resource." + vcf: "VCF file for the resource." + vcf_index: "Index file for the VCF." + } + + String name + Boolean known + Boolean training + Boolean truth + Float prior + File vcf + File vcf_index +} + +task resource_to_string { + meta { + description: "Converts a resource struct to a string representation for use in GATK commands." + outputs: { + res_string: "String representation of the input resource struct formatted for GATK VariantRecalibrator.", + res_vcf: "VCF file from the input resource struct", + res_vcf_index: "Index file for the VCF from the input resource struct", + } + } + + parameter_meta { + res: "Resource struct containing information about a resource to be used in GATK VariantRecalibrator." + } + + input { + Resource res + } + + command <<< + echo "~{res.name},known=~{res.known},training=~{res.training},truth=~{res.truth},prior=~{res.prior} ~{basename(res.vcf)}" + >>> + + output { + String res_string = read_string(stdout()) + File res_vcf = res.vcf + File res_vcf_index = res.vcf_index + } + + requirements { + container: "ghcr.io/stjudecloud/util:3.0.3" + maxRetries: 1 + } +} + task split_n_cigar_reads { meta { description: "Splits reads that contain Ns in their CIGAR strings into multiple reads." @@ -72,7 +136,7 @@ task split_n_cigar_reads { cpu: ncpu memory: "~{memory_gb} GB" disks: "~{disk_size_gb} GB" - container: "quay.io/biocontainers/gatk4:4.4.0.0--py36hdfd78af_0" + container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" maxRetries: 1 } } @@ -153,7 +217,7 @@ task base_recalibrator { cpu: ncpu memory: "~{memory_gb} GB" disks: "~{disk_size_gb} GB" - container: "quay.io/biocontainers/gatk4:4.4.0.0--py36hdfd78af_0" + container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" maxRetries: 1 } } @@ -216,7 +280,7 @@ task apply_bqsr { cpu: ncpu memory: "~{memory_gb} GB" disks: "~{disk_size_gb} GB" - container: "quay.io/biocontainers/gatk4:4.4.0.0--py36hdfd78af_0" + container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" maxRetries: 1 } } @@ -326,7 +390,7 @@ task haplotype_caller { cpu: ncpu memory: "~{memory_gb} GB" disks: "~{disk_size_gb} GB" - container: "quay.io/biocontainers/gatk4:4.4.0.0--py36hdfd78af_0" + container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" maxRetries: 1 } } @@ -399,7 +463,7 @@ task variant_filtration { cpu: ncpu memory: "15 GB" disks: "~{disk_size_gb} GB" - container: "quay.io/biocontainers/gatk4:4.4.0.0--py36hdfd78af_0" + container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" maxRetries: 1 } } @@ -520,7 +584,457 @@ task mark_duplicates_spark { cpu: ncpu memory: "~{memory_gb} GB" disks: "~{disk_size_gb} GB" - container: "quay.io/biocontainers/gatk4:4.4.0.0--py36hdfd78af_0" + container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" + maxRetries: 1 + } +} + +task apply_vqsr { + meta { + description: "Applies variant quality score recalibration to a VCF file." + external_help: "https://gatk.broadinstitute.org/hc/en-us/articles/35967650663195-ApplyVQSR" + outputs: { + vcf_recalibrated: "Recalibrated VCF file", + vcf_recalibrated_index: "Index file for the recalibrated VCF", + } + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index for FASTA format genome" + reference_dict: "Dictionary file for FASTA format genome" + vcf: "Input VCF format file on which to apply variant quality score recalibration" + vcf_index: "VCF index file corresponding to the input VCF" + recal_file: "Recalibration file generated by the VariantRecalibrator tool" + tranches_file: "Tranches file generated by the VariantRecalibrator tool" + mode: "Variant type (SNP or INDEL) to apply variant quality score recalibration for. If `BOTH`, then the same model will be applied to both SNPs and indels." + prefix: "Prefix for the output recalibrated VCF. The extension `.recalibrated.vcf.gz` will be added." + truth_sensitivity_filter_level: { + description: "Truth sensitivity level at which to filter variants.", + help: "This corresponds to the `--truth-sensitivity-filter-level` argument of GATK ApplyVQSR. Default is 99.0, which means that variants will be filtered at the threshold that achieves 99.0% sensitivity on the truth set used to build the model." + } + modify_disk_size_gb: "Add to or subtract from dynamic disk space allocation. Default disk size is determined by the size of the inputs. Specified in GB." + } + + input { + File reference_fasta + File reference_fasta_index + File reference_dict + File vcf + File vcf_index + File recal_file + File tranches_file + VariantMode mode = VariantMode.SNP + String prefix = basename(vcf, ".vcf.gz") + Float truth_sensitivity_filter_level = 99.0 + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(vcf, "GB") * 2) + + ceil(size(reference_fasta, "GB") * 2) + + 30 + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{sub(basename(reference_fasta, ".gz"), ".(fasta|fa)?$", "")} + gunzip -c "~{reference_fasta}" > "$ref_fasta.fa" \ + || ln -sf "~{reference_fasta}" "$ref_fasta.fa" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fa.fai" + ln -sf "~{reference_dict}" "$ref_fasta.dict" + + ln -sf "~{vcf}" "~{basename(vcf)}" + ln -sf "~{vcf_index}" "~{basename(vcf_index)}" + + gatk ApplyVQSR \ + -R "$ref_fasta.fa" \ + -V "~{basename(vcf)}" \ + --recal-file "~{recal_file}" \ + --tranches-file "~{tranches_file}" \ + --truth-sensitivity-filter-level ~{truth_sensitivity_filter_level} \ + --mode "~{mode}" \ + -O "~{prefix}.recalibrated.vcf.gz" + + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename(vcf)}" "~{basename(vcf_index)}" + >>> + + output { + File vcf_recalibrated = "~{prefix}.recalibrated.vcf.gz" + File vcf_recalibrated_index = "~{prefix}.recalibrated.vcf.gz.tbi" + } + + requirements { + cpu: 1 + memory: "25 GB" + disks: "~{disk_size_gb} GB" + container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" maxRetries: 1 } } + +task variant_recalibrator { + meta { + description: "Generates recalibration tables for variant quality score recalibration." + external_help: "https://gatk.broadinstitute.org/hc/en-us/articles/35967662766235-VariantRecalibrator" + outputs: { + recal_file: "Recalibration file containing the model generated by VariantRecalibrator", + tranches_file: "Tranches file containing information about the sensitivity and specificity of the model at different score thresholds", + } + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index for FASTA format genome" + reference_dict: "Dictionary file for FASTA format genome" + vcf: "Input VCF format file on which to perform variant quality score recalibration" + vcf_index: "VCF index file corresponding to the input VCF" + resource_vcfs: "List of VCF files corresponding to the resources in `resources`" + resource_vcf_indices: "List of VCF index files corresponding to the VCF files in `resource_vcfs`" + resources: "List of resources to use for building the recalibration model" + annotations: "List of annotations to use for building the recalibration model." + mode: "Variant type (SNP or INDEL) to build the recalibration model for. If `BOTH`, then separate models will be built for SNPs and indels." + prefix: "Prefix for the output recalibration files. The extensions `.recal` and `.tranches` will be added." + modify_disk_size_gb: "Add to or subtract from dynamic disk space allocation. Default disk size is determined by the size of the inputs. Specified in GB." + } + + input { + File reference_fasta + File reference_fasta_index + File reference_dict + File vcf + File vcf_index + Array[File] resource_vcfs + Array[File] resource_vcf_indices + Array[String] resources + Array[String] annotations = ["QD", "MQ", "MQRankSum", "ReadPosRankSum", "FS", "SOR"] + VariantMode mode = VariantMode.SNP + String prefix = basename(vcf, ".vcf.gz") + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(vcf, "GB") * 2) + + ceil(size(reference_fasta, "GB") * 2) + + 30 + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{sub(basename(reference_fasta, ".gz"), ".(fasta|fa)?$", "")} + gunzip -c "~{reference_fasta}" > "$ref_fasta.fa" \ + || ln -sf "~{reference_fasta}" "$ref_fasta.fa" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fa.fai" + ln -sf "~{reference_dict}" "$ref_fasta.dict" + + ln -sf "~{vcf}" "~{basename(vcf)}" + ln -sf "~{vcf_index}" "~{basename(vcf_index)}" + + for vcf in ~{sep(" ", resource_vcfs)}; do + ln -sf "~{vcf}" "$(basename "$vcf")" + done + + for vcf_index in ~{sep(" ", resource_vcf_indices)}; do + ln -sf "~{vcf_index}" "$(basename "$vcf_index")" + done + + gatk VariantRecalibrator \ + -R "$ref_fasta.fa" \ + -V "~{basename(vcf)}" \ + --mode "~{mode}" \ + -O "~{prefix}.recal" \ + --tranches-file "~{prefix}.tranches" \ + --rscript-file "~{prefix}.plots.R" \ + ~{sep(" ", prefix("--resource:", resources))} \ + ~{sep(" ", prefix("-an ", quote(annotations)))} + + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename(vcf)}" "~{basename(vcf_index)}" + for vcf in ~{sep(" ", resource_vcfs)}; do + rm -rf "$(basename "$vcf")" + done + + for vcf_index in ~{sep(" ", resource_vcf_indices)}; do + rm -rf "$(basename "$vcf_index")" + done + >>> + + output { + File recal_file = "~{prefix}.recal" + File tranches_file = "~{prefix}.tranches" + } + + requirements { + cpu: 1 + memory: "25 GB" + disks: "~{disk_size_gb} GB" + container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" + maxRetries: 1 + } +} + +task calculate_genotype_posteriors { + meta { + description: "Calculates posterior genotype probabilities for a VCF file using population allele frequencies." + external_help: "https://gatk.broadinstitute.org/hc/en-us/articles/35967653366299-CalculateGenotypePosteriors" + outputs: { + vcf_posteriors: "VCF file with updated genotype posteriors", + vcf_posteriors_index: "Index file for the VCF with updated genotype posteriors", + } + } + + parameter_meta { + vcf: "Input VCF format file on which to calculate genotype posteriors" + vcf_index: "VCF index file corresponding to the input VCF" + supporting_vcf: "VCF file containing population allele frequencies to use as support for calculating genotype posteriors" + supporting_vcf_index: "VCF index file corresponding to the supporting VCF" + prefix: "Prefix for the output VCF with updated genotype posteriors. The extension `.posteriors.vcf.gz` will be added." + modify_disk_size_gb: "Add to or subtract from dynamic disk space allocation." + } + + input { + File vcf + File vcf_index + File supporting_vcf + File supporting_vcf_index + String prefix = basename(vcf, ".vcf.gz") + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(vcf, "GB") * 2) + 30 + modify_disk_size_gb + + command <<< + set -euo pipefail + + ln -sf "~{vcf}" "~{basename(vcf)}" + ln -sf "~{vcf_index}" "~{basename(vcf_index)}" + ln -sf "~{supporting_vcf}" "supporting.vcf.gz" + ln -sf "~{supporting_vcf_index}" "supporting.vcf.gz.tbi" + + gatk CalculateGenotypePosteriors \ + -V "~{basename(vcf)}" \ + --supporting-variants "supporting.vcf.gz" \ + -O "~{prefix}.posteriors.vcf.gz" + + rm -rf "~{basename(vcf)}" "~{basename(vcf_index)}" "supporting.vcf.gz" "supporting.vcf.gz.tbi" + >>> + + output { + File vcf_posteriors = "~{prefix}.posteriors.vcf.gz" + File vcf_posteriors_index = "~{prefix}.posteriors.vcf.gz.tbi" + } + + requirements { + cpu: 1 + memory: "25 GB" + disks: "~{disk_size_gb} GB" + container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" + maxRetries: 1 + } +} + +task genotype_gvcfs { + meta { + description: "Generates per-sample GVCF files from BAM files using GATK's HaplotypeCaller in GVCF mode." + external_help: "https://gatk.broadinstitute.org/hc/en-us/articles/35967678260379-GenotypeGVCFs" + outputs: { + vcf: "VCF file containing variant and non-variant sites with genotype likelihoods", + vcf_index: "Index file for the VCF", + } + } + + parameter_meta { + gvcf: "Input GVCF format file containing GVCF records to genotype" + gvcf_index: "GVCF index file corresponding to the input GVCF" + fasta: "Reference genome in FASTA format" + fasta_index: "Index for FASTA format genome" + dict: "Dictionary file for FASTA format genome" + prefix: "Prefix for the output GVCF. The extension `.g.vcf.gz` will be added." + modify_disk_size_gb: "Add to or subtract from dynamic memory allocation. Default memory is determined by the size of the inputs. Specified in GB." + } + + input { + File gvcf + File gvcf_index + File fasta + File fasta_index + File dict + String prefix + Int modify_disk_size_gb = 0 + } + + Int disk_size_gb = ceil(size(gvcf, "GB") * 2) + + 30 + + ceil(size(fasta, "GB")) + + modify_disk_size_gb + + command <<< + set -euo pipefail + + ref_fasta=~{sub(basename(fasta, ".gz"), ".(fasta|fa)?$", "")} + gunzip -c "~{fasta}" > "$ref_fasta.fa" \ + || ln -sf "~{fasta}" "$ref_fasta.fa" + ln -sf "~{fasta_index}" "$ref_fasta.fa.fai" + ln -sf "~{dict}" "$ref_fasta.dict" + + ln -sf "~{gvcf}" "~{basename(gvcf)}" + ln -sf "~{gvcf_index}" "~{basename(gvcf_index)}" + + gatk \ + --java-options "-Xmx4g" \ + GenotypeGVCFs \ + -R "$ref_fasta.fa" \ + -V "~{basename(gvcf)}" \ + -O "~{prefix}.vcf.gz" \ + + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename(gvcf)}" "~{basename(gvcf_index)}" + >>> + + output { + File vcf = "~{prefix}.vcf.gz" + File vcf_index = "~{prefix}.vcf.gz.tbi" + } + + requirements { + cpu: 1 + memory: "25 GB" + disks: "~{disk_size_gb} GB" + container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" + } +} + +workflow germline_variant_calling_wf { + meta { + description: "Workflow for calling germline variants using GATK's HaplotypeCaller." + outputs: { + raw_gvcf: "Raw gVCF file output by HaplotypeCaller", + raw_gvcf_index: "Index file for the raw gVCF", + raw_vcf: "Raw VCF file output by GenotypeGVCFs", + raw_vcf_index: "Index file for the raw VCF", + recalibrated_vcf: "Recalibrated VCF file after applying VQSR", + recalibrated_vcf_index: "Index file for the recalibrated VCF", + vcf_final: "Final VCF file after calculating genotype posteriors", + vcf_final_index: "Index file for the final VCF", + } + } + + parameter_meta { + bam: "Input BAM format file on which to perform germline variant calling" + bam_index: "BAM index file corresponding to the input BAM" + reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index for FASTA format genome" + reference_dict: "Dictionary file for FASTA format genome" + dbSNP_vcf: "dbSNP VCF file" + dbSNP_vcf_index: "dbSNP VCF index file" + interval_list: "Interval list indicating regions in which to call variants" + known_indels_sites_vcfs: "List of VCF files containing known indel sites to use for base quality score recalibration" + known_indels_sites_indices: "List of VCF index files corresponding to the VCF files in `known_indels_sites_vcfs`" + resources: { + description: "List of resources to use for building the variant quality score recalibration model.", + help: " Each resource should be a tuple containing the name of the resource, the path to the VCF file for the resource, and the path to the VCF index file for the resource." + } + prefix: "Prefix for the output files." + } + + input { + File bam + File bam_index + File reference_fasta + File reference_fasta_index + File reference_dict + #@except: SnakeCase + File dbSNP_vcf + #@except: SnakeCase + File dbSNP_vcf_index + File interval_list + Array[File] known_indels_sites_vcfs + Array[File] known_indels_sites_indices + Array[Resource] resources + String prefix = basename(bam, ".bam") + } + + scatter (resource in resources) { + call resource_to_string { + res = resource + } + } + + call base_recalibrator { + bam, + bam_index, + fasta = reference_fasta, + fasta_index = reference_fasta_index, + dict = reference_dict, + dbSNP_vcf, + dbSNP_vcf_index, + known_indels_sites_vcfs, + known_indels_sites_indices, + outfile_name = prefix + ".recalibration_report.txt", + } + + call apply_bqsr { + bam, + bam_index, + recalibration_report = base_recalibrator.recalibration_report, + prefix = prefix + ".recal", + } + + call haplotype_caller { + bam = apply_bqsr.recalibrated_bam, + bam_index = apply_bqsr.recalibrated_bam_index, + interval_list, + fasta = reference_fasta, + fasta_index = reference_fasta_index, + dict = reference_dict, + dbSNP_vcf, + dbSNP_vcf_index, + prefix, + } + + call genotype_gvcfs { + gvcf = haplotype_caller.vcf, + gvcf_index = haplotype_caller.vcf_index, + fasta = reference_fasta, + fasta_index = reference_fasta_index, + dict = reference_dict, + prefix, + } + + call variant_recalibrator { + reference_fasta, + reference_fasta_index, + reference_dict, + vcf = genotype_gvcfs.vcf, + vcf_index = genotype_gvcfs.vcf_index, + resources = resource_to_string.res_string, + resource_vcfs = resource_to_string.res_vcf, + resource_vcf_indices = resource_to_string.res_vcf_index, + } + + call apply_vqsr { + reference_fasta, + reference_fasta_index, + reference_dict, + vcf = genotype_gvcfs.vcf, + vcf_index = genotype_gvcfs.vcf_index, + recal_file = variant_recalibrator.recal_file, + tranches_file = variant_recalibrator.tranches_file, + prefix = prefix + ".vqsr", + } + + call calculate_genotype_posteriors { + vcf = apply_vqsr.vcf_recalibrated, + vcf_index = apply_vqsr.vcf_recalibrated_index, + supporting_vcf = dbSNP_vcf, + supporting_vcf_index = dbSNP_vcf_index, + prefix = prefix + ".posteriors", + } + + output { + File raw_gvcf = haplotype_caller.vcf + File raw_gvcf_index = haplotype_caller.vcf_index + File raw_vcf = genotype_gvcfs.vcf + File raw_vcf_index = genotype_gvcfs.vcf_index + File recalibrated_vcf = apply_vqsr.vcf_recalibrated + File recalibrated_vcf_index = apply_vqsr.vcf_recalibrated_index + File vcf_final = calculate_genotype_posteriors.vcf_posteriors + File vcf_final_index = calculate_genotype_posteriors.vcf_posteriors_index + } +} \ No newline at end of file From 95a075dd23db0e7a2b9417e86768547963ef3971 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 25 Mar 2026 14:48:09 -0400 Subject: [PATCH 081/147] chore: localize vcf --- tools/gatk4.wdl | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index dc2cda2d9..60b0110a1 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -350,6 +350,8 @@ task haplotype_caller { Int java_heap_size = ceil(memory_gb * 0.9) String sample = basename(bam) + String snp_vcf = basename(dbSNP_vcf) + String snp_vcf_index = basename(dbSNP_vcf_index) command <<< set -euo pipefail @@ -363,8 +365,8 @@ task haplotype_caller { ln -sf "~{bam}" "~{sample}" ln -sf "~{bam_index}" "~{sample}.bai" - ln -sf "~{dbSNP_vcf}" "dbSNP.vcf.gz" - ln -sf "~{dbSNP_vcf_index}" "dbSNP.vcf.gz.tbi" + ln -sf "~{dbSNP_vcf}" "~{snp_vcf}" + ln -sf "~{dbSNP_vcf_index}" "~{snp_vcf_index}" gatk \ --java-options "-Xms6000m -Xmx~{java_heap_size}g -XX:GCTimeLimit=50 -XX:GCHeapFreeLimit=10" \ @@ -375,10 +377,10 @@ task haplotype_caller { -O "~{prefix}.vcf.gz" \ ~{if use_soft_clipped_bases then "" else "--dont-use-soft-clipped-bases"} \ --standard-min-confidence-threshold-for-calling ~{stand_call_conf} \ - --dbsnp "dbSNP.vcf.gz" \ + --dbsnp "~{snp_vcf}" \ --emit-ref-confidence "~{reference_confidence}" - rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{sample}" "~{sample}.bai" "dbSNP.vcf.gz" "dbSNP.vcf.gz.tbi" + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{sample}" "~{sample}.bai" "~{snp_vcf}" "~{snp_vcf_index}" >>> output { From 5862a97f48575ee8664a26c3a14f0426d090f0bf Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 25 Mar 2026 13:49:13 -0500 Subject: [PATCH 082/147] chore: cp instead of ln since tool resolves symlinks --- tools/clair.wdl | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tools/clair.wdl b/tools/clair.wdl index d8446f522..bf78c60d1 100644 --- a/tools/clair.wdl +++ b/tools/clair.wdl @@ -63,7 +63,7 @@ task clair3 { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size(bam, "GB")) + 50 + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size(bam, "GB") * 2) + 150 + modify_disk_size_gb String filename = basename(bam) @@ -76,8 +76,9 @@ task clair3 { || ln -sf "~{reference_fasta}" "$ref_fasta" ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" - ln -s "~{bam}" "~{filename}" - ln -s "~{bam_index}" "~{filename}.bai" + # Clair-3 resolves the BAM path... + cp "~{bam}" "~{filename}" + cp "~{bam_index}" "~{filename}.bai" run_clair3.sh \ --bam_fn="~{filename}" \ @@ -216,10 +217,10 @@ task clairs { || ln -sf "~{reference_fasta}" "$ref_fasta" ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" - ln -s "~{tumor_bam}" "~{tumor}" - ln -s "~{tumor_bam_index}" "~{tumor}.bai" - ln -s "~{normal_bam}" "~{normal}" - ln -s "~{normal_bam_index}" "~{normal}.bai" + cp "~{tumor_bam}" "~{tumor}" + cp "~{tumor_bam_index}" "~{tumor}.bai" + cp "~{normal_bam}" "~{normal}" + cp "~{normal_bam_index}" "~{normal}.bai" run_clairs \ --tumor_bam_fn "~{tumor}" \ From 95d08cd586fd708ce24de80fc144c35eed26e505 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 27 Mar 2026 10:09:47 -0500 Subject: [PATCH 083/147] chore: add vcf index to output --- tools/clair.wdl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/clair.wdl b/tools/clair.wdl index bf78c60d1..9ca0edab0 100644 --- a/tools/clair.wdl +++ b/tools/clair.wdl @@ -131,6 +131,7 @@ task clairs { description: "Run ClairS paired sample variant caller" outputs: { vcf: "VCF file with somatic variants called by ClairS", + vcf_index: "Index for `vcf`", } } @@ -282,6 +283,7 @@ task clairs { output { File vcf = "~{output_dir}/~{prefix}.vcf.gz" + File vcf_index = "~{output_dir}/~{prefix}.vcf.gz.tbi" } requirements { From e5b569554ffd3ad4601b867725611d54b2a9e4e2 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 27 Mar 2026 10:10:30 -0500 Subject: [PATCH 084/147] chore: add localization to base recalibrator and revert image version --- tools/gatk4.wdl | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index 60b0110a1..5e1a129c7 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -181,7 +181,7 @@ task base_recalibrator { Array[File] known_indels_sites_indices String outfile_name = basename(bam, ".bam") + ".recal.txt" Boolean use_original_quality_scores = false - Int memory_gb = 25 + Int memory_gb = 50 Int modify_disk_size_gb = 0 Int ncpu = 4 } @@ -192,11 +192,19 @@ task base_recalibrator { Int java_heap_size = ceil(memory_gb * 0.9) command <<< + set -euo pipefail + + ref_fasta=~{sub(basename(fasta, ".gz"), ".(fasta|fa)?$", "")} + gunzip -c "~{fasta}" > "$ref_fasta.fa" \ + || ln -sf "~{fasta}" "$ref_fasta.fa" + ln -sf "~{fasta_index}" "$ref_fasta.fa.fai" + ln -sf "~{dict}" "$ref_fasta.dict" + # shellcheck disable=SC2102 gatk \ --java-options "-XX:GCTimeLimit=50 -XX:GCHeapFreeLimit=10 -Xms4000m -Xmx~{java_heap_size}g" \ BaseRecalibratorSpark \ - -R "~{fasta}" \ + -R "$ref_fasta.fa" \ -I "~{bam}" \ ~{( if use_original_quality_scores @@ -207,6 +215,8 @@ task base_recalibrator { --known-sites "~{dbSNP_vcf}" \ ~{sep(" ", prefix("--known-sites ", squote(known_indels_sites_vcfs)))} \ --spark-master local[~{ncpu}] + + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" >>> output { @@ -217,7 +227,7 @@ task base_recalibrator { cpu: ncpu memory: "~{memory_gb} GB" disks: "~{disk_size_gb} GB" - container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" + container: "quay.io/biocontainers/gatk4:4.4.0.0--py36hdfd78af_0" maxRetries: 1 } } From 89882df58334f0078199617207c4bda237e35eb3 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 27 Mar 2026 10:10:59 -0500 Subject: [PATCH 085/147] chore: redirect /tmp in SortSam --- tools/picard.wdl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/picard.wdl b/tools/picard.wdl index 8b63fcf78..b64f1ddb7 100755 --- a/tools/picard.wdl +++ b/tools/picard.wdl @@ -313,10 +313,15 @@ task sort { command <<< set -euo pipefail - picard -Xmx~{java_heap_size}g SortSam \ + mkdir tmp + + picard -Xmx~{java_heap_size}g \ + -Djava.io.tmpdir=`pwd`/tmp \ + SortSam \ -I "~{bam}" \ -O "~{outfile_name}" \ -SO "~{sort_order}" \ + --TMP_DIR `pwd`/tmp \ --CREATE_INDEX true \ --CREATE_MD5_FILE true \ --VALIDATION_STRINGENCY "~{validation_stringency}" @@ -326,6 +331,8 @@ task sort { if [ -f "~{prefix}.bai" ]; then mv "~{prefix}.bai" "~{outfile_name}.bai" fi + + rm -rf ./tmp >>> output { From 4aeb8765c41bae11dd99baa28461a594db754af5 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 27 Mar 2026 11:12:05 -0400 Subject: [PATCH 086/147] chore: add index files to output --- tools/deepvariant.wdl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl index 188f3f379..b3e570534 100644 --- a/tools/deepvariant.wdl +++ b/tools/deepvariant.wdl @@ -20,7 +20,9 @@ task deepsomatic { description: "Call variants using DeepSomatic" outputs: { vcf_output: "VCF file containing called somatic variants", + vcf_output_index: "Index file for the called somatic variants VCF", gvcf_output: "gVCF file containing called somatic variants", + gvcf_output_index: "Index file for the called somatic variants gVCF", runtime: "Optional HTML report of runtime metrics", vcf_stats: "Optional HTML report of VCF statistics", } @@ -119,9 +121,11 @@ task deepsomatic { output { File vcf_output = "~{output_prefix}.vcf.gz" + File vcf_output_index = "~{output_prefix}.vcf.gz.tbi" File gvcf_output = "~{output_prefix}.g.vcf.gz" - File? runtime = "logs/runtime_by_region_vis.html" - File? vcf_stats = "logs/vcf_stats_report.html" + File gvcf_output_index = "~{output_prefix}.g.vcf.gz.tbi" + File? runtime = "logs/make_examples_runtime_by_region_report.html" + File? vcf_stats = "~{output_prefix}.visual_report.html" } requirements { @@ -143,7 +147,9 @@ task deepvariant { description: "Call variants using DeepVariant" outputs: { vcf_output: "VCF file containing called variants", + vcf_output_index: "Index file for the called variants VCF", gvcf_output: "gVCF file containing called variants", + gvcf_output_index: "Index file for the called variants gVCF", runtime: "Optional HTML report of runtime metrics", vcf_stats: "Optional HTML report of VCF statistics", } @@ -231,7 +237,9 @@ task deepvariant { output { File vcf_output = "~{output_prefix}.vcf.gz" + File vcf_output_index = "~{output_prefix}.vcf.gz.tbi" File gvcf_output = "~{output_prefix}.g.vcf.gz" + File gvcf_output_index = "~{output_prefix}.g.vcf.gz.tbi" File? runtime = "logs/runtime_by_region_vis.html" File? vcf_stats = "logs/vcf_stats_report.html" } From 5e29fb6fca3c654f0b084ddaf1cd8a1f7f00e50c Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 30 Mar 2026 10:16:03 -0400 Subject: [PATCH 087/147] chore: add undocumented input to FilterMutectCalls and tweak resources --- tools/gatk4.wdl | 2 +- tools/mutect2.wdl | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index 5e1a129c7..aacc7b4fa 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -259,7 +259,7 @@ task apply_bqsr { File recalibration_report String prefix = basename(bam, ".bam") Boolean use_original_quality_scores = false - Int memory_gb = 25 + Int memory_gb = 50 Int modify_disk_size_gb = 0 Int ncpu = 4 } diff --git a/tools/mutect2.wdl b/tools/mutect2.wdl index 8550420ec..b8ce7648f 100644 --- a/tools/mutect2.wdl +++ b/tools/mutect2.wdl @@ -97,6 +97,7 @@ workflow mutect2_wf { call filter_mutect { unfiltered_somatic_vcf = mutect2.somatic_vcf, unfiltered_somatic_vcf_index = mutect2.somatic_vcf_index, + unfiltered_somatic_vcf_stats = mutect2.stats, reference_fasta, reference_fasta_index, reference_fasta_dict, @@ -117,6 +118,7 @@ task mutect2 { outputs: { somatic_vcf: "VCF file with somatic variants called by Mutect2", somatic_vcf_index: "Index file for the Mutect2 somatic variants VCF", + stats: "VCF file with statistics about the Mutect2 somatic variant calls", } } @@ -198,6 +200,7 @@ task mutect2 { output { File somatic_vcf = "~{output_prefix}.vcf.gz" File somatic_vcf_index = "~{output_prefix}.vcf.gz.tbi" + File stats = "~{output_prefix}.vcf.gz.stats" } requirements { @@ -220,6 +223,7 @@ task filter_mutect { parameter_meta { unfiltered_somatic_vcf: "Input VCF file with unfiltered somatic variants from Mutect2" unfiltered_somatic_vcf_index: "Index file for the unfiltered Mutect2 somatic variants VCF" + unfiltered_somatic_vcf_stats: "VCF file with statistics about the unfiltered Mutect2 somatic variant calls" reference_fasta: "Reference genome in FASTA format" reference_fasta_index: "Index file for the reference genome FASTA" reference_fasta_dict: "Dictionary file for the reference genome FASTA" @@ -232,6 +236,7 @@ task filter_mutect { input { File unfiltered_somatic_vcf File unfiltered_somatic_vcf_index + File unfiltered_somatic_vcf_stats File reference_fasta File reference_fasta_index File reference_fasta_dict @@ -257,11 +262,12 @@ task filter_mutect { ln -sf "~{unfiltered_somatic_vcf}" "~{basename(unfiltered_somatic_vcf)}" ln -sf "~{unfiltered_somatic_vcf_index}" "~{basename(unfiltered_somatic_vcf_index)}" + ln -sf "~{unfiltered_somatic_vcf_stats}" "~{basename(unfiltered_somatic_vcf_stats)}" gatk --java-options "-Xmx~{24000}m" \ FilterMutectCalls \ -R "$ref_fasta.fa" \ - -V "~{unfiltered_somatic_vcf}" \ + -V "~{basename(unfiltered_somatic_vcf)}" \ --contamination-table "~{contamination_table}" \ --tumor-segmentation "~{maf_segments}" \ -O "~{prefix}.vcf.gz" @@ -379,8 +385,8 @@ task get_pileup_summaries { command <<< set -euo pipefail - ln -sf "~{bam}" "~{name}" - ln -sf "~{bam_index}" "~{name}.bai" + ln -sf "~{bam}" "~{name}.bam" + ln -sf "~{bam_index}" "~{name}.bam.bai" ln -sf "~{intervals}" "~{basename(intervals)}" ln -sf "~{intervals_index}" "~{basename(intervals_index)}" ln -sf "~{variants}" "~{basename(variants)}" @@ -388,12 +394,12 @@ task get_pileup_summaries { gatk --java-options "-Xmx~{24000}m" \ GetPileupSummaries \ - -I "~{bam}" \ - -V "~{variants}" \ - -L "~{intervals}" \ + -I "~{name}.bam" \ + -V "~{basename(variants)}" \ + -L "~{basename(intervals)}" \ -O "~{prefix}.table" - rm -rf "~{name}" "~{name}.bai" "~{basename(intervals)}" "~{basename(intervals_index)}" "~{basename(variants)}" "~{basename(variants_index)}" + rm -rf "~{name}.bam" "~{name}.bam.bai" "~{basename(intervals)}" "~{basename(intervals_index)}" "~{basename(variants)}" "~{basename(variants_index)}" >>> output { @@ -402,7 +408,7 @@ task get_pileup_summaries { requirements { container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" - memory: "25 GB" + memory: "50 GB" disks: "~{disk_size_gb} GB" maxRetries: 1 cpu: 1 From 942e51e4952b171b4a1427227e0ce4b611e1378c Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 30 Mar 2026 12:37:40 -0400 Subject: [PATCH 088/147] chore: set mode to gVCF --- tools/gatk4.wdl | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index aacc7b4fa..4accf9bdf 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -998,6 +998,7 @@ workflow germline_variant_calling_wf { dbSNP_vcf, dbSNP_vcf_index, prefix, + reference_confidence = ref_confidence.GVCF, } call genotype_gvcfs { From ddf2f9d5919062d349d18a84fd52a240060e18c5 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 30 Mar 2026 13:28:50 -0400 Subject: [PATCH 089/147] chore: more updates for GATK --- tools/gatk4.wdl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index 4accf9bdf..ce8b27b61 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -755,6 +755,7 @@ task variant_recalibrator { -O "~{prefix}.recal" \ --tranches-file "~{prefix}.tranches" \ --rscript-file "~{prefix}.plots.R" \ + --dont-run-rscript \ ~{sep(" ", prefix("--resource:", resources))} \ ~{sep(" ", prefix("-an ", quote(annotations)))} @@ -770,7 +771,9 @@ task variant_recalibrator { output { File recal_file = "~{prefix}.recal" + File recal_index = "~{prefix}.recal.idx" File tranches_file = "~{prefix}.tranches" + File rscript_file = "~{prefix}.plots.R" } requirements { From af8674424f5728f190a5c741b7dfb09a0f8e5caa Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 30 Mar 2026 12:29:59 -0500 Subject: [PATCH 090/147] chore: override /tmp --- tools/picard.wdl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/picard.wdl b/tools/picard.wdl index b64f1ddb7..320a4d41b 100755 --- a/tools/picard.wdl +++ b/tools/picard.wdl @@ -97,7 +97,10 @@ task mark_duplicates { command <<< set -euo pipefail + mkdir tmp + picard -Xmx~{java_heap_size}g MarkDuplicates \ + -Djava.io.tmpdir=`pwd`/tmp \ -I "~{bam}" \ --METRICS_FILE "~{prefix}.metrics.txt" \ -O "~{if create_bam then prefix + ".bam" else "/dev/null"}" \ @@ -117,6 +120,8 @@ task mark_duplicates { if ~{create_bam}; then mv "~{prefix}.bai" "~{prefix}.bam.bai" fi + + rm -rf ./tmp >>> output { From b8ad722f03dabe5369cc6d19293fa53ee9fc359e Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 30 Mar 2026 12:30:20 -0500 Subject: [PATCH 091/147] chore: fix extension for output --- tools/gatk4.wdl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index ce8b27b61..96b763772 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -290,7 +290,7 @@ task apply_bqsr { cpu: ncpu memory: "~{memory_gb} GB" disks: "~{disk_size_gb} GB" - container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" + container: "quay.io/biocontainers/gatk4:4.4.0.0--py36hdfd78af_0" maxRetries: 1 } } @@ -897,14 +897,14 @@ task genotype_gvcfs { GenotypeGVCFs \ -R "$ref_fasta.fa" \ -V "~{basename(gvcf)}" \ - -O "~{prefix}.vcf.gz" \ + -O "~{prefix}.g.vcf.gz" \ rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename(gvcf)}" "~{basename(gvcf_index)}" >>> output { - File vcf = "~{prefix}.vcf.gz" - File vcf_index = "~{prefix}.vcf.gz.tbi" + File vcf = "~{prefix}.g.vcf.gz" + File vcf_index = "~{prefix}.g.vcf.gz.tbi" } requirements { @@ -1053,4 +1053,4 @@ workflow germline_variant_calling_wf { File vcf_final = calculate_genotype_posteriors.vcf_posteriors File vcf_final_index = calculate_genotype_posteriors.vcf_posteriors_index } -} \ No newline at end of file +} From 8edb6c8619ccfa44b981ce46e63d34192c8ca91c Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 30 Mar 2026 13:32:19 -0400 Subject: [PATCH 092/147] chore: more undocumented dependencies --- tools/gatk4.wdl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index 96b763772..a11e6ee05 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -635,6 +635,7 @@ task apply_vqsr { File vcf File vcf_index File recal_file + File recal_file_index File tranches_file VariantMode mode = VariantMode.SNP String prefix = basename(vcf, ".vcf.gz") @@ -1031,6 +1032,7 @@ workflow germline_variant_calling_wf { vcf = genotype_gvcfs.vcf, vcf_index = genotype_gvcfs.vcf_index, recal_file = variant_recalibrator.recal_file, + recal_file_index = variant_recalibrator.recal_index, tranches_file = variant_recalibrator.tranches_file, prefix = prefix + ".vqsr", } From 6b3fc735526f9247a6eb956715d1ae155d52f1f0 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 31 Mar 2026 11:25:32 -0400 Subject: [PATCH 093/147] chore: add exome mode to manta --- tools/manta.wdl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/manta.wdl b/tools/manta.wdl index 03b545cd3..fac0f9191 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -17,6 +17,7 @@ task manta_germline { calling_regions_bed: "Optional BED file specifying regions to call variants" calling_regions_index: "Index file for the calling regions BED file" output_dir: "Directory to store Manta output" + exome: "Whether to run Manta in exome mode, which disables high depth filters for calling variants in exome data" threads: "Number of threads to use" modify_disk_size_gb: "Additional disk size in GB to allocate" } @@ -29,6 +30,7 @@ task manta_germline { File? calling_regions_bed File? calling_regions_index String output_dir = "manta_output" + Boolean exome = false Int threads = 20 Int modify_disk_size_gb = 0 } @@ -55,6 +57,7 @@ task manta_germline { --bam "~{filename}" \ --referenceFasta "$ref_fasta" \ ~{if defined(calling_regions_bed) then "--callRegions '" + calling_regions_bed + "'" else ""} \ + ~{if exome then "--exome" else ""} \ --runDir "~{output_dir}" "~{output_dir}/runWorkflow.py" -j "~{threads}" @@ -102,6 +105,7 @@ task manta_somatic { calling_regions_bed: "Optional BED file specifying regions to call variants" calling_regions_index: "Index file for the calling regions BED file" output_dir: "Directory to store Manta output" + exome: "Whether to run Manta in exome mode, which disables high depth filters for calling variants in exome data" threads: "Number of threads to use" modify_disk_size_gb: "Additional disk size in GB to allocate" } @@ -116,6 +120,7 @@ task manta_somatic { File? calling_regions_bed File? calling_regions_index String output_dir = "manta_output" + Boolean exome = false Int threads = 20 Int modify_disk_size_gb = 0 } @@ -146,6 +151,7 @@ task manta_somatic { --normalBam "~{normal}" \ --tumorBam "~{tumor}" \ --referenceFasta "$ref_fasta" \ + ~{if exome then "--exome" else ""} \ ~{if defined(calling_regions_bed) then "--callRegions '" + calling_regions_bed + "'" else ""} \ --runDir "~{output_dir}" From b709ccf9a3467b89d2e2b8a028ee7c70f5af2172 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 17 Apr 2026 12:36:52 -0400 Subject: [PATCH 094/147] chore: fix bad merge --- tools/ngsderive.wdl | 1 - tools/picard.wdl | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/tools/ngsderive.wdl b/tools/ngsderive.wdl index c998a8f1b..534fa3ef4 100644 --- a/tools/ngsderive.wdl +++ b/tools/ngsderive.wdl @@ -403,7 +403,6 @@ task endedness { Int memory_gb = if calc_rpt then (ceil(bam_size * 2.5) + 4 + modify_memory_gb) else 4 - ) Int disk_size_gb = ceil(bam_size) + 30 + modify_disk_size_gb command <<< diff --git a/tools/picard.wdl b/tools/picard.wdl index 415db81a9..d2da34db2 100755 --- a/tools/picard.wdl +++ b/tools/picard.wdl @@ -59,7 +59,7 @@ task mark_duplicates { optical_distance: { description: "Maximum distance between read coordinates to consider them optical duplicates. If `0`, then optical duplicate marking is disabled. ", help: "Suggested settings of 100 for unpatterned versions of the Illumina platform (e.g. HiSeq) or 2500 for patterned flowcell models (e.g. NovaSeq). Calculation of distance depends on coordinate data embedded in the read names, typically produced by the Illumina sequencing machines.", - warninhttps://github.com/stjudecloud/workflows/pull/282/conflict?name=workflows%252Fgeneral%252Falignment-post.wdl&ancestor_oid=53c18d64a10a64e2321608fa058db195e13153fc&base_oid=043fea6452bc60467e02481c1af3a0e77fc3e25e&head_oid=9caa5344ced046a8699e646b9004a8bf5dc174a9g: "Optical duplicate detection will not work on non-standard names without modifying `read_name_regex`.", + warning: "Optical duplicate detection will not work on non-standard names without modifying `read_name_regex`.", } modify_memory_gb: "Add to or subtract from dynamic memory allocation. Default memory is determined by the size of the inputs. Specified in GB." modify_disk_size_gb: "Add to or subtract from dynamic disk space allocation. Default disk size is determined by the size of the inputs. Specified in GB." @@ -209,7 +209,6 @@ task validate_bam { String stringency_arg = if index_validation_stringency_less_exhaustive then "--INDEX_VALIDATION_STRINGENCY LESS_EXHAUSTIVE" else "" - ) Float bam_size = size(bam, "GB") Int disk_size_gb = ceil(bam_size * 4) + 50 + modify_disk_size_gb From f12b66b82eb4fc8cfe6881c4c1c13fad72784510 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 17 Apr 2026 12:57:45 -0400 Subject: [PATCH 095/147] chore: address lints --- tools/arriba.wdl | 10 +++++++- tools/gatk4.wdl | 64 ++++++++++++++++++++++++++++++++++++++++------- tools/manta.wdl | 2 ++ tools/mutect2.wdl | 2 ++ tools/strelka.wdl | 1 + 5 files changed, 69 insertions(+), 10 deletions(-) diff --git a/tools/arriba.wdl b/tools/arriba.wdl index 196479133..54b6ec826 100644 --- a/tools/arriba.wdl +++ b/tools/arriba.wdl @@ -360,10 +360,18 @@ task arriba_extract_fusion_supporting_alignments { Int disk_size_gb = ceil(input_size_gb) + 5 + modify_disk_size_gb command <<< + set -euo pipefail + + bam_name=~{basename(bam)} + ln -sf "~{bam}" "$bam_name" + ln -sf "~{bam_index}" "$bam_name.bai" + extract_fusion-supporting_alignments.sh \ "~{fusions}" \ - "~{bam}" \ + "$bam_name" \ "~{prefix}" + + rm "$bam_name" "$bam_name.bai" >>> output { diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index 5c4b84018..534ab293d 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -14,7 +14,8 @@ enum VariantMode { struct Resource { meta { - description: "Struct representing a resource to be used in GATK VariantRecalibrator. This includes both the VCF file for the resource and metadata about how to use the resource in building the recalibration model." + description: "Struct representing a resource to be used in GATK VariantRecalibrator." + help: "This includes both the VCF file for the resource and metadata about how to use the resource in building the recalibration model." } parameter_meta { @@ -111,16 +112,27 @@ task split_n_cigar_reads { command <<< set -euo pipefail + bam_name=~{basename(bam)} + ln -sf "~{bam}" "$bam_name" + ln -sf "~{bam_index}" "$bam_name.bai" + + ref_fasta=~{sub(basename(fasta, ".gz"), ".(fasta|fa)?$", "")} + gunzip -c "~{fasta}" > "$ref_fasta.fa" \ + || ln -sf "~{fasta}" "$ref_fasta.fa" + ln -sf "~{fasta_index}" "$ref_fasta.fa.fai" + ln -sf "~{dict}" "$ref_fasta.dict" + gatk \ --java-options "-Xms4000m -Xmx~{java_heap_size}g" \ SplitNCigarReads \ -R "~{fasta}" \ - -I "~{bam}" \ + -I "$bam_name" \ -O "~{prefix}.bam" \ -OBM true # GATK is unreasonable and uses the plain ".bai" suffix. mv "~{prefix}.bai" "~{prefix}.bam.bai" + rm "$bam_name" "$bam_name.bai" "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" >>> output { @@ -172,9 +184,10 @@ task base_recalibrator { File dict #@ except: SnakeCase File dbSNP_vcf - #@ except: SnakeCase + #@ except: SnakeCase, UnusedInput File dbSNP_vcf_index Array[File] known_indels_sites_vcfs + #@ except: UnusedInput Array[File] known_indels_sites_indices String outfile_name = basename(bam, ".bam") + ".recal.txt" Boolean use_original_quality_scores = false @@ -189,6 +202,10 @@ task base_recalibrator { command <<< set -euo pipefail + bam_name=~{basename(bam)} + ln -sf "~{bam}" "$bam_name" + ln -sf "~{bam_index}" "$bam_name.bai" + ref_fasta=~{sub(basename(fasta, ".gz"), ".(fasta|fa)?$", "")} gunzip -c "~{fasta}" > "$ref_fasta.fa" \ || ln -sf "~{fasta}" "$ref_fasta.fa" @@ -201,7 +218,7 @@ task base_recalibrator { "-XX:GCTimeLimit=50 -XX:GCHeapFreeLimit=10 -Xms4000m -Xmx~{java_heap_size}g" \ BaseRecalibratorSpark \ -R "$ref_fasta.fa" \ - -I "~{bam}" \ + -I "$bam_name" \ ~{if use_original_quality_scores then "--use-original-qualities" else "" @@ -211,7 +228,7 @@ task base_recalibrator { ~{sep(" ", prefix("--known-sites ", squote(known_indels_sites_vcfs)))} \ --spark-master local[~{ncpu}] - rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" + rm -rf "$bam_name" "$bam_name.bai" "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" >>> output { @@ -265,19 +282,25 @@ task apply_bqsr { command <<< set -euo pipefail + bam_name=~{basename(bam)} + ln -sf "~{bam}" "$bam_name" + ln -sf "~{bam_index}" "$bam_name.bai" + # shellcheck disable=SC2102 gatk \ --java-options \ "-XX:GCTimeLimit=50 -XX:GCHeapFreeLimit=10 -Xms3000m -Xmx~{java_heap_size}g" \ ApplyBQSRSpark \ --spark-master local[~{ncpu}] \ - -I "~{bam}" \ + -I "$bam_name" \ ~{if use_original_quality_scores then "--use-original-qualities" else "" } \ -O "~{prefix}.bqsr.bam" \ --bqsr-recal-file "~{recalibration_report}" + + rm "$bam_name" "$bam_name.bai" >>> output { @@ -462,14 +485,29 @@ task variant_filtration { Int disk_size_gb = ceil(size(vcf, "GB") * 2) + 30 + modify_disk_size_gb command <<< + set -euo pipefail + + vcf_name=~{basename(vcf)} + ln -sf "~{vcf}" "$vcf_name" + ln -sf "~{vcf_index}" "$vcf_name.tbi" + + ref_fasta=~{sub(basename(fasta, ".gz"), ".(fasta|fa)?$", "")} + gunzip -c "~{fasta}" > "$ref_fasta.fa" \ + || ln -sf "~{fasta}" "$ref_fasta.fa" + ln -sf "~{fasta_index}" "$ref_fasta.fa.fai" + ln -sf "~{dict}" "$ref_fasta.dict" + + gatk VariantFiltration \ - --R "~{fasta}" \ - --V "~{vcf}" \ + --R "$ref_fasta.fa" \ + --V "$vcf_name" \ --window ~{window} \ --cluster ~{cluster} \ ~{sep(" ", prefix("--filter-name ", quote(filter_names)))} \ ~{sep(" ", prefix("--filter-expression ", squote(filter_expressions)))} \ -O "~{prefix}.filtered.vcf.gz" + + rm "$vcf_name" "$vcf_name.tbi" "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" >>> output { @@ -625,8 +663,12 @@ task apply_vqsr { vcf: "Input VCF format file on which to apply variant quality score recalibration" vcf_index: "VCF index file corresponding to the input VCF" recal_file: "Recalibration file generated by the VariantRecalibrator tool" + recal_file_index: "Index file for the recalibration file" tranches_file: "Tranches file generated by the VariantRecalibrator tool" - mode: "Variant type (SNP or INDEL) to apply variant quality score recalibration for. If `BOTH`, then the same model will be applied to both SNPs and indels." + mode: { + description: "Variant type to apply variant quality score recalibration for.", + help: "If `BOTH`, then the same model will be applied to both SNPs and indels." + } prefix: "Prefix for the output recalibrated VCF. The extension `.recalibrated.vcf.gz` will be added." truth_sensitivity_filter_level: { description: "Truth sensitivity level at which to filter variants.", @@ -642,6 +684,7 @@ task apply_vqsr { File vcf File vcf_index File recal_file + #@except: UnusedInput File recal_file_index File tranches_file VariantMode mode = VariantMode.SNP @@ -698,7 +741,9 @@ task variant_recalibrator { external_help: "https://gatk.broadinstitute.org/hc/en-us/articles/35967662766235-VariantRecalibrator" outputs: { recal_file: "Recalibration file containing the model generated by VariantRecalibrator", + recal_index: "Index file for the recalibration file", tranches_file: "Tranches file containing information about the sensitivity and specificity of the model at different score thresholds", + rscript_file: "R script file for generating plots to evaluate the model." } } @@ -736,6 +781,7 @@ task variant_recalibrator { + ceil(size(reference_fasta, "GB") * 2) + 30 + modify_disk_size_gb + #@except: ShellCheck command <<< set -euo pipefail diff --git a/tools/manta.wdl b/tools/manta.wdl index fac0f9191..4ebbe50a2 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -28,6 +28,7 @@ task manta_germline { File bam File bam_index File? calling_regions_bed + #@except: UnusedInput File? calling_regions_index String output_dir = "manta_output" Boolean exome = false @@ -118,6 +119,7 @@ task manta_somatic { File normal_bam File normal_bam_index File? calling_regions_bed + #@except: UnusedInput File? calling_regions_index String output_dir = "manta_output" Boolean exome = false diff --git a/tools/mutect2.wdl b/tools/mutect2.wdl index b8ce7648f..6680c5111 100644 --- a/tools/mutect2.wdl +++ b/tools/mutect2.wdl @@ -150,8 +150,10 @@ task mutect2 { File tumor_bam File tumor_bam_index File? germline_resource_vcf + #@except: UnusedInput File? germline_resource_vcf_index File? panel_of_normals_vcf + #@except: UnusedInput File? panel_of_normals_vcf_index String normal_sample_name = basename(normal_bam, ".bam") String tumor_sample_name = basename(tumor_bam, ".bam") diff --git a/tools/strelka.wdl b/tools/strelka.wdl index ce9c6bf5f..04965cf18 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -37,6 +37,7 @@ task somatic { File tumor_bam File tumor_bam_index File? indel_candidates + #@except: UnusedInput File? indel_candidates_index String output_dir = "strelka_somatic_output" Boolean exome = false From 7c5e9e6801be9bd230eae3c0faf3d3c72a12ba56 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 17 Apr 2026 13:02:41 -0400 Subject: [PATCH 096/147] chore: picard lints --- tools/picard.wdl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/picard.wdl b/tools/picard.wdl index d2da34db2..d77f65937 100755 --- a/tools/picard.wdl +++ b/tools/picard.wdl @@ -97,7 +97,7 @@ task mark_duplicates { mkdir tmp picard -Xmx~{java_heap_size}g MarkDuplicates \ - -Djava.io.tmpdir=`pwd`/tmp \ + -Djava.io.tmpdir="$(pwd)/tmp" \ -I "~{bam}" \ --METRICS_FILE "~{prefix}.metrics.txt" \ -O "~{if create_bam @@ -327,12 +327,12 @@ task sort { mkdir tmp picard -Xmx~{java_heap_size}g \ - -Djava.io.tmpdir=`pwd`/tmp \ + -Djava.io.tmpdir="$(pwd)/tmp" \ SortSam \ -I "~{bam}" \ -O "~{outfile_name}" \ -SO "~{sort_order}" \ - --TMP_DIR `pwd`/tmp \ + --TMP_DIR "$(pwd)/tmp" \ --CREATE_INDEX true \ --CREATE_MD5_FILE true \ --VALIDATION_STRINGENCY "~{validation_stringency}" @@ -921,6 +921,7 @@ task merge_vcfs { input { Array[File] vcfs + #@except: UnusedInput Array[File] vcfs_indexes String output_vcf_name Int modify_disk_size_gb = 0 From ee107bd81e6db1c8e7ae635f7e202c02274c8827 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 24 Apr 2026 10:40:20 -0400 Subject: [PATCH 097/147] test: add bwamem2 index fixture for GRCh38 chrY/chrM --- test/fixtures/reference/GRCh38.chrY_chrM.bwamem2_db.tar.gz | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 test/fixtures/reference/GRCh38.chrY_chrM.bwamem2_db.tar.gz diff --git a/test/fixtures/reference/GRCh38.chrY_chrM.bwamem2_db.tar.gz b/test/fixtures/reference/GRCh38.chrY_chrM.bwamem2_db.tar.gz new file mode 100644 index 000000000..77b0aff80 --- /dev/null +++ b/test/fixtures/reference/GRCh38.chrY_chrM.bwamem2_db.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8642965d4fbf6d62d9297bdcf0421a173f64ab5c2e85a44a1ebe03a4c3b1fbad +size 138219634 From ab4fb5b0baa8271ca876537109d2c9c6a3faa11b Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 24 Apr 2026 10:41:16 -0400 Subject: [PATCH 098/147] test: write tests for bwamem2 align and index tasks --- tools/test/bwamem2.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 tools/test/bwamem2.yaml diff --git a/tools/test/bwamem2.yaml b/tools/test/bwamem2.yaml new file mode 100644 index 000000000..717831382 --- /dev/null +++ b/tools/test/bwamem2.yaml @@ -0,0 +1,24 @@ +align: + - name: works + inputs: + $samples: + read_one_fastq_gz: + - fastqs/test_R1.fq.gz + - fastqs/test_R2.fq.gz + - fastqs/random10k.r1.fq.gz + - fastqs/random10k.r2.fq.gz + read_two_fastq_gz: + - fastqs/test_R2.fq.gz + - null + - fastqs/random10k.r2.fq.gz + - null + read_group: + - "@RG\\tID:test\\tSM:test" + reference_index: + - reference/GRCh38.chrY_chrM.bwamem2_db.tar.gz +index: + - name: works + tags: [ reference, slow ] + inputs: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa \ No newline at end of file From 6f610cfd05a3cd7660c1668605947d4201232d87 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 24 Apr 2026 10:50:53 -0400 Subject: [PATCH 099/147] test: add fixture symlinks for bwamem2 tests --- test/fixtures/fastqs/random10k.r1.fq.gz | 1 + test/fixtures/fastqs/random10k.r2.fq.gz | 1 + test/fixtures/fastqs/test_R1.fq.gz | 1 + test/fixtures/fastqs/test_R2.fq.gz | 1 + test/fixtures/reference/GRCh38.chrY_chrM.fa | 1 + 5 files changed, 5 insertions(+) create mode 120000 test/fixtures/fastqs/random10k.r1.fq.gz create mode 120000 test/fixtures/fastqs/random10k.r2.fq.gz create mode 120000 test/fixtures/fastqs/test_R1.fq.gz create mode 120000 test/fixtures/fastqs/test_R2.fq.gz create mode 120000 test/fixtures/reference/GRCh38.chrY_chrM.fa diff --git a/test/fixtures/fastqs/random10k.r1.fq.gz b/test/fixtures/fastqs/random10k.r1.fq.gz new file mode 120000 index 000000000..39ec580dd --- /dev/null +++ b/test/fixtures/fastqs/random10k.r1.fq.gz @@ -0,0 +1 @@ +/Users/athrashe/Library/CloudStorage/OneDrive-St.JudeChildrensResearchHospital/repo/workflows/tests/input/random10k.r1.fq.gz \ No newline at end of file diff --git a/test/fixtures/fastqs/random10k.r2.fq.gz b/test/fixtures/fastqs/random10k.r2.fq.gz new file mode 120000 index 000000000..576d34a40 --- /dev/null +++ b/test/fixtures/fastqs/random10k.r2.fq.gz @@ -0,0 +1 @@ +/Users/athrashe/Library/CloudStorage/OneDrive-St.JudeChildrensResearchHospital/repo/workflows/tests/input/random10k.r2.fq.gz \ No newline at end of file diff --git a/test/fixtures/fastqs/test_R1.fq.gz b/test/fixtures/fastqs/test_R1.fq.gz new file mode 120000 index 000000000..0b630ed80 --- /dev/null +++ b/test/fixtures/fastqs/test_R1.fq.gz @@ -0,0 +1 @@ +/Users/athrashe/Library/CloudStorage/OneDrive-St.JudeChildrensResearchHospital/repo/workflows/tests/input/test_R1.fq.gz \ No newline at end of file diff --git a/test/fixtures/fastqs/test_R2.fq.gz b/test/fixtures/fastqs/test_R2.fq.gz new file mode 120000 index 000000000..8e9b516b6 --- /dev/null +++ b/test/fixtures/fastqs/test_R2.fq.gz @@ -0,0 +1 @@ +/Users/athrashe/Library/CloudStorage/OneDrive-St.JudeChildrensResearchHospital/repo/workflows/tests/input/test_R2.fq.gz \ No newline at end of file diff --git a/test/fixtures/reference/GRCh38.chrY_chrM.fa b/test/fixtures/reference/GRCh38.chrY_chrM.fa new file mode 120000 index 000000000..1ee6021b9 --- /dev/null +++ b/test/fixtures/reference/GRCh38.chrY_chrM.fa @@ -0,0 +1 @@ +/Users/athrashe/Library/CloudStorage/OneDrive-St.JudeChildrensResearchHospital/repo/workflows/tests/input/GRCh38.chrY_chrM.fa \ No newline at end of file From ee5657ee87fe7db468622bb4bf37a626cef4ab98 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 24 Apr 2026 10:57:04 -0400 Subject: [PATCH 100/147] test: add minimap2 .mmi index fixture for GRCh38 chrY/chrM --- .gitattributes | 1 + test/fixtures/reference/GRCh38.chrY_chrM.mmi | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 test/fixtures/reference/GRCh38.chrY_chrM.mmi diff --git a/.gitattributes b/.gitattributes index e87cc09ed..da241f44c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -17,3 +17,4 @@ bin/check-job-alive !text !filter !merge !diff *.conf !text !filter !merge !diff .fa filter=lfs diff=lfs merge=lfs -text *.fa filter=lfs diff=lfs merge=lfs -text +*.mmi filter=lfs diff=lfs merge=lfs -text diff --git a/test/fixtures/reference/GRCh38.chrY_chrM.mmi b/test/fixtures/reference/GRCh38.chrY_chrM.mmi new file mode 100644 index 000000000..bb8e7b3a2 --- /dev/null +++ b/test/fixtures/reference/GRCh38.chrY_chrM.mmi @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12178a52129f6a7482b6b1af1e622fc373e48a6e0b79335fa4be2e0f9774216a +size 90529898 From 955451c0f4f195781d9fe86b1bb9ef06294e06ce Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 24 Apr 2026 10:57:27 -0400 Subject: [PATCH 101/147] test: write tests for minimap2 align and index tasks --- tools/test/minimap2.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 tools/test/minimap2.yaml diff --git a/tools/test/minimap2.yaml b/tools/test/minimap2.yaml new file mode 100644 index 000000000..62992297e --- /dev/null +++ b/tools/test/minimap2.yaml @@ -0,0 +1,24 @@ +align: + - name: works + inputs: + $samples: + read_one_fastq_gz: + - fastqs/test_R1.fq.gz + - fastqs/test_R2.fq.gz + - fastqs/random10k.r1.fq.gz + - fastqs/random10k.r2.fq.gz + read_two_fastq_gz: + - fastqs/test_R2.fq.gz + - null + - fastqs/random10k.r2.fq.gz + - null + read_group: + - "@RG\\tID:test\\tSM:test" + reference_index: + - reference/GRCh38.chrY_chrM.mmi +index: + - name: works + tags: [ reference, slow ] + inputs: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa \ No newline at end of file From 1e9c395030935c527355c5ec09c50c64a17afce3 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 24 Apr 2026 11:11:41 -0400 Subject: [PATCH 102/147] test: add FASTA-reference and boolean flag tests for minimap2 align --- tools/test/minimap2.yaml | 106 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/tools/test/minimap2.yaml b/tools/test/minimap2.yaml index 62992297e..5ffe7ed73 100644 --- a/tools/test/minimap2.yaml +++ b/tools/test/minimap2.yaml @@ -16,6 +16,112 @@ align: - "@RG\\tID:test\\tSM:test" reference_index: - reference/GRCh38.chrY_chrM.mmi + - name: fasta_reference + inputs: + $samples: + read_one_fastq_gz: + - fastqs/test_R1.fq.gz + - fastqs/test_R2.fq.gz + - fastqs/random10k.r1.fq.gz + - fastqs/random10k.r2.fq.gz + read_two_fastq_gz: + - fastqs/test_R2.fq.gz + - null + - fastqs/random10k.r2.fq.gz + - null + read_group: + - "@RG\\tID:test\\tSM:test" + reference_index: + - reference/GRCh38.chrY_chrM.fa + - name: fasta_reference_paf + inputs: + $samples: + read_one_fastq_gz: + - fastqs/test_R1.fq.gz + - fastqs/test_R2.fq.gz + - fastqs/random10k.r1.fq.gz + - fastqs/random10k.r2.fq.gz + read_two_fastq_gz: + - fastqs/test_R2.fq.gz + - null + - fastqs/random10k.r2.fq.gz + - null + read_group: + - "@RG\\tID:test\\tSM:test" + reference_index: + - reference/GRCh38.chrY_chrM.fa + output_paf: + - true + cigar_in_paf: + - true + - false + - name: fasta_reference_flags + inputs: + $samples: + read_one_fastq_gz: + - fastqs/test_R1.fq.gz + - fastqs/test_R2.fq.gz + - fastqs/random10k.r1.fq.gz + - fastqs/random10k.r2.fq.gz + read_two_fastq_gz: + - fastqs/test_R2.fq.gz + - null + - fastqs/random10k.r2.fq.gz + - null + read_group: + - "@RG\\tID:test\\tSM:test" + reference_index: + - reference/GRCh38.chrY_chrM.fa + ignore_base_quality: + - true + - false + output_md_tag: + - true + - false + soft_clip: + - true + - false + secondary_alignments: + - true + - false + # eqx (-X) is incompatible with --secondary=no in minimap2, so it is tested + # separately with secondary_alignments at its default (true) + - name: fasta_reference_eqx + inputs: + $samples: + read_one_fastq_gz: + - fastqs/test_R1.fq.gz + - fastqs/test_R2.fq.gz + - fastqs/random10k.r1.fq.gz + - fastqs/random10k.r2.fq.gz + read_two_fastq_gz: + - fastqs/test_R2.fq.gz + - null + - fastqs/random10k.r2.fq.gz + - null + read_group: + - "@RG\\tID:test\\tSM:test" + reference_index: + - reference/GRCh38.chrY_chrM.fa + eqx: + - true + - false + - name: fasta_reference_eqx_no_secondary_fails + inputs: + read_one_fastq_gz: + - fastqs/test_R1.fq.gz + read_group: + - "@RG\\tID:test\\tSM:test" + reference_index: + - reference/GRCh38.chrY_chrM.fa + eqx: + - true + secondary_alignments: + - false + assertions: + exit_code: 1 + stderr: + - "-X/-P and --secondary=no can't be applied at the same time" index: - name: works tags: [ reference, slow ] From 941f101c279f674e3ff23920d5156e34e92b04eb Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 24 Apr 2026 11:23:17 -0400 Subject: [PATCH 103/147] test: add vg giraffe index fixtures for GRCh38 chrY/chrM --- .gitattributes | 4 ++++ test/fixtures/reference/GRCh38.chrY_chrM.dist | 3 +++ test/fixtures/reference/GRCh38.chrY_chrM.giraffe.gbz | 3 +++ .../fixtures/reference/GRCh38.chrY_chrM.shortread.withzip.min | 3 +++ test/fixtures/reference/GRCh38.chrY_chrM.shortread.zipcodes | 3 +++ 5 files changed, 16 insertions(+) create mode 100644 test/fixtures/reference/GRCh38.chrY_chrM.dist create mode 100644 test/fixtures/reference/GRCh38.chrY_chrM.giraffe.gbz create mode 100644 test/fixtures/reference/GRCh38.chrY_chrM.shortread.withzip.min create mode 100644 test/fixtures/reference/GRCh38.chrY_chrM.shortread.zipcodes diff --git a/.gitattributes b/.gitattributes index da241f44c..133928a1f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -18,3 +18,7 @@ bin/check-job-alive !text !filter !merge !diff .fa filter=lfs diff=lfs merge=lfs -text *.fa filter=lfs diff=lfs merge=lfs -text *.mmi filter=lfs diff=lfs merge=lfs -text +*.gbz filter=lfs diff=lfs merge=lfs -text +*.dist filter=lfs diff=lfs merge=lfs -text +*.min filter=lfs diff=lfs merge=lfs -text +*.zipcodes filter=lfs diff=lfs merge=lfs -text diff --git a/test/fixtures/reference/GRCh38.chrY_chrM.dist b/test/fixtures/reference/GRCh38.chrY_chrM.dist new file mode 100644 index 000000000..b71a42193 --- /dev/null +++ b/test/fixtures/reference/GRCh38.chrY_chrM.dist @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cc64ba00b1b2678d30ebb3e132013ec0f4bdf524180a6800b511b76b53bee0a7 +size 25291032 diff --git a/test/fixtures/reference/GRCh38.chrY_chrM.giraffe.gbz b/test/fixtures/reference/GRCh38.chrY_chrM.giraffe.gbz new file mode 100644 index 000000000..8a51119cd --- /dev/null +++ b/test/fixtures/reference/GRCh38.chrY_chrM.giraffe.gbz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:becb0f3e33b88d65cca4388dea6e1dd9390a18ea9060f8455554ab027d71c4aa +size 48543456 diff --git a/test/fixtures/reference/GRCh38.chrY_chrM.shortread.withzip.min b/test/fixtures/reference/GRCh38.chrY_chrM.shortread.withzip.min new file mode 100644 index 000000000..18a76f82b --- /dev/null +++ b/test/fixtures/reference/GRCh38.chrY_chrM.shortread.withzip.min @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:062e93650648e0e1cce77c97e56acb721e68d070d1089d34801a745f218dafa1 +size 174418792 diff --git a/test/fixtures/reference/GRCh38.chrY_chrM.shortread.zipcodes b/test/fixtures/reference/GRCh38.chrY_chrM.shortread.zipcodes new file mode 100644 index 000000000..f18baa9dc --- /dev/null +++ b/test/fixtures/reference/GRCh38.chrY_chrM.shortread.zipcodes @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9fbe6a93a2cb96c8c2b69c0da5bb34a824750aadc75c7ca25b402052780ca5f +size 8 From 2e414abe622b0274969df1ddf613ab262977b2a4 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 24 Apr 2026 11:23:57 -0400 Subject: [PATCH 104/147] test: write tests for vg giraffe task covering output formats and presets --- tools/test/vg.yaml | 73 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 tools/test/vg.yaml diff --git a/tools/test/vg.yaml b/tools/test/vg.yaml new file mode 100644 index 000000000..f7929888a --- /dev/null +++ b/tools/test/vg.yaml @@ -0,0 +1,73 @@ +giraffe: + - name: works + inputs: + $samples: + read_one_fastq_gz: + - fastqs/test_R1.fq.gz + - fastqs/test_R2.fq.gz + - fastqs/random10k.r1.fq.gz + - fastqs/random10k.r2.fq.gz + read_two_fastq_gz: + - fastqs/test_R2.fq.gz + - null + - fastqs/random10k.r2.fq.gz + - null + gbz_graph: + - reference/GRCh38.chrY_chrM.giraffe.gbz + minimizer_index: + - reference/GRCh38.chrY_chrM.shortread.withzip.min + distance_index: + - reference/GRCh38.chrY_chrM.dist + zipcode_name: + - reference/GRCh38.chrY_chrM.shortread.zipcodes + - name: output_formats + inputs: + read_one_fastq_gz: + - fastqs/test_R1.fq.gz + read_two_fastq_gz: + - fastqs/test_R2.fq.gz + gbz_graph: + - reference/GRCh38.chrY_chrM.giraffe.gbz + minimizer_index: + - reference/GRCh38.chrY_chrM.shortread.withzip.min + distance_index: + - reference/GRCh38.chrY_chrM.dist + zipcode_name: + - reference/GRCh38.chrY_chrM.shortread.zipcodes + output_format: + - gam + - gaf + - json + - tsv + - SAM + - BAM + - CRAM + output_name: + - aligned.out + - name: presets + inputs: + read_one_fastq_gz: + - fastqs/test_R1.fq.gz + read_two_fastq_gz: + - fastqs/test_R2.fq.gz + gbz_graph: + - reference/GRCh38.chrY_chrM.giraffe.gbz + minimizer_index: + - reference/GRCh38.chrY_chrM.shortread.withzip.min + distance_index: + - reference/GRCh38.chrY_chrM.dist + zipcode_name: + - reference/GRCh38.chrY_chrM.shortread.zipcodes + preset: + - chaining-sr + - default + - fast + - hifi + - r10 + - srold +index: + - name: works + tags: [ reference, slow ] + inputs: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa From 91ec9ab94ce826d85a0a9c3249d48844bb1404af Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 24 Apr 2026 11:31:48 -0400 Subject: [PATCH 105/147] =?UTF-8?q?test:=20split=20vg=20presets=20test=20?= =?UTF-8?q?=E2=80=94=20chaining=20presets=20require=20unpaired=20reads?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/test/vg.yaml | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/tools/test/vg.yaml b/tools/test/vg.yaml index f7929888a..d1b045160 100644 --- a/tools/test/vg.yaml +++ b/tools/test/vg.yaml @@ -44,12 +44,12 @@ giraffe: - CRAM output_name: - aligned.out - - name: presets + # chaining-based presets (chaining-sr, hifi, r10, srold) do not support + # paired-end reads; test all presets unpaired and the non-chaining presets paired + - name: presets_unpaired inputs: read_one_fastq_gz: - fastqs/test_R1.fq.gz - read_two_fastq_gz: - - fastqs/test_R2.fq.gz gbz_graph: - reference/GRCh38.chrY_chrM.giraffe.gbz minimizer_index: @@ -65,6 +65,23 @@ giraffe: - hifi - r10 - srold + - name: presets_paired + inputs: + read_one_fastq_gz: + - fastqs/test_R1.fq.gz + read_two_fastq_gz: + - fastqs/test_R2.fq.gz + gbz_graph: + - reference/GRCh38.chrY_chrM.giraffe.gbz + minimizer_index: + - reference/GRCh38.chrY_chrM.shortread.withzip.min + distance_index: + - reference/GRCh38.chrY_chrM.dist + zipcode_name: + - reference/GRCh38.chrY_chrM.shortread.zipcodes + preset: + - default + - fast index: - name: works tags: [ reference, slow ] From 9c56c03ea9456a4d3907be260aa012a4b59d30c8 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 24 Apr 2026 13:44:07 -0400 Subject: [PATCH 106/147] test: add tests for clair, deepvariant, strelka, and manta --- .../bams/Aligned.sortedByCoord.chr9_chr22.bam | 3 + .../Aligned.sortedByCoord.chr9_chr22.bam.bai | 3 + test/fixtures/bams/README.md | 53 +++++ .../bams/test.PE.2_RGs.Aligned.out.sorted.bam | 3 + test/fixtures/bams/test.bam | 3 + test/fixtures/bams/test.bam.bai | 3 + .../bams/test.bwa_aln_pe.chrY_chrM.bam | 3 + .../bams/test.bwa_aln_pe.chrY_chrM.bam.bai | 3 + test/fixtures/bams/test.extra_RG.bam | 3 + test/fixtures/bams/test.unaccounted_read.bam | 3 + test/fixtures/bams/test2.bam | 3 + test/fixtures/bams/test_rnaseq_variant.bam | 3 + .../fixtures/bams/test_rnaseq_variant.bam.bai | 3 + tools/test/clair.yaml | 182 ++++++++++++++++++ tools/test/deepvariant.yaml | 167 ++++++++++++++++ tools/test/manta.yaml | 71 +++++++ tools/test/strelka.yaml | 119 ++++++++++++ 17 files changed, 628 insertions(+) create mode 100644 test/fixtures/bams/Aligned.sortedByCoord.chr9_chr22.bam create mode 100644 test/fixtures/bams/Aligned.sortedByCoord.chr9_chr22.bam.bai create mode 100644 test/fixtures/bams/README.md create mode 100644 test/fixtures/bams/test.PE.2_RGs.Aligned.out.sorted.bam create mode 100644 test/fixtures/bams/test.bam create mode 100644 test/fixtures/bams/test.bam.bai create mode 100644 test/fixtures/bams/test.bwa_aln_pe.chrY_chrM.bam create mode 100644 test/fixtures/bams/test.bwa_aln_pe.chrY_chrM.bam.bai create mode 100644 test/fixtures/bams/test.extra_RG.bam create mode 100644 test/fixtures/bams/test.unaccounted_read.bam create mode 100644 test/fixtures/bams/test2.bam create mode 100644 test/fixtures/bams/test_rnaseq_variant.bam create mode 100644 test/fixtures/bams/test_rnaseq_variant.bam.bai create mode 100644 tools/test/clair.yaml create mode 100644 tools/test/deepvariant.yaml create mode 100644 tools/test/manta.yaml create mode 100644 tools/test/strelka.yaml diff --git a/test/fixtures/bams/Aligned.sortedByCoord.chr9_chr22.bam b/test/fixtures/bams/Aligned.sortedByCoord.chr9_chr22.bam new file mode 100644 index 000000000..5fbf7cdc9 --- /dev/null +++ b/test/fixtures/bams/Aligned.sortedByCoord.chr9_chr22.bam @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ea6012587b4e9444fdcabaa5e26522aaf8c651295198208f87859204b0adc13 +size 8221 diff --git a/test/fixtures/bams/Aligned.sortedByCoord.chr9_chr22.bam.bai b/test/fixtures/bams/Aligned.sortedByCoord.chr9_chr22.bam.bai new file mode 100644 index 000000000..0427afe56 --- /dev/null +++ b/test/fixtures/bams/Aligned.sortedByCoord.chr9_chr22.bam.bai @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bf5aadc2241ccf358a7120bae15262758f649c620ac8c10aa5a97597d007b04d +size 75432 diff --git a/test/fixtures/bams/README.md b/test/fixtures/bams/README.md new file mode 100644 index 000000000..5a4b8d0ec --- /dev/null +++ b/test/fixtures/bams/README.md @@ -0,0 +1,53 @@ +# Input Files used for testing + +All the files in this directory were either randomly generated or sourced from publicly available genomic data. Many of the files have been downsampled to make them a manageable size for storing in a Git repository (using `git-lfs`) and to enable quick test execution in our CI. For the most part, these files are not representative of any meaningful scientific data and should be considered as mocked data only suitable for the purpose of generic testing. + +The following list is sorted alphabetically: + +## Aligned.sortedByCoord.chr9_chr22.bam + +Coordinate sorted BAM file with alignments on `chr9` and `chr22`. Generated with STAR and parameters suitable for `arriba` variant calling. Has a single read group with ID `rg1`. Has BCR-ABL fusion. Generated from `read1.fastq.gz` and `read2.fastq.gz` from `https://github.com/suhrig/arriba/tree/master/test`. + +## Aligned.sortedByCoord.chr9_chr22.bam.bai + +BAM index for `Aligned.sortedByCoord.chr9_chr22.bam`. + +## test.PE.2_RGs.Aligned.out.sorted.bam + +`random10k.r[1,2].fq.gz` and `test_R[1,2].fq.gz` aligned with STAR to `star_db.chrY_chrM.tar.gz` and then coordinate sorted. + +## test_rnaseq_variant.bam + +Subset of reads spanning the interval `chr1:16015740-16058682` from a fully aligned `HG002_GM24385_replicate1_totalRNAseq` sample. Generated with STAR and parameters suitable for `arriba` variant calling. One read group with ID `GM24385_replicate1` and 2,534 primary reads and 48 secondary reads (2582 reads in total). + +## test_rnaseq_variant.bam.bai + +BAM index corresponding to `test_rnaseq_variant.bam`. + +## test.bam + +Coordinate sorted BAM with 2 read groups (IDs of `1` and `2`) and 633 total reads mapped to `chr1` and `chr19`. Reused from `https://github.com/stjude/CICERO/tree/master/test/data/input`. + +## test.bam.bai + +BAM index corresponding to `test.bam`. + +## test.bwa_aln_pe.chrY_chrM.bam + +Coordinate sorted BAM with 1 read group (`ID:test`). Aligned using BWA `aln` (using the `bwa.bwa_aln_pe` WDL task). 20,000 Paired-End reads mapped to GRCh38 `chrY` and `chrM` from `test_R1.fq.gz` and `test_R2.fq.gz`. + +## test.bwa_aln_pe.chrY_chrM.bam.bai + +BAM index corresponding to `test.bwa_aln_pe.chrY_chrM.bam`. + +## test.extra_RG.bam + +A duplicate of `test.bam` with an added `@RG` entry with the ID `no_match`. There are no reads corresponding to the `no_match` RG entry. + +## test.unaccounted_read.bam + +A duplicate of `test.bam` with the last read in the file manually edited to have an `RG` tag of `no_match`. This RG tag is not present in the header. + +## test2.bam + +BAM with records for `chrY` and `chrM` that was generated by alignment of `test_R1.fq.gz` and `test_R2.fq.gz` to `GRCh38.chrY_chrM.fa` diff --git a/test/fixtures/bams/test.PE.2_RGs.Aligned.out.sorted.bam b/test/fixtures/bams/test.PE.2_RGs.Aligned.out.sorted.bam new file mode 100644 index 000000000..927982711 --- /dev/null +++ b/test/fixtures/bams/test.PE.2_RGs.Aligned.out.sorted.bam @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0905d941b9ea3ef03f5ac3116e8c4dfaa2336d59f4afac35f314f64a10c680fe +size 3907929 diff --git a/test/fixtures/bams/test.bam b/test/fixtures/bams/test.bam new file mode 100644 index 000000000..4ed0f225d --- /dev/null +++ b/test/fixtures/bams/test.bam @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65455f643feefae32af10e649ac73103803ad5e1e052f923e3330aacde1a19d5 +size 38773 diff --git a/test/fixtures/bams/test.bam.bai b/test/fixtures/bams/test.bam.bai new file mode 100644 index 000000000..21337de2d --- /dev/null +++ b/test/fixtures/bams/test.bam.bai @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2b2168cd54004cca4e511778c833f2c4f40e7a431a24e79c2268f52c8ae484b +size 83016 diff --git a/test/fixtures/bams/test.bwa_aln_pe.chrY_chrM.bam b/test/fixtures/bams/test.bwa_aln_pe.chrY_chrM.bam new file mode 100644 index 000000000..9a351ac71 --- /dev/null +++ b/test/fixtures/bams/test.bwa_aln_pe.chrY_chrM.bam @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1e3fc260fcaa5ea98ad9afeeded834b4a432b0a7f896b8b2dfd7dd91456c95c +size 1411749 diff --git a/test/fixtures/bams/test.bwa_aln_pe.chrY_chrM.bam.bai b/test/fixtures/bams/test.bwa_aln_pe.chrY_chrM.bam.bai new file mode 100644 index 000000000..fab65e93c --- /dev/null +++ b/test/fixtures/bams/test.bwa_aln_pe.chrY_chrM.bam.bai @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dc384d93c50bef9e8811d7afe7f7c7137010dd21137250d41e2901bf59f0ba8 +size 44848 diff --git a/test/fixtures/bams/test.extra_RG.bam b/test/fixtures/bams/test.extra_RG.bam new file mode 100644 index 000000000..a50bc6939 --- /dev/null +++ b/test/fixtures/bams/test.extra_RG.bam @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7919615ffb3122715ae1d8428fedc340402eba969ffc086475f0dcf053dca2b0 +size 38283 diff --git a/test/fixtures/bams/test.unaccounted_read.bam b/test/fixtures/bams/test.unaccounted_read.bam new file mode 100644 index 000000000..096794ed1 --- /dev/null +++ b/test/fixtures/bams/test.unaccounted_read.bam @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f99a289bc7ccc4f0d100c378823f3cbbc86dfbee163ff7f02e85049237145893 +size 38285 diff --git a/test/fixtures/bams/test2.bam b/test/fixtures/bams/test2.bam new file mode 100644 index 000000000..c9081336a --- /dev/null +++ b/test/fixtures/bams/test2.bam @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18ce418b5ae1da12653a53de1dfcfdf1bb259514b6d97c704fcb6a164f5a0836 +size 1552630 diff --git a/test/fixtures/bams/test_rnaseq_variant.bam b/test/fixtures/bams/test_rnaseq_variant.bam new file mode 100644 index 000000000..422312857 --- /dev/null +++ b/test/fixtures/bams/test_rnaseq_variant.bam @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:50c657450ebc27c6ff2a3255864dc0943e6660d11841071a68b09113c10f06e2 +size 141330 diff --git a/test/fixtures/bams/test_rnaseq_variant.bam.bai b/test/fixtures/bams/test_rnaseq_variant.bam.bai new file mode 100644 index 000000000..5741d26ad --- /dev/null +++ b/test/fixtures/bams/test_rnaseq_variant.bam.bai @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a1528d9cca966595703510c32d983c33b3bae1c7efa01a0ed670506828d43d9 +size 9864 diff --git a/tools/test/clair.yaml b/tools/test/clair.yaml new file mode 100644 index 000000000..e8dc594db --- /dev/null +++ b/tools/test/clair.yaml @@ -0,0 +1,182 @@ +# The `clair3` task requires a `Directory model` input containing pre-trained neural network +# weights. The `hkubal/clair3:v2.0.0` container ships built-in models at `/opt/models/`. +# Tests use the bundled Illumina model at `/opt/models/ilmn` (absolute in-container path). +clair3: + - name: works + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $sample: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + model: + - /opt/models/ilmn + + - name: with_vcf_candidates + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $sample: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + model: + - /opt/models/ilmn + vcf_candidates: + - vcfs/test1.vcf.gz + + - name: gvcf_mode + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $sample: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + model: + - /opt/models/ilmn + gvcf: + - true + + - name: all_contigs + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $sample: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + model: + - /opt/models/ilmn + all_contigs: + - true + + - name: print_ref_calls + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $sample: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + model: + - /opt/models/ilmn + print_ref_calls: + - true + +clairs: + - name: works + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + platform: + - ilmn + + - name: with_vcf_candidates + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + platform: + - ilmn + vcf_candidates: + - vcfs/test1.vcf.gz + + - name: all_contigs + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + platform: + - ilmn + all_contigs: + - true + + - name: print_germline_calls + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + platform: + - ilmn + print_germline_calls: + - true diff --git a/tools/test/deepvariant.yaml b/tools/test/deepvariant.yaml new file mode 100644 index 000000000..9824c15b4 --- /dev/null +++ b/tools/test/deepvariant.yaml @@ -0,0 +1,167 @@ +deepvariant: + - name: works + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $sample: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + + - name: wes_model + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $sample: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + model_type: + - WES + + - name: runtime_report + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $sample: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + runtime_report: + - true + + - name: vcf_stats_report + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $sample: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + vcf_stats_report: + - true + + - name: custom_haploid_chromosomes + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $sample: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + haploid_chromosomes: + - ["chrY"] + +deepsomatic: + - name: works + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + model_type: + - WGS + + - name: wes_model + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + model_type: + - WES + + - name: runtime_report + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + model_type: + - WGS + runtime_report: + - true + + - name: vcf_stats_report + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + model_type: + - WGS + vcf_stats_report: + - true diff --git a/tools/test/manta.yaml b/tools/test/manta.yaml new file mode 100644 index 000000000..db2d8d181 --- /dev/null +++ b/tools/test/manta.yaml @@ -0,0 +1,71 @@ +manta_germline: + - name: works + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $sample: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + + - name: exome_mode + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $sample: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + exome: + - true + +manta_somatic: + - name: works + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + + - name: exome_mode + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + exome: + - true diff --git a/tools/test/strelka.yaml b/tools/test/strelka.yaml new file mode 100644 index 000000000..d785a122b --- /dev/null +++ b/tools/test/strelka.yaml @@ -0,0 +1,119 @@ +somatic: + - name: works + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + + - name: with_indel_candidates + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $indels: + indel_candidates: + - vcfs/test1.vcf.gz + indel_candidates_index: + - vcfs/test1.vcf.gz.tbi + + - name: with_manta_indel_candidates + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $indels: + indel_candidates: + - vcfs/manta_indel_candidates.vcf.gz + indel_candidates_index: + - vcfs/manta_indel_candidates.vcf.gz.tbi + + - name: exome_mode + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + exome: + - true + +germline: + - name: works + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $sample: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + + - name: exome_mode + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + $sample: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + exome: + - true From 633286f3115617ad4236e54b32047e7373e0ebbf Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 24 Apr 2026 14:37:08 -0400 Subject: [PATCH 107/147] chore: reorg fixtures to match #263 --- test/fixtures/chr1_chr19.interval_list | 19 + test/fixtures/fastqs/random10k.r1.fq.gz | 4 +- test/fixtures/fastqs/random10k.r2.fq.gz | 4 +- test/fixtures/fastqs/test_R1.fq.gz | 4 +- test/fixtures/fastqs/test_R2.fq.gz | 4 +- .../fixtures/reference/GRCh38.chr1_chr19.dict | 3 + test/fixtures/reference/GRCh38.chr1_chr19.fa | 3 + .../reference/GRCh38.chr1_chr19.fa.fai | 2 + test/fixtures/reference/GRCh38.chrY_chrM.dict | 3 + test/fixtures/reference/GRCh38.chrY_chrM.fa | 4 +- ...mo_sapiens_assembly38.dbsnp138.top5000.vcf | 5000 +++++++++++++++++ ...apiens_assembly38.dbsnp138.top5000.vcf.idx | Bin 0 -> 1487 bytes test/fixtures/vcfs/README.md | 21 + test/fixtures/vcfs/test1.vcf.gz | 3 + test/fixtures/vcfs/test1.vcf.gz.tbi | Bin 0 -> 114 bytes test/fixtures/vcfs/test2.vcf.gz | 3 + test/fixtures/vcfs/test2.vcf.gz.tbi | Bin 0 -> 114 bytes .../wgs_calling_regions.hg38.interval_list | 3724 ++++++++++++ tests/input/GRCh38.chrY_chrM.fa | 3 - tests/input/random10k.r1.fq.gz | 3 - tests/input/random10k.r2.fq.gz | 3 - tests/input/test_R1.fq.gz | 3 - tests/input/test_R2.fq.gz | 3 - 23 files changed, 8796 insertions(+), 20 deletions(-) create mode 100644 test/fixtures/chr1_chr19.interval_list mode change 120000 => 100644 test/fixtures/fastqs/random10k.r1.fq.gz mode change 120000 => 100644 test/fixtures/fastqs/random10k.r2.fq.gz mode change 120000 => 100644 test/fixtures/fastqs/test_R1.fq.gz mode change 120000 => 100644 test/fixtures/fastqs/test_R2.fq.gz create mode 100644 test/fixtures/reference/GRCh38.chr1_chr19.dict create mode 100644 test/fixtures/reference/GRCh38.chr1_chr19.fa create mode 100644 test/fixtures/reference/GRCh38.chr1_chr19.fa.fai create mode 100644 test/fixtures/reference/GRCh38.chrY_chrM.dict mode change 120000 => 100644 test/fixtures/reference/GRCh38.chrY_chrM.fa create mode 100644 test/fixtures/reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf create mode 100644 test/fixtures/reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf.idx create mode 100644 test/fixtures/vcfs/README.md create mode 100644 test/fixtures/vcfs/test1.vcf.gz create mode 100644 test/fixtures/vcfs/test1.vcf.gz.tbi create mode 100644 test/fixtures/vcfs/test2.vcf.gz create mode 100644 test/fixtures/vcfs/test2.vcf.gz.tbi create mode 100644 test/fixtures/wgs_calling_regions.hg38.interval_list delete mode 100644 tests/input/GRCh38.chrY_chrM.fa delete mode 100644 tests/input/random10k.r1.fq.gz delete mode 100644 tests/input/random10k.r2.fq.gz delete mode 100644 tests/input/test_R1.fq.gz delete mode 100644 tests/input/test_R2.fq.gz diff --git a/test/fixtures/chr1_chr19.interval_list b/test/fixtures/chr1_chr19.interval_list new file mode 100644 index 000000000..1c9631254 --- /dev/null +++ b/test/fixtures/chr1_chr19.interval_list @@ -0,0 +1,19 @@ +@HD VN:1.5 SO:coordinate +@SQ SN:chr1 LN:248956422 M5:6aef897c3d6ff0c78aff06ac189178dd AS:38 UR:/seq/references/Homo_sapiens_assembly38/v0/Homo_sapiens_assembly38.fasta SP:Homo sapiens +@SQ SN:chr19 LN:58617616 M5:85f9f4fc152c58cb7913c06d6b98573a AS:38 UR:/seq/references/Homo_sapiens_assembly38/v0/Homo_sapiens_assembly38.fasta SP:Homo sapiens +chr1 10001 207666 + . intersection ACGTmer +chr1 257667 297968 + . intersection ACGTmer +chr1 347969 535988 + . intersection ACGTmer +chr1 585989 2702781 + . intersection ACGTmer +chr1 2746291 12954384 + . intersection ACGTmer +chr1 13004385 16799163 + . intersection ACGTmer +chr1 16849164 29552233 + . intersection ACGTmer +chr1 29553836 121976459 + . intersection ACGTmer +chr1 122026460 124977944 + . intersection ACGTmer +chr1 124978327 125130246 + . intersection ACGTmer +chr1 125131848 125171347 + . intersection ACGTmer +chr1 125173584 125184587 + . intersection ACGTmer +chr1 143184588 223558935 + . intersection ACGTmer +chr1 223608936 228558364 + . intersection ACGTmer +chr1 228608365 248946422 + . intersection ACGTmer +chr19 20002 208000 + . intersection ACGTmer diff --git a/test/fixtures/fastqs/random10k.r1.fq.gz b/test/fixtures/fastqs/random10k.r1.fq.gz deleted file mode 120000 index 39ec580dd..000000000 --- a/test/fixtures/fastqs/random10k.r1.fq.gz +++ /dev/null @@ -1 +0,0 @@ -/Users/athrashe/Library/CloudStorage/OneDrive-St.JudeChildrensResearchHospital/repo/workflows/tests/input/random10k.r1.fq.gz \ No newline at end of file diff --git a/test/fixtures/fastqs/random10k.r1.fq.gz b/test/fixtures/fastqs/random10k.r1.fq.gz new file mode 100644 index 000000000..2b38d66d1 --- /dev/null +++ b/test/fixtures/fastqs/random10k.r1.fq.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:852a105f28babdab65cd2dc1baaafe9f24a256d51bace7a176a755237546fc52 +size 1025288 diff --git a/test/fixtures/fastqs/random10k.r2.fq.gz b/test/fixtures/fastqs/random10k.r2.fq.gz deleted file mode 120000 index 576d34a40..000000000 --- a/test/fixtures/fastqs/random10k.r2.fq.gz +++ /dev/null @@ -1 +0,0 @@ -/Users/athrashe/Library/CloudStorage/OneDrive-St.JudeChildrensResearchHospital/repo/workflows/tests/input/random10k.r2.fq.gz \ No newline at end of file diff --git a/test/fixtures/fastqs/random10k.r2.fq.gz b/test/fixtures/fastqs/random10k.r2.fq.gz new file mode 100644 index 000000000..52d329b8c --- /dev/null +++ b/test/fixtures/fastqs/random10k.r2.fq.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6adbcaa4b2998b8413097f42a8cee2f4ca57fe76fd420267f88f1acf791cfb3 +size 1025136 diff --git a/test/fixtures/fastqs/test_R1.fq.gz b/test/fixtures/fastqs/test_R1.fq.gz deleted file mode 120000 index 0b630ed80..000000000 --- a/test/fixtures/fastqs/test_R1.fq.gz +++ /dev/null @@ -1 +0,0 @@ -/Users/athrashe/Library/CloudStorage/OneDrive-St.JudeChildrensResearchHospital/repo/workflows/tests/input/test_R1.fq.gz \ No newline at end of file diff --git a/test/fixtures/fastqs/test_R1.fq.gz b/test/fixtures/fastqs/test_R1.fq.gz new file mode 100644 index 000000000..c7b4f4bd7 --- /dev/null +++ b/test/fixtures/fastqs/test_R1.fq.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:787c7535d6ace8371cc76d9c1897ff46b756212e1669bc7e39971298d760be63 +size 584035 diff --git a/test/fixtures/fastqs/test_R2.fq.gz b/test/fixtures/fastqs/test_R2.fq.gz deleted file mode 120000 index 8e9b516b6..000000000 --- a/test/fixtures/fastqs/test_R2.fq.gz +++ /dev/null @@ -1 +0,0 @@ -/Users/athrashe/Library/CloudStorage/OneDrive-St.JudeChildrensResearchHospital/repo/workflows/tests/input/test_R2.fq.gz \ No newline at end of file diff --git a/test/fixtures/fastqs/test_R2.fq.gz b/test/fixtures/fastqs/test_R2.fq.gz new file mode 100644 index 000000000..14f8b4249 --- /dev/null +++ b/test/fixtures/fastqs/test_R2.fq.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bba761e57667b33d242de399ca09ad7ba408e23d448c4e359aa41a9cbc0bfcb +size 584005 diff --git a/test/fixtures/reference/GRCh38.chr1_chr19.dict b/test/fixtures/reference/GRCh38.chr1_chr19.dict new file mode 100644 index 000000000..41c290a42 --- /dev/null +++ b/test/fixtures/reference/GRCh38.chr1_chr19.dict @@ -0,0 +1,3 @@ +@HD VN:1.0 SO:unsorted +@SQ SN:chr1 LN:248956422 M5:6aef897c3d6ff0c78aff06ac189178dd +@SQ SN:chr19 LN:58617616 M5:85f9f4fc152c58cb7913c06d6b98573a diff --git a/test/fixtures/reference/GRCh38.chr1_chr19.fa b/test/fixtures/reference/GRCh38.chr1_chr19.fa new file mode 100644 index 000000000..2a65cc32e --- /dev/null +++ b/test/fixtures/reference/GRCh38.chr1_chr19.fa @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bd2d3b4a9f414f4bcf1465d94c9b5addc80e1d9ba459b579d9bd31416a80c08 +size 311968191 diff --git a/test/fixtures/reference/GRCh38.chr1_chr19.fa.fai b/test/fixtures/reference/GRCh38.chr1_chr19.fa.fai new file mode 100644 index 000000000..6b1af0aa9 --- /dev/null +++ b/test/fixtures/reference/GRCh38.chr1_chr19.fa.fai @@ -0,0 +1,2 @@ +chr1 248956422 112 70 71 +chr19 58617616 252513180 70 71 diff --git a/test/fixtures/reference/GRCh38.chrY_chrM.dict b/test/fixtures/reference/GRCh38.chrY_chrM.dict new file mode 100644 index 000000000..13c64ee61 --- /dev/null +++ b/test/fixtures/reference/GRCh38.chrY_chrM.dict @@ -0,0 +1,3 @@ +@HD VN:1.0 SO:unsorted +@SQ SN:chrY LN:57227415 M5:ce3e31103314a704255f3cd90369ecce UR:file:///Users/afrantz/workflows/tests/input/GRCh38.chrY_chrM.fa.gz +@SQ SN:chrM LN:16569 M5:c68f52674c9fb33aef52dcf399755519 UR:file:///Users/afrantz/workflows/tests/input/GRCh38.chrY_chrM.fa.gz diff --git a/test/fixtures/reference/GRCh38.chrY_chrM.fa b/test/fixtures/reference/GRCh38.chrY_chrM.fa deleted file mode 120000 index 1ee6021b9..000000000 --- a/test/fixtures/reference/GRCh38.chrY_chrM.fa +++ /dev/null @@ -1 +0,0 @@ -/Users/athrashe/Library/CloudStorage/OneDrive-St.JudeChildrensResearchHospital/repo/workflows/tests/input/GRCh38.chrY_chrM.fa \ No newline at end of file diff --git a/test/fixtures/reference/GRCh38.chrY_chrM.fa b/test/fixtures/reference/GRCh38.chrY_chrM.fa new file mode 100644 index 000000000..26d8494c7 --- /dev/null +++ b/test/fixtures/reference/GRCh38.chrY_chrM.fa @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d6d51aee25e5c8005a655d6165f8de3db9422ec7c0b5ea87f529a900e622f42 +size 58062025 diff --git a/test/fixtures/reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf b/test/fixtures/reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf new file mode 100644 index 000000000..de5c26beb --- /dev/null +++ b/test/fixtures/reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf @@ -0,0 +1,5000 @@ +##fileformat=VCFv4.1 +##FILTER= +##GATKCommandLine= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO== 1% and for which 2 or more founders contribute to that minor allele frequency."> +##INFO= +##INFO=5% minor allele frequency in 1+ populations"> +##INFO=5% minor allele frequency in each and all populations"> +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO=SubSNP->Batch.link_out"> +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##dbSNP_BUILD_ID=138 +##fileDate=20130806 +##phasing=partial +##source=dbSNP +##variationPropertyDocumentationUrl=ftp://ftp.ncbi.nlm.nih.gov/snp/specs/dbSNP_BitField_latest.pdf +#CHROM POS ID REF ALT QUAL FILTER INFO +chr1 10019 rs376643643 TA T . PASS OTHERKG;R5;RS=376643643;RSPOS=10020;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=138 +chr1 10109 rs376007522 A T . PASS OTHERKG;R5;RS=376007522;RSPOS=10109;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=138 +chr1 10139 rs368469931 A T . PASS OTHERKG;R5;RS=368469931;RSPOS=10139;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=138 +chr1 10144 rs144773400 TA T . PASS OTHERKG;R5;RS=144773400;RSPOS=10145;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=134 +chr1 10146 rs375931351 AC A . PASS OTHERKG;R5;RS=375931351;RSPOS=10147;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=138 +chr1 10150 rs371194064 C T . PASS OTHERKG;R5;RS=371194064;RSPOS=10150;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=138 +chr1 10176 rs367896724 AAC A,AC . PASS NOC;OTHERKG;R5;RS=367896724;RSPOS=10177;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000210;WGT=1;dbSNPBuildID=138 +chr1 10177 rs201752861 A C . PASS OTHERKG;R5;RS=201752861;RSPOS=10177;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=137 +chr1 10180 rs201694901 T C . PASS OTHERKG;R5;RS=201694901;RSPOS=10180;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=137 +chr1 10228 rs143255646 TA T . PASS OTHERKG;R5;RS=143255646;RSPOS=10229;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=134 +chr1 10228 rs200462216 TAACCCCTAACCCTAACCCTAAACCCTA T . PASS OTHERKG;R5;RS=200462216;RSPOS=10229;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=137 +chr1 10230 rs376846324 AC A . PASS OTHERKG;R5;RS=376846324;RSPOS=10231;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=138 +chr1 10231 rs200279319 C A . PASS OTHERKG;R5;RS=200279319;RSPOS=10231;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=137 +chr1 10234 rs145599635 C T . PASS OTHERKG;R5;RS=145599635;RSPOS=10234;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=134 +chr1 10248 rs148908337 A T . PASS OTHERKG;R5;RS=148908337;RSPOS=10248;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=134 +chr1 10249 rs375044980 AAC A . PASS OTHERKG;R5;RS=375044980;RSPOS=10250;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=138 +chr1 10250 rs199706086 A C . PASS OTHERKG;R5;RS=199706086;RSPOS=10250;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=137 +chr1 10254 rs140194106 TA T . PASS OTHERKG;R5;RS=140194106;RSPOS=10255;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=134 +chr1 10259 rs200940095 C A . PASS OTHERKG;R5;RS=200940095;RSPOS=10259;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=137 +chr1 10291 rs145427775 C T . PASS OTHERKG;R5;RS=145427775;RSPOS=10291;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=134 +chr1 10327 rs112750067 T C . PASS OTHERKG;R5;RS=112750067;RSPOS=10327;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=132 +chr1 10328 rs201106462 AACCCCTAACCCTAACCCTAACCCT A . PASS OTHERKG;R5;RS=201106462;RSPOS=10329;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=137 +chr1 10329 rs150969722 AC A . PASS OTHERKG;R5;RS=150969722;RSPOS=10330;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=134 +chr1 10352 rs145072688 T TA . PASS OTHERKG;R5;RS=145072688;RSPOS=10352;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=134 +chr1 10383 rs147093981 A AC . PASS OTHERKG;R5;RS=147093981;RSPOS=10383;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=134 +chr1 10389 rs373144384 AC A . PASS OTHERKG;R5;RS=373144384;RSPOS=10390;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=138 +chr1 10433 rs56289060 A AC . PASS OTHERKG;R5;RS=56289060;RSPOS=10433;SAO=0;SSR=0;VC=DIV;VP=0x050000020001000002000200;WGT=1;dbSNPBuildID=129 +chr1 10439 rs112766696 AC A . PASS GNO;OTHERKG;R5;RS=112766696;RSPOS=10440;SAO=0;SLO;SSR=0;VC=DIV;VP=0x050100020001000102000200;WGT=1;dbSNPBuildID=132 +chr1 10440 rs112155239 C A . PASS OTHERKG;R5;RS=112155239;RSPOS=10440;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=132 +chr1 10469 rs370233998 C G . PASS OTHERKG;R5;RS=370233998;RSPOS=10469;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=138 +chr1 10492 rs55998931 C T . PASS OTHERKG;R5;RS=55998931;RSPOS=10492;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=129 +chr1 10493 rs199606420 C A . PASS OTHERKG;R5;RS=199606420;RSPOS=10493;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=137 +chr1 10519 rs62636508 G C . PASS OTHERKG;R5;RS=62636508;RSPOS=10519;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=129 +chr1 10583 rs58108140 G A . PASS CAF=[0.8558,0.1442];COMMON=1;KGPROD;KGPhase1;OTHERKG;R5;RS=58108140;RSPOS=10583;SAO=0;SSR=0;VC=SNV;VP=0x050000020001100016000100;WGT=1;dbSNPBuildID=129 +chr1 10603 rs200782791 G A . PASS OTHERKG;R5;RS=200782791;RSPOS=10603;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=137 +chr1 10611 rs189107123 C G . PASS CAF=[0.9812,0.01882];COMMON=1;KGPROD;KGPhase1;R5;RS=189107123;RSPOS=10611;SAO=0;SSR=0;VC=SNV;VP=0x050000020001100014000100;WGT=1;dbSNPBuildID=135 +chr1 10616 rs376342519 CCGCCGTTGCAAAGGCGCGCCG C . PASS ASP;OTHERKG;R5;RS=376342519;RSPOS=10617;SAO=0;SSR=0;VC=DIV;VP=0x050000020005000002000200;WGT=1;dbSNPBuildID=138 +chr1 10828 rs10218492 G A . PASS ASP;OTHERKG;R5;RS=10218492;RSPOS=10828;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=119 +chr1 10904 rs10218493 G A . PASS ASP;GNO;OTHERKG;R5;RS=10218493;RSPOS=10904;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000102000100;WGT=1;dbSNPBuildID=119 +chr1 10927 rs10218527 A G . PASS ASP;OTHERKG;R5;RS=10218527;RSPOS=10927;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=119 +chr1 10938 rs28853987 G A . PASS ASP;OTHERKG;R5;RS=28853987;RSPOS=10938;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=125 +chr1 11014 rs28484712 G A . PASS ASP;OTHERKG;R5;RS=28484712;RSPOS=11014;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=125 +chr1 11022 rs28775022 G A . PASS ASP;OTHERKG;R5;RS=28775022;RSPOS=11022;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=125 +chr1 11081 rs10218495 G T . PASS CFL;GNO;OTHERKG;R5;RS=10218495;RSPOS=11081;SAO=0;SSR=0;VC=SNV;VP=0x050000020009000102000100;WGT=1;dbSNPBuildID=119 +chr1 11863 rs187669455 C A . PASS ASP;OTHERKG;R5;RS=187669455;RSPOS=11863;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=135 +chr1 12214 rs202068986 C G . PASS ASP;OTHERKG;RS=202068986;RSPOS=12214;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 13116 rs201725126 T G . PASS INT;OTHERKG;RS=201725126;RSPOS=13116;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 13118 rs200579949 A G . PASS INT;OTHERKG;RS=200579949;RSPOS=13118;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 13302 rs180734498 C T . PASS CAF=[0.8857,0.1143];COMMON=1;KGPROD;KGPhase1;RS=180734498;RSPOS=13302;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=135 +chr1 13327 rs144762171 G C . PASS CAF=[0.9729,0.02709];COMMON=1;KGPROD;KGPhase1;RS=144762171;RSPOS=13327;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=134 +chr1 13504 rs199896944 G A . PASS OTHERKG;RS=199896944;RSPOS=13504;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 13838 rs200683566 C T . PASS OTHERKG;RS=200683566;RSPOS=13838;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 13896 rs201696125 C A . PASS INT;OTHERKG;RS=201696125;RSPOS=13896;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 13957 rs201747181 TC T . PASS ASP;CAF=[0.9839,0.01607];COMMON=1;INT;KGPROD;KGPhase1;KGPilot123;RS=201747181;RSPOS=13958;SAO=0;SSR=0;VC=DIV;VP=0x05000008000510001c000200;WGT=1;dbSNPBuildID=137 +chr1 13980 rs151276478 T C . PASS CAF=[0.9793,0.02066];COMMON=1;INT;KGPROD;KGPhase1;RS=151276478;RSPOS=13980;SAO=0;SSR=0;VC=SNV;VP=0x050000080001100014000100;WGT=1;dbSNPBuildID=134 +chr1 14397 rs370886505 CTGT C . PASS OTHERKG;RS=370886505;RSPOS=14398;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 14511 rs372598081 CAG C . PASS OTHERKG;R3;RS=372598081;RSPOS=14512;SAO=0;SSR=0;VC=DIV;VP=0x050000040001000002000200;WGT=1;dbSNPBuildID=138 +chr1 14567 rs200045244 G T . PASS OTHERKG;R3;RS=200045244;RSPOS=14567;SAO=0;SSR=0;VC=SNV;VP=0x050000040001000002000100;WGT=1;dbSNPBuildID=137 +chr1 14653 rs375086259 C T . PASS OTHERKG;R3;RS=375086259;RSPOS=14653;SAO=0;SSR=0;VC=SNV;VP=0x050000040001000002000100;WGT=1;dbSNPBuildID=138 +chr1 14671 rs201055865 G C . PASS OTHERKG;R3;RS=201055865;RSPOS=14671;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000040001040002000100;WGT=1;dbSNPBuildID=137 +chr1 14673 rs369473859 G C . PASS OTHERKG;R3;RS=369473859;RSPOS=14673;SAO=0;SSR=0;VC=SNV;VP=0x050000040001000002000100;WGT=1;dbSNPBuildID=138 +chr1 14677 rs201327123 G A . PASS OTHERKG;R3;RS=201327123;RSPOS=14677;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000040001040002000100;WGT=1;dbSNPBuildID=137 +chr1 14699 rs372910670 C G . PASS OTHERKG;R3;RS=372910670;RSPOS=14699;SAO=0;SSR=0;VC=SNV;VP=0x050000040001000002000100;WGT=1;dbSNPBuildID=138 +chr1 14716 rs199921890 C T . PASS OTHERKG;R3;RS=199921890;RSPOS=14716;SAO=0;SSR=0;VC=SNV;VP=0x050000040001000002000100;WGT=1;dbSNPBuildID=137 +chr1 14717 rs377122907 G A . PASS OTHERKG;R3;RS=377122907;RSPOS=14717;SAO=0;SSR=0;VC=SNV;VP=0x050000040001000002000100;WGT=1;dbSNPBuildID=138 +chr1 14776 rs201013861 G A . PASS OTHERKG;R3;RS=201013861;RSPOS=14776;SAO=0;SSR=0;VC=SNV;VP=0x050000040001000002000100;WGT=1;dbSNPBuildID=137 +chr1 14889 rs142444908 G A . PASS INT;OTHERKG;R3;RS=142444908;RSPOS=14889;SAO=0;SSR=0;VC=SNV;VP=0x0500000c0001000002000100;WGT=1;dbSNPBuildID=134 +chr1 14907 rs79585140 A G . PASS GNO;INT;OTHERKG;R3;RS=79585140;RSPOS=14907;SAO=0;SSR=0;VC=SNV;VLD;VP=0x0500000c0001040102000100;WGT=1;dbSNPBuildID=131 +chr1 14930 rs75454623 A G . PASS GNO;INT;OTHERKG;RS=75454623;RSPOS=14930;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000080001040102000100;WGT=1;dbSNPBuildID=131 +chr1 14933 rs199856693 G A . PASS INT;OTHERKG;RS=199856693;RSPOS=14933;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 14948 rs201855936 G A . PASS INT;OTHERKG;RS=201855936;RSPOS=14948;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000080001040002000100;WGT=1;dbSNPBuildID=137 +chr1 14976 rs71252251 G A . PASS GNO;OTHERKG;RS=71252251;RSPOS=14976;RV;SAO=0;SLO;SSR=0;VC=SNV;VLD;VP=0x050100000001040102000100;WGT=1;dbSNPBuildID=130 +chr1 15029 rs201045431 G A . PASS OTHERKG;RS=201045431;RSPOS=15029;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001040002000100;WGT=1;dbSNPBuildID=137 +chr1 15118 rs71252250 A G . PASS GNO;INT;OTHERKG;RS=71252250;RSPOS=15118;RV;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100080001000102000100;WGT=1;dbSNPBuildID=130 +chr1 15190 rs200030104 G A . PASS INT;OTHERKG;RS=200030104;RSPOS=15190;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 15208 rs368345873 G A . PASS INT;OTHERKG;RS=368345873;RSPOS=15208;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 15211 rs78601809 T G . PASS GNO;INT;OTHERKG;RS=78601809;RSPOS=15211;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000080001040102000100;WGT=1;dbSNPBuildID=131 +chr1 15274 rs201931625 A T . PASS INT;OTHERKG;RS=201931625;RSPOS=15274;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 15447 rs201635489 A G . PASS INT;OTHERKG;RS=201635489;RSPOS=15447;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 15711 rs202113635 G A . PASS INT;OTHERKG;RS=202113635;RSPOS=15711;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000080001040002000100;WGT=1;dbSNPBuildID=137 +chr1 15774 rs374029747 G A . PASS INT;OTHERKG;RS=374029747;RSPOS=15774;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 15817 rs367870014 G T . PASS OTHERKG;RS=367870014;RSPOS=15817;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 15820 rs200482301 G T . PASS G5;G5A;OTHERKG;RS=200482301;RSPOS=15820;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001070002000100;WGT=1;dbSNPBuildID=137 +chr1 15922 rs375964566 A G . PASS OTHERKG;RS=375964566;RSPOS=15922;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 15956 rs367663362 G A . PASS INT;OTHERKG;RS=367663362;RSPOS=15956;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 16068 rs372319358 T C . PASS INT;OTHERKG;RS=372319358;RSPOS=16068;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 16103 rs200358166 T G . PASS INT;OTHERKG;RS=200358166;RSPOS=16103;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 16125 rs201026389 T G . PASS INT;OTHERKG;RS=201026389;RSPOS=16125;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 16257 rs78588380 G C . PASS GNO;INT;OTHERKG;RS=78588380;RSPOS=16257;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000102000100;WGT=1;dbSNPBuildID=131 +chr1 16288 rs200736374 C G . PASS INT;OTHERKG;RS=200736374;RSPOS=16288;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 16298 rs200451305 C T . PASS INT;OTHERKG;RS=200451305;RSPOS=16298;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 16378 rs148220436 T C . PASS INT;OTHERKG;RS=148220436;RSPOS=16378;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=134 +chr1 16487 rs373516660 T C . PASS INT;OTHERKG;RS=373516660;RSPOS=16487;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 16495 rs141130360 G C . PASS INT;OTHERKG;RS=141130360;RSPOS=16495;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=134 +chr1 16497 rs150723783 A G . PASS INT;OTHERKG;RS=150723783;RSPOS=16497;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=134 +chr1 16534 rs201459529 C T . PASS INT;OTHERKG;RS=201459529;RSPOS=16534;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 16571 rs199676946 G A . PASS INT;OTHERKG;RS=199676946;RSPOS=16571;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 16792 rs201330479 G A . PASS INT;OTHERKG;RS=201330479;RSPOS=16792;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 16841 rs199652822 G T . PASS INT;OTHERKG;RS=199652822;RSPOS=16841;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000080001040002000100;WGT=1;dbSNPBuildID=137 +chr1 16856 rs200205172 A G . PASS DSS;OTHERKG;RS=200205172;RSPOS=16856;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000100001040002000100;WGT=1;dbSNPBuildID=137 +chr1 16946 rs201563295 G T . PASS OTHERKG;RS=201563295;RSPOS=16946;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001040002000100;WGT=1;dbSNPBuildID=137 +chr1 16949 rs199745162 A C . PASS G5;G5A;OTHERKG;RS=199745162;RSPOS=16949;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001070002000100;WGT=1;dbSNPBuildID=137 +chr1 16957 rs200658479 G T . PASS OTHERKG;RS=200658479;RSPOS=16957;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001040002000100;WGT=1;dbSNPBuildID=137 +chr1 17005 rs201833382 A G . PASS OTHERKG;RS=201833382;RSPOS=17005;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 17020 rs199740902 G A . PASS G5;G5A;OTHERKG;RS=199740902;RSPOS=17020;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001070002000100;WGT=1;dbSNPBuildID=137 +chr1 17222 rs200978805 A G . PASS INT;OTHERKG;RS=200978805;RSPOS=17222;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000080001040002000100;WGT=1;dbSNPBuildID=137 +chr1 17365 rs369606208 C G . PASS OTHERKG;RS=369606208;RSPOS=17365;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 17385 rs201535981 G A . PASS INT;OTHERKG;RS=201535981;RSPOS=17385;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000080001040002000100;WGT=1;dbSNPBuildID=137 +chr1 17398 rs200784459 C A . PASS G5;G5A;INT;OTHERKG;RS=200784459;RSPOS=17398;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000080001070002000100;WGT=1;dbSNPBuildID=137 +chr1 17407 rs372841554 G A . PASS INT;OTHERKG;RS=372841554;RSPOS=17407;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 17452 rs200503540 C T . PASS INT;OTHERKG;RS=200503540;RSPOS=17452;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 17519 rs192890528 G T . PASS INT;OTHERKG;RS=192890528;RSPOS=17519;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=135 +chr1 17525 rs201578576 C A . PASS INT;OTHERKG;RS=201578576;RSPOS=17525;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 17538 rs200046632 C A . PASS G5;G5A;INT;OTHERKG;RS=200046632;RSPOS=17538;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000080001070002000100;WGT=1;dbSNPBuildID=137 +chr1 17556 rs374545136 C T . PASS INT;OTHERKG;RS=374545136;RSPOS=17556;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 17594 rs377698370 C T . PASS INT;OTHERKG;RS=377698370;RSPOS=17594;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 17614 rs201057270 G A . PASS OTHERKG;RS=201057270;RSPOS=17614;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 17697 rs374995955 G C . PASS OTHERKG;RS=374995955;RSPOS=17697;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 17722 rs376731495 A G . PASS OTHERKG;RS=376731495;RSPOS=17722;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 17746 rs370884870 A G . PASS INT;OTHERKG;RS=370884870;RSPOS=17746;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 17765 rs373918278 G A . PASS INT;OTHERKG;RS=373918278;RSPOS=17765;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 17805 rs367778176 T C . PASS INT;OTHERKG;RS=367778176;RSPOS=17805;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 19004 rs201619486 A G . PASS INT;OTHERKG;RS=201619486;RSPOS=19004;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 19226 rs138930629 T A . PASS INT;OTHERKG;RS=138930629;RSPOS=19226;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=134 +chr1 19858 rs200796857 C T . PASS INT;OTHERKG;RS=200796857;RSPOS=19858;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 19942 rs374557549 G C . PASS INT;OTHERKG;RS=374557549;RSPOS=19942;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 20129 rs202081272 C T . PASS INT;OTHERKG;RS=202081272;RSPOS=20129;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 20130 rs199894601 G A . PASS INT;OTHERKG;RS=199894601;RSPOS=20130;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 20136 rs202041813 T C . PASS INT;OTHERKG;RS=202041813;RSPOS=20136;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 20141 rs56336884 G A . PASS HD;INT;OTHERKG;RS=56336884;RSPOS=20141;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000402000100;WGT=1;dbSNPBuildID=129 +chr1 20144 rs143346096 G A . PASS INT;OTHERKG;RS=143346096;RSPOS=20144;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=134 +chr1 20191 rs369546232 T G . PASS INT;OTHERKG;RS=369546232;RSPOS=20191;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 20206 rs71262675 C T . PASS GNO;INT;OTHERKG;RS=71262675;RSPOS=20206;RV;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100080001000102000100;WGT=1;dbSNPBuildID=130 +chr1 20235 rs376765557 G A . PASS INT;OTHERKG;RS=376765557;RSPOS=20235;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 20245 rs71262674 G A . PASS GNO;INT;OTHERKG;RS=71262674;RSPOS=20245;RV;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100080001000102000100;WGT=1;dbSNPBuildID=130 +chr1 20250 rs373030326 T C . PASS INT;OTHERKG;RS=373030326;RSPOS=20250;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=138 +chr1 20304 rs71262673 G C . PASS GNO;INT;OTHERKG;RS=71262673;RSPOS=20304;RV;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100080001000102000100;WGT=1;dbSNPBuildID=130 +chr1 20321 rs201679685 A C . PASS INT;OTHERKG;RS=201679685;RSPOS=20321;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 20467 rs200424443 C T . PASS INT;OTHERKG;RS=200424443;RSPOS=20467;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 20512 rs201171480 G T . PASS INT;OTHERKG;RS=201171480;RSPOS=20512;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 20547 rs202246159 A G . PASS INT;OTHERKG;RS=202246159;RSPOS=20547;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 23359 rs200501833 C G . PASS INT;OTHERKG;RS=200501833;RSPOS=23359;SAO=0;SSR=0;VC=SNV;VP=0x050000080001000002000100;WGT=1;dbSNPBuildID=137 +chr1 26614 rs201254879 G A . PASS ASP;INT;OTHERKG;RS=201254879;RSPOS=26614;SAO=0;SSR=0;VC=SNV;VP=0x050000080005000002000100;WGT=1;dbSNPBuildID=137 +chr1 26999 rs147506580 A G . PASS CFL;INT;OTHERKG;RS=147506580;RSPOS=26999;SAO=0;SSR=0;VC=SNV;VP=0x050000080009000002000100;WGT=1;dbSNPBuildID=134 +chr1 28198 rs370721856 A T . PASS ASP;INT;OTHERKG;RS=370721856;RSPOS=28198;SAO=0;SSR=0;VC=SNV;VP=0x050000080005000002000100;WGT=1;dbSNPBuildID=138 +chr1 28247 rs374830599 G A . PASS ASP;INT;OTHERKG;RS=374830599;RSPOS=28247;SAO=0;SSR=0;VC=SNV;VP=0x050000080005000002000100;WGT=1;dbSNPBuildID=138 +chr1 28251 rs375858938 T C . PASS ASP;INT;OTHERKG;RS=375858938;RSPOS=28251;SAO=0;SSR=0;VC=SNV;VP=0x050000080005000002000100;WGT=1;dbSNPBuildID=138 +chr1 28326 rs376400995 GT G . PASS ASP;INT;OTHERKG;RS=376400995;RSPOS=28327;SAO=0;SSR=0;VC=DIV;VP=0x050000080005000002000200;WGT=1;dbSNPBuildID=138 +chr1 28354 rs370160374 C T . PASS ASP;INT;OTHERKG;RS=370160374;RSPOS=28354;SAO=0;SSR=0;VC=SNV;VP=0x050000080005000002000100;WGT=1;dbSNPBuildID=138 +chr1 28376 rs373867716 G A . PASS CFL;INT;OTHERKG;R5;RS=373867716;RSPOS=28376;SAO=0;SSR=0;VC=SNV;VP=0x0500000a0009000002000100;WGT=1;dbSNPBuildID=138 +chr1 28420 rs367674871 A T . PASS CFL;INT;OTHERKG;R5;RS=367674871;RSPOS=28420;SAO=0;SSR=0;VC=SNV;VP=0x0500000a0009000002000100;WGT=1;dbSNPBuildID=138 +chr1 28558 rs371996741 C T . PASS CFL;INT;OTHERKG;R5;RS=371996741;RSPOS=28558;SAO=0;SSR=0;VC=SNV;VP=0x0500000a0009000002000100;WGT=1;dbSNPBuildID=138 +chr1 28563 rs200364216 A G . PASS CFL;INT;OTHERKG;R5;RS=200364216;RSPOS=28563;SAO=0;SSR=0;VC=SNV;VP=0x0500000a0009000002000100;WGT=1;dbSNPBuildID=137 +chr1 28588 rs370050982 G T . PASS CFL;INT;OTHERKG;R5;RS=370050982;RSPOS=28588;SAO=0;SSR=0;VC=SNV;VP=0x0500000a0009000002000100;WGT=1;dbSNPBuildID=138 +chr1 28589 rs373063181 TTT T,TTTGG . PASS ASP;INT;OTHERKG;R5;RS=373063181;RSPOS=28590;SAO=0;SSR=0;VC=DIV;VP=0x0500000a0005000002000200;WGT=1;dbSNPBuildID=138 +chr1 28591 rs373541503 T C . PASS ASP;INT;OTHERKG;R5;RS=373541503;RSPOS=28591;SAO=0;SSR=0;VC=SNV;VP=0x0500000a0005000002000100;WGT=1;dbSNPBuildID=138 +chr1 28592 rs201540278 T G . PASS CFL;INT;OTHERKG;R5;RS=201540278;RSPOS=28592;SAO=0;SSR=0;VC=SNV;VP=0x0500000a0009000002000100;WGT=1;dbSNPBuildID=137 +chr1 28593 rs199560016 T G . PASS CFL;INT;OTHERKG;R5;RS=199560016;RSPOS=28593;SAO=0;SSR=0;VC=SNV;VP=0x0500000a0009000002000100;WGT=1;dbSNPBuildID=137 +chr1 28663 rs368559131 T A . PASS CFL;INT;OTHERKG;R5;RS=368559131;RSPOS=28663;SAO=0;SSR=0;VC=SNV;VP=0x0500000a0009000002000100;WGT=1;dbSNPBuildID=138 +chr1 28835 rs371891814 A G . PASS CFL;INT;OTHERKG;R5;RS=371891814;RSPOS=28835;SAO=0;SSR=0;VC=SNV;VP=0x0500000a0009000002000100;WGT=1;dbSNPBuildID=138 +chr1 28863 rs376859287 C A . PASS CFL;INT;OTHERKG;R5;RS=376859287;RSPOS=28863;SAO=0;SSR=0;VC=SNV;VP=0x0500000a0009000002000100;WGT=1;dbSNPBuildID=138 +chr1 28875 rs369023194 G A . PASS CFL;INT;OTHERKG;R5;RS=369023194;RSPOS=28875;SAO=0;SSR=0;VC=SNV;VP=0x0500000a0009000002000100;WGT=1;dbSNPBuildID=138 +chr1 28959 rs372035894 A C . PASS CFL;INT;OTHERKG;R5;RS=372035894;RSPOS=28959;SAO=0;SSR=0;VC=SNV;VP=0x0500000a0009000002000100;WGT=1;dbSNPBuildID=138 +chr1 30548 rs376676075 T G . PASS ASP;OTHERKG;R3;R5;RS=376676075;RSPOS=30548;SAO=0;SSR=0;VC=SNV;VP=0x050000060005000002000100;WGT=1;dbSNPBuildID=138 +chr1 30672 rs368939875 A G . PASS OTHERKG;R3;R5;RS=368939875;RSPOS=30672;SAO=0;SSR=0;VC=SNV;VP=0x050000060001000002000100;WGT=1;dbSNPBuildID=138 +chr1 30728 rs373994224 G T . PASS OTHERKG;R3;R5;RS=373994224;RSPOS=30728;SAO=0;SSR=0;VC=SNV;VP=0x050000060001000002000100;WGT=1;dbSNPBuildID=138 +chr1 30781 rs376885099 G C . PASS OTHERKG;R3;R5;RS=376885099;RSPOS=30781;SAO=0;SSR=0;VC=SNV;VP=0x050000060001000002000100;WGT=1;dbSNPBuildID=138 +chr1 30867 rs369270395 CCTCT C . PASS OTHERKG;R3;R5;RS=369270395;RSPOS=30868;SAO=0;SSR=0;VC=DIV;VP=0x050000060001000002000200;WGT=1;dbSNPBuildID=138 +chr1 30923 rs140337953 G T . PASS CAF=[0.2746,0.7254];COMMON=1;KGPROD;KGPhase1;OTHERKG;R3;R5;RS=140337953;RSPOS=30923;SAO=0;SSR=0;VC=SNV;VP=0x050000060001100016000100;WGT=1;dbSNPBuildID=134 +chr1 30993 rs369816853 G C . PASS OTHERKG;R3;R5;RS=369816853;RSPOS=30993;SAO=0;SSR=0;VC=SNV;VP=0x050000060001000002000100;WGT=1;dbSNPBuildID=138 +chr1 31029 rs372996257 G A . PASS OTHERKG;R5;RS=372996257;RSPOS=31029;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=138 +chr1 31166 rs376216589 C T . PASS OTHERKG;R5;RS=376216589;RSPOS=31166;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000002000100;WGT=1;dbSNPBuildID=138 +chr1 33487 rs77459554 C T . PASS CFL;GNO;OTHERKG;RS=77459554;RSPOS=33487;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=131 +chr1 33495 rs75468675 C T . PASS CFL;GNO;OTHERKG;RS=75468675;RSPOS=33495;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000009040102000100;WGT=1;dbSNPBuildID=131 +chr1 33505 rs75627161 T C . PASS CFL;GNO;OTHERKG;RS=75627161;RSPOS=33505;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000009040102000100;WGT=1;dbSNPBuildID=131 +chr1 33508 rs75609629 A T . PASS CFL;GNO;OTHERKG;RS=75609629;RSPOS=33508;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000009040102000100;WGT=1;dbSNPBuildID=131 +chr1 33521 rs76098219 T A . PASS CFL;GNO;OTHERKG;RS=76098219;RSPOS=33521;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000009040102000100;WGT=1;dbSNPBuildID=131 +chr1 33593 rs557585 G A . PASS OTHERKG;RS=557585;RSPOS=33593;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=83 +chr1 33648 rs62028204 G T . PASS OTHERKG;RS=62028204;RSPOS=33648;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 33656 rs113821789 T C . PASS OTHERKG;RS=113821789;RSPOS=33656;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=132 +chr1 39255 rs199684330 A C . PASS OTHERKG;RS=199684330;RSPOS=39255;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 39261 rs200677948 T C . PASS OTHERKG;RS=200677948;RSPOS=39261;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 40389 rs370571606 C T . PASS OTHERKG;RS=370571606;RSPOS=40389;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 40893 rs370806791 GGT G,GA . PASS ASP;NOC;OTHERKG;RS=370806791;RSPOS=40894;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000210;WGT=1;dbSNPBuildID=138 +chr1 41981 rs367624118 A G . PASS ASP;OTHERKG;RS=367624118;RSPOS=41981;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 46402 rs199681827 C CTGT . PASS ASP;CAF=[0.9963,0.003673];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=199681827;RSPOS=46402;SAO=0;SSR=0;VC=DIV;VP=0x05000000000500001c000200;WGT=1;dbSNPBuildID=137 +chr1 47190 rs200430748 G GA . PASS CAF=[0.9871,0.01286];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=200430748;RSPOS=47190;SAO=0;SSR=0;VC=DIV;VP=0x05000000000110001c000200;WGT=1;dbSNPBuildID=137 +chr1 48186 rs199900651 T G . PASS OTHERKG;RS=199900651;RSPOS=48186;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 48448 rs201336010 C T . PASS OTHERKG;RS=201336010;RSPOS=48448;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 49156 rs372792512 C T . PASS ASP;OTHERKG;RS=372792512;RSPOS=49156;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 49157 rs199998001 G A . PASS ASP;OTHERKG;RS=199998001;RSPOS=49157;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 49272 rs370116346 G A . PASS ASP;OTHERKG;RS=370116346;RSPOS=49272;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 49298 rs200943160 T C . PASS ASP;OTHERKG;RS=200943160;RSPOS=49298;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 49427 rs368536272 C T . PASS ASP;OTHERKG;RS=368536272;RSPOS=49427;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 49482 rs202079915 G A . PASS ASP;OTHERKG;RS=202079915;RSPOS=49482;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 49514 rs200846102 AG A . PASS ASP;OTHERKG;RS=200846102;RSPOS=49515;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=137 +chr1 49775 rs200995889 A C . PASS ASP;OTHERKG;RS=200995889;RSPOS=49775;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 50299 rs374041055 CA C . PASS OTHERKG;RS=374041055;RSPOS=50300;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 51476 rs187298206 T C . PASS ASP;CAF=[0.9922,0.007805];COMMON=1;KGPROD;KGPhase1;RS=187298206;RSPOS=51476;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 51479 rs116400033 T A . PASS ASP;CAF=[0.8926,0.1074];COMMON=1;G5;G5A;KGPROD;KGPhase1;OTHERKG;RS=116400033;RSPOS=51479;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005170016000100;WGT=1;dbSNPBuildID=132 +chr1 51796 rs375850571 C T . PASS OTHERKG;RS=375850571;RSPOS=51796;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 51803 rs62637812 T C . PASS OTHERKG;RS=62637812;RSPOS=51803;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 51898 rs76402894 C A . PASS GNO;OTHERKG;RS=76402894;RSPOS=51898;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=131 +chr1 51914 rs190452223 T G . PASS CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=190452223;RSPOS=51914;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 51928 rs78732933 G A . PASS GNO;OTHERKG;RS=78732933;RSPOS=51928;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=131 +chr1 51935 rs181754315 C T . PASS CAF=[1,0];COMMON=0;KGPROD;KGPhase1;RS=181754315;RSPOS=51935;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 51954 rs185832753 G C . PASS CAF=[0.9991,0.0009183];COMMON=1;KGPROD;KGPhase1;RS=185832753;RSPOS=51954;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 51979 rs376776508 G T . PASS OTHERKG;RS=376776508;RSPOS=51979;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 52058 rs62637813 G C . PASS CAF=[0.9706,0.02938];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=62637813;RSPOS=52058;SAO=0;SSR=1;VC=SNV;VP=0x050000000001100016000140;WGT=1;dbSNPBuildID=129 +chr1 52096 rs367759576 A C . PASS OTHERKG;RS=367759576;RSPOS=52096;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 52144 rs190291950 T A . PASS CAF=[0.9908,0.009183];COMMON=1;KGPROD;KGPhase1;RS=190291950;RSPOS=52144;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 52185 rs201374420 TTAA T . PASS CAF=[0.9954,0.004591];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=201374420;RSPOS=52186;SAO=0;SSR=0;VC=DIV;VP=0x05000000000100001c000200;WGT=1;dbSNPBuildID=137 +chr1 52233 rs200525449 CTT C . PASS OTHERKG;RS=200525449;RSPOS=52234;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=137 +chr1 52238 rs150021059 T G . PASS CAF=[0.1111,0.8889];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=150021059;RSPOS=52238;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=134 +chr1 53138 rs199543075 TAA T . PASS OTHERKG;RS=199543075;RSPOS=53139;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=137 +chr1 53234 rs199502715 CAT C . PASS CAF=[0.9954,0.004591];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=199502715;RSPOS=53235;SAO=0;SSR=0;VC=DIV;VP=0x05000000000100001c000200;WGT=1;dbSNPBuildID=137 +chr1 54353 rs140052487 C A . PASS CAF=[0.9927,0.007346];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=140052487;RSPOS=54353;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000016000100;WGT=1;dbSNPBuildID=134 +chr1 54421 rs146477069 A G . PASS CAF=[0.8994,0.1006];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=146477069;RSPOS=54421;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=134 +chr1 54479 rs369584673 A T . PASS OTHERKG;RS=369584673;RSPOS=54479;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 54490 rs141149254 G A . PASS CAF=[0.9197,0.08035];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=141149254;RSPOS=54490;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=134 +chr1 54586 rs375240716 T C . PASS OTHERKG;RS=375240716;RSPOS=54586;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 54676 rs2462492 C T . PASS CAF=[0.8774,0.1226];COMMON=1;GNO;HD;KGPROD;KGPhase1;OTHERKG;RS=2462492;RSPOS=54676;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001140516000100;WGT=1;dbSNPBuildID=100 +chr1 54712 rs375444473 TTTTC T . PASS OTHERKG;RS=375444473;RSPOS=54713;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 54712 rs201095316 TTTTCTTTCTTTCTTTC T . PASS ASP;OTHERKG;RS=201095316;RSPOS=54713;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=137 +chr1 54720 rs373430935 CT C . PASS OTHERKG;RS=373430935;RSPOS=54721;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 54753 rs143174675 T G . PASS CAF=[0.9702,0.02984];COMMON=1;KGPROD;KGPhase1;RS=143174675;RSPOS=54753;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=134 +chr1 54757 rs202000650 T G . PASS OTHERKG;RS=202000650;RSPOS=54757;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 54789 rs59861892 CT C,CCT . PASS OTHERKG;RS=59861892;RSPOS=54790;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=129 +chr1 54795 rs58014817 T A . PASS OTHERKG;RS=58014817;RSPOS=54795;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 54844 rs372902470 G A . PASS OTHERKG;RS=372902470;RSPOS=54844;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 55085 rs200480940 T A . PASS OTHERKG;RS=200480940;RSPOS=55085;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 55164 rs3091274 C A . PASS CAF=[0.1047,0.8953];COMMON=1;G5;G5A;GNO;KGPROD;KGPhase1;OTHERKG;RS=3091274;RSPOS=55164;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000001130116000100;WGT=1;dbSNPBuildID=103 +chr1 55249 rs369636582 CTG C,CTATGG . PASS OTHERKG;RS=369636582;RSPOS=55250;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 55249 rs200769871 C CTATGG . PASS CAF=[0.9311,0.06887];COMMON=1;KGPROD;KGPhase1;KGPilot123;OTHERKG;RS=200769871;RSPOS=55249;SAO=0;SSR=0;VC=DIV;VP=0x05000000000110001e000200;WGT=1;dbSNPBuildID=137 +chr1 55299 rs10399749 C T . PASS CAF=[0.7466,0.2534];COMMON=1;G5;G5A;GNO;KGPROD;KGPhase1;OTHERKG;PH3;RS=10399749;RSPOS=55299;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000001130117000100;WGT=1;dbSNPBuildID=119 +chr1 55302 rs3091273 C T . PASS OTHERKG;RS=3091273;RSPOS=55302;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=103 +chr1 55313 rs182462964 A T . PASS CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=182462964;RSPOS=55313;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 55322 rs3107974 C T . PASS OTHERKG;RS=3107974;RSPOS=55322;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=103 +chr1 55326 rs3107975 T C . PASS CAF=[0.9587,0.04132];COMMON=1;GNO;HD;KGPROD;KGPhase1;OTHERKG;RS=3107975;RSPOS=55326;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100516000100;WGT=1;dbSNPBuildID=103 +chr1 55330 rs185215913 G A . PASS CAF=[1,0];COMMON=0;KGPROD;KGPhase1;RS=185215913;RSPOS=55330;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 55367 rs190850374 G A . PASS CAF=[0.9991,0.0009183];COMMON=1;KGPROD;KGPhase1;RS=190850374;RSPOS=55367;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 55388 rs182711216 C T . PASS CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=182711216;RSPOS=55388;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 55394 rs2949420 T A . PASS CAF=[0.9917,0.008264];COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;PH3;RS=2949420;RSPOS=55394;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000117000100;WGT=1;dbSNPBuildID=101 +chr1 55405 rs372455836 C T . PASS OTHERKG;RS=372455836;RSPOS=55405;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 55416 rs193242050 G A . PASS CAF=[0.9959,0.004132];COMMON=1;KGPROD;KGPhase1;RS=193242050;RSPOS=55416;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 55427 rs183189405 T C . PASS CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=183189405;RSPOS=55427;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 55545 rs28396308 C T . PASS GNO;OTHERKG;RS=28396308;RSPOS=55545;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=125 +chr1 55816 rs187434873 G A . PASS CAF=[0.9954,0.004591];COMMON=1;KGPROD;KGPhase1;RS=187434873;RSPOS=55816;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 55850 rs191890754 C G . PASS CAF=[0.9977,0.002296];COMMON=1;KGPROD;KGPhase1;RS=191890754;RSPOS=55850;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 55852 rs184233019 G C . PASS CAF=[0.9977,0.002296];COMMON=1;KGPROD;KGPhase1;RS=184233019;RSPOS=55852;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 55926 rs199663995 T C . PASS OTHERKG;RS=199663995;RSPOS=55926;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 56644 rs143342222 A C . PASS CAF=[0.9977,0.002296];COMMON=1;KGPROD;KGPhase1;RS=143342222;RSPOS=56644;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=134 +chr1 57033 rs372482099 T C . PASS OTHERKG;RS=372482099;RSPOS=57033;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 57064 rs369801568 G A . PASS OTHERKG;RS=369801568;RSPOS=57064;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 57158 rs200506058 G C . PASS OTHERKG;RS=200506058;RSPOS=57158;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 57183 rs368339209 A G . PASS OTHERKG;RS=368339209;RSPOS=57183;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 57292 rs201418760 C T . PASS OTHERKG;RS=201418760;RSPOS=57292;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 57856 rs199609147 T A . PASS OTHERKG;RS=199609147;RSPOS=57856;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 57952 rs189727433 A C . PASS CAF=[0.1295,0.8705];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=189727433;RSPOS=57952;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=135 +chr1 58176 rs201605034 G A . PASS OTHERKG;RS=201605034;RSPOS=58176;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 58211 rs202124607 A G . PASS OTHERKG;RS=202124607;RSPOS=58211;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 58323 rs199591779 T C . PASS OTHERKG;RS=199591779;RSPOS=58323;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 58771 rs140128481 T C . PASS OTHERKG;RS=140128481;RSPOS=58771;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=134 +chr1 58814 rs114420996 G A . PASS CAF=[0.899,0.101];COMMON=1;G5;KGPROD;KGPhase1;RS=114420996;RSPOS=58814;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001150014000100;WGT=1;dbSNPBuildID=132 +chr1 59040 rs149755937 T C . PASS CAF=[0.9481,0.05188];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=149755937;RSPOS=59040;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=134 +chr1 59193 rs376828443 T G . PASS OTHERKG;RS=376828443;RSPOS=59193;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 59615 rs371497951 C T . PASS ASP;OTHERKG;RS=371497951;RSPOS=59615;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 60407 rs200580670 A T . PASS ASP;OTHERKG;RS=200580670;RSPOS=60407;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 60655 rs374605065 A G . PASS ASP;OTHERKG;RS=374605065;RSPOS=60655;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 60718 rs78395614 G A . PASS CFL;GNO;OTHERKG;RS=78395614;RSPOS=60718;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=131 +chr1 60726 rs192328835 C A . PASS ASP;CAF=[0.9343,0.06566];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=192328835;RSPOS=60726;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=135 +chr1 60791 rs76199781 A G . PASS ASP;GNO;OTHERKG;RS=76199781;RSPOS=60791;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000102000100;WGT=1;dbSNPBuildID=131 +chr1 60811 rs372098356 G C . PASS ASP;OTHERKG;RS=372098356;RSPOS=60811;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 61045 rs200001881 A C . PASS ASP;OTHERKG;RS=200001881;RSPOS=61045;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 61212 rs367652413 A G . PASS ASP;OTHERKG;RS=367652413;RSPOS=61212;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 61289 rs373514537 ATT A,AG . PASS ASP;NOC;OTHERKG;RS=373514537;RSPOS=61290;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000210;WGT=1;dbSNPBuildID=138 +chr1 61350 rs200672483 TA T . PASS ASP;OTHERKG;RS=200672483;RSPOS=61351;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=137 +chr1 61350 rs199634027 T TA . PASS ASP;OTHERKG;RS=199634027;RSPOS=61350;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=137 +chr1 61442 rs74970982 A G . PASS ASP;CAF=[0.04591,0.9541];COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=74970982;RSPOS=61442;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100116000100;WGT=1;dbSNPBuildID=131 +chr1 61462 rs56992750 T A . PASS CAF=[0.9688,0.03122];CFL;COMMON=1;G5;G5A;GNO;KGPROD;KGPhase1;OTHERKG;RS=56992750;RSPOS=61462;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000009130116000100;WGT=1;dbSNPBuildID=129 +chr1 61480 rs75526266 G C . PASS CFL;GNO;OTHERKG;RS=75526266;RSPOS=61480;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=131 +chr1 61499 rs75719746 G A . PASS CFL;GNO;OTHERKG;RS=75719746;RSPOS=61499;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=131 +chr1 61543 rs201849102 T C . PASS ASP;OTHERKG;RS=201849102;RSPOS=61543;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 61743 rs184286948 G C . PASS ASP;CAF=[0.9982,0.001837];COMMON=1;KGPROD;KGPhase1;RS=184286948;RSPOS=61743;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 61870 rs368183979 TCT T,TT . PASS ASP;NOC;OTHERKG;RS=368183979;RSPOS=61871;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000210;WGT=1;dbSNPBuildID=138 +chr1 61920 rs62637820 G A . PASS CFL;OTHERKG;RS=62637820;RSPOS=61920;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=129 +chr1 61987 rs76735897 A G . PASS CAF=[0.7392,0.2608];CFL;COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=76735897;RSPOS=61987;SAO=0;SSR=0;VC=SNV;VP=0x050000000009100116000100;WGT=1;dbSNPBuildID=131 +chr1 61989 rs77573425 G C . PASS CAF=[0.7456,0.2544];CFL;COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=77573425;RSPOS=61989;SAO=0;SSR=0;VC=SNV;VP=0x050000000009100116000100;WGT=1;dbSNPBuildID=131 +chr1 61993 rs190553843 C T . PASS ASP;CAF=[0.9968,0.003214];COMMON=1;KGPROD;KGPhase1;RS=190553843;RSPOS=61993;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 62156 rs181864839 C T . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=181864839;RSPOS=62156;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 62157 rs10399597 G A . PASS CAF=[0.9977,0.002296];CFL;COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=10399597;RSPOS=62157;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000016000100;WGT=1;dbSNPBuildID=119 +chr1 62162 rs140556834 G A . PASS ASP;CAF=[0.9963,0.003673];COMMON=1;KGPROD;KGPhase1;RS=140556834;RSPOS=62162;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=134 +chr1 62203 rs28402963 T C . PASS ASP;KGPROD;KGPilot123;OTHERKG;RS=28402963;RSPOS=62203;SAO=0;SSR=0;VC=SNV;VP=0x05000000000500000e000100;WGT=1;dbSNPBuildID=125 +chr1 62239 rs375143083 TAC T . PASS ASP;OTHERKG;RS=375143083;RSPOS=62240;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 62271 rs28599927 A G . PASS CFL;OTHERKG;RS=28599927;RSPOS=62271;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=125 +chr1 62297 rs372783161 TCT T,TCTTC . PASS ASP;OTHERKG;RS=372783161;RSPOS=62298;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 62426 rs375877701 G A . PASS ASP;OTHERKG;RS=375877701;RSPOS=62426;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 62477 rs373004781 C T . PASS ASP;OTHERKG;RS=373004781;RSPOS=62477;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 62578 rs201122437 G A . PASS ASP;OTHERKG;RS=201122437;RSPOS=62578;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 62738 rs202181220 T C . PASS ASP;OTHERKG;RS=202181220;RSPOS=62738;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 62871 rs369422210 G A . PASS ASP;OTHERKG;RS=369422210;RSPOS=62871;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 63074 rs202117496 A C . PASS ASP;OTHERKG;RS=202117496;RSPOS=63074;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005040002000100;WGT=1;dbSNPBuildID=137 +chr1 63093 rs200092917 G A . PASS ASP;OTHERKG;RS=200092917;RSPOS=63093;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005040002000100;WGT=1;dbSNPBuildID=137 +chr1 63268 rs75478250 T C . PASS ASP;G5;G5A;GNO;OTHERKG;RS=75478250;RSPOS=63268;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005070102000100;WGT=1;dbSNPBuildID=131 +chr1 63276 rs185977555 G A . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=185977555;RSPOS=63276;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 63297 rs188886746 G A . PASS ASP;CAF=[1,0];COMMON=0;KGPROD;KGPhase1;RS=188886746;RSPOS=63297;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 63332 rs376486292 G A . PASS ASP;OTHERKG;RS=376486292;RSPOS=63332;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 63336 rs202133633 C T . PASS ASP;OTHERKG;RS=202133633;RSPOS=63336;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005040002000100;WGT=1;dbSNPBuildID=137 +chr1 63495 rs200312425 C T . PASS ASP;OTHERKG;RS=200312425;RSPOS=63495;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 63516 rs201248921 A G . PASS ASP;G5;G5A;OTHERKG;RS=201248921;RSPOS=63516;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005070002000100;WGT=1;dbSNPBuildID=137 +chr1 63527 rs201336938 T C . PASS ASP;G5;G5A;OTHERKG;RS=201336938;RSPOS=63527;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005070002000100;WGT=1;dbSNPBuildID=137 +chr1 63643 rs202004563 A G . PASS ASP;OTHERKG;RS=202004563;RSPOS=63643;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005040002000100;WGT=1;dbSNPBuildID=137 +chr1 63671 rs116440577 G A . PASS ASP;CAF=[0.832,0.168];COMMON=1;G5;KGPROD;KGPhase1;OTHERKG;RS=116440577;RSPOS=63671;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005150016000100;WGT=1;dbSNPBuildID=132 +chr1 63697 rs201582574 T C . PASS ASP;G5;G5A;OTHERKG;RS=201582574;RSPOS=63697;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005070002000100;WGT=1;dbSNPBuildID=137 +chr1 63735 rs201888535 CCTA C . PASS ASP;CAF=[0.6194,0.3806];COMMON=1;KGPROD;KGPhase1;KGPilot123;OTHERKG;RS=201888535;RSPOS=63736;SAO=0;SSR=0;VC=DIV;VP=0x05000000000510001e000200;WGT=1;dbSNPBuildID=137 +chr1 63737 rs77426996 TACT T,TCTA . PASS CFL;NOC;OTHERKG;RS=77426996;RSPOS=63738;SAO=0;SSR=0;VC=DIV;VP=0x050000000009000002000210;WGT=1;dbSNPBuildID=131 +chr1 64239 rs201941594 T C . PASS ASP;OTHERKG;RS=201941594;RSPOS=64239;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 64310 rs367969174 A G . PASS ASP;OTHERKG;RS=367969174;RSPOS=64310;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 64613 rs200371290 T A . PASS ASP;OTHERKG;RS=200371290;RSPOS=64613;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 64649 rs181431124 A C . PASS ASP;CAF=[0.9904,0.009642];COMMON=1;KGPROD;KGPhase1;RS=181431124;RSPOS=64649;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 64832 rs377696911 C T . PASS ASP;OTHERKG;RS=377696911;RSPOS=64832;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 64927 rs370987590 G T . PASS ASP;OTHERKG;RS=370987590;RSPOS=64927;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 64976 rs202162479 C T . PASS ASP;OTHERKG;RS=202162479;RSPOS=64976;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 66008 rs2691286 C G . PASS GNO;OTHERKG;RS=2691286;RSPOS=66008;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000001000102000100;WGT=1;dbSNPBuildID=100 +chr1 66160 rs201684885 TTATATA T . PASS OTHERKG;RS=201684885;RSPOS=66161;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=137 +chr1 66162 rs62639105 A T . PASS CAF=[0.7507,0.2493];COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=62639105;RSPOS=66162;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000001100116000100;WGT=1;dbSNPBuildID=129 +chr1 66176 rs28552463 T A . PASS CAF=[0.9683,0.03168];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=28552463;RSPOS=66176;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=125 +chr1 66219 rs181028663 A T . PASS ASP;CAF=[0.9688,0.03122];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=181028663;RSPOS=66219;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=135 +chr1 66238 rs113961546 T A . PASS ASP;GNO;OTHERKG;RS=113961546;RSPOS=66238;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000005000102000100;WGT=1;dbSNPBuildID=132 +chr1 66314 rs28534012 T A . PASS ASP;OTHERKG;RS=28534012;RSPOS=66314;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=125 +chr1 66331 rs186063952 A C . PASS ASP;CAF=[0.9807,0.01928];COMMON=1;KGPROD;KGPhase1;RS=186063952;RSPOS=66331;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100014000100;WGT=1;dbSNPBuildID=135 +chr1 66334 rs28464214 T A . PASS ASP;OTHERKG;RS=28464214;RSPOS=66334;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=125 +chr1 66442 rs192044252 T A . PASS ASP;CAF=[0.9835,0.01653];COMMON=1;KGPROD;KGPhase1;RS=192044252;RSPOS=66442;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100014000100;WGT=1;dbSNPBuildID=135 +chr1 66457 rs13328655 T A . PASS ASP;CAF=[0.9858,0.01423];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=13328655;RSPOS=66457;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=121 +chr1 66503 rs112350669 T A . PASS ASP;OTHERKG;RS=112350669;RSPOS=66503;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=132 +chr1 66507 rs12401368 T A . PASS ASP;CAF=[0.9219,0.07805];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=12401368;RSPOS=66507;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=120 +chr1 66651 rs2257270 A T . PASS GNO;OTHERKG;RS=2257270;RSPOS=66651;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=100 +chr1 66876 rs200278895 T G . PASS OTHERKG;RS=200278895;RSPOS=66876;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 67179 rs149952626 C G . PASS ASP;CAF=[0.9949,0.005051];COMMON=1;KGPROD;KGPhase1;R5;RS=149952626;RSPOS=67179;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000014000100;WGT=1;dbSNPBuildID=134 +chr1 67181 rs77662731 A G . PASS ASP;CAF=[0.9527,0.04729];COMMON=1;G5;G5A;GNO;KGPROD;KGPhase1;OTHERKG;R5;RS=77662731;RSPOS=67181;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000020005170116000100;WGT=1;dbSNPBuildID=131 +chr1 67223 rs78676975 C A . PASS GNO;OTHERKG;R5;RS=78676975;RSPOS=67223;SAO=0;SSR=0;VC=SNV;VP=0x050000020001000102000100;WGT=1;dbSNPBuildID=131 +chr1 67866 rs368367000 G A . PASS ASP;OTHERKG;R5;RS=368367000;RSPOS=67866;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=138 +chr1 68057 rs374644745 G A . PASS ASP;OTHERKG;R5;RS=374644745;RSPOS=68057;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=138 +chr1 68082 rs367789441 T C . PASS ASP;OTHERKG;R5;RS=367789441;RSPOS=68082;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=138 +chr1 68179 rs372636014 A T . PASS ASP;OTHERKG;R5;RS=372636014;RSPOS=68179;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=138 +chr1 68305 rs374552273 G T . PASS ASP;OTHERKG;R5;RS=374552273;RSPOS=68305;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=138 +chr1 68306 rs370785739 C T . PASS ASP;OTHERKG;R5;RS=370785739;RSPOS=68306;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=138 +chr1 68316 rs373560046 T C . PASS ASP;OTHERKG;R5;RS=373560046;RSPOS=68316;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=138 +chr1 68508 rs368481820 C T . PASS ASP;OTHERKG;R5;RS=368481820;RSPOS=68508;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=138 +chr1 68596 rs372212855 T G . PASS ASP;OTHERKG;R5;RS=372212855;RSPOS=68596;SAO=0;SSR=0;VC=SNV;VP=0x050000020005000002000100;WGT=1;dbSNPBuildID=138 +chr1 69270 rs201219564 A G . PASS ASP;G5;G5A;OTHERKG;REF;RS=201219564;RSPOS=69270;S3D;SAO=0;SSR=0;SYN;VC=SNV;VLD;VP=0x050200000305070002000100;WGT=1;dbSNPBuildID=137 +chr1 69428 rs140739101 T G . PASS ASP;NSM;OTHERKG;REF;RS=140739101;RSPOS=69428;S3D;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050200000a05040002000100;WGT=1;dbSNPBuildID=134 +chr1 69476 rs148502021 T C . PASS ASP;NSM;OTHERKG;REF;RS=148502021;RSPOS=69476;S3D;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050200000a05040002000100;WGT=1;dbSNPBuildID=134 +chr1 69496 rs150690004 G A . PASS ASP;NSM;OTHERKG;REF;RS=150690004;RSPOS=69496;S3D;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050200000a05040002000100;WGT=1;dbSNPBuildID=134 +chr1 69511 rs75062661 A G . PASS ASP;CAF=[0.348,0.652];COMMON=1;GNO;KGPROD;KGPhase1;NSM;OTHERKG;REF;RS=75062661;RSPOS=69511;S3D;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050200000a05140116000100;WGT=1;dbSNPBuildID=131 +chr1 69534 rs190717287 T C . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;REF;RS=190717287;RSPOS=69534;S3D;SAO=0;SSR=0;SYN;VC=SNV;VP=0x050200000305000014000100;WGT=1;dbSNPBuildID=135 +chr1 69536 rs200013390 C T . PASS ASP;CAF=[1,0];COMMON=0;KGPROD;KGPhase1;NSM;REF;RS=200013390;RSPOS=69536;S3D;SAO=0;SSR=0;VC=SNV;VP=0x050200000a05000014000100;WGT=1;dbSNPBuildID=137 +chr1 69552 rs55874132 G C . PASS CFL;HD;OTHERKG;REF;RS=55874132;RSPOS=69552;S3D;SAO=0;SSR=0;SYN;VC=SNV;VP=0x050200000309000402000100;WGT=1;dbSNPBuildID=129 +chr1 69569 rs372127752 T C . PASS ASP;NSM;OTHERKG;REF;RS=372127752;RSPOS=69569;S3D;SAO=0;SSR=0;VC=SNV;VP=0x050200000a05000002000100;WGT=1;dbSNPBuildID=138 +chr1 69590 rs141776804 T A . PASS ASP;NSM;OTHERKG;REF;RS=141776804;RSPOS=69590;S3D;SAO=0;SSR=0;VC=SNV;VP=0x050200000a05000002000100;WGT=1;dbSNPBuildID=134 +chr1 69594 rs144967600 T C . PASS ASP;OTHERKG;REF;RS=144967600;RSPOS=69594;S3D;SAO=0;SSR=0;SYN;VC=SNV;VP=0x050200000305000002000100;WGT=1;dbSNPBuildID=134 +chr1 69603 rs371778740 T C . PASS ASP;OTHERKG;REF;RS=371778740;RSPOS=69603;S3D;SAO=0;SSR=0;SYN;VC=SNV;VP=0x050200000305000002000100;WGT=1;dbSNPBuildID=138 +chr1 69610 rs376022826 C T . PASS ASP;NSM;OTHERKG;REF;RS=376022826;RSPOS=69610;S3D;SAO=0;SSR=0;VC=SNV;VP=0x050200000a05000002000100;WGT=1;dbSNPBuildID=138 +chr1 69761 rs200505207 A T . PASS ASP;NSM;OTHERKG;REF;RS=200505207;RSPOS=69761;S3D;SAO=0;SSR=0;VC=SNV;VP=0x050200000a05000002000100;WGT=1;dbSNPBuildID=137 +chr1 69768 rs373014042 G A . PASS ASP;OTHERKG;REF;RS=373014042;RSPOS=69768;S3D;SAO=0;SSR=0;SYN;VC=SNV;VP=0x050200000305000002000100;WGT=1;dbSNPBuildID=138 +chr1 69897 rs200676709 T C . PASS ASP;OTHERKG;REF;RS=200676709;RSPOS=69897;S3D;SAO=0;SSR=0;SYN;VC=SNV;VP=0x050200000305000002000100;WGT=1;dbSNPBuildID=137 +chr1 72119 rs199639004 G GTA . PASS ASP;CAF=[0.9963,0.003673];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=199639004;RSPOS=72119;SAO=0;SSR=0;VC=DIV;VP=0x05000000000500001c000200;WGT=1;dbSNPBuildID=137 +chr1 72140 rs201217642 TATAC T . PASS ASP;OTHERKG;RS=201217642;RSPOS=72141;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=137 +chr1 72148 rs182862337 C T . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=182862337;RSPOS=72148;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 72297 rs200651397 G GTAT . PASS ASP;CAF=[0.9913,0.008724];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=200651397;RSPOS=72297;SAO=0;SSR=0;VC=DIV;VP=0x05000000000500001c000200;WGT=1;dbSNPBuildID=137 +chr1 72297 rs369919718 GTA G,GTAT . PASS ASP;OTHERKG;RS=369919718;RSPOS=72298;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 72787 rs370073200 C T . PASS ASP;OTHERKG;RS=370073200;RSPOS=72787;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 72958 rs373871541 A G . PASS ASP;OTHERKG;RS=373871541;RSPOS=72958;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 73208 rs201415971 T C . PASS ASP;OTHERKG;RS=201415971;RSPOS=73208;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 73209 rs376804038 C T . PASS ASP;OTHERKG;RS=376804038;RSPOS=73209;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 73841 rs143773730 C T . PASS ASP;CAF=[0.8062,0.1938];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=143773730;RSPOS=73841;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=134 +chr1 73842 rs200379008 CT C . PASS ASP;OTHERKG;RS=200379008;RSPOS=73843;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=137 +chr1 74651 rs62641291 G A . PASS OTHERKG;RS=62641291;RSPOS=74651;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 74681 rs13328683 G T . PASS ASP;OTHERKG;RS=13328683;RSPOS=74681;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=121 +chr1 74709 rs62641292 T A . PASS OTHERKG;RS=62641292;RSPOS=74709;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 74771 rs13328675 A G . PASS CFL;OTHERKG;RS=13328675;RSPOS=74771;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=121 +chr1 74790 rs13328700 C G . PASS CFL;OTHERKG;RS=13328700;RSPOS=74790;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=121 +chr1 74792 rs13328684 G A . PASS CFL;OTHERKG;RS=13328684;RSPOS=74792;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=121 +chr1 75032 rs370150903 G C . PASS ASP;OTHERKG;RS=370150903;RSPOS=75032;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 76024 rs200907195 C A . PASS ASP;OTHERKG;RS=200907195;RSPOS=76024;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 76846 rs373862255 T A . PASS OTHERKG;RS=373862255;RSPOS=76846;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 76854 rs367666799 A G . PASS OTHERKG;RS=367666799;RSPOS=76854;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 77089 rs201904388 C T . PASS ASP;OTHERKG;RS=201904388;RSPOS=77089;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 77301 rs375447271 T C . PASS ASP;OTHERKG;RS=375447271;RSPOS=77301;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 77462 rs188023513 G A . PASS ASP;CAF=[0.9105,0.08953];COMMON=1;KGPROD;KGPhase1;RS=188023513;RSPOS=77462;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100014000100;WGT=1;dbSNPBuildID=135 +chr1 77470 rs192898053 T C . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=192898053;RSPOS=77470;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 77568 rs202243292 C A . PASS ASP;OTHERKG;RS=202243292;RSPOS=77568;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 77874 rs184538873 G A . PASS ASP;CAF=[0.9601,0.03994];COMMON=1;KGPROD;KGPhase1;RS=184538873;RSPOS=77874;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100014000100;WGT=1;dbSNPBuildID=135 +chr1 77961 rs78385339 G A . PASS ASP;CAF=[0.9128,0.08724];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=78385339;RSPOS=77961;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=131 +chr1 78216 rs200220921 C T . PASS ASP;OTHERKG;RS=200220921;RSPOS=78216;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 78923 rs371548330 T G . PASS ASP;OTHERKG;RS=371548330;RSPOS=78923;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 78942 rs372315362 C G . PASS ASP;OTHERKG;RS=372315362;RSPOS=78942;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 79033 rs62641298 A G . PASS CAF=[0.1024,0.8976];CFL;COMMON=1;GNO;HD;KGPROD;KGPhase1;OTHERKG;RS=62641298;RSPOS=79033;SAO=0;SSR=0;VC=SNV;VP=0x050000000009100516000100;WGT=1;dbSNPBuildID=129 +chr1 79050 rs62641299 G T . PASS CAF=[0.1433,0.8567];CFL;COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=62641299;RSPOS=79050;SAO=0;SSR=0;VC=SNV;VP=0x050000000009100116000100;WGT=1;dbSNPBuildID=129 +chr1 79137 rs143777184 A T . PASS ASP;CAF=[0.9752,0.02479];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=143777184;RSPOS=79137;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=134 +chr1 79401 rs375281723 C T . PASS CFL;OTHERKG;RS=375281723;RSPOS=79401;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 79417 rs184768190 C T . PASS CAF=[0.9991,0.0009183];CFL;COMMON=1;KGPROD;KGPhase1;RS=184768190;RSPOS=79417;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000014000100;WGT=1;dbSNPBuildID=135 +chr1 79418 rs2691296 G C . PASS CFL;OTHERKG;RS=2691296;RSPOS=79418;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=100 +chr1 79538 rs2691295 C T . PASS CFL;OTHERKG;RS=2691295;RSPOS=79538;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=100 +chr1 79772 rs147215883 C G . PASS ASP;CAF=[0.9192,0.08081];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=147215883;RSPOS=79772;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=134 +chr1 79872 rs189224661 T G . PASS ASP;CAF=[0.9959,0.004132];COMMON=1;KGPROD;KGPhase1;RS=189224661;RSPOS=79872;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 80323 rs3942603 G C . PASS CFL;GNO;OTHERKG;RS=3942603;RSPOS=80323;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=108 +chr1 80346 rs376665626 C G . PASS ASP;OTHERKG;RS=376665626;RSPOS=80346;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 80386 rs3878915 C A . PASS CFL;OTHERKG;RS=3878915;RSPOS=80386;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=108 +chr1 80454 rs144226842 G C . PASS ASP;CAF=[0.9977,0.002296];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=144226842;RSPOS=80454;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000016000100;WGT=1;dbSNPBuildID=134 +chr1 80857 rs201241312 C T . PASS ASP;OTHERKG;RS=201241312;RSPOS=80857;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 81343 rs202154923 A G . PASS ASP;OTHERKG;RS=202154923;RSPOS=81343;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 81590 rs202072409 AC A . PASS OTHERKG;RS=202072409;RSPOS=81591;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=137 +chr1 81602 rs201128738 C T . PASS OTHERKG;RS=201128738;RSPOS=81602;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 81703 rs373486788 T C . PASS OTHERKG;RS=373486788;RSPOS=81703;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 81836 rs2259560 A T . PASS GNO;OTHERKG;RS=2259560;RSPOS=81836;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=100 +chr1 81949 rs181567186 T C . PASS CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=181567186;RSPOS=81949;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 81962 rs4030308 T TAA . PASS OTHERKG;RS=4030308;RSPOS=81962;RV;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=108 +chr1 81973 rs376649116 G C . PASS ASP;OTHERKG;RS=376649116;RSPOS=81973;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 82036 rs199974901 A T . PASS ASP;OTHERKG;RS=199974901;RSPOS=82036;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 82102 rs4030307 C T . PASS CFL;OTHERKG;RS=4030307;RSPOS=82102;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=108 +chr1 82103 rs2020400 T C . PASS ASP;OTHERKG;RS=2020400;RSPOS=82103;RV;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000005000002000100;WGT=1;dbSNPBuildID=92 +chr1 82126 rs1815133 C T . PASS ASP;OTHERKG;RS=1815133;RSPOS=82126;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=92 +chr1 82133 rs4030306 CA C,CAAAAAAAAAAAAAAA . PASS CFL;OTHERKG;RS=4030306;RSPOS=82136;RV;SAO=0;SSR=0;VC=DIV;VP=0x050000000009000002000200;WGT=1;dbSNPBuildID=108 +chr1 82133 rs201023701 CAAA C . PASS ASP;OTHERKG;RS=201023701;RSPOS=82134;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=137 +chr1 82154 rs4477212 A G . PASS ASP;HD;OTHERKG;RS=4477212;RSPOS=82154;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000402000100;WGT=1;dbSNPBuildID=111 +chr1 82162 rs1815132 C A . PASS ASP;GNO;OTHERKG;RS=1815132;RSPOS=82162;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000102000100;WGT=1;dbSNPBuildID=92 +chr1 82163 rs139113303 G A . PASS ASP;CAF=[0.9697,0.0303];COMMON=1;KGPROD;KGPhase1;RS=139113303;RSPOS=82163;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100014000100;WGT=1;dbSNPBuildID=134 +chr1 82196 rs112844054 A T . PASS ASP;OTHERKG;RS=112844054;RSPOS=82196;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=132 +chr1 82249 rs1851945 A G . PASS ASP;CAF=[0.9656,0.03444];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=1851945;RSPOS=82249;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=92 +chr1 82282 rs3871775 G A . PASS ASP;OTHERKG;RS=3871775;RSPOS=82282;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=108 +chr1 82303 rs3871776 T C . PASS ASP;OTHERKG;RS=3871776;RSPOS=82303;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=108 +chr1 82316 rs4030305 A C . PASS CFL;GNO;OTHERKG;RS=4030305;RSPOS=82316;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=108 +chr1 82609 rs149189449 C G . PASS ASP;CAF=[0.9688,0.03122];COMMON=1;KGPROD;KGPhase1;RS=149189449;RSPOS=82609;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100014000100;WGT=1;dbSNPBuildID=134 +chr1 82676 rs185237834 T G . PASS ASP;CAF=[0.9091,0.09091];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=185237834;RSPOS=82676;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=135 +chr1 82734 rs4030331 T C . PASS ASP;CAF=[0.8012,0.1988];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=4030331;RSPOS=82734;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=108 +chr1 82956 rs199649860 A T . PASS ASP;OTHERKG;RS=199649860;RSPOS=82956;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 82957 rs189774606 C T . PASS ASP;CAF=[0.9959,0.004132];COMMON=1;KGPROD;KGPhase1;RS=189774606;RSPOS=82957;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 82963 rs368754199 CTGAG C . PASS ASP;OTHERKG;RS=368754199;RSPOS=82964;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 83084 rs181193408 T A . PASS ASP;CAF=[0.124,0.876];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=181193408;RSPOS=83084;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=135 +chr1 83088 rs186081601 G C . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=186081601;RSPOS=83088;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 83107 rs4405097 G C . PASS ASP;OTHERKG;RS=4405097;RSPOS=83107;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=111 +chr1 83119 rs4030324 AA A,ATAAC . PASS CFL;OTHERKG;RS=4030324;RSPOS=83120;RV;SAO=0;SSR=0;VC=DIV;VP=0x050000000009000002000200;WGT=1;dbSNPBuildID=108 +chr1 83443 rs201027806 C T . PASS ASP;OTHERKG;RS=201027806;RSPOS=83443;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 83514 rs201754587 C T . PASS ASP;OTHERKG;RS=201754587;RSPOS=83514;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 83564 rs372786762 A G . PASS ASP;OTHERKG;RS=372786762;RSPOS=83564;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 83568 rs375751550 G T . PASS ASP;OTHERKG;RS=375751550;RSPOS=83568;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 83771 rs189906733 T G . PASS ASP;CAF=[0.989,0.01102];COMMON=1;KGPROD;KGPhase1;RS=189906733;RSPOS=83771;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100014000100;WGT=1;dbSNPBuildID=135 +chr1 83786 rs58520670 T TA . PASS OTHERKG;RS=58520670;RSPOS=83794;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=129 +chr1 83794 rs367638757 AGAAAG A . PASS ASP;OTHERKG;RS=367638757;RSPOS=83795;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 83826 rs58857344 AAAGA A,AAA . PASS GNO;OTHERKG;RS=58857344;RSPOS=83827;SAO=0;SLO;SSR=0;VC=DIV;VP=0x050100000001000102000200;WGT=1;dbSNPBuildID=129 +chr1 83829 rs200327217 GAGAAAGAAAGAAAGAAAGAA G . PASS ASP;OTHERKG;RS=200327217;RSPOS=83830;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=137 +chr1 83848 rs367678225 AAA A,AG . PASS ASP;NOC;OTHERKG;RS=367678225;RSPOS=83849;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000210;WGT=1;dbSNPBuildID=138 +chr1 83855 rs59596480 GA G,GAA . PASS OTHERKG;RS=59596480;RSPOS=83858;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=129 +chr1 83868 rs59556914 AAAG A . PASS OTHERKG;RS=59556914;RSPOS=83873;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=129 +chr1 83884 rs59586754 GAAA G . PASS OTHERKG;RS=59586754;RSPOS=83885;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=129 +chr1 83895 rs371757305 GAGAA G . PASS ASP;OTHERKG;RS=371757305;RSPOS=83896;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 83897 rs61330047 GA G,GAA . PASS OTHERKG;RS=61330047;RSPOS=83900;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=129 +chr1 83907 rs58254183 AA A,AAAGAAA . PASS OTHERKG;RS=58254183;RSPOS=83908;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=129 +chr1 83921 rs61338823 GA G,GAA . PASS OTHERKG;RS=61338823;RSPOS=83924;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=129 +chr1 83930 rs71281474 AG A,AGA . PASS CFL;GNO;OTHERKG;RS=71281474;RSPOS=83931;RV;SAO=0;SLO;SSR=0;VC=DIV;VP=0x050100000009000102000200;WGT=1;dbSNPBuildID=130 +chr1 83937 rs59235392 AA A,AGAAA . PASS OTHERKG;RS=59235392;RSPOS=83938;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=129 +chr1 83944 rs368742622 GGAAA G . PASS ASP;OTHERKG;RS=368742622;RSPOS=83945;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 83977 rs180759811 A G . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=180759811;RSPOS=83977;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 83998 rs200606912 G A . PASS ASP;OTHERKG;RS=200606912;RSPOS=83998;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 84002 rs28850140 G A . PASS ASP;CAF=[0.8921,0.1079];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=28850140;RSPOS=84002;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=125 +chr1 84005 rs202079949 AG A . PASS ASP;CAF=[0.9761,0.02388];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=202079949;RSPOS=84006;SAO=0;SSR=0;VC=DIV;VP=0x05000000000510001c000200;WGT=1;dbSNPBuildID=137 +chr1 84006 rs199560534 G A . PASS ASP;OTHERKG;RS=199560534;RSPOS=84006;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 84010 rs186443818 G A . PASS ASP;CAF=[0.9555,0.04454];COMMON=1;KGPROD;KGPhase1;RS=186443818;RSPOS=84010;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100014000100;WGT=1;dbSNPBuildID=135 +chr1 84014 rs373974767 G A . PASS ASP;OTHERKG;RS=373974767;RSPOS=84014;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 84018 rs61352176 GA G,GAA . PASS OTHERKG;RS=61352176;RSPOS=84021;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=129 +chr1 84029 rs372284318 AGA A,AA . PASS NOC;OTHERKG;RS=372284318;RSPOS=84030;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000210;WGT=1;dbSNPBuildID=138 +chr1 84030 rs200709595 G A . PASS OTHERKG;RS=200709595;RSPOS=84030;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 84079 rs190867312 T C . PASS CAF=[0.9972,0.002755];COMMON=1;KGPROD;KGPhase1;RS=190867312;RSPOS=84079;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 84133 rs201488854 A T . PASS OTHERKG;RS=201488854;RSPOS=84133;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 84139 rs183605470 A T . PASS CAF=[0.9871,0.01286];COMMON=1;KGPROD;KGPhase1;RS=183605470;RSPOS=84139;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=135 +chr1 84156 rs188652299 A C . PASS CAF=[0.9986,0.001377];COMMON=1;KGPROD;KGPhase1;RS=188652299;RSPOS=84156;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 84226 rs370297308 T G . PASS OTHERKG;RS=370297308;RSPOS=84226;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 84244 rs191297051 A C . PASS CAF=[0.8981,0.1019];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=191297051;RSPOS=84244;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=135 +chr1 84295 rs183209871 G A . PASS CAF=[0.9959,0.004132];COMMON=1;KGPROD;KGPhase1;RS=183209871;RSPOS=84295;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 84346 rs187855973 T C . PASS CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=187855973;RSPOS=84346;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 84453 rs191379015 C G . PASS CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=191379015;RSPOS=84453;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 84544 rs368701381 C T . PASS OTHERKG;RS=368701381;RSPOS=84544;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 84683 rs201721682 A G . PASS OTHERKG;RS=201721682;RSPOS=84683;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 84705 rs183470350 T G . PASS CAF=[0.9991,0.0009183];COMMON=0;KGPROD;KGPhase1;RS=183470350;RSPOS=84705;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 85063 rs187802690 T C . PASS CAF=[0.9826,0.01745];COMMON=1;KGPROD;KGPhase1;RS=187802690;RSPOS=85063;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=135 +chr1 85200 rs4030343 T C . PASS OTHERKG;RS=4030343;RSPOS=85200;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=108 +chr1 85302 rs4030342 A G . PASS OTHERKG;RS=4030342;RSPOS=85302;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=108 +chr1 85406 rs371093755 C T . PASS ASP;OTHERKG;RS=371093755;RSPOS=85406;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 85420 rs4030341 T G . PASS GNO;OTHERKG;RS=4030341;RSPOS=85420;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=108 +chr1 85493 rs200779622 A G . PASS ASP;OTHERKG;RS=200779622;RSPOS=85493;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 85526 rs111645077 A C . PASS ASP;OTHERKG;RS=111645077;RSPOS=85526;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=132 +chr1 85529 rs201612880 G A . PASS ASP;OTHERKG;RS=201612880;RSPOS=85529;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 85597 rs192472955 A C . PASS ASP;CAF=[0.9334,0.06657];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=192472955;RSPOS=85597;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=135 +chr1 85598 rs376768530 T C . PASS ASP;OTHERKG;RS=376768530;RSPOS=85598;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 85622 rs185273034 A T . PASS ASP;CAF=[0.9982,0.001837];COMMON=1;KGPROD;KGPhase1;RS=185273034;RSPOS=85622;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 85874 rs374454874 TAA T . PASS ASP;OTHERKG;RS=374454874;RSPOS=85875;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 85892 rs147185795 A G . PASS ASP;CAF=[0.9904,0.009642];COMMON=1;KGPROD;KGPhase1;RS=147185795;RSPOS=85892;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=134 +chr1 86000 rs140628094 A C . PASS ASP;CAF=[0.9954,0.004591];COMMON=1;KGPROD;KGPhase1;RS=140628094;RSPOS=86000;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=134 +chr1 86018 rs142878000 C G . PASS ASP;CAF=[0.9022,0.0978];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=142878000;RSPOS=86018;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=134 +chr1 86028 rs114608975 T C . PASS ASP;CAF=[0.9665,0.03352];COMMON=1;G5;G5A;KGPROD;KGPhase1;OTHERKG;RS=114608975;RSPOS=86028;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005170016000100;WGT=1;dbSNPBuildID=132 +chr1 86064 rs190167736 G A . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=190167736;RSPOS=86064;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 86065 rs116504101 G C . PASS ASP;CAF=[0.9651,0.03489];COMMON=1;G5;G5A;KGPROD;KGPhase1;OTHERKG;RS=116504101;RSPOS=86065;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005170016000100;WGT=1;dbSNPBuildID=132 +chr1 86235 rs111577602 A C . PASS ASP;OTHERKG;RS=111577602;RSPOS=86235;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=132 +chr1 86250 rs370222503 A C . PASS ASP;OTHERKG;RS=370222503;RSPOS=86250;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 86282 rs192830046 T G . PASS ASP;CAF=[0.9991,0.0009183];COMMON=0;KGPROD;KGPhase1;RS=192830046;RSPOS=86282;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 86303 rs2949417 G T . PASS ASP;CAF=[0.9017,0.09826];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=2949417;RSPOS=86303;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005140016000100;WGT=1;dbSNPBuildID=101 +chr1 86331 rs115209712 A G . PASS ASP;CAF=[0.9008,0.09917];COMMON=1;G5;G5A;KGPROD;KGPhase1;OTHERKG;RS=115209712;RSPOS=86331;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005170016000100;WGT=1;dbSNPBuildID=132 +chr1 86678 rs369460523 T C . PASS ASP;OTHERKG;RS=369460523;RSPOS=86678;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 86749 rs199968276 A G . PASS ASP;OTHERKG;RS=199968276;RSPOS=86749;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 86788 rs368787506 G A . PASS ASP;OTHERKG;RS=368787506;RSPOS=86788;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 86982 rs184970101 G A . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=184970101;RSPOS=86982;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 86996 rs376509721 A G . PASS ASP;OTHERKG;RS=376509721;RSPOS=86996;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 87021 rs188486692 T C . PASS ASP;CAF=[0.9913,0.008724];COMMON=1;KGPROD;KGPhase1;RS=188486692;RSPOS=87021;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 87027 rs375864588 A G . PASS ASP;OTHERKG;RS=375864588;RSPOS=87027;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 87099 rs74807217 T A . PASS ASP;GNO;OTHERKG;RS=74807217;RSPOS=87099;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000102000100;WGT=1;dbSNPBuildID=131 +chr1 87109 rs112601681 T C . PASS ASP;OTHERKG;RS=112601681;RSPOS=87109;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=132 +chr1 87114 rs200095900 CT C . PASS ASP;CAF=[0.9963,0.003673];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=200095900;RSPOS=87115;SAO=0;SSR=0;VC=DIV;VP=0x05000000000500001c000200;WGT=1;dbSNPBuildID=137 +chr1 87190 rs1524602 G A . PASS ASP;CAF=[0.7534,0.2466];COMMON=1;G5;G5A;GNO;KGPROD;KGPhase1;OTHERKG;RS=1524602;RSPOS=87190;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000005130116000100;WGT=1;dbSNPBuildID=88 +chr1 87256 rs373216495 C T . PASS ASP;OTHERKG;RS=373216495;RSPOS=87256;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 87276 rs5772017 A AT . PASS CFL;OTHERKG;PM;PMC;RS=5772017;RSPOS=87285;SAO=0;SSR=0;VC=DIV;VP=0x050028000009000002000200;WGT=1;dbSNPBuildID=114 +chr1 87303 rs113433457 G A . PASS CFL;GNO;OTHERKG;RS=113433457;RSPOS=87303;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=132 +chr1 87360 rs180907504 C T . PASS ASP;CAF=[0.994,0.005969];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=180907504;RSPOS=87360;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000016000100;WGT=1;dbSNPBuildID=135 +chr1 87409 rs139490478 C T . PASS ASP;CAF=[0.9633,0.03673];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=139490478;RSPOS=87409;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=134 +chr1 87524 rs368123139 AGTTT A . PASS ASP;OTHERKG;RS=368123139;RSPOS=87525;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 87590 rs185279164 G A . PASS ASP;CAF=[0.9982,0.001837];COMMON=1;KGPROD;KGPhase1;RS=185279164;RSPOS=87590;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 87647 rs146836579 T C . PASS ASP;CAF=[0.949,0.05096];COMMON=1;KGPROD;KGPhase1;RS=146836579;RSPOS=87647;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100014000100;WGT=1;dbSNPBuildID=134 +chr1 87683 rs113097605 T C . PASS CFL;GNO;OTHERKG;RS=113097605;RSPOS=87683;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=132 +chr1 87702 rs111305205 G A . PASS CFL;GNO;OTHERKG;RS=111305205;RSPOS=87702;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=132 +chr1 87755 rs140735660 G A . PASS ASP;CAF=[0.9931,0.006887];COMMON=1;KGPROD;KGPhase1;RS=140735660;RSPOS=87755;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=134 +chr1 87937 rs376034026 C A . PASS ASP;OTHERKG;RS=376034026;RSPOS=87937;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 87970 rs189643077 T C . PASS ASP;CAF=[0.9986,0.001377];COMMON=1;KGPROD;KGPhase1;RS=189643077;RSPOS=87970;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 87978 rs182297743 G A . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=182297743;RSPOS=87978;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 88136 rs59529791 G A . PASS CAF=[0.9513,0.04867];CFL;COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=59529791;RSPOS=88136;SAO=0;SSR=0;VC=SNV;VP=0x050000000009100016000100;WGT=1;dbSNPBuildID=129 +chr1 88169 rs940550 C T . PASS ASP;CAF=[0.7691,0.2309];COMMON=1;G5;GNO;KGPROD;KGPhase1;OTHERKG;PH3;RS=940550;RSPOS=88169;SAO=0;SLO;SSR=0;VC=SNV;VLD;VP=0x050100000005150117000100;WGT=1;dbSNPBuildID=86 +chr1 88172 rs940551 G A . PASS CAF=[0.9605,0.03949];CFL;COMMON=1;G5;G5A;KGPROD;KGPhase1;OTHERKG;RS=940551;RSPOS=88172;SAO=0;SLO;SSR=0;VC=SNV;VLD;VP=0x050100000009170016000100;WGT=1;dbSNPBuildID=86 +chr1 88177 rs143215837 G C . PASS ASP;CAF=[0.9624,0.03765];COMMON=1;KGPROD;KGPhase1;RS=143215837;RSPOS=88177;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100014000100;WGT=1;dbSNPBuildID=134 +chr1 88188 rs148331237 C A . PASS ASP;CAF=[0.9959,0.004132];COMMON=1;KGPROD;KGPhase1;RS=148331237;RSPOS=88188;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=134 +chr1 88236 rs186918018 C T . PASS ASP;CAF=[0.9949,0.005051];COMMON=1;KGPROD;KGPhase1;RS=186918018;RSPOS=88236;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 88250 rs191950833 T A . PASS ASP;CAF=[1,0];COMMON=0;KGPROD;KGPhase1;RS=191950833;RSPOS=88250;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 88265 rs940552 C T . PASS CFL;G5;GNO;OTHERKG;RS=940552;RSPOS=88265;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000009010102000100;WGT=1;dbSNPBuildID=86 +chr1 88295 rs113378454 T A . PASS CFL;GNO;OTHERKG;RS=113378454;RSPOS=88295;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=132 +chr1 88299 rs370872108 G A . PASS ASP;OTHERKG;RS=370872108;RSPOS=88299;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 88316 rs113759966 G A . PASS CAF=[0.9601,0.03994];CFL;COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=113759966;RSPOS=88316;SAO=0;SSR=0;VC=SNV;VP=0x050000000009100116000100;WGT=1;dbSNPBuildID=132 +chr1 88324 rs183326616 A G . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=183326616;RSPOS=88324;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 88332 rs113199939 A C . PASS CFL;GNO;OTHERKG;RS=113199939;RSPOS=88332;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=132 +chr1 88338 rs55700207 G A . PASS CAF=[0.9151,0.08494];CFL;COMMON=1;G5;GNO;KGPROD;KGPhase1;OTHERKG;RS=55700207;RSPOS=88338;SAO=0;SSR=0;VC=SNV;VP=0x050000000009110116000100;WGT=1;dbSNPBuildID=129 +chr1 88370 rs185487977 G A . PASS ASP;CAF=[0.9982,0.001837];COMMON=1;KGPROD;KGPhase1;RS=185487977;RSPOS=88370;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 88376 rs189954431 T G . PASS ASP;CAF=[1,0];COMMON=0;KGPROD;KGPhase1;RS=189954431;RSPOS=88376;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 88386 rs367857375 C T . PASS ASP;OTHERKG;RS=367857375;RSPOS=88386;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 88388 rs182344336 C T . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=182344336;RSPOS=88388;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 88429 rs146027550 T C . PASS ASP;CAF=[0.994,0.005969];COMMON=1;KGPROD;KGPhase1;RS=146027550;RSPOS=88429;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=134 +chr1 88533 rs371690259 C A . PASS ASP;OTHERKG;RS=371690259;RSPOS=88533;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 88710 rs186575039 C G . PASS ASP;CAF=[0.9665,0.03352];COMMON=1;KGPROD;KGPhase1;RS=186575039;RSPOS=88710;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100014000100;WGT=1;dbSNPBuildID=135 +chr1 89165 rs192631277 A C . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=192631277;RSPOS=89165;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 89599 rs375955515 A T . PASS ASP;OTHERKG;RS=375955515;RSPOS=89599;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 89706 rs367655747 G A . PASS ASP;OTHERKG;RS=367655747;RSPOS=89706;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 89744 rs184101761 A G . PASS ASP;CAF=[0.9991,0.0009183];COMMON=0;KGPROD;KGPhase1;RS=184101761;RSPOS=89744;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 89794 rs188661839 T C . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=188661839;RSPOS=89794;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 89919 rs200834062 G A . PASS ASP;OTHERKG;RS=200834062;RSPOS=89919;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 89946 rs138808727 A T . PASS ASP;CAF=[0.8921,0.1079];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=138808727;RSPOS=89946;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=134 +chr1 90124 rs375137771 AGG A . PASS ASP;OTHERKG;RS=375137771;RSPOS=90125;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 90538 rs375325792 G A . PASS ASP;OTHERKG;RS=375325792;RSPOS=90538;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 90856 rs369575494 G A . PASS ASP;OTHERKG;RS=369575494;RSPOS=90856;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 90909 rs371793016 C G . PASS ASP;OTHERKG;RS=371793016;RSPOS=90909;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 91106 rs201007875 A G . PASS ASP;OTHERKG;RS=201007875;RSPOS=91106;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 91141 rs375163811 G T . PASS ASP;OTHERKG;RS=375163811;RSPOS=91141;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 91176 rs369592085 C A . PASS ASP;OTHERKG;RS=369592085;RSPOS=91176;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 91190 rs143856811 G A . PASS ASP;CAF=[0.9646,0.03535];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=143856811;RSPOS=91190;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=134 +chr1 91228 rs139873689 A G . PASS ASP;CAF=[0.9963,0.003673];COMMON=1;KGPROD;KGPhase1;RS=139873689;RSPOS=91228;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=134 +chr1 91336 rs4245763 A T . PASS ASP;GNO;OTHERKG;RS=4245763;RSPOS=91336;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000005000102000100;WGT=1;dbSNPBuildID=111 +chr1 91340 rs376250562 C G . PASS ASP;OTHERKG;RS=376250562;RSPOS=91340;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 91354 rs4245764 G A . PASS ASP;GNO;OTHERKG;RS=4245764;RSPOS=91354;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000005000102000100;WGT=1;dbSNPBuildID=111 +chr1 91358 rs370712517 G T . PASS ASP;OTHERKG;RS=370712517;RSPOS=91358;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 91421 rs28619159 T C . PASS CFL;GNO;OTHERKG;RS=28619159;RSPOS=91421;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=125 +chr1 91472 rs6680825 C T . PASS CFL;OTHERKG;RS=6680825;RSPOS=91472;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=116 +chr1 91475 rs377695515 G A . PASS ASP;OTHERKG;RS=377695515;RSPOS=91475;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 91486 rs28555135 G C . PASS CFL;OTHERKG;RS=28555135;RSPOS=91486;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=125 +chr1 91490 rs28662916 A G . PASS CFL;OTHERKG;RS=28662916;RSPOS=91490;SAO=0;SSR=1;VC=SNV;VP=0x050000000009000002000140;WGT=1;dbSNPBuildID=125 +chr1 91515 rs376723915 A C . PASS ASP;OTHERKG;RS=376723915;RSPOS=91515;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 91536 rs77418980 G T . PASS ASP;CAF=[0.6814,0.3186];COMMON=1;G5;G5A;HD;KGPROD;KGPhase1;OTHERKG;RS=77418980;RSPOS=91536;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000005170416000100;WGT=1;dbSNPBuildID=131 +chr1 91550 rs375085441 CGT C,CT . PASS ASP;OTHERKG;RS=375085441;RSPOS=91551;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 91581 rs151118460 G A . PASS ASP;CAF=[0.6717,0.3283];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=151118460;RSPOS=91581;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=134 +chr1 91605 rs141083882 C T . PASS ASP;CAF=[0.9518,0.04821];COMMON=1;KGPROD;KGPhase1;RS=141083882;RSPOS=91605;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100014000100;WGT=1;dbSNPBuildID=134 +chr1 91731 rs200548671 G A . PASS ASP;OTHERKG;RS=200548671;RSPOS=91731;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 91748 rs201817391 C T . PASS ASP;OTHERKG;RS=201817391;RSPOS=91748;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 92633 rs149776517 C T . PASS CAF=[0.9798,0.0202];CFL;COMMON=1;KGPROD;KGPhase1;RS=149776517;RSPOS=92633;SAO=0;SSR=0;VC=SNV;VP=0x050000000009100014000100;WGT=1;dbSNPBuildID=134 +chr1 92638 rs199618747 A T . PASS CFL;OTHERKG;RS=199618747;RSPOS=92638;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=137 +chr1 92675 rs200369601 A G . PASS CFL;OTHERKG;RS=200369601;RSPOS=92675;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=137 +chr1 92794 rs4628451 A G . PASS OTHERKG;RS=4628451;RSPOS=92794;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=111 +chr1 92858 rs147061536 G T . PASS ASP;CAF=[0.8866,0.1134];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=147061536;RSPOS=92858;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=134 +chr1 92875 rs193157612 T C . PASS ASP;CAF=[0.9982,0.001837];COMMON=1;KGPROD;KGPhase1;RS=193157612;RSPOS=92875;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 93748 rs201541249 G T . PASS ASP;OTHERKG;RS=201541249;RSPOS=93748;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 94271 rs200715572 C G . PASS ASP;OTHERKG;RS=200715572;RSPOS=94271;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 94421 rs200856736 TC T . PASS ASP;CAF=[0.8848,0.1152];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=200856736;RSPOS=94422;SAO=0;SSR=0;VC=DIV;VP=0x05000000000510001c000200;WGT=1;dbSNPBuildID=137 +chr1 94476 rs374550536 C T . PASS ASP;OTHERKG;RS=374550536;RSPOS=94476;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 94545 rs368798083 C T . PASS ASP;OTHERKG;RS=368798083;RSPOS=94545;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 94570 rs200113991 T G . PASS ASP;OTHERKG;RS=200113991;RSPOS=94570;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 94641 rs199656470 G C . PASS ASP;OTHERKG;RS=199656470;RSPOS=94641;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 94824 rs200952831 C T . PASS ASP;OTHERKG;RS=200952831;RSPOS=94824;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 94930 rs78828224 C T . PASS GNO;OTHERKG;RS=78828224;RSPOS=94930;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001040102000100;WGT=1;dbSNPBuildID=131 +chr1 94967 rs376582901 C T . PASS ASP;OTHERKG;RS=376582901;RSPOS=94967;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 94986 rs185004859 C T . PASS ASP;CAF=[0.9545,0.04545];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=185004859;RSPOS=94986;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=135 +chr1 94991 rs188832636 G A . PASS ASP;CAF=[0.9986,0.001377];COMMON=0;KGPROD;KGPhase1;RS=188832636;RSPOS=94991;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 96150 rs138493612 G A . PASS CAF=[0.871,0.129];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=138493612;RSPOS=243180674;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=134 +chr1 96158 rs142942492 G A . PASS CAF=[0.9908,0.009183];COMMON=1;KGPROD;KGPhase1;RS=142942492;RSPOS=243180682;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=134 +chr1 96164 rs144320297 C A . PASS CAF=[0.989,0.01102];COMMON=1;KGPROD;KGPhase1;RS=144320297;RSPOS=243180688;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=134 +chr1 96254 rs148351683 G A . PASS CAF=[0.9982,0.001837];COMMON=1;KGPROD;KGPhase1;RS=148351683;RSPOS=243180778;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=134 +chr1 96271 rs201615138 C G . PASS ASP;OTHERKG;RS=201615138;RSPOS=96271;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 96305 rs141446631 C T . PASS CAF=[0.9128,0.08724];COMMON=1;KGPROD;KGPhase1;RS=141446631;RSPOS=243180829;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=134 +chr1 96497 rs369281211 C T . PASS OTHERKG;RS=369281211;RSPOS=243181021;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 96631 rs192901567 G A . PASS CAF=[0.9977,0.002296];COMMON=1;KGPROD;KGPhase1;RS=192901567;RSPOS=243181155;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 96860 rs150861852 A G . PASS CAF=[1,0];COMMON=0;KGPROD;KGPhase1;RS=150861852;RSPOS=243181384;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=134 +chr1 96882 rs139867183 A G . PASS CAF=[0.9894,0.01056];COMMON=1;KGPROD;KGPhase1;RS=139867183;RSPOS=243181406;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=134 +chr1 96892 rs145372657 G C . PASS CAF=[0.9977,0.002296];COMMON=1;KGPROD;KGPhase1;RS=145372657;RSPOS=243181416;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=134 +chr1 97164 rs200130708 A G . PASS ASP;OTHERKG;RS=200130708;RSPOS=97164;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 97235 rs371024123 G A . PASS OTHERKG;RS=371024123;RSPOS=243181759;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 97269 rs199687009 T TAC . PASS CAF=[0.8659,0.1341];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=199687009;RSPOS=243181793;SAO=0;SSR=0;VC=DIV;VP=0x05000000000110001c000200;WGT=1;dbSNPBuildID=137 +chr1 97269 rs372069811 TAC T . PASS OTHERKG;RS=372069811;RSPOS=243181794;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 97541 rs200802458 G T . PASS ASP;OTHERKG;RS=200802458;RSPOS=97541;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 97661 rs200930721 T C . PASS ASP;OTHERKG;RS=200930721;RSPOS=97661;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 97953 rs201609557 A G . PASS OTHERKG;RS=201609557;RSPOS=97953;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 98137 rs372179165 C T . PASS OTHERKG;RS=372179165;RSPOS=98137;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 98583 rs141344361 T A . PASS CAF=[0.8871,0.1129];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=141344361;RSPOS=98583;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=134 +chr1 98591 rs368834262 A G . PASS OTHERKG;RS=368834262;RSPOS=98591;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 98622 rs373011132 C T . PASS OTHERKG;RS=373011132;RSPOS=98622;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 98667 rs377391031 T C . PASS OTHERKG;RS=377391031;RSPOS=98667;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 98710 rs370064472 C T . PASS OTHERKG;RS=370064472;RSPOS=98710;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 98727 rs374402936 A G . PASS OTHERKG;RS=374402936;RSPOS=98727;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 98749 rs377378992 T C . PASS OTHERKG;RS=377378992;RSPOS=98749;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 98823 rs368820819 ATCTG A . PASS OTHERKG;RS=368820819;RSPOS=98824;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 98919 rs1851938 T A . PASS CFL;OTHERKG;RS=1851938;RSPOS=98919;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=92 +chr1 98921 rs199533981 AG A . PASS OTHERKG;RS=199533981;RSPOS=98922;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=137 +chr1 98929 rs12184306 A G . PASS CAF=[0.8788,0.1212];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=12184306;RSPOS=98929;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=120 +chr1 98945 rs75356303 C T . PASS GNO;OTHERKG;RS=75356303;RSPOS=98945;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=131 +chr1 98946 rs191775802 C G . PASS CAF=[0.9982,0.001837];COMMON=1;KGPROD;KGPhase1;RS=191775802;RSPOS=98946;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 98974 rs12184307 A G . PASS CAF=[0.8972,0.1028];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=12184307;RSPOS=98974;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=120 +chr1 98993 rs1851939 G A . PASS GNO;OTHERKG;RS=1851939;RSPOS=98993;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001040102000100;WGT=1;dbSNPBuildID=92 +chr1 98998 rs376621245 CTT C,CTTTA . PASS OTHERKG;RS=376621245;RSPOS=98999;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 99043 rs12184295 T A . PASS CFL;OTHERKG;RS=12184295;RSPOS=99043;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=120 +chr1 99045 rs201088570 C T . PASS OTHERKG;RS=201088570;RSPOS=99045;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 99083 rs200313705 C T . PASS OTHERKG;RS=200313705;RSPOS=99083;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 99088 rs201463067 C T . PASS OTHERKG;RS=201463067;RSPOS=99088;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 99092 rs369626922 C T . PASS OTHERKG;RS=369626922;RSPOS=99092;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 99116 rs199652287 T A . PASS OTHERKG;RS=199652287;RSPOS=99116;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 99166 rs78627600 C T . PASS GNO;OTHERKG;RS=78627600;RSPOS=99166;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=131 +chr1 99180 rs201323924 T C . PASS OTHERKG;RS=201323924;RSPOS=99180;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 99229 rs4109798 C A . PASS CFL;OTHERKG;RS=4109798;RSPOS=99229;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=108 +chr1 99378 rs376362761 G A . PASS OTHERKG;RS=376362761;RSPOS=99378;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 99389 rs370448654 C T . PASS OTHERKG;RS=370448654;RSPOS=99389;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 99411 rs373853034 C T . PASS OTHERKG;RS=373853034;RSPOS=99411;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 99480 rs367664497 T C . PASS ASP;OTHERKG;RS=367664497;RSPOS=99480;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 99497 rs372319559 C T . PASS ASP;OTHERKG;RS=372319559;RSPOS=99497;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 99591 rs374494260 G C . PASS ASP;OTHERKG;RS=374494260;RSPOS=99591;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 99665 rs368526587 C T . PASS ASP;OTHERKG;RS=368526587;RSPOS=99665;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 99671 rs146209971 A T . PASS ASP;CAF=[0.994,0.005969];COMMON=1;KGPROD;KGPhase1;RS=146209971;RSPOS=99671;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=134 +chr1 99687 rs139153227 C T . PASS ASP;CAF=[0.9706,0.02938];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=139153227;RSPOS=99687;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=134 +chr1 99719 rs183898652 C T . PASS ASP;CAF=[0.9954,0.004591];COMMON=1;KGPROD;KGPhase1;RS=183898652;RSPOS=99719;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 99894 rs376146494 G A . PASS ASP;OTHERKG;RS=376146494;RSPOS=99894;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 100053 rs368138840 G A . PASS ASP;OTHERKG;RS=368138840;RSPOS=100053;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 100483 rs373815110 C T . PASS ASP;OTHERKG;RS=373815110;RSPOS=100483;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 100649 rs199608293 G C . PASS ASP;OTHERKG;RS=199608293;RSPOS=100649;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 100676 rs188226172 A T . PASS ASP;CAF=[0.9991,0.0009183];COMMON=0;KGPROD;KGPhase1;RS=188226172;RSPOS=100676;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 100858 rs368741663 T C . PASS OTHERKG;RS=368741663;RSPOS=100858;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 101158 rs200785122 T C . PASS OTHERKG;RS=200785122;RSPOS=101158;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 101268 rs375749629 G A . PASS OTHERKG;RS=375749629;RSPOS=101268;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 101304 rs369805636 C T . PASS OTHERKG;RS=369805636;RSPOS=101304;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 101389 rs373007835 A C . PASS OTHERKG;RS=373007835;RSPOS=101389;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 101390 rs377325533 C T . PASS OTHERKG;RS=377325533;RSPOS=101390;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 101467 rs370554823 G A . PASS OTHERKG;RS=370554823;RSPOS=101467;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 101550 rs151255177 C T . PASS OTHERKG;RS=151255177;RSPOS=101550;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=134 +chr1 101668 rs201606544 C T . PASS OTHERKG;RS=201606544;RSPOS=101668;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 101686 rs199601330 A G . PASS OTHERKG;RS=199601330;RSPOS=101686;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 101828 rs377017730 C G . PASS OTHERKG;RS=377017730;RSPOS=101828;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 101831 rs370043606 C T . PASS OTHERKG;RS=370043606;RSPOS=101831;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 101895 rs200406806 G A . PASS OTHERKG;RS=200406806;RSPOS=101895;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 101972 rs371109806 T C . PASS OTHERKG;RS=371109806;RSPOS=101972;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 101988 rs368527378 G C . PASS OTHERKG;RS=368527378;RSPOS=101988;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 102030 rs371496124 A G . PASS OTHERKG;RS=371496124;RSPOS=102030;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 102138 rs374391784 C T . PASS OTHERKG;RS=374391784;RSPOS=102138;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 102264 rs201422725 T G . PASS OTHERKG;RS=201422725;RSPOS=102264;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 102476 rs372146815 T C . PASS OTHERKG;RS=372146815;RSPOS=102476;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 102596 rs199867831 G A . PASS OTHERKG;RS=199867831;RSPOS=102596;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 102664 rs200015162 A G . PASS OTHERKG;RS=200015162;RSPOS=102664;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 102708 rs371269828 G A . PASS OTHERKG;RS=371269828;RSPOS=102708;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 102744 rs376728802 A G . PASS OTHERKG;RS=376728802;RSPOS=102744;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 102769 rs201192434 C A . PASS OTHERKG;RS=201192434;RSPOS=102769;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 102951 rs200298631 C T . PASS OTHERKG;RS=200298631;RSPOS=102951;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 103058 rs201637762 C T . PASS OTHERKG;RS=201637762;RSPOS=103058;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 103207 rs373871696 A G . PASS OTHERKG;RS=373871696;RSPOS=103207;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 103234 rs375234444 G A . PASS OTHERKG;RS=375234444;RSPOS=103234;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 103241 rs200028071 C T . PASS OTHERKG;RS=200028071;RSPOS=103241;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 103318 rs370303421 T C . PASS OTHERKG;RS=370303421;RSPOS=103318;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 103861 rs62642110 T C . PASS OTHERKG;RS=62642110;RSPOS=103861;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 103867 rs62642111 G A . PASS OTHERKG;RS=62642111;RSPOS=103867;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 103905 rs142403309 A G . PASS CAF=[0.8994,0.1006];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=142403309;RSPOS=103905;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=134 +chr1 103983 rs202183755 C T . PASS OTHERKG;RS=202183755;RSPOS=103983;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 104017 rs200100421 C T . PASS OTHERKG;RS=200100421;RSPOS=104017;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 104018 rs200855736 C T . PASS OTHERKG;RS=200855736;RSPOS=104018;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 104033 rs4287120 T C . PASS GNO;OTHERKG;RS=4287120;RSPOS=104033;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=111 +chr1 104074 rs375852376 C T . PASS OTHERKG;RS=375852376;RSPOS=104074;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 104108 rs201240785 A G . PASS OTHERKG;RS=201240785;RSPOS=104108;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 104159 rs372078516 CAA C,CC . PASS NOC;OTHERKG;RS=372078516;RSPOS=104160;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000210;WGT=1;dbSNPBuildID=138 +chr1 104160 rs201506079 A AACACACAC . PASS OTHERKG;RS=201506079;RSPOS=104161;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=137 +chr1 104186 rs200455936 T C . PASS OTHERKG;RS=200455936;RSPOS=104186;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 104256 rs201647776 C T . PASS OTHERKG;RS=201647776;RSPOS=104256;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 104320 rs200249659 T C . PASS OTHERKG;RS=200249659;RSPOS=104320;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 104326 rs201515565 A G . PASS OTHERKG;RS=201515565;RSPOS=104326;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 104339 rs201751908 T C . PASS OTHERKG;RS=201751908;RSPOS=104339;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 104411 rs199820342 G A . PASS OTHERKG;RS=199820342;RSPOS=104411;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 105279 rs201977190 G C . PASS ASP;OTHERKG;RS=201977190;RSPOS=105279;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 105634 rs200247706 C G . PASS ASP;OTHERKG;RS=200247706;RSPOS=105634;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 105890 rs200280933 G A . PASS ASP;OTHERKG;RS=200280933;RSPOS=105890;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 106534 rs372717962 A G . PASS ASP;OTHERKG;RS=372717962;RSPOS=106534;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 106544 rs180741296 C G . PASS ASP;CAF=[0.9059,0.09412];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=180741296;RSPOS=106544;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=135 +chr1 107125 rs201428983 A G . PASS ASP;OTHERKG;RS=201428983;RSPOS=107125;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 107970 rs199614332 G A . PASS ASP;OTHERKG;RS=199614332;RSPOS=107970;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 108137 rs371193960 C G . PASS ASP;OTHERKG;RS=371193960;RSPOS=108137;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 108297 rs201078696 A C . PASS ASP;OTHERKG;RS=201078696;RSPOS=108297;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 108310 rs74747225 T C . PASS ASP;GNO;OTHERKG;RS=74747225;RSPOS=108310;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000102000100;WGT=1;dbSNPBuildID=131 +chr1 108328 rs368331525 A G . PASS ASP;OTHERKG;RS=368331525;RSPOS=108328;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 108413 rs200678306 T G . PASS ASP;OTHERKG;RS=200678306;RSPOS=108413;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 108544 rs368700889 TCA T,TA . PASS ASP;NOC;OTHERKG;RS=368700889;RSPOS=108545;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000210;WGT=1;dbSNPBuildID=138 +chr1 108893 rs367850334 C T . PASS CFL;OTHERKG;RS=367850334;RSPOS=108893;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 109107 rs201432136 G GT . PASS CAF=[0.9711,0.02893];CFL;COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=201432136;RSPOS=109107;SAO=0;SSR=0;VC=DIV;VP=0x05000000000910001c000200;WGT=1;dbSNPBuildID=137 +chr1 109374 rs372087269 G A . PASS CFL;OTHERKG;RS=372087269;RSPOS=109374;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 109488 rs368216254 G A . PASS CFL;OTHERKG;RS=368216254;RSPOS=109488;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 109503 rs372054918 G A . PASS CFL;OTHERKG;RS=372054918;RSPOS=109503;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 109640 rs201327920 T A . PASS CFL;OTHERKG;RS=201327920;RSPOS=109640;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=137 +chr1 111513 rs199911222 C CTA . PASS ASP;CAF=[0.9743,0.02571];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=199911222;RSPOS=111513;SAO=0;SSR=0;VC=DIV;VP=0x05000000000510001c000200;WGT=1;dbSNPBuildID=137 +chr1 111513 rs376502215 CTA C . PASS ASP;OTHERKG;RS=376502215;RSPOS=111514;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 111516 rs201010400 TG T . PASS ASP;CAF=[0.9757,0.02433];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=201010400;RSPOS=111517;SAO=0;SSR=0;VC=DIV;VP=0x05000000000510001c000200;WGT=1;dbSNPBuildID=137 +chr1 112068 rs373788990 C T . PASS ASP;OTHERKG;RS=373788990;RSPOS=112068;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 113368 rs367636847 G C . PASS ASP;OTHERKG;RS=367636847;RSPOS=113368;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 113557 rs372375043 C T . PASS ASP;OTHERKG;RS=372375043;RSPOS=113557;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 113558 rs375325348 G A . PASS ASP;OTHERKG;RS=375325348;RSPOS=113558;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 113682 rs368487483 A G . PASS ASP;OTHERKG;RS=368487483;RSPOS=113682;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 113890 rs371786862 T C . PASS ASP;OTHERKG;RS=371786862;RSPOS=113890;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 114054 rs375163478 T C . PASS ASP;OTHERKG;RS=375163478;RSPOS=114054;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 114699 rs187571096 A G . PASS ASP;CAF=[0.9982,0.001837];COMMON=1;KGPROD;KGPhase1;RS=187571096;RSPOS=114699;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 114776 rs369413206 G C . PASS ASP;OTHERKG;RS=369413206;RSPOS=114776;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 114810 rs373306191 C T . PASS ASP;OTHERKG;RS=373306191;RSPOS=114810;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 114828 rs201824320 GA G . PASS ASP;CAF=[0.983,0.01699];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=201824320;RSPOS=114829;SAO=0;SSR=0;VC=DIV;VP=0x05000000000510001c000200;WGT=1;dbSNPBuildID=137 +chr1 114933 rs376261346 C T . PASS ASP;OTHERKG;RS=376261346;RSPOS=114933;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 115037 rs369047815 C A . PASS ASP;OTHERKG;RS=369047815;RSPOS=115037;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 115474 rs374523542 A G . PASS ASP;OTHERKG;RS=374523542;RSPOS=115474;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 115729 rs199999500 GCACA G . PASS ASP;CAF=[0.9931,0.006887];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=199999500;RSPOS=115730;SAO=0;SSR=0;VC=DIV;VP=0x05000000000500001c000200;WGT=1;dbSNPBuildID=137 +chr1 115746 rs147538909 C T . PASS ASP;CAF=[0.9793,0.02066];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=147538909;RSPOS=115746;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=134 +chr1 115799 rs370977573 C T . PASS ASP;OTHERKG;RS=370977573;RSPOS=115799;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 116134 rs375857131 A G . PASS ASP;OTHERKG;RS=375857131;RSPOS=116134;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 116512 rs377636264 A G . PASS CFL;OTHERKG;RS=377636264;RSPOS=116512;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 116534 rs370593798 A G . PASS CFL;OTHERKG;RS=370593798;RSPOS=116534;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 116549 rs190211768 C T . PASS CAF=[0.9954,0.004591];CFL;COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=190211768;RSPOS=116549;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000016000100;WGT=1;dbSNPBuildID=135 +chr1 116574 rs367781137 C T . PASS CFL;OTHERKG;RS=367781137;RSPOS=116574;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 118318 rs371679547 A G . PASS OTHERKG;RS=371679547;RSPOS=118318;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 118617 rs372912307 T C . PASS OTHERKG;RS=372912307;RSPOS=118617;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 118630 rs374543768 C T . PASS OTHERKG;RS=374543768;RSPOS=118630;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 118921 rs368793103 A G . PASS OTHERKG;RS=368793103;RSPOS=118921;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 118941 rs376560834 T A . PASS OTHERKG;RS=376560834;RSPOS=118941;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 119939 rs372204035 A G . PASS OTHERKG;RS=372204035;RSPOS=119939;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 120458 rs182017058 T C . PASS CAF=[0.837,0.163];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=182017058;RSPOS=120458;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=135 +chr1 120705 rs4117992 T C . PASS CAF=[0.08356,0.9164];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=4117992;RSPOS=120705;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=108 +chr1 120717 rs190208468 G A . PASS CAF=[0.9991,0.0009183];COMMON=0;KGPROD;KGPhase1;RS=190208468;RSPOS=120717;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 120833 rs57420544 C T . PASS CFL;OTHERKG;RS=57420544;RSPOS=120833;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=129 +chr1 120983 rs182468771 C T . PASS CAF=[0.9389,0.06107];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=182468771;RSPOS=120983;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=135 +chr1 120986 rs60176197 T TTA . PASS CFL;OTHERKG;RS=60176197;RSPOS=120994;SAO=0;SSR=0;VC=DIV;VP=0x050000000009000002000200;WGT=1;dbSNPBuildID=129 +chr1 120995 rs60628823 A ATAT . PASS CFL;OTHERKG;RS=60628823;RSPOS=120998;SAO=0;SSR=0;VC=DIV;VP=0x050000000009000002000200;WGT=1;dbSNPBuildID=129 +chr1 120995 rs71218814 A AAT,ATAT . PASS CFL;GNO;OTHERKG;RS=71218814;RSPOS=120995;SAO=0;SLO;SSR=0;VC=DIV;VP=0x050100000009000102000200;WGT=1;dbSNPBuildID=130 +chr1 121009 rs1851943 C T . PASS CAF=[0.7879,0.2121];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=1851943;RSPOS=121009;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=92 +chr1 121017 rs61430945 A ATATC . PASS CFL;OTHERKG;RS=61430945;RSPOS=121020;SAO=0;SSR=0;VC=DIV;VP=0x050000000009000002000200;WGT=1;dbSNPBuildID=129 +chr1 121025 rs58419146 T C . PASS CFL;OTHERKG;RS=58419146;RSPOS=121025;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=129 +chr1 121028 rs57409576 C A . PASS CFL;OTHERKG;RS=57409576;RSPOS=121028;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=129 +chr1 121034 rs60444794 C T . PASS CFL;OTHERKG;RS=60444794;RSPOS=121034;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=129 +chr1 121039 rs61570867 A C . PASS CFL;OTHERKG;RS=61570867;RSPOS=121039;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=129 +chr1 121042 rs1856862 T A . PASS CFL;GNO;HD;OTHERKG;RS=1856862;RSPOS=121042;RV;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000009000502000100;WGT=1;dbSNPBuildID=92 +chr1 121046 rs60712173 A ATAATAT . PASS CFL;OTHERKG;RS=60712173;RSPOS=121048;SAO=0;SSR=0;VC=DIV;VP=0x050000000009000002000200;WGT=1;dbSNPBuildID=129 +chr1 121050 rs57285429 G GATC . PASS CFL;OTHERKG;RS=57285429;RSPOS=121050;SAO=0;SSR=0;VC=DIV;VP=0x050000000009000002000200;WGT=1;dbSNPBuildID=129 +chr1 121062 rs59472517 T TAACA . PASS CFL;OTHERKG;RS=59472517;RSPOS=121062;SAO=0;SSR=0;VC=DIV;VP=0x050000000009000002000200;WGT=1;dbSNPBuildID=129 +chr1 121064 rs58377840 A ATTG . PASS CFL;OTHERKG;RS=58377840;RSPOS=121065;SAO=0;SSR=0;VC=DIV;VP=0x050000000009000002000200;WGT=1;dbSNPBuildID=129 +chr1 121069 rs60402600 T TC . PASS CFL;OTHERKG;RS=60402600;RSPOS=121069;SAO=0;SSR=0;VC=DIV;VP=0x050000000009000002000200;WGT=1;dbSNPBuildID=129 +chr1 121072 rs60992425 T TTAC . PASS CFL;OTHERKG;RS=60992425;RSPOS=121072;SAO=0;SSR=0;VC=DIV;VP=0x050000000009000002000200;WGT=1;dbSNPBuildID=129 +chr1 121077 rs58683621 G A . PASS CFL;OTHERKG;RS=58683621;RSPOS=121077;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=129 +chr1 121082 rs61557411 A ATATCT . PASS CFL;OTHERKG;RS=61557411;RSPOS=121085;SAO=0;SSR=0;VC=DIV;VP=0x050000000009000002000200;WGT=1;dbSNPBuildID=129 +chr1 121105 rs56889809 T C . PASS CFL;OTHERKG;RS=56889809;RSPOS=121105;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=129 +chr1 121191 rs71220897 C A . PASS CFL;GNO;OTHERKG;RS=71220897;RSPOS=121191;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000009000102000100;WGT=1;dbSNPBuildID=130 +chr1 121258 rs58797648 C T . PASS CFL;OTHERKG;RS=58797648;RSPOS=121258;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=129 +chr1 121267 rs58782460 T C . PASS CFL;OTHERKG;RS=58782460;RSPOS=121267;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=129 +chr1 121709 rs376271534 TAA T . PASS OTHERKG;RS=376271534;RSPOS=121710;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 122642 rs371765608 A G . PASS OTHERKG;RS=371765608;RSPOS=122642;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 122815 rs376014009 A G . PASS OTHERKG;RS=376014009;RSPOS=122815;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 122872 rs369013448 T G . PASS OTHERKG;RS=369013448;RSPOS=122872;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 123088 rs373187151 GTA G . PASS OTHERKG;RS=373187151;RSPOS=123089;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 123143 rs372987340 C G . PASS OTHERKG;RS=372987340;RSPOS=123143;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 123511 rs377389630 G A . PASS OTHERKG;RS=377389630;RSPOS=123511;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 123642 rs370064167 T G . PASS OTHERKG;RS=370064167;RSPOS=123642;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 124064 rs368811019 C A . PASS OTHERKG;RS=368811019;RSPOS=124064;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 124122 rs376793782 T C . PASS OTHERKG;RS=376793782;RSPOS=124122;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 124583 rs371030584 C T . PASS OTHERKG;RS=371030584;RSPOS=124583;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 124641 rs372902049 A T . PASS OTHERKG;RS=372902049;RSPOS=124641;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 125202 rs371905754 A G . PASS OTHERKG;RS=371905754;RSPOS=125202;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 125271 rs377100675 C T . PASS OTHERKG;RS=377100675;RSPOS=125271;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 125931 rs370444260 T C . PASS OTHERKG;RS=370444260;RSPOS=125931;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 125957 rs373850854 G A . PASS OTHERKG;RS=373850854;RSPOS=125957;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 125976 rs367659092 C T . PASS OTHERKG;RS=367659092;RSPOS=125976;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 126069 rs368043231 TAGA T . PASS OTHERKG;RS=368043231;RSPOS=126070;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 126108 rs146756510 G A . PASS CAF=[0.9421,0.05785];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=146756510;RSPOS=126108;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=134 +chr1 126113 rs79114531 C A . PASS CAF=[0.0528,0.9472];CFL;COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=79114531;RSPOS=126113;SAO=0;SSR=0;VC=SNV;VP=0x050000000009100116000100;WGT=1;dbSNPBuildID=131 +chr1 126155 rs368402008 C T . PASS OTHERKG;RS=368402008;RSPOS=126155;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 126164 rs372306893 G A . PASS OTHERKG;RS=372306893;RSPOS=126164;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 126400 rs375260605 T C . PASS OTHERKG;RS=375260605;RSPOS=126400;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 127219 rs368158470 A C . PASS ASP;OTHERKG;RS=368158470;RSPOS=127219;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 127269 rs201860035 T C . PASS ASP;OTHERKG;RS=201860035;RSPOS=127269;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 127392 rs376657857 G T . PASS ASP;OTHERKG;RS=376657857;RSPOS=127392;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 127491 rs368732900 T G . PASS ASP;OTHERKG;RS=368732900;RSPOS=127491;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 127573 rs199894737 G A . PASS ASP;OTHERKG;RS=199894737;RSPOS=127573;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 127798 rs376639354 A C . PASS ASP;OTHERKG;RS=376639354;RSPOS=127798;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 127908 rs369606166 C T . PASS ASP;OTHERKG;RS=369606166;RSPOS=127908;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 127972 rs373763474 G A . PASS ASP;OTHERKG;RS=373763474;RSPOS=127972;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 128658 rs185320873 G A . PASS ASP;CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=185320873;RSPOS=128658;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 128798 rs376726476 C T . PASS ASP;OTHERKG;RS=376726476;RSPOS=128798;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 128836 rs200495460 C T . PASS ASP;OTHERKG;RS=200495460;RSPOS=128836;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 129010 rs377161483 AATG A . PASS ASP;OTHERKG;RS=377161483;RSPOS=129011;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 129029 rs370553487 T C . PASS ASP;OTHERKG;RS=370553487;RSPOS=129029;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 129044 rs200526713 T C . PASS ASP;OTHERKG;RS=200526713;RSPOS=129044;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 129285 rs372768449 G A . PASS ASP;OTHERKG;RS=372768449;RSPOS=129285;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 129315 rs375743083 A G . PASS ASP;OTHERKG;RS=375743083;RSPOS=129315;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 129329 rs375310730 C G . PASS ASP;OTHERKG;RS=375310730;RSPOS=129329;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 129717 rs369686406 G A . PASS ASP;OTHERKG;RS=369686406;RSPOS=129717;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 129937 rs373090628 T C . PASS ASP;OTHERKG;RS=373090628;RSPOS=129937;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 129963 rs377396712 T A . PASS ASP;OTHERKG;RS=377396712;RSPOS=129963;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 131114 rs374624730 C T . PASS ASP;OTHERKG;RS=374624730;RSPOS=131114;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 131130 rs368686964 G A . PASS ASP;OTHERKG;RS=368686964;RSPOS=131130;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 131552 rs371080566 G T . PASS ASP;OTHERKG;RS=371080566;RSPOS=131552;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 131609 rs375345211 C A . PASS ASP;OTHERKG;RS=375345211;RSPOS=131609;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 131679 rs368243218 G A . PASS ASP;OTHERKG;RS=368243218;RSPOS=131679;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 133010 rs372134228 C T . PASS OTHERKG;RS=372134228;RSPOS=133010;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 133013 rs149496965 C T . PASS CAF=[0.9931,0.006887];COMMON=1;KGPROD;KGPhase1;RS=149496965;RSPOS=133013;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=134 +chr1 133032 rs376758154 G A . PASS OTHERKG;RS=376758154;RSPOS=133032;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 133129 rs367730352 G A . PASS OTHERKG;RS=367730352;RSPOS=133129;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 133160 rs371468694 G A . PASS OTHERKG;RS=371468694;RSPOS=133160;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 133483 rs369820305 G T . PASS OTHERKG;RS=369820305;RSPOS=133483;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 133804 rs370208892 A C . PASS OTHERKG;RS=370208892;RSPOS=133804;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 134367 rs373386854 G A . PASS OTHERKG;R3;RS=373386854;RSPOS=134367;SAO=0;SSR=0;VC=SNV;VP=0x050000040001000002000100;WGT=1;dbSNPBuildID=138 +chr1 134516 rs376568089 G A . PASS OTHERKG;R3;RS=376568089;RSPOS=134516;SAO=0;SSR=0;VC=SNV;VP=0x050000040001000002000100;WGT=1;dbSNPBuildID=138 +chr1 134610 rs369441980 G A . PASS OTHERKG;R3;RS=369441980;RSPOS=134610;SAO=0;SSR=0;VC=SNV;VP=0x050000040001000002000100;WGT=1;dbSNPBuildID=138 +chr1 134667 rs372885001 A G . PASS OTHERKG;R3;RS=372885001;RSPOS=134667;SAO=0;SSR=0;VC=SNV;VP=0x050000040001000002000100;WGT=1;dbSNPBuildID=138 +chr1 134876 rs375850923 C T . PASS OTHERKG;RS=375850923;RSPOS=134876;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 134911 rs375938491 ACATT A . PASS OTHERKG;RS=375938491;RSPOS=134912;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 134945 rs368951615 A C . PASS OTHERKG;RS=368951615;RSPOS=134945;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 134961 rs373197947 T C . PASS OTHERKG;RS=373197947;RSPOS=134961;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 134987 rs376133040 C T . PASS OTHERKG;RS=376133040;RSPOS=134987;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 135013 rs201698987 A G . PASS OTHERKG;RS=201698987;RSPOS=135013;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 135032 rs148209574 G A . PASS CAF=[0.9288,0.07117];COMMON=1;KGPROD;KGPhase1;RS=148209574;RSPOS=135032;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=134 +chr1 135040 rs141523926 T C . PASS CAF=[0.9559,0.04408];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=141523926;RSPOS=135040;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=134 +chr1 135163 rs374499151 C T . PASS OTHERKG;RS=374499151;RSPOS=135163;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 135203 rs147502335 G A . PASS CAF=[0.9871,0.01286];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=147502335;RSPOS=135203;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=134 +chr1 135395 rs370858051 G A . PASS OTHERKG;RS=370858051;RSPOS=135395;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 135465 rs375289924 C T . PASS OTHERKG;RS=375289924;RSPOS=135465;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 135982 rs368140013 A G . PASS OTHERKG;RS=368140013;RSPOS=135982;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136024 rs201339462 C T . PASS OTHERKG;RS=201339462;RSPOS=136024;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 136048 rs371677125 C T . PASS OTHERKG;RS=371677125;RSPOS=136048;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136124 rs374467255 G A . PASS OTHERKG;RS=374467255;RSPOS=136124;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136145 rs377085986 TGC T . PASS OTHERKG;RS=377085986;RSPOS=136146;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 136424 rs367644497 G A . PASS OTHERKG;RS=367644497;RSPOS=136424;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136437 rs372857539 T C . PASS OTHERKG;RS=372857539;RSPOS=136437;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136543 rs375756905 A G . PASS OTHERKG;RS=375756905;RSPOS=136543;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136571 rs369560895 C T . PASS OTHERKG;RS=369560895;RSPOS=136571;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136596 rs139210500 G C . PASS OTHERKG;RS=139210500;RSPOS=136596;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=134 +chr1 136603 rs371784856 A G . PASS OTHERKG;RS=371784856;RSPOS=136603;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136604 rs375154304 G C . PASS OTHERKG;RS=375154304;RSPOS=136604;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136644 rs370365546 AG A . PASS OTHERKG;RS=370365546;RSPOS=136645;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 136664 rs369343334 G C . PASS OTHERKG;RS=369343334;RSPOS=136664;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136667 rs372819010 C A . PASS OTHERKG;RS=372819010;RSPOS=136667;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136702 rs377046460 G C . PASS OTHERKG;RS=377046460;RSPOS=136702;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136717 rs368904646 G A . PASS OTHERKG;RS=368904646;RSPOS=136717;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136733 rs373953908 G T . PASS OTHERKG;RS=373953908;RSPOS=136733;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136751 rs377691797 A G . PASS OTHERKG;RS=377691797;RSPOS=136751;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136787 rs371257153 G A . PASS OTHERKG;RS=371257153;RSPOS=136787;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136817 rs375833141 T C . PASS OTHERKG;RS=375833141;RSPOS=136817;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136836 rs377635242 G A . PASS OTHERKG;RS=377635242;RSPOS=136836;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136885 rs370858260 G A . PASS OTHERKG;RS=370858260;RSPOS=136885;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136896 rs373898018 G A . PASS OTHERKG;RS=373898018;RSPOS=136896;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136897 rs367747200 G C . PASS OTHERKG;RS=367747200;RSPOS=136897;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136908 rs371273784 G C . PASS OTHERKG;RS=371273784;RSPOS=136908;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136934 rs374541862 G A . PASS OTHERKG;RS=374541862;RSPOS=136934;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136962 rs373582709 C T . PASS OTHERKG;RS=373582709;RSPOS=136962;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136983 rs372200062 G A . PASS OTHERKG;RS=372200062;RSPOS=136983;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 136995 rs375239034 C T . PASS OTHERKG;RS=375239034;RSPOS=136995;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 137080 rs369524291 A G . PASS OTHERKG;RS=369524291;RSPOS=137080;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 137109 rs372162773 G A . PASS ASP;OTHERKG;RS=372162773;RSPOS=137109;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 137132 rs372741623 AG A . PASS ASP;OTHERKG;RS=372741623;RSPOS=137133;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 137287 rs375144581 G A . PASS ASP;OTHERKG;RS=375144581;RSPOS=137287;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 137355 rs369166220 G A . PASS ASP;OTHERKG;RS=369166220;RSPOS=137355;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 137377 rs199987969 G T . PASS ASP;OTHERKG;RS=199987969;RSPOS=137377;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 137402 rs372716479 G A . PASS ASP;OTHERKG;RS=372716479;RSPOS=137402;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 137622 rs376555721 G A . PASS ASP;OTHERKG;RS=376555721;RSPOS=137622;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 137801 rs191107331 G A . PASS ASP;CAF=[0.9986,0.001377];COMMON=1;KGPROD;KGPhase1;RS=191107331;RSPOS=137801;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 137825 rs147252685 G A . PASS ASP;CAF=[0.8967,0.1033];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=147252685;RSPOS=137825;SAO=0;SSR=0;VC=SNV;VP=0x050000000005100016000100;WGT=1;dbSNPBuildID=134 +chr1 137868 rs201189989 G A . PASS ASP;OTHERKG;RS=201189989;RSPOS=137868;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 137918 rs374391457 G C . PASS ASP;OTHERKG;RS=374391457;RSPOS=137918;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 137955 rs377666258 C T . PASS ASP;OTHERKG;RS=377666258;RSPOS=137955;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 138145 rs201963309 G A . PASS ASP;OTHERKG;RS=201963309;RSPOS=138145;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 138156 rs370691115 G T . PASS ASP;OTHERKG;RS=370691115;RSPOS=138156;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 138208 rs373372880 G A . PASS ASP;OTHERKG;RS=373372880;RSPOS=138208;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 138267 rs200029466 G A . PASS ASP;OTHERKG;RS=200029466;RSPOS=138267;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 138355 rs201180431 A G . PASS ASP;OTHERKG;RS=201180431;RSPOS=138355;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 138418 rs202205883 A G . PASS ASP;OTHERKG;RS=202205883;RSPOS=138418;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 138534 rs200360450 A G . PASS ASP;OTHERKG;RS=200360450;RSPOS=138534;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 138593 rs375595668 G T . PASS ASP;OTHERKG;RS=375595668;RSPOS=138593;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 138681 rs201035495 G C . PASS ASP;OTHERKG;RS=201035495;RSPOS=138681;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 138787 rs201763397 T G . PASS ASP;OTHERKG;RS=201763397;RSPOS=138787;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 138875 rs200305962 G A . PASS ASP;OTHERKG;RS=200305962;RSPOS=138875;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 139038 rs201756579 T C . PASS ASP;OTHERKG;RS=201756579;RSPOS=139038;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 139087 rs376341073 T C . PASS ASP;OTHERKG;RS=376341073;RSPOS=139087;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 139213 rs370723703 A G . PASS ASP;OTHERKG;RS=370723703;RSPOS=139213;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 139233 rs373847457 C A . PASS ASP;OTHERKG;RS=373847457;RSPOS=139233;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 139313 rs199552050 A T . PASS ASP;OTHERKG;RS=199552050;RSPOS=139313;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 139346 rs200845499 G T . PASS ASP;OTHERKG;RS=200845499;RSPOS=139346;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 139393 rs374474555 G T . PASS ASP;OTHERKG;RS=374474555;RSPOS=139393;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 139479 rs182357477 C T . PASS CAF=[0.9995,0.0004591];CFL;COMMON=0;KGPROD;KGPhase1;RS=182357477;RSPOS=139479;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000014000100;WGT=1;dbSNPBuildID=135 +chr1 139533 rs368508940 T A . PASS CFL;OTHERKG;RS=368508940;RSPOS=139533;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 139781 rs371864317 G A . PASS CFL;INT;OTHERKG;RS=371864317;RSPOS=139781;SAO=0;SSR=0;VC=SNV;VP=0x050000080009000002000100;WGT=1;dbSNPBuildID=138 +chr1 139841 rs62642133 T G . PASS OTHERKG;RS=62642133;RSPOS=139841;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 139869 rs368186505 A G . PASS CFL;INT;OTHERKG;RS=368186505;RSPOS=139869;SAO=0;SSR=0;VC=SNV;VP=0x050000080009000002000100;WGT=1;dbSNPBuildID=138 +chr1 139967 rs372012955 T C . PASS CFL;INT;OTHERKG;RS=372012955;RSPOS=139967;SAO=0;SSR=0;VC=SNV;VP=0x050000080009000002000100;WGT=1;dbSNPBuildID=138 +chr1 140144 rs376658282 A G . PASS CFL;OTHERKG;RS=376658282;RSPOS=140144;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 140431 rs201388201 A T . PASS CFL;OTHERKG;RS=201388201;RSPOS=140431;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=137 +chr1 140515 rs199695989 C G . PASS CFL;OTHERKG;RS=199695989;RSPOS=140515;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=137 +chr1 140641 rs200787321 G A . PASS CFL;OTHERKG;R5;RS=200787321;RSPOS=140641;SAO=0;SSR=0;VC=SNV;VP=0x050000020009000002000100;WGT=1;dbSNPBuildID=137 +chr1 140755 rs201622347 A G . PASS CFL;OTHERKG;R5;RS=201622347;RSPOS=140755;SAO=0;SSR=0;VC=SNV;VP=0x050000020009000002000100;WGT=1;dbSNPBuildID=137 +chr1 140854 rs199634725 A T . PASS CFL;OTHERKG;R5;RS=199634725;RSPOS=140854;SAO=0;SSR=0;VC=SNV;VP=0x050000020009000002000100;WGT=1;dbSNPBuildID=137 +chr1 140956 rs200734869 C T . PASS CFL;OTHERKG;R5;RS=200734869;RSPOS=140956;SAO=0;SSR=0;VC=SNV;VP=0x050000020009000002000100;WGT=1;dbSNPBuildID=137 +chr1 142492 rs202086374 G A . PASS CFL;OTHERKG;R5;RS=202086374;RSPOS=142492;SAO=0;SSR=0;VC=SNV;VP=0x050000020009000002000100;WGT=1;dbSNPBuildID=137 +chr1 142678 rs200103214 G A . PASS CFL;OTHERKG;RS=200103214;RSPOS=142678;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=137 +chr1 142719 rs201041094 T G . PASS CFL;OTHERKG;RS=201041094;RSPOS=142719;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=137 +chr1 143096 rs201676108 G A . PASS CFL;OTHERKG;RS=201676108;RSPOS=143096;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=137 +chr1 143155 rs200050315 G A . PASS CFL;OTHERKG;RS=200050315;RSPOS=143155;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=137 +chr1 143583 rs201013262 C T . PASS CFL;OTHERKG;RS=201013262;RSPOS=143583;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=137 +chr1 144044 rs141844601 G T . PASS CFL;OTHERKG;RS=141844601;RSPOS=144044;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=134 +chr1 144827 rs75191913 C T . PASS CFL;GNO;OTHERKG;RS=75191913;RSPOS=144827;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=131 +chr1 147685 rs368731746 A T . PASS CFL;OTHERKG;RS=368731746;RSPOS=147685;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 147750 rs374531769 C A . PASS CFL;OTHERKG;RS=374531769;RSPOS=147750;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 147897 rs375730365 C T . PASS CFL;OTHERKG;RS=375730365;RSPOS=147897;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 148116 rs369780209 A C . PASS CFL;OTHERKG;RS=369780209;RSPOS=148116;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 148177 rs373270068 T G . PASS CFL;OTHERKG;RS=373270068;RSPOS=148177;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 148253 rs377317267 G T . PASS CFL;OTHERKG;RS=377317267;RSPOS=148253;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 148940 rs201687047 G A . PASS CFL;OTHERKG;RS=201687047;RSPOS=148940;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=137 +chr1 150302 rs370602853 T C . PASS CFL;OTHERKG;RS=370602853;RSPOS=150302;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 150420 rs200277056 G A . PASS CFL;OTHERKG;RS=200277056;RSPOS=150420;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=137 +chr1 150462 rs199583388 A C . PASS CFL;OTHERKG;RS=199583388;RSPOS=150462;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=137 +chr1 150558 rs370480821 TCTC T . PASS OTHERKG;RS=370480821;RSPOS=150559;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 152587 rs375742923 G C . PASS CFL;OTHERKG;RS=375742923;RSPOS=152587;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 157259 rs370037340 G A . PASS CFL;OTHERKG;RS=370037340;RSPOS=157259;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 157746 rs374544578 A C . PASS CFL;OTHERKG;RS=374544578;RSPOS=157746;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 157954 rs368838832 T C . PASS CFL;OTHERKG;RS=368838832;RSPOS=157954;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 158006 rs371474651 A T . PASS CFL;OTHERKG;RS=371474651;RSPOS=158006;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 158253 rs374383733 C T . PASS CFL;OTHERKG;R3;RS=374383733;RSPOS=158253;SAO=0;SSR=0;VC=SNV;VP=0x050000040009000002000100;WGT=1;dbSNPBuildID=138 +chr1 160195 rs368349234 T C . PASS CFL;INT;OTHERKG;RS=368349234;RSPOS=160195;SAO=0;SSR=0;VC=SNV;VP=0x050000080009000002000100;WGT=1;dbSNPBuildID=138 +chr1 160207 rs372134469 A G . PASS CFL;INT;OTHERKG;RS=372134469;RSPOS=160207;SAO=0;SSR=0;VC=SNV;VP=0x050000080009000002000100;WGT=1;dbSNPBuildID=138 +chr1 161483 rs189086610 C G . PASS CAF=[0.9835,0.01653];CFL;COMMON=1;INT;KGPROD;KGPhase1;RS=189086610;RSPOS=161483;SAO=0;SSR=0;VC=SNV;VP=0x050000080009100014000100;WGT=1;dbSNPBuildID=135 +chr1 161488 rs193081027 C T . PASS CAF=[0.9862,0.01377];CFL;COMMON=1;INT;KGPROD;KGPhase1;RS=193081027;RSPOS=161488;SAO=0;SSR=0;VC=SNV;VP=0x050000080009100014000100;WGT=1;dbSNPBuildID=135 +chr1 162463 rs143399298 T C . PASS CAF=[0.9348,0.0652];CFL;COMMON=1;INT;KGPROD;KGPhase1;OTHERKG;RS=143399298;RSPOS=162463;SAO=0;SSR=0;VC=SNV;VP=0x050000080009100016000100;WGT=1;dbSNPBuildID=134 +chr1 165954 rs200989943 GAATA G . PASS CAF=[0.9812,0.01882];CFL;COMMON=1;INT;KGPROD;KGPhase1;KGPilot123;RS=200989943;RSPOS=165955;SAO=0;SSR=0;VC=DIV;VP=0x05000008000910001c000200;WGT=1;dbSNPBuildID=137 +chr1 166229 rs201186387 G A . PASS CFL;INT;OTHERKG;RS=201186387;RSPOS=166229;SAO=0;SSR=0;VC=SNV;VP=0x050000080009000002000100;WGT=1;dbSNPBuildID=137 +chr1 168373 rs183198872 C T . PASS CAF=[0.9766,0.02342];CFL;COMMON=1;KGPROD;KGPhase1;R5;RS=183198872;RSPOS=168373;SAO=0;SSR=0;VC=SNV;VP=0x050000020009100014000100;WGT=1;dbSNPBuildID=135 +chr1 168964 rs187450123 A G . PASS CAF=[0.9752,0.02479];CFL;COMMON=1;KGPROD;KGPhase1;R5;RS=187450123;RSPOS=168964;SAO=0;SSR=0;VC=SNV;VP=0x050000020009100014000100;WGT=1;dbSNPBuildID=135 +chr1 171529 rs191891026 A G . PASS CAF=[0.9885,0.01148];CFL;COMMON=1;KGPROD;KGPhase1;RS=191891026;RSPOS=171529;SAO=0;SSR=0;VC=SNV;VP=0x050000000009100014000100;WGT=1;dbSNPBuildID=135 +chr1 171841 rs184235219 A G . PASS CAF=[0.9963,0.003673];CFL;COMMON=1;KGPROD;KGPhase1;RS=184235219;RSPOS=171841;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000014000100;WGT=1;dbSNPBuildID=135 +chr1 172343 rs367715621 C T . PASS CFL;OTHERKG;RS=367715621;RSPOS=172343;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 172595 rs187071114 G A . PASS CAF=[0.8278,0.1722];CFL;COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=187071114;RSPOS=172595;SAO=0;SSR=0;VC=SNV;VP=0x050000000009100016000100;WGT=1;dbSNPBuildID=135 +chr1 172846 rs375837618 T C . PASS CFL;OTHERKG;RS=375837618;RSPOS=172846;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 172877 rs370010145 G C . PASS CFL;OTHERKG;RS=370010145;RSPOS=172877;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 172918 rs372737463 G A . PASS CFL;OTHERKG;RS=372737463;RSPOS=172918;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 173098 rs370188889 C T . PASS CFL;OTHERKG;RS=370188889;RSPOS=173098;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 173103 rs77708150 C T . PASS CFL;HD;OTHERKG;RS=77708150;RSPOS=173103;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000402000100;WGT=1;dbSNPBuildID=131 +chr1 173173 rs202207148 A G . PASS CFL;OTHERKG;RS=202207148;RSPOS=173173;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=137 +chr1 173709 rs192722547 A C . PASS CAF=[0.927,0.073];CFL;COMMON=1;KGPROD;KGPhase1;RS=192722547;RSPOS=173709;SAO=0;SSR=0;VC=SNV;VP=0x050000000009100014000100;WGT=1;dbSNPBuildID=135 +chr1 174170 rs375627533 C T . PASS CFL;OTHERKG;RS=375627533;RSPOS=174170;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 174217 rs369444218 G A . PASS CFL;OTHERKG;RS=369444218;RSPOS=174217;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 174760 rs372883517 T C . PASS CFL;OTHERKG;RS=372883517;RSPOS=174760;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 175214 rs374610762 G C . PASS CFL;OTHERKG;RS=374610762;RSPOS=175214;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 176230 rs72489570 A G . PASS CFL;GNO;OTHERKG;RS=72489570;RSPOS=176230;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=130 +chr1 176372 rs375836562 A C . PASS CFL;OTHERKG;RS=375836562;RSPOS=176372;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 257683 rs369228063 C T . PASS ASP;OTHERKG;RS=369228063;RSPOS=227434;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 257742 rs372646899 G A . PASS ASP;OTHERKG;RS=372646899;RSPOS=227493;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 257871 rs184145725 C T . PASS ASP;CAF=[0.9904,0.009642];COMMON=1;KGPROD;KGPhase1;RS=184145725;RSPOS=227622;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 258093 rs149969738 G A . PASS ASP;OTHERKG;RS=149969738;RSPOS=227844;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=134 +chr1 258168 rs145680509 A T . PASS ASP;OTHERKG;RS=145680509;RSPOS=227919;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=134 +chr1 258361 rs199626375 A C . PASS ASP;OTHERKG;RS=199626375;RSPOS=228112;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 259726 rs200364457 C T . PASS OTHERKG;RS=200364457;RSPOS=229477;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 259826 rs375445775 G A . PASS OTHERKG;RS=375445775;RSPOS=229577;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 259864 rs201539905 T C . PASS OTHERKG;RS=201539905;RSPOS=229615;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 259922 rs199571871 A C . PASS OTHERKG;RS=199571871;RSPOS=229673;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 259971 rs200637889 G T . PASS OTHERKG;RS=200637889;RSPOS=229722;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 260117 rs111293595 C T . PASS OTHERKG;RS=111293595;RSPOS=229868;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=132 +chr1 260151 rs62642953 G T . PASS OTHERKG;RS=62642953;RSPOS=229902;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 260296 rs199687319 A T . PASS OTHERKG;RS=199687319;RSPOS=230047;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 260307 rs62635260 T G . PASS GNO;OTHERKG;RS=62635260;RSPOS=230058;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001040102000100;WGT=1;dbSNPBuildID=129 +chr1 260354 rs201347561 G C . PASS OTHERKG;RS=201347561;RSPOS=230105;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 260540 rs368135728 G A . PASS OTHERKG;RS=368135728;RSPOS=230291;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 260682 rs190807317 T C . PASS CAF=[0.9904,0.009642];COMMON=1;KGPROD;KGPhase1;RS=190807317;RSPOS=230433;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 261053 rs111808888 C T . PASS OTHERKG;RS=111808888;RSPOS=230804;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=132 +chr1 261299 rs200833524 AGT A . PASS ASP;OTHERKG;RS=200833524;RSPOS=231051;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=137 +chr1 261303 rs200001186 T A . PASS OTHERKG;RS=200001186;RSPOS=231054;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 261319 rs372016800 A T . PASS OTHERKG;RS=372016800;RSPOS=231070;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 261340 rs373775750 G C . PASS OTHERKG;RS=373775750;RSPOS=231091;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 261412 rs200944940 G A . PASS OTHERKG;RS=200944940;RSPOS=231163;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 261417 rs367630633 G C . PASS OTHERKG;RS=367630633;RSPOS=231168;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 261424 rs375118149 T G . PASS OTHERKG;RS=375118149;RSPOS=231175;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 261454 rs201613055 T A . PASS OTHERKG;RS=201613055;RSPOS=231205;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 261463 rs200117511 C A . PASS OTHERKG;RS=200117511;RSPOS=231214;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 261478 rs201074810 C A . PASS OTHERKG;RS=201074810;RSPOS=231229;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 261495 rs202010765 T C . PASS OTHERKG;RS=202010765;RSPOS=231246;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 261704 rs140386775 T A . PASS OTHERKG;RS=140386775;RSPOS=231455;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=134 +chr1 261729 rs200482415 G C . PASS OTHERKG;RS=200482415;RSPOS=231480;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 261753 rs201247288 G A . PASS OTHERKG;RS=201247288;RSPOS=231504;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 261775 rs201983171 C T . PASS OTHERKG;RS=201983171;RSPOS=231526;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 261806 rs373298984 G A . PASS OTHERKG;RS=373298984;RSPOS=231557;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 262031 rs200310599 A G . PASS OTHERKG;RS=200310599;RSPOS=231782;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 262360 rs201308883 G C . PASS OTHERKG;RS=201308883;RSPOS=232111;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 262463 rs11490937 G A . PASS GNO;OTHERKG;PH3;RS=11490937;RSPOS=232214;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000103000100;WGT=1;dbSNPBuildID=120 +chr1 262619 rs199691820 G A . PASS OTHERKG;RS=199691820;RSPOS=232370;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 262698 rs144169752 G A . PASS OTHERKG;RS=144169752;RSPOS=232449;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=134 +chr1 262737 rs369032193 T C . PASS OTHERKG;RS=369032193;RSPOS=232488;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 262749 rs376496599 CAG C . PASS OTHERKG;RS=376496599;RSPOS=232501;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 262750 rs201422194 A T . PASS OTHERKG;RS=201422194;RSPOS=232501;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 262927 rs375139352 AAT A,AC . PASS NOC;OTHERKG;RS=375139352;RSPOS=232679;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000210;WGT=1;dbSNPBuildID=138 +chr1 263006 rs373455397 C T . PASS OTHERKG;RS=373455397;RSPOS=232757;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 263023 rs377688123 T C . PASS OTHERKG;RS=377688123;RSPOS=232774;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 263049 rs371240180 G T . PASS OTHERKG;RS=371240180;RSPOS=232800;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 263058 rs375821108 G A . PASS OTHERKG;RS=375821108;RSPOS=232809;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 263179 rs146484642 C G . PASS OTHERKG;RS=146484642;RSPOS=232930;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=134 +chr1 263204 rs200827137 G T . PASS OTHERKG;RS=200827137;RSPOS=232955;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 263209 rs199611749 C A . PASS OTHERKG;RS=199611749;RSPOS=232960;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 263210 rs200905204 T C . PASS OTHERKG;RS=200905204;RSPOS=232961;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 263211 rs201813011 G A . PASS OTHERKG;RS=201813011;RSPOS=232962;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 263305 rs374619333 C G . PASS OTHERKG;RS=374619333;RSPOS=233056;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 263335 rs201284474 G A . PASS OTHERKG;RS=201284474;RSPOS=233086;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 263463 rs367765540 T C . PASS OTHERKG;RS=367765540;RSPOS=233214;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 263497 rs371674153 G A . PASS OTHERKG;RS=371674153;RSPOS=233248;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 263722 rs115354837 C G . PASS CAF=[0.8219,0.1781];COMMON=1;G5;KGPROD;KGPhase1;OTHERKG;RS=115354837;RSPOS=233473;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001150016000100;WGT=1;dbSNPBuildID=132 +chr1 263725 rs141415251 G A . PASS CAF=[0.9949,0.005051];COMMON=1;KGPROD;KGPhase1;RS=141415251;RSPOS=233476;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=134 +chr1 263764 rs368776777 A G . PASS OTHERKG;RS=368776777;RSPOS=233515;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 263814 rs200412999 C T . PASS OTHERKG;RS=200412999;RSPOS=233565;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 263835 rs202245468 CCT C . PASS CAF=[0.9766,0.02342];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=202245468;RSPOS=233587;SAO=0;SSR=0;VC=DIV;VP=0x05000000000110001c000200;WGT=1;dbSNPBuildID=137 +chr1 263934 rs199948150 GC G . PASS OTHERKG;RS=199948150;RSPOS=233686;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=137 +chr1 264481 rs201432159 G A . PASS OTHERKG;RS=201432159;RSPOS=234232;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 264557 rs200066978 A G . PASS OTHERKG;RS=200066978;RSPOS=234308;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 264562 rs56055731 C T . PASS HD;OTHERKG;RS=56055731;RSPOS=234313;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000402000100;WGT=1;dbSNPBuildID=129 +chr1 264627 rs200864529 A G . PASS OTHERKG;RS=200864529;RSPOS=234378;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 264657 rs111659307 A G . PASS OTHERKG;RS=111659307;RSPOS=234408;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=132 +chr1 264681 rs8179455 A G . PASS CAF=[0.8848,0.1152];COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=8179455;RSPOS=234432;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000001100116000100;WGT=1;dbSNPBuildID=117 +chr1 264695 rs67749660 C T . PASS GNO;OTHERKG;RS=67749660;RSPOS=234446;RV;SAO=0;SLO;SSR=1;VC=SNV;VLD;VP=0x050100000001040102000140;WGT=1;dbSNPBuildID=130 +chr1 264715 rs201125094 C T . PASS OTHERKG;RS=201125094;RSPOS=234466;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 264730 rs8179403 T A . PASS GNO;OTHERKG;RS=8179403;RSPOS=234481;SAO=0;SLO;SSR=0;VC=SNV;VLD;VP=0x050100000001040102000100;WGT=1;dbSNPBuildID=117 +chr1 264783 rs111281142 A G . PASS OTHERKG;RS=111281142;RSPOS=234534;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=132 +chr1 264805 rs113278145 C T . PASS OTHERKG;RS=113278145;RSPOS=234556;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=132 +chr1 264858 rs201234721 T C . PASS OTHERKG;RS=201234721;RSPOS=234609;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 264897 rs376529845 T C . PASS OTHERKG;RS=376529845;RSPOS=234648;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 264962 rs370038177 T G . PASS OTHERKG;RS=370038177;RSPOS=234713;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 265009 rs200104186 A T . PASS OTHERKG;RS=200104186;RSPOS=234760;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 265261 rs368390116 G A . PASS OTHERKG;RS=368390116;RSPOS=235012;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 265428 rs371021687 C T . PASS OTHERKG;RS=371021687;RSPOS=235179;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 265859 rs200863507 C T . PASS OTHERKG;RS=200863507;RSPOS=235610;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 266093 rs138426292 C G . PASS OTHERKG;RS=138426292;RSPOS=235844;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=134 +chr1 266178 rs200488504 G A . PASS OTHERKG;RS=200488504;RSPOS=235929;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 266225 rs201583565 C A . PASS OTHERKG;RS=201583565;RSPOS=235976;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 266449 rs202164520 T C . PASS OTHERKG;RS=202164520;RSPOS=236200;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 267505 rs201327187 C T . PASS OTHERKG;RS=201327187;RSPOS=237256;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 267521 rs201077186 T A . PASS OTHERKG;RS=201077186;RSPOS=237272;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 267694 rs199724677 G C . PASS OTHERKG;RS=199724677;RSPOS=237445;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 267739 rs184796003 C A . PASS OTHERKG;RS=184796003;RSPOS=237490;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=135 +chr1 267754 rs367639380 T C . PASS OTHERKG;RS=367639380;RSPOS=237505;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 267805 rs371092035 G C . PASS OTHERKG;RS=371092035;RSPOS=237556;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 267933 rs113488767 G A . PASS CFL;OTHERKG;RS=113488767;RSPOS=237684;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=132 +chr1 268001 rs374471060 A G . PASS OTHERKG;RS=374471060;RSPOS=237752;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 268012 rs112186068 G A . PASS OTHERKG;RS=112186068;RSPOS=237763;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=132 +chr1 268043 rs372294275 C T . PASS OTHERKG;RS=372294275;RSPOS=237794;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 268069 rs375532013 G A . PASS OTHERKG;RS=375532013;RSPOS=237820;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 268121 rs368141176 G C . PASS OTHERKG;RS=368141176;RSPOS=237872;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 268126 rs181999503 C T . PASS CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=181999503;RSPOS=237877;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 268130 rs114112614 G T . PASS OTHERKG;RS=114112614;RSPOS=237881;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=134 +chr1 268516 rs200910168 C T . PASS OTHERKG;RS=200910168;RSPOS=238267;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 268559 rs201908537 A C . PASS OTHERKG;RS=201908537;RSPOS=238310;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 268618 rs200500460 G GT . PASS CAF=[0.9968,0.003214];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=200500460;RSPOS=238369;SAO=0;SSR=0;VC=DIV;VP=0x05000000000100001c000200;WGT=1;dbSNPBuildID=137 +chr1 269278 rs371649757 T C . PASS OTHERKG;RS=371649757;RSPOS=239029;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 269313 rs376646168 T C . PASS OTHERKG;RS=376646168;RSPOS=239064;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 269413 rs199966892 G A . PASS OTHERKG;RS=199966892;RSPOS=239164;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 269507 rs374525262 G T . PASS OTHERKG;RS=374525262;RSPOS=239258;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 269588 rs184451216 A G . PASS CAF=[0.9885,0.01148];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=184451216;RSPOS=239339;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=135 +chr1 269731 rs201702841 G T . PASS OTHERKG;RS=201702841;RSPOS=239482;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 269781 rs200000439 C T . PASS OTHERKG;RS=200000439;RSPOS=239532;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 269848 rs201588983 CTAAAA C . PASS CAF=[0.9972,0.002755];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=201588983;RSPOS=239600;SAO=0;SSR=0;VC=DIV;VP=0x05000000000100001c000200;WGT=1;dbSNPBuildID=137 +chr1 269969 rs201200088 T C . PASS OTHERKG;RS=201200088;RSPOS=239720;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 270396 rs202156508 C T . PASS OTHERKG;RS=202156508;RSPOS=240147;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 270684 rs143434963 C G . PASS OTHERKG;RS=143434963;RSPOS=240435;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=134 +chr1 271038 rs147589465 T G . PASS CAF=[0.9812,0.01882];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=147589465;RSPOS=240789;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=134 +chr1 271102 rs202055295 G A . PASS OTHERKG;RS=202055295;RSPOS=240853;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 271108 rs372755573 A G . PASS OTHERKG;RS=372755573;RSPOS=240859;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 271147 rs147990930 T G . PASS OTHERKG;RS=147990930;RSPOS=240898;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=134 +chr1 271276 rs112327644 G A . PASS OTHERKG;RS=112327644;RSPOS=241027;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=132 +chr1 271408 rs71222010 T TTTC . PASS GNO;OTHERKG;RS=71222010;RSPOS=241159;SAO=0;SLO;SSR=0;VC=DIV;VP=0x050100000001000102000200;WGT=1;dbSNPBuildID=130 +chr1 271512 rs7415228 C T . PASS OTHERKG;RS=7415228;RSPOS=241263;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=116 +chr1 271569 rs79974410 A G . PASS CAF=[0.8852,0.1148];COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=79974410;RSPOS=241320;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100116000100;WGT=1;dbSNPBuildID=131 +chr1 271573 rs367594446 G A . PASS OTHERKG;RS=367594446;RSPOS=241324;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 271575 rs371470551 C A . PASS OTHERKG;RS=371470551;RSPOS=241326;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 271618 rs11490246 C T . PASS GNO;OTHERKG;RS=11490246;RSPOS=241369;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=120 +chr1 271931 rs199959190 T C . PASS OTHERKG;RS=199959190;RSPOS=241682;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 272164 rs200885443 G A . PASS OTHERKG;RS=200885443;RSPOS=241915;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 272297 rs201279668 C T . PASS OTHERKG;RS=201279668;RSPOS=242048;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 272378 rs201921502 A T . PASS OTHERKG;RS=201921502;RSPOS=242129;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 272389 rs200295906 C T . PASS OTHERKG;RS=200295906;RSPOS=242140;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 272556 rs371060530 G C . PASS OTHERKG;RS=371060530;RSPOS=242307;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 272619 rs375322964 G T . PASS OTHERKG;RS=375322964;RSPOS=242370;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 273652 rs368292346 T C . PASS OTHERKG;RS=368292346;RSPOS=243403;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 273824 rs201185972 G T . PASS OTHERKG;RS=201185972;RSPOS=243575;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 273956 rs372169084 T C . PASS OTHERKG;RS=372169084;RSPOS=243707;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 274015 rs199561512 A G . PASS OTHERKG;RS=199561512;RSPOS=243766;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 274031 rs181434479 C A . PASS CAF=[0.9968,0.003214];COMMON=1;KGPROD;KGPhase1;RS=181434479;RSPOS=243782;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 274099 rs140116466 CAAGT C . PASS KGPROD;KGPilot123;OTHERKG;RS=140116466;RSPOS=243851;SAO=0;SSR=0;VC=DIV;VP=0x05000000000100000e000200;WGT=1;dbSNPBuildID=134 +chr1 274150 rs200423065 G C . PASS OTHERKG;RS=200423065;RSPOS=243901;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 274607 rs367719818 G T . PASS OTHERKG;RS=367719818;RSPOS=244358;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 275268 rs371453276 G A . PASS OTHERKG;RS=371453276;RSPOS=245019;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 275273 rs192405071 C A . PASS OTHERKG;RS=192405071;RSPOS=245024;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=135 +chr1 275294 rs370193521 C T . PASS OTHERKG;RS=370193521;RSPOS=245045;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 275333 rs372236020 T C . PASS OTHERKG;RS=372236020;RSPOS=245084;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 275337 rs199660279 T C . PASS OTHERKG;RS=199660279;RSPOS=245088;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 275388 rs202020431 G A . PASS OTHERKG;RS=202020431;RSPOS=245139;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 275505 rs200930606 AG A . PASS OTHERKG;RS=200930606;RSPOS=245257;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=137 +chr1 275547 rs369496311 T C . PASS OTHERKG;RS=369496311;RSPOS=245298;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 275583 rs373254062 TTTTA T . PASS OTHERKG;RS=373254062;RSPOS=245335;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 275627 rs372878561 C A . PASS OTHERKG;RS=372878561;RSPOS=245378;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 275974 rs375838562 C T . PASS OTHERKG;RS=375838562;RSPOS=245725;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 276309 rs185479292 G A . PASS CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=185479292;RSPOS=246060;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 277226 rs200797647 A C . PASS OTHERKG;RS=200797647;RSPOS=246977;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 277635 rs201645834 G A . PASS OTHERKG;RS=201645834;RSPOS=247386;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 277677 rs199648226 G T . PASS OTHERKG;RS=199648226;RSPOS=247428;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 277801 rs376115996 G A . PASS OTHERKG;RS=376115996;RSPOS=247552;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 277834 rs200737796 G A . PASS OTHERKG;RS=200737796;RSPOS=247585;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 278032 rs201910832 C T . PASS OTHERKG;RS=201910832;RSPOS=247783;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 278075 rs200473773 T C . PASS OTHERKG;RS=200473773;RSPOS=247826;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 278077 rs377361124 C A . PASS OTHERKG;RS=377361124;RSPOS=247828;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 278086 rs201483383 T A . PASS OTHERKG;RS=201483383;RSPOS=247837;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 278165 rs202029170 CAGG C . PASS CAF=[0.9261,0.07392];COMMON=1;KGPROD;KGPhase1;KGPilot123;OTHERKG;RS=202029170;RSPOS=247917;SAO=0;SSR=0;VC=DIV;VP=0x05000000000110001e000200;WGT=1;dbSNPBuildID=137 +chr1 278537 rs368020955 T C . PASS OTHERKG;RS=368020955;RSPOS=248288;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 278553 rs375277195 G C . PASS OTHERKG;RS=375277195;RSPOS=248304;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 278954 rs368138620 G T . PASS OTHERKG;RS=368138620;RSPOS=248705;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 279062 rs372006255 G T . PASS OTHERKG;RS=372006255;RSPOS=248813;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 279273 rs374445198 A G . PASS OTHERKG;RS=374445198;RSPOS=249024;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 279309 rs367615512 A G . PASS OTHERKG;RS=367615512;RSPOS=249060;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 279334 rs372844250 A C . PASS OTHERKG;RS=372844250;RSPOS=249085;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 279524 rs200079338 G GT . PASS CAF=[0.8623,0.1377];COMMON=1;KGPROD;KGPhase1;KGPilot123;OTHERKG;RS=200079338;RSPOS=249275;SAO=0;SSR=0;VC=DIV;VP=0x05000000000100001e000200;WGT=1;dbSNPBuildID=137 +chr1 279525 rs115018998 T C . PASS CAF=[0.994,0.005969];COMMON=1;KGPROD;KGPhase1;RS=115018998;RSPOS=249276;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001040014000100;WGT=1;dbSNPBuildID=132 +chr1 279951 rs200930581 G A . PASS OTHERKG;RS=200930581;RSPOS=249702;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 280087 rs201938964 A G . PASS OTHERKG;RS=201938964;RSPOS=249838;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 280198 rs199502960 C A . PASS OTHERKG;RS=199502960;RSPOS=249949;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 280424 rs372072417 A G . PASS OTHERKG;RS=372072417;RSPOS=250175;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 280433 rs375152006 G A . PASS OTHERKG;RS=375152006;RSPOS=250184;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 280440 rs369328110 C A . PASS OTHERKG;RS=369328110;RSPOS=250191;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 280485 rs377282247 CT C . PASS OTHERKG;RS=377282247;RSPOS=250237;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 280599 rs372766634 T C . PASS OTHERKG;RS=372766634;RSPOS=250350;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 280638 rs377027759 C T . PASS OTHERKG;RS=377027759;RSPOS=250389;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 280657 rs76197096 C T . PASS CFL;GNO;OTHERKG;RS=76197096;RSPOS=250408;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=131 +chr1 280671 rs368892805 G A . PASS OTHERKG;RS=368892805;RSPOS=250422;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 280674 rs373948165 A G . PASS OTHERKG;RS=373948165;RSPOS=250425;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 280700 rs376857403 T C . PASS OTHERKG;RS=376857403;RSPOS=250451;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 280821 rs371243487 G A . PASS OTHERKG;RS=371243487;RSPOS=250572;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 281876 rs72502741 AC A . PASS CAF=[0.8618,0.1382];COMMON=1;KGPROD;KGPhase1;KGPilot123;OTHERKG;RS=72502741;RSPOS=251628;SAO=0;SSR=0;VC=DIV;VP=0x05000000000110001e000200;WGT=1;dbSNPBuildID=130 +chr1 281897 rs200052149 A G . PASS OTHERKG;RS=200052149;RSPOS=251648;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 281912 rs201015357 C G . PASS OTHERKG;RS=201015357;RSPOS=251663;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 282198 rs201450964 C G . PASS OTHERKG;RS=201450964;RSPOS=251949;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 282393 rs191013370 T C . PASS CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=191013370;RSPOS=252144;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 282551 rs200322536 T C . PASS OTHERKG;RS=200322536;RSPOS=252302;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 282721 rs200207804 A G . PASS OTHERKG;RS=200207804;RSPOS=252472;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 282728 rs201718638 T C . PASS OTHERKG;RS=201718638;RSPOS=252479;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 282888 rs200683317 A G . PASS OTHERKG;RS=200683317;RSPOS=252639;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 283029 rs377630639 G A . PASS OTHERKG;RS=377630639;RSPOS=252780;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 283043 rs370728828 G A . PASS OTHERKG;RS=370728828;RSPOS=252794;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 283102 rs201695069 T C . PASS OTHERKG;RS=201695069;RSPOS=252853;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 283205 rs200725328 T C . PASS OTHERKG;RS=200725328;RSPOS=252956;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 283349 rs200278264 G A . PASS OTHERKG;RS=200278264;RSPOS=253100;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 283378 rs202120396 G C . PASS OTHERKG;RS=202120396;RSPOS=253129;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 283477 rs200443795 G A . PASS OTHERKG;RS=200443795;RSPOS=253228;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 284435 rs148663102 T C . PASS CAF=[0.9816,0.01837];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=148663102;RSPOS=254186;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=134 +chr1 284690 rs202059662 T C . PASS OTHERKG;RS=202059662;RSPOS=254441;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 284861 rs370068828 C A . PASS OTHERKG;RS=370068828;RSPOS=254612;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 284874 rs374335700 T C . PASS OTHERKG;RS=374335700;RSPOS=254625;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 284892 rs368779700 G A . PASS OTHERKG;RS=368779700;RSPOS=254643;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 284929 rs200562801 A G . PASS OTHERKG;RS=200562801;RSPOS=254680;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 284974 rs201049856 A T . PASS OTHERKG;RS=201049856;RSPOS=254725;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 285062 rs372173794 T C . PASS OTHERKG;RS=372173794;RSPOS=254813;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 285131 rs367897881 AG A . PASS OTHERKG;RS=367897881;RSPOS=254883;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 285131 rs370333946 AGAAT A . PASS OTHERKG;RS=370333946;RSPOS=254883;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 285132 rs201327990 G A . PASS OTHERKG;RS=201327990;RSPOS=254883;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 285135 rs199617873 T A . PASS OTHERKG;RS=199617873;RSPOS=254886;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 285175 rs71236370 C T . PASS GNO;OTHERKG;RS=71236370;RSPOS=254926;RV;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000001000102000100;WGT=1;dbSNPBuildID=130 +chr1 285320 rs375222467 T C . PASS OTHERKG;RS=375222467;RSPOS=255071;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 285386 rs200373933 T G . PASS OTHERKG;RS=200373933;RSPOS=255137;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 285416 rs368259383 T G . PASS OTHERKG;RS=368259383;RSPOS=255167;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 285441 rs201544877 C T . PASS OTHERKG;RS=201544877;RSPOS=255192;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 285651 rs368427088 AAGGG A . PASS OTHERKG;RS=368427088;RSPOS=255403;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 285746 rs371664426 C T . PASS OTHERKG;RS=371664426;RSPOS=255497;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 285882 rs375136935 A G . PASS OTHERKG;RS=375136935;RSPOS=255633;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 286156 rs372810680 GTA G . PASS OTHERKG;RS=372810680;RSPOS=255908;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 286158 rs200542524 A ATG . PASS ASP;OTHERKG;RS=200542524;RSPOS=255909;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=137 +chr1 286158 rs377605329 ATG A . PASS OTHERKG;RS=377605329;RSPOS=255910;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 286172 rs199745078 G GTC . PASS CAF=[0.6451,0.3549];COMMON=1;KGPROD;KGPhase1;KGPilot123;OTHERKG;RS=199745078;RSPOS=255923;SAO=0;SSR=0;VC=DIV;VP=0x05000000000110001e000200;WGT=1;dbSNPBuildID=137 +chr1 286172 rs201519762 G GTC . PASS OTHERKG;RS=201519762;RSPOS=255924;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=137 +chr1 286204 rs375542138 A T . PASS OTHERKG;RS=375542138;RSPOS=255955;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 286271 rs181053586 A G . PASS CAF=[0.9982,0.001837];COMMON=1;KGPROD;KGPhase1;RS=181053586;RSPOS=256022;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 286387 rs372711491 T G . PASS OTHERKG;RS=372711491;RSPOS=256138;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 286419 rs375823478 T G . PASS OTHERKG;RS=375823478;RSPOS=256170;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 286599 rs370028216 A G . PASS OTHERKG;RS=370028216;RSPOS=256350;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 286747 rs369556846 A G . PASS OTHERKG;RS=369556846;RSPOS=256498;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 286835 rs140435168 T G . PASS CAF=[0.9816,0.01837];COMMON=1;KGPROD;KGPhase1;RS=140435168;RSPOS=256586;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=134 +chr1 287171 rs377659925 T A . PASS OTHERKG;RS=377659925;RSPOS=256922;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 287300 rs370851938 G A . PASS OTHERKG;RS=370851938;RSPOS=257051;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 288130 rs373366992 T C . PASS OTHERKG;RS=373366992;RSPOS=257881;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 288242 rs376632859 G C . PASS OTHERKG;RS=376632859;RSPOS=257993;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 288386 rs370718922 G A . PASS OTHERKG;RS=370718922;RSPOS=258137;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 288569 rs373789011 T A . PASS OTHERKG;RS=373789011;RSPOS=258320;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 288838 rs185940535 C A . PASS CAF=[0.9982,0.001837];COMMON=1;KGPROD;KGPhase1;RS=185940535;RSPOS=258589;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 289133 rs367628004 G A . PASS OTHERKG;RS=367628004;RSPOS=258884;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 289179 rs199575519 C T . PASS OTHERKG;RS=199575519;RSPOS=258930;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 289456 rs143738566 A C . PASS CAF=[0.9968,0.003214];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=143738566;RSPOS=259207;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000016000100;WGT=1;dbSNPBuildID=134 +chr1 290506 rs368354926 C A . PASS OTHERKG;RS=368354926;RSPOS=260257;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 291791 rs192416692 T C . PASS CAF=[0.9959,0.004132];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=192416692;RSPOS=261542;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000016000100;WGT=1;dbSNPBuildID=135 +chr1 295440 rs376470997 T G . PASS OTHERKG;RS=376470997;RSPOS=265191;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 295969 rs368186210 T C . PASS OTHERKG;RS=368186210;RSPOS=265720;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 296409 rs372045641 A G . PASS OTHERKG;RS=372045641;RSPOS=266160;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 296990 rs376637903 G A . PASS OTHERKG;RS=376637903;RSPOS=266741;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 297002 rs200797842 G C . PASS OTHERKG;RS=200797842;RSPOS=266753;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 297403 rs200135407 C T . PASS OTHERKG;RS=200135407;RSPOS=267154;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001040002000100;WGT=1;dbSNPBuildID=137 +chr1 297476 rs374780253 TTAA T . PASS OTHERKG;RS=374780253;RSPOS=267228;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 297531 rs200984748 T C . PASS OTHERKG;RS=200984748;RSPOS=267282;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 297604 rs371459801 TATA T . PASS OTHERKG;RS=371459801;RSPOS=267356;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 297957 rs373318196 A C . PASS ASP;OTHERKG;RS=373318196;RSPOS=267708;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 348173 rs200799539 C A . PASS ASP;OTHERKG;RS=200799539;RSPOS=471164;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 348174 rs199620839 G C . PASS ASP;OTHERKG;RS=199620839;RSPOS=471163;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 348383 rs201334226 G C . PASS ASP;OTHERKG;RS=201334226;RSPOS=470954;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 350714 rs377332771 A G . PASS ASP;OTHERKG;RS=377332771;RSPOS=468623;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 360262 rs375651228 C T . PASS CFL;OTHERKG;RS=375651228;RSPOS=459075;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 362067 rs370957188 G A . PASS CFL;OTHERKG;RS=370957188;RSPOS=457270;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 362228 rs376762295 A C . PASS CFL;OTHERKG;RS=376762295;RSPOS=457109;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 368912 rs78409573 C T . PASS CFL;GNO;OTHERKG;RS=78409573;RSPOS=450425;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=131 +chr1 369128 rs79326384 A G . PASS CFL;GNO;OTHERKG;RS=79326384;RSPOS=450209;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=131 +chr1 369222 rs75542457 G A . PASS CFL;GNO;OTHERKG;RS=75542457;RSPOS=450115;RV;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000009040102000100;WGT=1;dbSNPBuildID=131 +chr1 369719 rs375425291 A G . PASS ASP;OTHERKG;RS=375425291;RSPOS=449618;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 369771 rs62639626 A G . PASS ASP;OTHERKG;RS=62639626;RSPOS=449566;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=129 +chr1 370044 rs371177879 T C . PASS ASP;OTHERKG;RS=371177879;RSPOS=449293;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 370169 rs373263513 G A . PASS ASP;OTHERKG;RS=373263513;RSPOS=449168;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 371389 rs200422135 G T . PASS ASP;OTHERKG;RS=200422135;RSPOS=447948;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 371390 rs202090692 C G . PASS ASP;OTHERKG;RS=202090692;RSPOS=447947;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 371641 rs201301902 C T . PASS ASP;OTHERKG;RS=201301902;RSPOS=447696;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 372011 rs200315083 C T . PASS ASP;OTHERKG;RS=200315083;RSPOS=447326;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 372151 rs201991230 G A . PASS ASP;OTHERKG;RS=201991230;RSPOS=447186;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 381385 rs150904834 A G . PASS ASP;OTHERKG;RS=150904834;RSPOS=437952;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=134 +chr1 381510 rs141572790 A T . PASS ASP;OTHERKG;RS=141572790;RSPOS=437827;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=134 +chr1 381666 rs138983045 T C . PASS ASP;OTHERKG;RS=138983045;RSPOS=437671;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=134 +chr1 381683 rs145099697 A G . PASS ASP;OTHERKG;RS=145099697;RSPOS=437654;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=134 +chr1 381804 rs141313203 A G . PASS ASP;OTHERKG;RS=141313203;RSPOS=437533;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=134 +chr1 382277 rs200058318 G A . PASS ASP;OTHERKG;RS=200058318;RSPOS=437060;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 382296 rs202192213 G A . PASS ASP;OTHERKG;RS=202192213;RSPOS=437041;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 403135 rs150426163 C A . PASS CAF=[0.9963,0.003673];CFL;COMMON=1;KGPROD;KGPhase1;RS=150426163;RSPOS=416202;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000014000100;WGT=1;dbSNPBuildID=134 +chr1 403195 rs375657550 G C . PASS CFL;OTHERKG;RS=375657550;RSPOS=416142;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 404815 rs372640522 T C . PASS ASP;OTHERKG;RS=372640522;RSPOS=414522;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 405164 rs200935520 T C . PASS ASP;OTHERKG;RS=200935520;RSPOS=414173;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 405165 rs143956329 T C . PASS ASP;OTHERKG;RS=143956329;RSPOS=414172;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=134 +chr1 405465 rs369220034 C T . PASS ASP;OTHERKG;RS=369220034;RSPOS=413872;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 405467 rs375824549 A G . PASS ASP;OTHERKG;RS=375824549;RSPOS=413870;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 414363 rs377615964 T C . PASS OTHERKG;RS=377615964;RSPOS=404974;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 414366 rs373355247 A G . PASS OTHERKG;RS=373355247;RSPOS=404971;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 414435 rs370493623 T C . PASS OTHERKG;RS=370493623;RSPOS=404902;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 414452 rs377078754 T C . PASS OTHERKG;RS=377078754;RSPOS=404885;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 414574 rs201907784 A G . PASS OTHERKG;RS=201907784;RSPOS=404763;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 414663 rs372564657 C T . PASS OTHERKG;RS=372564657;RSPOS=404674;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 414665 rs201817102 C T . PASS OTHERKG;RS=201817102;RSPOS=404672;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 414674 rs368983809 ACG G . PASS OTHERKG;RS=368983809;RSPOS=404662;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 414909 rs369921422 G A . PASS OTHERKG;RS=369921422;RSPOS=404428;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 414928 rs375479067 A C . PASS OTHERKG;RS=375479067;RSPOS=404409;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 417963 rs200618802 A G . PASS OTHERKG;RS=200618802;RSPOS=401374;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 417964 rs199595094 G A . PASS ASP;OTHERKG;RS=199595094;RSPOS=401373;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 417967 rs199818374 A G . PASS OTHERKG;RS=199818374;RSPOS=401370;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 417971 rs200279860 A G . PASS OTHERKG;RS=200279860;RSPOS=401366;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 418017 rs75345457 G T . PASS GNO;OTHERKG;RS=75345457;RSPOS=401320;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=131 +chr1 433022 rs138343296 A G . PASS ASP;OTHERKG;RS=138343296;RSPOS=386315;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=134 +chr1 433170 rs74439642 G C . PASS CFL;GNO;OTHERKG;RS=74439642;RSPOS=386167;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=131 +chr1 434284 rs113653250 T G . PASS ASP;OTHERKG;RS=113653250;RSPOS=385053;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=132 +chr1 434286 rs62639156 C G . PASS ASP;OTHERKG;RS=62639156;RSPOS=385051;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=129 +chr1 434364 rs62639155 A G . PASS ASP;OTHERKG;RS=62639155;RSPOS=384973;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=129 +chr1 434386 rs62392176 C T . PASS ASP;OTHERKG;RS=62392176;RSPOS=384951;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=129 +chr1 434441 rs62392175 A G . PASS ASP;OTHERKG;RS=62392175;RSPOS=384896;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=129 +chr1 434504 rs62392174 G A . PASS ASP;OTHERKG;RS=62392174;RSPOS=384833;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=129 +chr1 434518 rs62428671 A G . PASS ASP;OTHERKG;RS=62428671;RSPOS=384819;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=129 +chr1 434624 rs62639157 G A . PASS ASP;OTHERKG;RS=62639157;RSPOS=384713;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=129 +chr1 434651 rs62639154 A G . PASS ASP;OTHERKG;RS=62639154;RSPOS=384686;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=129 +chr1 434672 rs62392173 A G . PASS ASP;OTHERKG;RS=62392173;RSPOS=384665;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=129 +chr1 434682 rs62639153 G A . PASS ASP;OTHERKG;RS=62639153;RSPOS=384655;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=129 +chr1 434710 rs62639158 G C . PASS ASP;OTHERKG;RS=62639158;RSPOS=384627;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=129 +chr1 434716 rs1913420 A G . PASS OTHERKG;RS=1913420;RSPOS=384621;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=92 +chr1 434740 rs4116902 A G . PASS OTHERKG;RS=4116902;RSPOS=384597;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=108 +chr1 434787 rs369654223 G C . PASS ASP;OTHERKG;RS=369654223;RSPOS=384550;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 434825 rs375601090 G C . PASS ASP;OTHERKG;RS=375601090;RSPOS=384512;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 434870 rs372726507 A G . PASS ASP;OTHERKG;RS=372726507;RSPOS=384467;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 434896 rs370008296 C T . PASS ASP;OTHERKG;RS=370008296;RSPOS=384441;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 435014 rs376551380 A G . PASS ASP;OTHERKG;RS=376551380;RSPOS=384323;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 435694 rs7418215 T G . PASS ASP;OTHERKG;RS=7418215;RSPOS=383643;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=116 +chr1 454988 rs201616765 C T . PASS OTHERKG;RS=201616765;RSPOS=364349;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 455017 rs367702628 T C . PASS OTHERKG;RS=367702628;RSPOS=364320;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 455038 rs375091414 T C . PASS OTHERKG;RS=375091414;RSPOS=364299;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 455065 rs200952503 G T . PASS OTHERKG;RS=200952503;RSPOS=364272;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 455086 rs200009032 C A . PASS OTHERKG;RS=200009032;RSPOS=364251;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 455210 rs202020288 C T . PASS OTHERKG;RS=202020288;RSPOS=364127;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 455741 rs202079576 T A . PASS OTHERKG;RS=202079576;RSPOS=363596;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 456430 rs138802168 C G . PASS CAF=[0.9711,0.02893];COMMON=1;KGPROD;KGPhase1;RS=138802168;RSPOS=362907;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=134 +chr1 456432 rs182870673 A C . PASS CAF=[0.9063,0.09366];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=182870673;RSPOS=362905;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=135 +chr1 456442 rs190726048 T C . PASS CAF=[0.9968,0.003214];COMMON=1;KGPROD;KGPhase1;RS=190726048;RSPOS=362895;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 457433 rs200964222 T C . PASS ASP;OTHERKG;RS=200964222;RSPOS=361904;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 457792 rs199664192 A T . PASS ASP;OTHERKG;RS=199664192;RSPOS=361545;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=137 +chr1 460897 rs187762289 A T . PASS ASP;CAF=[0.9945,0.00551];COMMON=1;KGPROD;KGPhase1;RS=187762289;RSPOS=358440;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 462800 rs183318141 C T . PASS ASP;CAF=[0.9986,0.001377];COMMON=1;KGPROD;KGPhase1;RS=183318141;RSPOS=356537;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000014000100;WGT=1;dbSNPBuildID=135 +chr1 463805 rs75706905 G A . PASS CFL;GNO;OTHERKG;RS=75706905;RSPOS=355532;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=131 +chr1 463806 rs78394685 G C . PASS CFL;GNO;OTHERKG;RS=78394685;RSPOS=355531;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=131 +chr1 463809 rs77832493 A C . PASS CFL;GNO;OTHERKG;RS=77832493;RSPOS=355528;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=131 +chr1 464057 rs2527589 C T . PASS ASP;OTHERKG;RS=2527589;RSPOS=355280;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=100 +chr1 465561 rs368253331 G A . PASS ASP;OTHERKG;RS=368253331;RSPOS=353776;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 475308 rs199657448 CAAA A . PASS ASP;OTHERKG;RS=199657448;RSPOS=344027;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=137 +chr1 492147 rs374371262 C T . PASS CFL;OTHERKG;RS=374371262;RSPOS=327190;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 492212 rs371473316 C T . PASS CFL;OTHERKG;RS=371473316;RSPOS=327125;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 492283 rs376539322 A G . PASS CFL;OTHERKG;RS=376539322;RSPOS=327054;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 492310 rs374541585 A G . PASS CFL;OTHERKG;RS=374541585;RSPOS=327027;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 492326 rs370014980 G T . PASS CFL;OTHERKG;RS=370014980;RSPOS=327011;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 492344 rs375727757 A G . PASS CFL;OTHERKG;RS=375727757;RSPOS=326993;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 492372 rs373268166 G T . PASS CFL;OTHERKG;RS=373268166;RSPOS=326965;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 492380 rs138542627 G A . PASS CFL;OTHERKG;RS=138542627;RSPOS=326957;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=134 +chr1 492392 rs370581816 C G . PASS CFL;OTHERKG;RS=370581816;RSPOS=326945;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 492477 rs377316248 G A . PASS CFL;OTHERKG;RS=377316248;RSPOS=326860;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 492560 rs373268542 C T . PASS CFL;OTHERKG;RS=373268542;RSPOS=326777;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 492606 rs369912735 C T . PASS CFL;OTHERKG;RS=369912735;RSPOS=326731;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000002000100;WGT=1;dbSNPBuildID=138 +chr1 494182 rs377166857 G T . PASS ASP;OTHERKG;RS=377166857;RSPOS=325155;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 494210 rs374510105 A G . PASS ASP;OTHERKG;RS=374510105;RSPOS=325127;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 494262 rs368711369 C G . PASS ASP;OTHERKG;RS=368711369;RSPOS=325075;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 586083 rs201775458 G T . PASS OTHERKG;RS=201775458;RSPOS=521463;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 586198 rs368130516 G A . PASS OTHERKG;RS=368130516;RSPOS=521578;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 586223 rs199602814 G A . PASS OTHERKG;RS=199602814;RSPOS=521603;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 586876 rs200411056 C T . PASS OTHERKG;RS=200411056;RSPOS=522256;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 587082 rs372010597 A G . PASS OTHERKG;RS=372010597;RSPOS=522462;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 587096 rs188307237 A T . PASS CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=188307237;RSPOS=522476;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 588091 rs192687139 T C . PASS CAF=[0.8522,0.1478];COMMON=1;KGPROD;KGPhase1;RS=192687139;RSPOS=523471;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=135 +chr1 588599 rs374960914 A G . PASS OTHERKG;RS=374960914;RSPOS=523979;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 589315 rs201430225 T C . PASS OTHERKG;RS=201430225;RSPOS=524695;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 590318 rs2808353 A G . PASS CAF=[0.9982,0.001837];COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=2808353;RSPOS=525698;RV;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000116000100;WGT=1;dbSNPBuildID=100 +chr1 590658 rs371257765 AAA A,AAAAT . PASS OTHERKG;RS=371257765;RSPOS=526039;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 590677 rs141459107 T C . PASS CAF=[0.9949,0.005051];COMMON=1;KGPROD;KGPhase1;RS=141459107;RSPOS=526057;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=134 +chr1 590881 rs367604763 C G . PASS OTHERKG;RS=367604763;RSPOS=526261;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 591181 rs372337835 T G . PASS OTHERKG;RS=372337835;RSPOS=526561;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 591242 rs200050842 C T . PASS OTHERKG;RS=200050842;RSPOS=526622;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 591312 rs143629215 C T . PASS CAF=[0.9954,0.004591];COMMON=1;KGPROD;KGPhase1;RS=143629215;RSPOS=526692;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=134 +chr1 591342 rs28782493 T C . PASS OTHERKG;RS=28782493;RSPOS=526722;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=125 +chr1 591353 rs28760963 C T . PASS OTHERKG;RS=28760963;RSPOS=526733;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=125 +chr1 591355 rs187540194 C T . PASS CAF=[0.9991,0.0009183];COMMON=1;KGPROD;KGPhase1;RS=187540194;RSPOS=526735;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 591356 rs28863004 C G . PASS GNO;HD;OTHERKG;RS=28863004;RSPOS=526736;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000502000100;WGT=1;dbSNPBuildID=125 +chr1 591391 rs140972083 G C . PASS CAF=[0.9949,0.005051];COMMON=1;KGPROD;KGPhase1;RS=140972083;RSPOS=526771;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=134 +chr1 591413 rs111822079 A G . PASS GNO;OTHERKG;RS=111822079;RSPOS=526793;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000001000102000100;WGT=1;dbSNPBuildID=132 +chr1 591452 rs192574259 G C . PASS CAF=[0.9899,0.0101];COMMON=1;KGPROD;KGPhase1;RS=192574259;RSPOS=526832;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=135 +chr1 591460 rs60396226 T C . PASS CAF=[0.8949,0.1051];COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=60396226;RSPOS=526840;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000001100116000100;WGT=1;dbSNPBuildID=129 +chr1 591463 rs12354290 G A . PASS OTHERKG;RS=12354290;RSPOS=526843;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=120 +chr1 591478 rs369599669 T G . PASS OTHERKG;RS=369599669;RSPOS=526858;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 591550 rs201178613 C T . PASS OTHERKG;RS=201178613;RSPOS=526930;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 591590 rs60791385 T C . PASS CAF=[0.9738,0.02617];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=60791385;RSPOS=526970;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=129 +chr1 591602 rs369333530 T C . PASS OTHERKG;RS=369333530;RSPOS=526982;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 591626 rs58575848 T C . PASS OTHERKG;RS=58575848;RSPOS=527006;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 591650 rs376224673 C T . PASS OTHERKG;RS=376224673;RSPOS=527030;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 591651 rs61539349 G A . PASS OTHERKG;RS=61539349;RSPOS=527031;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 591658 rs189135631 C T . PASS CAF=[0.9761,0.02388];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=189135631;RSPOS=527038;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=135 +chr1 591689 rs55684445 C G . PASS OTHERKG;RS=55684445;RSPOS=527069;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 591710 rs60833825 A G . PASS OTHERKG;RS=60833825;RSPOS=527090;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 591728 rs61209377 T C . PASS OTHERKG;RS=61209377;RSPOS=527108;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 591763 rs76728905 A C . PASS GNO;OTHERKG;RS=76728905;RSPOS=527143;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=131 +chr1 591777 rs143773298 A G . PASS CAF=[0.9899,0.0101];COMMON=1;KGPROD;KGPhase1;RS=143773298;RSPOS=527157;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=134 +chr1 591806 rs111227194 A G . PASS CAF=[0.9573,0.0427];COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=111227194;RSPOS=527186;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000001100116000100;WGT=1;dbSNPBuildID=132 +chr1 591827 rs112901516 A G . PASS CAF=[0.9568,0.04316];COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=112901516;RSPOS=527207;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000001100116000100;WGT=1;dbSNPBuildID=132 +chr1 591839 rs181574093 G A . PASS CAF=[0.9949,0.005051];COMMON=1;KGPROD;KGPhase1;RS=181574093;RSPOS=527219;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 593450 rs200102771 A G . PASS OTHERKG;RS=200102771;RSPOS=528830;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 594367 rs200863388 C T . PASS OTHERKG;RS=200863388;RSPOS=529747;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 594402 rs144425991 C T . PASS CAF=[0.9481,0.05188];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=144425991;RSPOS=529782;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=134 +chr1 594675 rs200469641 C T . PASS OTHERKG;RS=200469641;RSPOS=530055;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 595259 rs201764041 G A . PASS OTHERKG;RS=201764041;RSPOS=530639;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 596140 rs200467677 T G . PASS OTHERKG;RS=200467677;RSPOS=531520;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 596365 rs377632038 A G . PASS OTHERKG;RS=377632038;RSPOS=531745;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 596428 rs371880808 GCA G . PASS OTHERKG;RS=371880808;RSPOS=531809;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 596629 rs201982178 T C . PASS OTHERKG;RS=201982178;RSPOS=532009;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 596671 rs184296032 A C . PASS CAF=[0.9807,0.01928];COMMON=1;KGPROD;KGPhase1;RS=184296032;RSPOS=532051;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=135 +chr1 596700 rs150672670 T C . PASS OTHERKG;RS=150672670;RSPOS=532080;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=134 +chr1 596796 rs369803812 TTC T,TCA . PASS NOC;OTHERKG;RS=369803812;RSPOS=532177;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000210;WGT=1;dbSNPBuildID=138 +chr1 596797 rs375316691 TCA T . PASS OTHERKG;RS=375316691;RSPOS=532178;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 596858 rs374596274 TCA T . PASS OTHERKG;RS=374596274;RSPOS=532239;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 596878 rs200842330 AAAT A . PASS CAF=[0.9853,0.01469];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=200842330;RSPOS=532259;SAO=0;SSR=0;VC=DIV;VP=0x05000000000110001c000200;WGT=1;dbSNPBuildID=137 +chr1 597022 rs184573826 T C . PASS OTHERKG;RS=184573826;RSPOS=532402;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=135 +chr1 597033 rs190029356 G A . PASS CAF=[0.9977,0.002296];COMMON=1;KGPROD;KGPhase1;RS=190029356;RSPOS=532413;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 597067 rs181202492 A G . PASS CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=181202492;RSPOS=532447;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 597070 rs377628633 AAT A,AATC . PASS OTHERKG;RS=377628633;RSPOS=532451;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 597138 rs367739632 C T . PASS OTHERKG;RS=367739632;RSPOS=532518;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 597393 rs370240071 C G . PASS OTHERKG;RS=370240071;RSPOS=532773;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 597549 rs373677901 T C . PASS OTHERKG;RS=373677901;RSPOS=532929;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 597667 rs368947094 C T . PASS OTHERKG;RS=368947094;RSPOS=533047;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 597729 rs372177755 T A . PASS OTHERKG;RS=372177755;RSPOS=533109;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 597733 rs375227545 A G . PASS OTHERKG;RS=375227545;RSPOS=533113;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 597782 rs112369404 C T . PASS CAF=[0.9968,0.003214];COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=112369404;RSPOS=533162;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000001000116000100;WGT=1;dbSNPBuildID=132 +chr1 597782 rs373750098 CGC C,CA . PASS NOC;OTHERKG;RS=373750098;RSPOS=533163;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000210;WGT=1;dbSNPBuildID=138 +chr1 597783 rs186223690 G A . PASS CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=186223690;RSPOS=533163;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 597790 rs114617477 G T . PASS CAF=[0.9578,0.04224];COMMON=1;G5;G5A;KGPROD;KGPhase1;RS=114617477;RSPOS=533170;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001170014000100;WGT=1;dbSNPBuildID=132 +chr1 597799 rs111501994 A G . PASS CAF=[0.9761,0.02388];COMMON=1;GNO;KGPROD;KGPhase1;OTHERKG;RS=111501994;RSPOS=533179;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000001100116000100;WGT=1;dbSNPBuildID=132 +chr1 597807 rs190848289 C T . PASS CAF=[0.9904,0.009642];COMMON=1;KGPROD;KGPhase1;RS=190848289;RSPOS=533187;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 597817 rs201080464 A G . PASS OTHERKG;RS=201080464;RSPOS=533197;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 597818 rs78497331 C T . PASS CAF=[0.9109,0.08907];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=78497331;RSPOS=533198;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=131 +chr1 597831 rs113525763 A G . PASS OTHERKG;RS=113525763;RSPOS=533211;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=132 +chr1 597856 rs112576181 A G . PASS OTHERKG;RS=112576181;RSPOS=533236;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=132 +chr1 597872 rs369291024 C T . PASS OTHERKG;RS=369291024;RSPOS=533252;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 597873 rs78702838 A G . PASS CFL;GNO;OTHERKG;RS=78702838;RSPOS=533253;SAO=0;SSR=0;VC=SNV;VP=0x050000000009000102000100;WGT=1;dbSNPBuildID=131 +chr1 597911 rs75693233 G A . PASS GNO;OTHERKG;RS=75693233;RSPOS=533291;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001040102000100;WGT=1;dbSNPBuildID=131 +chr1 597920 rs374895564 G A . PASS ASP;OTHERKG;RS=374895564;RSPOS=533300;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 597940 rs370034114 G A . PASS OTHERKG;RS=370034114;RSPOS=533320;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 598569 rs374374923 G A . PASS ASP;OTHERKG;RS=374374923;RSPOS=533949;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 598578 rs377657605 G A . PASS ASP;OTHERKG;RS=377657605;RSPOS=533958;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 598608 rs7367602 A G . PASS ASP;OTHERKG;RS=7367602;RSPOS=533988;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=116 +chr1 598616 rs7367603 A G . PASS ASP;OTHERKG;RS=7367603;RSPOS=533996;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=116 +chr1 598625 rs370840915 G A . PASS ASP;OTHERKG;RS=370840915;RSPOS=534005;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 598645 rs372872606 G A . PASS ASP;OTHERKG;RS=372872606;RSPOS=534025;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 598663 rs377248039 G A . PASS ASP;OTHERKG;RS=377248039;RSPOS=534043;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 598672 rs370475797 G A . PASS ASP;OTHERKG;RS=370475797;RSPOS=534052;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 598677 rs374458749 A G . PASS ASP;OTHERKG;RS=374458749;RSPOS=534057;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 598702 rs7367611 A G . PASS ASP;GNO;OTHERKG;RS=7367611;RSPOS=534082;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000102000100;WGT=1;dbSNPBuildID=116 +chr1 598710 rs9438469 G A . PASS ASP;OTHERKG;RS=9438469;RSPOS=534090;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=119 +chr1 598715 rs371081674 T C . PASS ASP;OTHERKG;RS=371081674;RSPOS=534095;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 598719 rs374454695 G A . PASS ASP;OTHERKG;RS=374454695;RSPOS=534099;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 598724 rs368344691 A G . PASS ASP;OTHERKG;RS=368344691;RSPOS=534104;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=138 +chr1 598735 rs372070915 T C . PASS OTHERKG;RS=372070915;RSPOS=534115;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 598786 rs200679741 T G . PASS OTHERKG;RS=200679741;RSPOS=534166;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 598789 rs59089120 G A . PASS OTHERKG;RS=59089120;RSPOS=534169;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 598799 rs368126814 T A . PASS OTHERKG;RS=368126814;RSPOS=534179;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 598812 rs6680723 C T . PASS CAF=[0.7851,0.2149];COMMON=1;GNO;HD;KGPROD;KGPhase1;OTHERKG;RS=6680723;RSPOS=534192;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100516000100;WGT=1;dbSNPBuildID=116 +chr1 598818 rs6680725 C T . PASS CAF=[0.8921,0.1079];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=6680725;RSPOS=534198;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=116 +chr1 598840 rs6702333 G A . PASS CAF=[0.9963,0.003673];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=6702333;RSPOS=534220;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000016000100;WGT=1;dbSNPBuildID=116 +chr1 598854 rs6680731 C T . PASS OTHERKG;RS=6680731;RSPOS=534234;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=116 +chr1 598862 rs202086553 C T . PASS OTHERKG;RS=202086553;RSPOS=534242;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 598867 rs201475892 C T . PASS HD;OTHERKG;RS=201475892;RSPOS=534247;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000402000100;WGT=1;dbSNPBuildID=137 +chr1 598878 rs374495577 T A . PASS OTHERKG;RS=374495577;RSPOS=534258;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 598879 rs6702342 G T . PASS OTHERKG;RS=6702342;RSPOS=534259;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=116 +chr1 598885 rs56781381 G C . PASS OTHERKG;RS=56781381;RSPOS=534265;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 598904 rs377161195 T C . PASS OTHERKG;RS=377161195;RSPOS=534284;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 598905 rs200099959 T G . PASS OTHERKG;RS=200099959;RSPOS=534285;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 598912 rs369898558 G C . PASS OTHERKG;RS=369898558;RSPOS=534292;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 598915 rs58567539 C T . PASS OTHERKG;RS=58567539;RSPOS=534295;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 598917 rs190879900 T C . PASS CAF=[0.9995,0.0004591];COMMON=0;KGPROD;KGPhase1;RS=190879900;RSPOS=534297;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 598934 rs367649678 CGG C . PASS ASP;OTHERKG;RS=367649678;RSPOS=534315;SAO=0;SSR=0;VC=DIV;VP=0x050000000005000002000200;WGT=1;dbSNPBuildID=138 +chr1 598935 rs74490954 G A . PASS ASP;OTHERKG;RS=74490954;RSPOS=534315;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=131 +chr1 598937 rs3122004 G A . PASS ASP;OTHERKG;RS=3122004;RSPOS=534317;SAO=0;SSR=0;VC=SNV;VP=0x050000000005000002000100;WGT=1;dbSNPBuildID=103 +chr1 598943 rs61590446 G A . PASS OTHERKG;RS=61590446;RSPOS=534323;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 598965 rs373738588 T C . PASS OTHERKG;RS=373738588;RSPOS=534345;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 599067 rs111957886 CTGTT C . PASS GNO;OTHERKG;RS=111957886;RSPOS=534448;SAO=0;SLO;SSR=0;VC=DIV;VP=0x050100000001000102000200;WGT=1;dbSNPBuildID=132 +chr1 599133 rs376708263 T C . PASS OTHERKG;RS=376708263;RSPOS=534513;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 599160 rs183186584 G T . PASS CAF=[0.9986,0.001377];COMMON=1;KGPROD;KGPhase1;RS=183186584;RSPOS=534540;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=135 +chr1 599162 rs61767346 A G . PASS OTHERKG;RS=61767346;RSPOS=534542;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 599165 rs145971835 G A . PASS CAF=[0.837,0.163];COMMON=1;KGPROD;KGPhase1;OTHERKG;RS=145971835;RSPOS=534545;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100016000100;WGT=1;dbSNPBuildID=134 +chr1 599166 rs6690870 T C . PASS OTHERKG;RS=6690870;RSPOS=534546;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=116 +chr1 599167 rs188376087 G A . PASS CAF=[0.978,0.02204];COMMON=1;KGPROD;KGPhase1;RS=188376087;RSPOS=534547;SAO=0;SSR=0;VC=SNV;VP=0x050000000001100014000100;WGT=1;dbSNPBuildID=135 +chr1 599201 rs80197286 G C . PASS GNO;OTHERKG;RS=80197286;RSPOS=534581;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=131 +chr1 599203 rs6683466 C G . PASS GNO;HD;OTHERKG;PH3;RS=6683466;RSPOS=534583;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000503000100;WGT=1;dbSNPBuildID=116 +chr1 599227 rs113273694 T A . PASS GNO;OTHERKG;RS=113273694;RSPOS=534607;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000001000102000100;WGT=1;dbSNPBuildID=132 +chr1 599269 rs60383769 C T . PASS OTHERKG;RS=60383769;RSPOS=534649;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=129 +chr1 599288 rs201656655 T C . PASS OTHERKG;RS=201656655;RSPOS=534668;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 599319 rs376558945 CTT C,CT . PASS NOC;OTHERKG;RS=376558945;RSPOS=534703;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000210;WGT=1;dbSNPBuildID=138 +chr1 599349 rs200032987 C T . PASS OTHERKG;RS=200032987;RSPOS=534729;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 599461 rs375731375 C G . PASS OTHERKG;RS=375731375;RSPOS=534841;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 599517 rs201186565 A G . PASS OTHERKG;RS=201186565;RSPOS=534897;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 600057 rs370002923 T C . PASS OTHERKG;RS=370002923;RSPOS=535437;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 600316 rs151048542 G A . PASS CAF=[0.9922,0.007805];COMMON=1;KGPROD;KGPhase1;RS=151048542;RSPOS=535696;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000014000100;WGT=1;dbSNPBuildID=134 +chr1 600428 rs373722660 A G . PASS OTHERKG;RS=373722660;RSPOS=535808;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 600451 rs376530816 C G . PASS OTHERKG;RS=376530816;RSPOS=535831;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 600478 rs370984721 C T . PASS OTHERKG;RS=370984721;RSPOS=535858;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 600499 rs6687203 C T . PASS OTHERKG;RS=6687203;RSPOS=535879;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=116 +chr1 600509 rs375302386 A G . PASS OTHERKG;RS=375302386;RSPOS=535889;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 600536 rs139752812 A G . PASS OTHERKG;RS=139752812;RSPOS=535916;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=134 +chr1 600552 rs6700508 A G . PASS OTHERKG;RS=6700508;RSPOS=535932;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=116 +chr1 600557 rs6694734 T C . PASS OTHERKG;RS=6694734;RSPOS=535937;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=116 +chr1 600572 rs6694742 T C . PASS OTHERKG;RS=6694742;RSPOS=535952;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=116 +chr1 600578 rs6687227 C T . PASS OTHERKG;RS=6687227;RSPOS=535958;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=116 +chr1 600579 rs202206030 G A . PASS OTHERKG;RS=202206030;RSPOS=535959;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 600606 rs6687297 C T . PASS OTHERKG;RS=6687297;RSPOS=535986;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=116 +chr1 600609 rs6660439 G T . PASS OTHERKG;RS=6660439;RSPOS=535989;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=116 +chr1 600641 rs6594020 T A . PASS OTHERKG;RS=6594020;RSPOS=536021;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=116 +chr1 600685 rs200510552 C T . PASS OTHERKG;RS=200510552;RSPOS=536065;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 600715 rs189259765 C T . PASS OTHERKG;RS=189259765;RSPOS=536095;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=135 +chr1 600754 rs2808303 C A,T . PASS OTHERKG;RS=2808303;RSPOS=536134;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=100 +chr1 600764 rs371827791 T C . PASS OTHERKG;RS=371827791;RSPOS=536144;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 600773 rs6660590 G A . PASS OTHERKG;RS=6660590;RSPOS=536153;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=116 +chr1 600787 rs199568105 C T . PASS OTHERKG;RS=199568105;RSPOS=536167;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 600790 rs113835516 T C . PASS OTHERKG;RS=113835516;RSPOS=536170;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=132 +chr1 600794 rs201390572 T C . PASS OTHERKG;RS=201390572;RSPOS=536174;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 600810 rs199685895 C T . PASS OTHERKG;RS=199685895;RSPOS=536190;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 600822 rs149807327 T C . PASS OTHERKG;RS=149807327;RSPOS=536202;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=134 +chr1 600825 rs6594021 A G . PASS OTHERKG;RS=6594021;RSPOS=536205;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=116 +chr1 600830 rs111483111 T C . PASS OTHERKG;RS=111483111;RSPOS=536210;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=132 +chr1 600831 rs200797605 A G . PASS OTHERKG;RS=200797605;RSPOS=536211;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 600833 rs2491326 A C . PASS GNO;OTHERKG;RS=2491326;RSPOS=536213;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=100 +chr1 600837 rs370044264 T C . PASS OTHERKG;RS=370044264;RSPOS=536217;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 600874 rs201536052 C T . PASS OTHERKG;RS=201536052;RSPOS=536254;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 600986 rs199993660 T C . PASS OTHERKG;RS=199993660;RSPOS=536366;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 601034 rs201648816 T A . PASS OTHERKG;RS=201648816;RSPOS=536414;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 601100 rs79150575 T A . PASS OTHERKG;RS=79150575;RSPOS=536480;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=131 +chr1 601108 rs369488923 T C . PASS OTHERKG;RS=369488923;RSPOS=536488;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 601436 rs373360530 C T . PASS OTHERKG;RS=373360530;RSPOS=536816;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 601515 rs202171574 T C . PASS OTHERKG;RS=202171574;RSPOS=536895;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 601581 rs200744710 T C . PASS OTHERKG;RS=200744710;RSPOS=536961;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 601606 rs201936006 G T . PASS OTHERKG;RS=201936006;RSPOS=536986;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 601673 rs202032341 G A . PASS OTHERKG;RS=202032341;RSPOS=537053;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 601811 rs376101953 C G . PASS OTHERKG;RS=376101953;RSPOS=537191;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 601823 rs369206058 C T . PASS OTHERKG;RS=369206058;RSPOS=537203;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 601989 rs372629824 C T . PASS OTHERKG;RS=372629824;RSPOS=537369;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 602044 rs368224001 AC A . PASS OTHERKG;RS=368224001;RSPOS=537425;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 602064 rs375649215 G A . PASS OTHERKG;RS=375649215;RSPOS=537444;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 602067 rs371573906 A G . PASS OTHERKG;RS=371573906;RSPOS=537447;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 602088 rs374478051 G T . PASS OTHERKG;RS=374478051;RSPOS=537468;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 602107 rs144672821 C T . PASS OTHERKG;RS=144672821;RSPOS=537487;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=134 +chr1 602113 rs375318504 TGC T,TGCCCA . PASS OTHERKG;RS=375318504;RSPOS=537494;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 602156 rs201044673 C G . PASS OTHERKG;RS=201044673;RSPOS=537536;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 602157 rs201679166 A G . PASS OTHERKG;RS=201679166;RSPOS=537537;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 602159 rs370652367 C A . PASS OTHERKG;RS=370652367;RSPOS=537539;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 602160 rs371559845 CTC C,CC . PASS NOC;OTHERKG;RS=371559845;RSPOS=537541;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000210;WGT=1;dbSNPBuildID=138 +chr1 602233 rs375637635 C G . PASS OTHERKG;RS=375637635;RSPOS=537613;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 602250 rs192612652 C T . PASS OTHERKG;RS=192612652;RSPOS=537630;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=135 +chr1 602266 rs113396932 C T . PASS OTHERKG;RS=113396932;RSPOS=537646;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=132 +chr1 602278 rs12184344 T C . PASS OTHERKG;RS=12184344;RSPOS=537658;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=120 +chr1 602280 rs376294111 CCT C,CT . PASS NOC;OTHERKG;RS=376294111;RSPOS=537661;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000210;WGT=1;dbSNPBuildID=138 +chr1 602300 rs12184252 G T . PASS GNO;OTHERKG;RS=12184252;RSPOS=537680;SAO=0;SLO;SSR=0;VC=SNV;VP=0x050100000001000102000100;WGT=1;dbSNPBuildID=120 +chr1 602301 rs12184273 C T . PASS OTHERKG;RS=12184273;RSPOS=537681;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=120 +chr1 602329 rs12184274 C G . PASS OTHERKG;RS=12184274;RSPOS=537709;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=120 +chr1 602330 rs368352873 TCTC T . PASS OTHERKG;RS=368352873;RSPOS=537711;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 602339 rs368975554 TC T . PASS OTHERKG;RS=368975554;RSPOS=537720;SAO=0;SSR=0;VC=DIV;VP=0x050000000001000002000200;WGT=1;dbSNPBuildID=138 +chr1 602409 rs371997977 T C . PASS OTHERKG;RS=371997977;RSPOS=537789;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 602417 rs374947339 G A . PASS OTHERKG;RS=374947339;RSPOS=537797;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 602504 rs367607951 T C . PASS OTHERKG;RS=367607951;RSPOS=537884;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 602590 rs372840816 C T . PASS OTHERKG;RS=372840816;RSPOS=537970;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 602614 rs375735083 T C . PASS OTHERKG;RS=375735083;RSPOS=537994;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 602913 rs201016125 G T . PASS OTHERKG;RS=201016125;RSPOS=538293;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 602915 rs201698244 G A . PASS OTHERKG;RS=201698244;RSPOS=538295;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 602994 rs200280598 C A . PASS OTHERKG;RS=200280598;RSPOS=538374;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 602998 rs200813111 T C . PASS OTHERKG;RS=200813111;RSPOS=538378;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 604026 rs368832150 C T . PASS OTHERKG;RS=368832150;RSPOS=539406;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 604137 rs372119205 T G . PASS OTHERKG;RS=372119205;RSPOS=539517;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 604358 rs375137695 G C . PASS OTHERKG;RS=375137695;RSPOS=539738;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 604360 rs75816844 T C . PASS GNO;OTHERKG;RS=75816844;RSPOS=539740;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000102000100;WGT=1;dbSNPBuildID=131 +chr1 604965 rs201534199 AATTGT A . PASS CAF=[0.9642,0.03581];COMMON=1;KGPROD;KGPhase1;KGPilot123;OTHERKG;RS=201534199;RSPOS=540346;SAO=0;SSR=0;VC=DIV;VP=0x05000000000110001e000200;WGT=1;dbSNPBuildID=137 +chr1 605088 rs372758615 T C . PASS OTHERKG;RS=372758615;RSPOS=540468;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 605160 rs199511579 GC G . PASS CAF=[0.9913,0.008724];COMMON=1;KGPROD;KGPhase1;KGPilot123;RS=199511579;RSPOS=540541;SAO=0;SSR=0;VC=DIV;VP=0x05000000000100001c000200;WGT=1;dbSNPBuildID=137 +chr1 605514 rs184327576 A G . PASS OTHERKG;RS=184327576;RSPOS=540894;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=135 +chr1 605595 rs80246094 G A . PASS CAF=[0.9224,0.07759];COMMON=1;G5;G5A;KGPROD;KGPhase1;OTHERKG;RS=80246094;RSPOS=540975;SAO=0;SSR=0;VC=SNV;VLD;VP=0x050000000001170016000100;WGT=1;dbSNPBuildID=131 +chr1 605599 rs200514961 C T . PASS OTHERKG;RS=200514961;RSPOS=540979;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 605672 rs201420261 T C . PASS OTHERKG;RS=201420261;RSPOS=541052;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 605692 rs368890100 G C . PASS OTHERKG;RS=368890100;RSPOS=541072;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 606038 rs199613006 G A . PASS OTHERKG;RS=199613006;RSPOS=541418;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 +chr1 606680 rs373932140 C T . PASS OTHERKG;RS=373932140;RSPOS=542060;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=138 +chr1 607379 rs200378045 G A . PASS OTHERKG;RS=200378045;RSPOS=542759;SAO=0;SSR=0;VC=SNV;VP=0x050000000001000002000100;WGT=1;dbSNPBuildID=137 diff --git a/test/fixtures/reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf.idx b/test/fixtures/reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf.idx new file mode 100644 index 0000000000000000000000000000000000000000..afc75b285885fa178755aa6606ed9e1534960aef GIT binary patch literal 1487 zcmdVaPiWIn90%~9PKO?3h$yH7-APcECQV-c)Om<)>gsHSnHBY5mh}%7y0t7toE`)Z zb26C}#BHEbMR9r+gbA$<=Pm3--&N=YdlP-|_`KiC@BQ-Q5n{z6 zXEza1lQ%QjTsjm81X51X33TTB^S0|0vgrZWc3d~z-R_Y?jF{BE*<{p&a2=mR+Z6jr8S+cbP!fv>7C_Xe)c zz?1JGt-#(d@cB;vwun~R;7cA}ISMl|cq<3@O~A@DoSlVpi*WZEEH-cbS$Dhze%%YB z2jK?^Za)qey5QV7C|`q*hT+gnNMo?HZnlJY{ti5R7w(vZ)iV6}@ZXl7LVr)*!Q}-Q zT88>JIN5{`er*>VIRtOF!)F{kApRYb4DZ?K9tHa~=Q|Lu9;^40j<}KSVdQO&);rvV zIBx#g@_9UO@~ literal 0 HcmV?d00001 diff --git a/test/fixtures/vcfs/README.md b/test/fixtures/vcfs/README.md new file mode 100644 index 000000000..536be0a95 --- /dev/null +++ b/test/fixtures/vcfs/README.md @@ -0,0 +1,21 @@ +# Input Files used for testing + +All the files in this directory were either randomly generated or sourced from publicly available genomic data. Many of the files have been downsampled to make them a manageable size for storing in a Git repository (using `git-lfs`) and to enable quick test execution in our CI. For the most part, these files are not representative of any meaningful scientific data and should be considered as mocked data only suitable for the purpose of generic testing. + +The following list is sorted alphabetically: + +## test1.vcf.gz + +Single position VCF file + +## test1.vcf.gz.tbi + +Index file for `test1.vcf.gz`. + +## test2.vcf.gz + +Single position VCF file + +## test2.vcf.gz.tbi + +Index file for `test2.vcf.gz`. diff --git a/test/fixtures/vcfs/test1.vcf.gz b/test/fixtures/vcfs/test1.vcf.gz new file mode 100644 index 000000000..4791148b2 --- /dev/null +++ b/test/fixtures/vcfs/test1.vcf.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4a55c04fbf36590ec5691baebdc0decda524c776bf5eb869c4e9264639cb871 +size 2119 diff --git a/test/fixtures/vcfs/test1.vcf.gz.tbi b/test/fixtures/vcfs/test1.vcf.gz.tbi new file mode 100644 index 0000000000000000000000000000000000000000..2a43646db00af710f509cb000d0e14a5b62b743e GIT binary patch literal 114 zcmb2|=3rp}f&Xj_PR>jWp$y!GpHfm%5)u-U5)v9N@&Li9fLT);8x<`VpAgV_sL2v& u65Y$lwZ&2b2==Hsnk?!zHd??GvR8nCp}S7uc_Yv;c{Ed{8JNMAfCvB%tsAib literal 0 HcmV?d00001 diff --git a/test/fixtures/vcfs/test2.vcf.gz b/test/fixtures/vcfs/test2.vcf.gz new file mode 100644 index 000000000..4df24b52a --- /dev/null +++ b/test/fixtures/vcfs/test2.vcf.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db5ba4cad612465e550935f95b8b8f008da7e106d1f14f4d36ec3c64470dd242 +size 2118 diff --git a/test/fixtures/vcfs/test2.vcf.gz.tbi b/test/fixtures/vcfs/test2.vcf.gz.tbi new file mode 100644 index 0000000000000000000000000000000000000000..e35b4deaab4a82dd5c23e1282c6605b79303d285 GIT binary patch literal 114 zcmb2|=3rp}f&Xj_PR>jWp$y!GpHfm%5)u-U5)v9N@&Li9fLT);8x<`VpAgV_sL2v& u65Y$lwZ%dL2==Hsnk?!zHd??GvR8nCp(^|Xe Date: Fri, 24 Apr 2026 14:40:56 -0400 Subject: [PATCH 108/147] chore: add @ prefix for json files --- .github/workflows/validate-inputs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/validate-inputs.yaml b/.github/workflows/validate-inputs.yaml index 80b42a84f..45faa6f64 100644 --- a/.github/workflows/validate-inputs.yaml +++ b/.github/workflows/validate-inputs.yaml @@ -12,4 +12,4 @@ jobs: with: action: validate wdl_files: "workflows/reference/bwa-db-build.wdl,workflows/reference/gatk-reference.wdl,workflows/reference/qc-reference.wdl,workflows/reference/star-db-build.wdl,workflows/reference/star-db-build.wdl" - inputs_files: "workflows/reference/inputs/bwa-db-build-inputs.json,workflows/reference/inputs/gatk-reference-inputs.json,workflows/reference/inputs/qc-reference-inputs.json,workflows/reference/inputs/star-db-build-inputs.json,workflows/reference/inputs/star-db-build-mouse-contaminant-inputs.json" \ No newline at end of file + inputs_files: "@workflows/reference/inputs/bwa-db-build-inputs.json,@workflows/reference/inputs/gatk-reference-inputs.json,@workflows/reference/inputs/qc-reference-inputs.json,@workflows/reference/inputs/star-db-build-inputs.json,@workflows/reference/inputs/star-db-build-mouse-contaminant-inputs.json" \ No newline at end of file From 62556c5ad712e53a1947fd57a1a0fe81c350c2fe Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 24 Apr 2026 14:58:09 -0400 Subject: [PATCH 109/147] chore: disable pytest --- .github/workflows/pytest.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pytest.yaml b/.github/workflows/pytest.yaml index 64c0b310b..cfa4b0d01 100644 --- a/.github/workflows/pytest.yaml +++ b/.github/workflows/pytest.yaml @@ -21,7 +21,7 @@ jobs: strategy: matrix: tag: ${{ fromJson(needs.list-tags.outputs.tags) }} - runner: [sprocket, miniwdl] + runner: [sprocket] fail-fast: false steps: - uses: actions/checkout@v4 From 8183ac30b5c97a65a52691352620ca4c1065a918 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Thu, 30 Apr 2026 11:18:34 -0400 Subject: [PATCH 110/147] chore: remove LineWidth exceptions --- tools/arriba.wdl | 1 - workflows/chipseq/chipseq-standard.wdl | 3 --- workflows/general/alignment-post.wdl | 1 - workflows/qc/quality-check-standard.wdl | 1 - 4 files changed, 6 deletions(-) diff --git a/tools/arriba.wdl b/tools/arriba.wdl index 54b6ec826..225da99f0 100644 --- a/tools/arriba.wdl +++ b/tools/arriba.wdl @@ -169,7 +169,6 @@ task arriba { "NC_*", ] Array[String] disable_filters = [] - #@ except: LineWidth String feature_name = "gene_name=gene_name|gene_id,gene_id=gene_id,transcript_id=transcript_id,feature_exon=exon,feature_CDS=CDS" String prefix = basename(bam, ".bam") + ".fusions" String strandedness = "auto" diff --git a/workflows/chipseq/chipseq-standard.wdl b/workflows/chipseq/chipseq-standard.wdl index aa30759fe..5f7296726 100755 --- a/workflows/chipseq/chipseq-standard.wdl +++ b/workflows/chipseq/chipseq-standard.wdl @@ -8,13 +8,10 @@ import "../../tools/picard.wdl" import "../../tools/samtools.wdl" import "../../tools/util.wdl" import "../general/bam-to-fastqs.wdl" as b2fq -#@ except: LineWidth import "https://raw.githubusercontent.com/stjude/seaseq/2.3/workflows/workflows/mapping.wdl" as seaseq_map -#@ except: LineWidth import "https://raw.githubusercontent.com/stjude/seaseq/3.0/workflows/tasks/samtools.wdl" as seaseq_samtools -#@ except: LineWidth import "https://raw.githubusercontent.com/stjude/seaseq/3.0/workflows/tasks/seaseq_util.wdl" as seaseq_util diff --git a/workflows/general/alignment-post.wdl b/workflows/general/alignment-post.wdl index b97077437..ac08686bf 100644 --- a/workflows/general/alignment-post.wdl +++ b/workflows/general/alignment-post.wdl @@ -3,7 +3,6 @@ version 1.1 import "../../tools/md5sum.wdl" import "../../tools/picard.wdl" import "../../tools/samtools.wdl" -#@ except: LineWidth import "https://raw.githubusercontent.com/stjude/XenoCP/4.0.0-alpha/wdl/workflows/xenocp.wdl" as xenocp_wf diff --git a/workflows/qc/quality-check-standard.wdl b/workflows/qc/quality-check-standard.wdl index 27fdb6b6b..d9e5809cc 100644 --- a/workflows/qc/quality-check-standard.wdl +++ b/workflows/qc/quality-check-standard.wdl @@ -125,7 +125,6 @@ workflow quality_check_standard { File bam_index File kraken_db File? gtf - #@ except: LineWidth File multiqc_config = "https://raw.githubusercontent.com/stjudecloud/workflows/main/workflows/qc/multiqc_config/multiqc_config.yaml" Array[File] extra_multiqc_inputs = [] Array[File] coverage_beds = [] From 85e3f23adbe8e62cc6925ae1249ad32fff3de251 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 6 May 2026 08:19:43 -0500 Subject: [PATCH 111/147] chore: correct param --- tools/gatk4.wdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index a11e6ee05..fb5bbc74f 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -826,7 +826,7 @@ task calculate_genotype_posteriors { gatk CalculateGenotypePosteriors \ -V "~{basename(vcf)}" \ - --supporting-variants "supporting.vcf.gz" \ + -supporting "supporting.vcf.gz" \ -O "~{prefix}.posteriors.vcf.gz" rm -rf "~{basename(vcf)}" "~{basename(vcf_index)}" "supporting.vcf.gz" "supporting.vcf.gz.tbi" From 21c4f6d91c9dfaaab6f1caca4fdf71c6adfa606c Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 6 May 2026 08:20:11 -0500 Subject: [PATCH 112/147] chore: link inputs --- tools/mutect2.wdl | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/tools/mutect2.wdl b/tools/mutect2.wdl index b8ce7648f..39b69a3c5 100644 --- a/tools/mutect2.wdl +++ b/tools/mutect2.wdl @@ -76,6 +76,9 @@ workflow mutect2_wf { variants = variant_vcf, variants_index = variant_vcf_index, prefix = output_prefix + "_tumor", + reference_fasta, + reference_fasta_index, + reference_fasta_dict, } call get_pileup_summaries as get_normal_pileups { @@ -86,6 +89,9 @@ workflow mutect2_wf { variants = variant_vcf, variants_index = variant_vcf_index, prefix = output_prefix + "_normal", + reference_fasta, + reference_fasta_index, + reference_fasta_dict, } call calculate_contamination { @@ -272,7 +278,7 @@ task filter_mutect { --tumor-segmentation "~{maf_segments}" \ -O "~{prefix}.vcf.gz" - rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename(unfiltered_somatic_vcf)}" "~{basename(unfiltered_somatic_vcf_index)}" + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename(unfiltered_somatic_vcf)}" "~{basename(unfiltered_somatic_vcf_index)}" "~{basename(unfiltered_somatic_vcf_stats)}" >>> output { @@ -359,6 +365,9 @@ task get_pileup_summaries { intervals_index: "Index file for the intervals file" variants: "VCF file with variants and allele frequencies to summarize pileups over." variants_index: "Index file for the variant VCF" + reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" + reference_fasta_dict: "Dictionary file for the reference genome FASTA" prefix: "Prefix for output file. The extension '.table' will be added." modify_disk_size_gb: "Additional disk size in GB to allocate" } @@ -370,6 +379,9 @@ task get_pileup_summaries { File intervals_index File variants File variants_index + File reference_fasta + File reference_fasta_index + File reference_fasta_dict String prefix = basename(bam, ".bam") + "_pileup_summaries" Int modify_disk_size_gb = 0 } @@ -377,6 +389,7 @@ task get_pileup_summaries { Int disk_size_gb = ceil(size(bam, "GB") * 2) + ceil(size(intervals, "GB") * 2) + ceil(size(variants, "GB") * 2) + + ceil(size(reference_fasta, "GB") * 2) + 20 + modify_disk_size_gb @@ -391,15 +404,21 @@ task get_pileup_summaries { ln -sf "~{intervals_index}" "~{basename(intervals_index)}" ln -sf "~{variants}" "~{basename(variants)}" ln -sf "~{variants_index}" "~{basename(variants_index)}" + ref_fasta=~{sub(basename(reference_fasta, ".gz"), ".(fasta|fa)?$", "")} + gunzip -c "~{reference_fasta}" > "$ref_fasta.fa" \ + || ln -sf "~{reference_fasta}" "$ref_fasta.fa" + ln -sf "~{reference_fasta_index}" "$ref_fasta.fa.fai" + ln -sf "~{reference_fasta_dict}" "$ref_fasta.dict" - gatk --java-options "-Xmx~{24000}m" \ + gatk --java-options "-Xmx~{(task.memory / (1024 * 1024)) - 3000}m" \ GetPileupSummaries \ + --disable-bam-index-caching \ -I "~{name}.bam" \ -V "~{basename(variants)}" \ -L "~{basename(intervals)}" \ -O "~{prefix}.table" - rm -rf "~{name}.bam" "~{name}.bam.bai" "~{basename(intervals)}" "~{basename(intervals_index)}" "~{basename(variants)}" "~{basename(variants_index)}" + rm -rf "~{name}.bam" "~{name}.bam.bai" "~{basename(intervals)}" "~{basename(intervals_index)}" "~{basename(variants)}" "~{basename(variants_index)}" "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" >>> output { From 9b5cffd1cffc4ff195a5cbf1aa8576d768e15977 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 6 May 2026 15:29:41 -0400 Subject: [PATCH 113/147] chore: fix clair tests --- tools/clair.wdl | 16 ++++++++++++++-- tools/test/clair.yaml | 21 +++++++++++++-------- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/tools/clair.wdl b/tools/clair.wdl index 9ca0edab0..7082a2562 100644 --- a/tools/clair.wdl +++ b/tools/clair.wdl @@ -39,6 +39,7 @@ task clair3 { "ilmn", ], } + contigs: "Optional list of contigs to call variants in. If undefined, all contigs in the reference FASTA will be considered." all_contigs: "Boolean indicating whether to include all contigs in variant calling. If false only chr{1..22,X,Y} are called." print_ref_calls: "Boolean indicating whether to print reference calls in the output VCF" gvcf: "Boolean indicating whether to output gVCF format" @@ -51,11 +52,12 @@ task clair3 { File reference_fasta_index File bam File bam_index - Directory model + String model File? bed_regions File? vcf_candidates String output_dir = "clair3_output" String platform = "ilmn" + Array[String] contigs = [] Boolean all_contigs = false Boolean print_ref_calls = false Boolean gvcf = false @@ -85,8 +87,12 @@ task clair3 { --ref_fn="$ref_fasta" \ --threads="~{threads}" \ --platform="~{platform}" \ - --model_path="~{model}" \ + --model_path="/opt/models/~{model}" \ --output="~{output_dir}" \ + ~{if length(contigs) > 0 + then "--ctg_name='~{sep(",", contigs)}'" + else "" + } \ ~{if all_contigs then "--include_all_ctgs" else "" @@ -165,6 +171,7 @@ task clairs { prefix: "Prefix for ClairS output files" sample_name: "Sample name to use in the output VCF" output_dir: "Directory to store ClairS output" + contigs: "Optional list of contigs to call variants in. If undefined, all contigs in the reference FASTA will be considered." all_contigs: "Boolean indicating whether to include all contigs in variant calling. If false only chr{1..22,X,Y} are called." print_ref_calls: "Boolean indicating whether to print reference calls in the output VCF" print_germline_calls: "Boolean indicating whether to print germline calls in the output VCF" @@ -193,6 +200,7 @@ task clairs { String prefix = "output" String sample_name = "SAMPLE" String output_dir = "output" + Array[String] contigs = [] Boolean all_contigs = false Boolean print_ref_calls = false Boolean print_germline_calls = false @@ -235,6 +243,10 @@ task clairs { --chunk_size "~{chunk_size}" \ --snv_min_af "~{snv_min_af}" \ --sample_name "~{sample_name}" \ + ~{if length(contigs) > 0 + then "--ctg_name='~{sep(",", contigs)}'" + else "" + } \ ~{if defined(bed_regions) then "--bed_fn '~{bed_regions}'" else "" diff --git a/tools/test/clair.yaml b/tools/test/clair.yaml index e8dc594db..8e0836ae1 100644 --- a/tools/test/clair.yaml +++ b/tools/test/clair.yaml @@ -1,6 +1,6 @@ # The `clair3` task requires a `Directory model` input containing pre-trained neural network # weights. The `hkubal/clair3:v2.0.0` container ships built-in models at `/opt/models/`. -# Tests use the bundled Illumina model at `/opt/models/ilmn` (absolute in-container path). +# Tests use the bundled Illumina model at `ilmn`. clair3: - name: works tags: [slow] @@ -16,7 +16,7 @@ clair3: bam_index: - bams/test.bwa_aln_pe.chrY_chrM.bam.bai model: - - /opt/models/ilmn + - ilmn - name: with_vcf_candidates tags: [slow] @@ -32,9 +32,11 @@ clair3: bam_index: - bams/test.bwa_aln_pe.chrY_chrM.bam.bai model: - - /opt/models/ilmn + - ilmn vcf_candidates: - - vcfs/test1.vcf.gz + - vcfs/testY.vcf.gz + contigs: + - chrY - name: gvcf_mode tags: [slow] @@ -50,7 +52,7 @@ clair3: bam_index: - bams/test.bwa_aln_pe.chrY_chrM.bam.bai model: - - /opt/models/ilmn + - ilmn gvcf: - true @@ -68,7 +70,7 @@ clair3: bam_index: - bams/test.bwa_aln_pe.chrY_chrM.bam.bai model: - - /opt/models/ilmn + - ilmn all_contigs: - true @@ -86,7 +88,7 @@ clair3: bam_index: - bams/test.bwa_aln_pe.chrY_chrM.bam.bai model: - - /opt/models/ilmn + - ilmn print_ref_calls: - true @@ -133,7 +135,10 @@ clairs: platform: - ilmn vcf_candidates: - - vcfs/test1.vcf.gz + - vcfs/testY.vcf.gz + contigs: + - chrY + - chrM - name: all_contigs tags: [slow] From 94b9583ebac22b81a7ea57a789dda5c43b64a0a8 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 6 May 2026 15:30:17 -0400 Subject: [PATCH 114/147] chore: resolve bad merge --- tools/samtools.wdl | 46 ---------------------------------------------- 1 file changed, 46 deletions(-) diff --git a/tools/samtools.wdl b/tools/samtools.wdl index b46db4e2a..4aecd3807 100755 --- a/tools/samtools.wdl +++ b/tools/samtools.wdl @@ -1222,52 +1222,6 @@ task position_sorted_fixmate { } } -task faidx { - meta { - description: "Creates a `.fai` FASTA index for the input FASTA" - outputs: { - fasta_index: "A `.fai` FASTA index associated with the input FASTA. Filename will be `basename(fasta) + '.fai'`.", - } - } - - parameter_meta { - fasta: "Input FASTA format file to index. Optionally gzip compressed." - modify_disk_size_gb: "Add to or subtract from dynamic disk space allocation. Default disk size is determined by the size of the inputs. Specified in GB." - } - - input { - File fasta - Int modify_disk_size_gb = 0 - } - - Float fasta_size = size(fasta, "GB") - Int disk_size_gb = ceil(fasta_size * 2.5) + 10 + modify_disk_size_gb - - String outfile_name = basename(fasta, ".gz") + ".fai" - - command <<< - set -euo pipefail - - ref_fasta=~{basename(fasta, ".gz")} - gunzip -c "~{fasta}" > "$ref_fasta" \ - || ln -sf "~{fasta}" "$ref_fasta" - - samtools faidx -o "~{outfile_name}" "$ref_fasta" - >>> - - output { - File fasta_index = outfile_name - } - - runtime { - cpu: 1 - memory: "4 GB" - disks: "~{disk_size_gb} GB" - container: "quay.io/biocontainers/samtools:1.19.2--h50ea8bc_0" - maxRetries: 1 - } -} - #@ except: MatchingOutputMeta task markdup { meta { From 2dd4880fe58b6c9ae0fe492a1057ce240beaa1a8 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 8 May 2026 09:50:53 -0400 Subject: [PATCH 115/147] chore: fix strelka tests --- test/fixtures/bams/README.md | 8 ++++ ...est.bwa_aln_pe.with_variants.chrY_chrM.bam | 3 ++ ...bwa_aln_pe.with_variants.chrY_chrM.bam.bai | 3 ++ test/fixtures/fastqs/README.md | 8 ++++ test/fixtures/fastqs/test_variants_R1.fq.gz | 3 ++ test/fixtures/fastqs/test_variants_R2.fq.gz | 3 ++ test/fixtures/vcfs/README.md | 8 ++++ test/fixtures/vcfs/testY.vcf.gz | 3 ++ test/fixtures/vcfs/testY.vcf.gz.tbi | Bin 0 -> 134 bytes tools/strelka.wdl | 12 +++--- tools/test/strelka.yaml | 40 ++++-------------- workflows/general/alignment-post.wdl | 1 - 12 files changed, 53 insertions(+), 39 deletions(-) create mode 100644 test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam create mode 100644 test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai create mode 100644 test/fixtures/fastqs/test_variants_R1.fq.gz create mode 100644 test/fixtures/fastqs/test_variants_R2.fq.gz create mode 100644 test/fixtures/vcfs/testY.vcf.gz create mode 100644 test/fixtures/vcfs/testY.vcf.gz.tbi diff --git a/test/fixtures/bams/README.md b/test/fixtures/bams/README.md index 5a4b8d0ec..22dd28736 100644 --- a/test/fixtures/bams/README.md +++ b/test/fixtures/bams/README.md @@ -40,6 +40,14 @@ Coordinate sorted BAM with 1 read group (`ID:test`). Aligned using BWA `aln` (us BAM index corresponding to `test.bwa_aln_pe.chrY_chrM.bam`. +## test.bwa_aln_pe.with_variants.chrY_chrM.bam + +Coordinate sorted BAM with 1 read group (`ID:test`). Aligned using BWA `aln` (using the `bwa.bwa_aln_pe` WDL task). 100,000 Paired-End reads mapped to GRCh38 `chrY` and `chrM` from `test_variants_R1.fq.gz` and `test_variants_R2.fq.gz`. + +## test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai + +BAM index corresponding to `test.bwa_aln_pe.with_variants.chrY_chrM.bam`. + ## test.extra_RG.bam A duplicate of `test.bam` with an added `@RG` entry with the ID `no_match`. There are no reads corresponding to the `no_match` RG entry. diff --git a/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam b/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam new file mode 100644 index 000000000..09710652e --- /dev/null +++ b/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f9f3bf36d02e3e5b4785afb091679e28085114c109a0bd152adcdbc8f62a6fe +size 14454313 diff --git a/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai b/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai new file mode 100644 index 000000000..ff3a35a20 --- /dev/null +++ b/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b05266a04221a44748ea2335e27fb6dabd3883a6bd47afd6f1b73bb4d213509e +size 34552 diff --git a/test/fixtures/fastqs/README.md b/test/fixtures/fastqs/README.md index 01d3d43ba..a37c3821d 100644 --- a/test/fixtures/fastqs/README.md +++ b/test/fixtures/fastqs/README.md @@ -19,3 +19,11 @@ The following list is sorted alphabetically: ## test_R2.fq.gz 10,000 reads in FASTQ format. Can be used by itself to represent a Single-End sample or used with `test_R1.fq.gz` to represent a Paired-End sample. Generated with `fq generate`. + +## test_variants_R1.fq.gz + +10,000 reads in FASTQ format. Can be used by itself to represent a Single-End sample or used with `test_variants.R2.fq.gz` to represent a Paired-End sample. Generated with `fq generate` on `chrY` and `chrM`. Simulated from a reference sequence containing variants. + +## test_variants_R2.fq.gz + +10,000 reads in FASTQ format. Can be used by itself to represent a Single-End sample or used with `test_variants.R1.fq.gz` to represent a Paired-End sample. Generated with `fq generate` on `chrY` and `chrM`. Simulated from a reference sequence containing variants. \ No newline at end of file diff --git a/test/fixtures/fastqs/test_variants_R1.fq.gz b/test/fixtures/fastqs/test_variants_R1.fq.gz new file mode 100644 index 000000000..8773c9323 --- /dev/null +++ b/test/fixtures/fastqs/test_variants_R1.fq.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b4c779b6b85872895b74fcd4a7322e903f70160ac0d859ebc55b4286260d412 +size 5836265 diff --git a/test/fixtures/fastqs/test_variants_R2.fq.gz b/test/fixtures/fastqs/test_variants_R2.fq.gz new file mode 100644 index 000000000..210a9ed1f --- /dev/null +++ b/test/fixtures/fastqs/test_variants_R2.fq.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60cacae27425f1a844731c12a35c8b836b58f1b80c0addd2ce836c07476f2db1 +size 5835338 diff --git a/test/fixtures/vcfs/README.md b/test/fixtures/vcfs/README.md index 536be0a95..9b5aa1621 100644 --- a/test/fixtures/vcfs/README.md +++ b/test/fixtures/vcfs/README.md @@ -19,3 +19,11 @@ Single position VCF file ## test2.vcf.gz.tbi Index file for `test2.vcf.gz`. + +## testY.vcf.gz + +Single position VCF file on `chrY` + +## testY.vcf.gz.tbi + +Index file for `testY.vcf.gz`. \ No newline at end of file diff --git a/test/fixtures/vcfs/testY.vcf.gz b/test/fixtures/vcfs/testY.vcf.gz new file mode 100644 index 000000000..139818f4f --- /dev/null +++ b/test/fixtures/vcfs/testY.vcf.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4dc460c4815104a438cbbf39102559d1d01e1c8cf68f6e2c01755ff5f918f0f6 +size 695 diff --git a/test/fixtures/vcfs/testY.vcf.gz.tbi b/test/fixtures/vcfs/testY.vcf.gz.tbi new file mode 100644 index 0000000000000000000000000000000000000000..aecb937abe3d697dfecf3db4ee4f8443ceaea95e GIT binary patch literal 134 zcmb2|=3rp}f&Xj_PR>jWnGD>8pHfm%5)u-U5)v9N@&Li9fLT);8x<`VYY6E)H04}$ zVD?l-uC(T>#zqU8-X0P#EGhlj!?7{2YKq)a_m{|2ru$(Ah9st7`H$QT4Dx6;Ni#5m HEd~()m1!tC literal 0 HcmV?d00001 diff --git a/tools/strelka.wdl b/tools/strelka.wdl index 04965cf18..6cbf3c4b2 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -68,10 +68,10 @@ task somatic { || ln -sf "~{reference_fasta}" "$ref_fasta" ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" - ln -s "~{tumor_bam}" "~{tumor}" - ln -s "~{tumor_bam_index}" "~{tumor}.bai" - ln -s "~{normal_bam}" "~{normal}" - ln -s "~{normal_bam_index}" "~{normal}.bai" + ln -sf "~{tumor_bam}" "~{tumor}" + ln -sf "~{tumor_bam_index}" "~{tumor}.bai" + ln -sf "~{normal_bam}" "~{normal}" + ln -sf "~{normal_bam_index}" "~{normal}.bai" configureStrelkaSomaticWorkflow.py \ --referenceFasta "$ref_fasta" \ @@ -157,8 +157,8 @@ task germline { || ln -sf "~{reference_fasta}" "$ref_fasta" ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" - ln -s "~{bam}" "~{filename}" - ln -s "~{bam_index}" "~{filename}.bai" + ln -sf "~{bam}" "~{filename}" + ln -sf "~{bam_index}" "~{filename}.bai" configureStrelkaGermlineWorkflow.py \ --referenceFasta "$ref_fasta" \ diff --git a/tools/test/strelka.yaml b/tools/test/strelka.yaml index d785a122b..40541c323 100644 --- a/tools/test/strelka.yaml +++ b/tools/test/strelka.yaml @@ -14,9 +14,9 @@ somatic: - bams/test.bwa_aln_pe.chrY_chrM.bam.bai $tumor: tumor_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam tumor_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai - name: with_indel_candidates tags: [slow] @@ -33,38 +33,14 @@ somatic: - bams/test.bwa_aln_pe.chrY_chrM.bam.bai $tumor: tumor_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam tumor_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai $indels: indel_candidates: - - vcfs/test1.vcf.gz + - vcfs/testY.vcf.gz indel_candidates_index: - - vcfs/test1.vcf.gz.tbi - - - name: with_manta_indel_candidates - tags: [slow] - inputs: - $reference: - reference_fasta: - - reference/GRCh38.chrY_chrM.fa - reference_fasta_index: - - reference/GRCh38.chrY_chrM.fa.fai - $normal: - normal_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam - normal_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai - $tumor: - tumor_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam - tumor_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai - $indels: - indel_candidates: - - vcfs/manta_indel_candidates.vcf.gz - indel_candidates_index: - - vcfs/manta_indel_candidates.vcf.gz.tbi + - vcfs/testY.vcf.gz.tbi - name: exome_mode tags: [slow] @@ -81,9 +57,9 @@ somatic: - bams/test.bwa_aln_pe.chrY_chrM.bam.bai $tumor: tumor_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam tumor_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai exome: - true diff --git a/workflows/general/alignment-post.wdl b/workflows/general/alignment-post.wdl index ac08686bf..618871b9d 100644 --- a/workflows/general/alignment-post.wdl +++ b/workflows/general/alignment-post.wdl @@ -92,7 +92,6 @@ workflow alignment_post { File aligned_bam_index = samtools_index.bam_index call picard.validate_bam { input: bam = aligned_bam, - succeed_on_errors = true, } call md5sum.compute_checksum { input: From 264575f688c100497915b04668ef72254bfcd034 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 8 May 2026 13:58:47 -0400 Subject: [PATCH 116/147] chore: fix clair test --- tools/test/clair.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tools/test/clair.yaml b/tools/test/clair.yaml index 8e0836ae1..cc4cfc5bb 100644 --- a/tools/test/clair.yaml +++ b/tools/test/clair.yaml @@ -103,9 +103,9 @@ clairs: - reference/GRCh38.chrY_chrM.fa.fai $tumor: tumor_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam tumor_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai $normal: normal_bam: - bams/test.bwa_aln_pe.chrY_chrM.bam @@ -124,9 +124,9 @@ clairs: - reference/GRCh38.chrY_chrM.fa.fai $tumor: tumor_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam tumor_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai $normal: normal_bam: - bams/test.bwa_aln_pe.chrY_chrM.bam @@ -150,9 +150,9 @@ clairs: - reference/GRCh38.chrY_chrM.fa.fai $tumor: tumor_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam tumor_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai $normal: normal_bam: - bams/test.bwa_aln_pe.chrY_chrM.bam @@ -173,9 +173,9 @@ clairs: - reference/GRCh38.chrY_chrM.fa.fai $tumor: tumor_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam tumor_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai $normal: normal_bam: - bams/test.bwa_aln_pe.chrY_chrM.bam From 313f38cd5d1ac34ed338358a173db8f65927da92 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 8 May 2026 14:38:39 -0400 Subject: [PATCH 117/147] chore: fix deepsomatic tests --- tools/test/deepvariant.yaml | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/tools/test/deepvariant.yaml b/tools/test/deepvariant.yaml index 9824c15b4..fa1e4e60c 100644 --- a/tools/test/deepvariant.yaml +++ b/tools/test/deepvariant.yaml @@ -12,6 +12,8 @@ deepvariant: - bams/test.bwa_aln_pe.chrY_chrM.bam bam_index: - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + threads: + - 2 - name: wes_model tags: [slow] @@ -28,6 +30,8 @@ deepvariant: - bams/test.bwa_aln_pe.chrY_chrM.bam.bai model_type: - WES + threads: + - 2 - name: runtime_report tags: [slow] @@ -44,6 +48,8 @@ deepvariant: - bams/test.bwa_aln_pe.chrY_chrM.bam.bai runtime_report: - true + threads: + - 2 - name: vcf_stats_report tags: [slow] @@ -60,6 +66,8 @@ deepvariant: - bams/test.bwa_aln_pe.chrY_chrM.bam.bai vcf_stats_report: - true + threads: + - 2 - name: custom_haploid_chromosomes tags: [slow] @@ -76,6 +84,8 @@ deepvariant: - bams/test.bwa_aln_pe.chrY_chrM.bam.bai haploid_chromosomes: - ["chrY"] + threads: + - 2 deepsomatic: - name: works @@ -88,9 +98,9 @@ deepsomatic: - reference/GRCh38.chrY_chrM.fa.fai $tumor: tumor_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam tumor_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai $normal: normal_bam: - bams/test.bwa_aln_pe.chrY_chrM.bam @@ -109,9 +119,9 @@ deepsomatic: - reference/GRCh38.chrY_chrM.fa.fai $tumor: tumor_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam tumor_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai $normal: normal_bam: - bams/test.bwa_aln_pe.chrY_chrM.bam @@ -130,9 +140,9 @@ deepsomatic: - reference/GRCh38.chrY_chrM.fa.fai $tumor: tumor_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam tumor_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai $normal: normal_bam: - bams/test.bwa_aln_pe.chrY_chrM.bam @@ -153,9 +163,9 @@ deepsomatic: - reference/GRCh38.chrY_chrM.fa.fai $tumor: tumor_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam tumor_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai $normal: normal_bam: - bams/test.bwa_aln_pe.chrY_chrM.bam From 4c76f803fbe04e47eb1c8b1f49dc0782c517ce0c Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Fri, 8 May 2026 14:39:13 -0400 Subject: [PATCH 118/147] chore: fix manta tests --- tools/test/manta.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/test/manta.yaml b/tools/test/manta.yaml index db2d8d181..282fdb84f 100644 --- a/tools/test/manta.yaml +++ b/tools/test/manta.yaml @@ -40,9 +40,9 @@ manta_somatic: - reference/GRCh38.chrY_chrM.fa.fai $normal: normal_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam normal_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai $tumor: tumor_bam: - bams/test.bwa_aln_pe.chrY_chrM.bam @@ -59,9 +59,9 @@ manta_somatic: - reference/GRCh38.chrY_chrM.fa.fai $normal: normal_bam: - - bams/test.bwa_aln_pe.chrY_chrM.bam + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam normal_bam_index: - - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai $tumor: tumor_bam: - bams/test.bwa_aln_pe.chrY_chrM.bam From 73997933fb2577c71979a38370e323bb117a6967 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 09:53:04 -0400 Subject: [PATCH 119/147] chore: add exception --- tools/clair.wdl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/clair.wdl b/tools/clair.wdl index 7082a2562..5e1e3ff85 100644 --- a/tools/clair.wdl +++ b/tools/clair.wdl @@ -82,6 +82,7 @@ task clair3 { cp "~{bam}" "~{filename}" cp "~{bam_index}" "~{filename}.bai" + #@except: ShellCheck run_clair3.sh \ --bam_fn="~{filename}" \ --ref_fn="$ref_fasta" \ @@ -231,6 +232,7 @@ task clairs { cp "~{normal_bam}" "~{normal}" cp "~{normal_bam_index}" "~{normal}.bai" + #@except: ShellCheck run_clairs \ --tumor_bam_fn "~{tumor}" \ --normal_bam_fn "~{normal}" \ From f294f8dbcbb15e65019ae41bfef9968cc07e225c Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 09:53:58 -0400 Subject: [PATCH 120/147] chore: run tests verbosely to get failure information --- .github/workflows/sprocket-test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sprocket-test.yaml b/.github/workflows/sprocket-test.yaml index 5800f6887..30baa5757 100644 --- a/.github/workflows/sprocket-test.yaml +++ b/.github/workflows/sprocket-test.yaml @@ -38,4 +38,4 @@ jobs: env: RUNNER: ${{ matrix.runner }} run: | - sprocket dev test --filter-tag reference --filter-tag slow --filter-tag high_mem ${{ matrix.file }} \ No newline at end of file + sprocket dev test -vvv --filter-tag reference --filter-tag slow --filter-tag high_mem ${{ matrix.file }} \ No newline at end of file From 0ae65034660d1d2053a5c99570c4efcf33119485 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 12:55:24 -0400 Subject: [PATCH 121/147] chore: bulk output test stderr and stdout for debugging --- .github/workflows/sprocket-test.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sprocket-test.yaml b/.github/workflows/sprocket-test.yaml index 30baa5757..8932aea83 100644 --- a/.github/workflows/sprocket-test.yaml +++ b/.github/workflows/sprocket-test.yaml @@ -38,4 +38,5 @@ jobs: env: RUNNER: ${{ matrix.runner }} run: | - sprocket dev test -vvv --filter-tag reference --filter-tag slow --filter-tag high_mem ${{ matrix.file }} \ No newline at end of file + sprocket dev test -vvv --filter-tag reference --filter-tag slow --filter-tag high_mem ${{ matrix.file }} + cat test/runs/*/*/*/attempts/0/std* \ No newline at end of file From eb57f9ad6c5ff59768a0971abc8bbc3187d534d2 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 13:21:18 -0400 Subject: [PATCH 122/147] chore: drop verbose, write to stderr --- .github/workflows/sprocket-test.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sprocket-test.yaml b/.github/workflows/sprocket-test.yaml index 8932aea83..79c24b174 100644 --- a/.github/workflows/sprocket-test.yaml +++ b/.github/workflows/sprocket-test.yaml @@ -38,5 +38,5 @@ jobs: env: RUNNER: ${{ matrix.runner }} run: | - sprocket dev test -vvv --filter-tag reference --filter-tag slow --filter-tag high_mem ${{ matrix.file }} - cat test/runs/*/*/*/attempts/0/std* \ No newline at end of file + sprocket dev test --filter-tag reference --filter-tag slow --filter-tag high_mem ${{ matrix.file }} + cat test/runs/*/*/*/attempts/0/std* > /dev/stderr \ No newline at end of file From 2a268c377cff8bf19cf2b337a164c6270d6921dd Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 13:39:28 -0400 Subject: [PATCH 123/147] chore: cat if test fails --- .github/workflows/sprocket-test.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/sprocket-test.yaml b/.github/workflows/sprocket-test.yaml index 79c24b174..296ae087c 100644 --- a/.github/workflows/sprocket-test.yaml +++ b/.github/workflows/sprocket-test.yaml @@ -38,5 +38,4 @@ jobs: env: RUNNER: ${{ matrix.runner }} run: | - sprocket dev test --filter-tag reference --filter-tag slow --filter-tag high_mem ${{ matrix.file }} - cat test/runs/*/*/*/attempts/0/std* > /dev/stderr \ No newline at end of file + sprocket dev test --filter-tag reference --filter-tag slow --filter-tag high_mem ${{ matrix.file }} || cat test/runs/*/*/*/attempts/0/std* > /dev/stderr \ No newline at end of file From 2b5baa39061077c59c3f91cfada5d00819826450 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 14:06:14 -0400 Subject: [PATCH 124/147] chore: roll back container in mark_duplicates_spark to address JVM deprecated feature --- tools/gatk4.wdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index c24773fd2..c727d16c5 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -641,7 +641,7 @@ task mark_duplicates_spark { cpu: ncpu memory: "~{memory_gb} GB" disks: "~{disk_size_gb} GB" - container: "quay.io/biocontainers/gatk4:4.6.2.0--py310hdfd78af_1" + container: "quay.io/biocontainers/gatk4:4.4.0.0--py36hdfd78af_0" maxRetries: 1 } } From de11d2c9ec18ec2c6b6d59eb9851bfa10ef73748 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 14:09:07 -0400 Subject: [PATCH 125/147] chore: use bgzipped files --- ...omo_sapiens_assembly38.dbsnp138.top5000.vcf.gz | 3 +++ ...sapiens_assembly38.dbsnp138.top5000.vcf.gz.tbi | Bin 0 -> 366 bytes tools/test/gatk4.yaml | 4 ++-- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf.gz create mode 100644 test/fixtures/reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf.gz.tbi diff --git a/test/fixtures/reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf.gz b/test/fixtures/reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf.gz new file mode 100644 index 000000000..3071a47bd --- /dev/null +++ b/test/fixtures/reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cabc413c761adf0bf7a1c06dd40d76596815d304c752b86ff734e7a1bad16a35 +size 54714 diff --git a/test/fixtures/reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf.gz.tbi b/test/fixtures/reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf.gz.tbi new file mode 100644 index 0000000000000000000000000000000000000000..2e2bf5583ed8a688d720e7feb2e75f8e2450f381 GIT binary patch literal 366 zcmb2|=3rp}f&Xj_PR>jWfsCz_Z1tTJCED(9Q%neGtIL9?&olpC%U^qGiMr+9s@S)dhkx5VbTXS*a8C7c z^q1=uhPjB<-U|xgcdiAor%I9r%+r+YP zSMmSd&AD#F>DS6W*`I|M#$Vzxgy@-C)N-$Com5s(*Z%|G0VG z>st>#SLuCbn|9-={>pEgpR4WulO=X1X}bTpM(a19{#O=EkNvluW7^H9`@J8??Y5c8 z{Qc(Bp8{((oR&ZRfN}Sq#awcmPPZ$4=!mUz54-s^IX&Ts-hDfEpq(qlDh}ygpJQZO zcH`ZOyNqm1bZD I2QY{L0E&sPga7~l literal 0 HcmV?d00001 diff --git a/tools/test/gatk4.yaml b/tools/test/gatk4.yaml index bfb256ae6..37d1957ab 100644 --- a/tools/test/gatk4.yaml +++ b/tools/test/gatk4.yaml @@ -26,9 +26,9 @@ base_recalibrator: - reference/GRCh38.chr1_chr19.dict $dbsnp: dbSNP_vcf: - - reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf + - reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf.gz dbSNP_vcf_index: - - reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf.idx + - reference/Homo_sapiens_assembly38.dbsnp138.top5000.vcf.gz.tbi $known_indels: known_indels_sites_vcfs: - [ reference/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz ] From 02222209e3956713a49704a152323a374c9e8f1f Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 14:32:04 -0400 Subject: [PATCH 126/147] chore: drop CPU requirements for GATK4 tasks to 1 --- tools/test/gatk4.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/test/gatk4.yaml b/tools/test/gatk4.yaml index 37d1957ab..1a429b2e9 100644 --- a/tools/test/gatk4.yaml +++ b/tools/test/gatk4.yaml @@ -9,6 +9,8 @@ apply_bqsr: - bams/test_rnaseq_variant.bam.bai recalibration_report: - test_rnaseq_variant.recal.txt + ncpu: + - 1 base_recalibrator: - name: works inputs: @@ -34,6 +36,8 @@ base_recalibrator: - [ reference/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz ] known_indels_sites_indices: - [ reference/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz.tbi ] + ncpu: + - 1 haplotype_caller: - name: works tags: [ slow ] @@ -98,4 +102,6 @@ mark_duplicates_spark: - bams/test.bwa_aln_pe.chrY_chrM.bam - bams/Aligned.sortedByCoord.chr9_chr22.bam - bams/test_rnaseq_variant.bam - - bams/test.bam \ No newline at end of file + - bams/test.bam + ncpu: + - 1 \ No newline at end of file From af74388ad22bad78880ee18e6ca936c70cf4fa6d Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 14:58:22 -0400 Subject: [PATCH 127/147] chore: try JVM argument to test --- .github/workflows/sprocket-test.yaml | 2 +- tools/gatk4.wdl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sprocket-test.yaml b/.github/workflows/sprocket-test.yaml index 296ae087c..6c6946067 100644 --- a/.github/workflows/sprocket-test.yaml +++ b/.github/workflows/sprocket-test.yaml @@ -38,4 +38,4 @@ jobs: env: RUNNER: ${{ matrix.runner }} run: | - sprocket dev test --filter-tag reference --filter-tag slow --filter-tag high_mem ${{ matrix.file }} || cat test/runs/*/*/*/attempts/0/std* > /dev/stderr \ No newline at end of file + sprocket dev test --filter-tag reference --filter-tag slow --filter-tag high_mem ${{ matrix.file }} || for file in $(ls test/runs/*/*/*/attempts/0/std*); do echo $file > /dev/stderr ; cat $file > /dev/stderr; done \ No newline at end of file diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index c727d16c5..844b04c75 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -289,7 +289,7 @@ task apply_bqsr { # shellcheck disable=SC2102 gatk \ --java-options \ - "-XX:GCTimeLimit=50 -XX:GCHeapFreeLimit=10 -Xms3000m -Xmx~{java_heap_size}g" \ + "-XX:GCTimeLimit=50 -XX:GCHeapFreeLimit=10 -Xms3000m -Xmx~{java_heap_size}g -XX:-UseContainerSupport" \ ApplyBQSRSpark \ --spark-master local[~{ncpu}] \ -I "$bam_name" \ From a9b54922997e775db5980db5335b25254e26c293 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 15:10:50 -0400 Subject: [PATCH 128/147] ci: install sprocket from binary for speed --- .github/workflows/sprocket-test.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/sprocket-test.yaml b/.github/workflows/sprocket-test.yaml index 6c6946067..2220e8c54 100644 --- a/.github/workflows/sprocket-test.yaml +++ b/.github/workflows/sprocket-test.yaml @@ -26,11 +26,12 @@ jobs: - uses: actions/checkout@v4 with: lfs: true - - name: Update Rust - run: rustup update stable && rustup default stable - - name: Build Sprocket + - name: Install Sprocket run: | cargo install sprocket --locked + SPROCKET_URL=$(curl -sSL https://api.github.com/repos/stjude-rust-labs/sprocket/releases/latest \ + | jq -r '.assets[] | select(.name | test("x86_64-unknown-linux-gnu.tar.gz")) | .browser_download_url') + curl -sSL "$SPROCKET_URL" | tar -xz -C /usr/local/bin sprocket - name: Update containers run: | ./developer_scripts/update_container_tags.sh ${GITHUB_REF##*/} From 8c4c535c50ac04e3999531e7dcc5db194e960e24 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 15:15:28 -0400 Subject: [PATCH 129/147] chore: disable Java overriding memory in container --- tools/gatk4.wdl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index 844b04c75..a57a17a45 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -215,7 +215,7 @@ task base_recalibrator { # shellcheck disable=SC2102 gatk \ --java-options \ - "-XX:GCTimeLimit=50 -XX:GCHeapFreeLimit=10 -Xms4000m -Xmx~{java_heap_size}g" \ + "-XX:GCTimeLimit=50 -XX:GCHeapFreeLimit=10 -Xms4000m -Xmx~{java_heap_size}g -XX:-UseContainerSupport" \ BaseRecalibratorSpark \ -R "$ref_fasta.fa" \ -I "$bam_name" \ @@ -612,7 +612,7 @@ task mark_duplicates_spark { # shellcheck disable=SC2102 gatk MarkDuplicatesSpark \ - --java-options "-Xmx~{java_heap_size}g" \ + --java-options "-Xmx~{java_heap_size}g -XX:-UseContainerSupport" \ -I "~{bam}" \ -M "~{prefix}.metrics.txt" \ -O "~{if create_bam From 6c86f5fbdc6bf04e0aa0568f00c8af445e749d9b Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 15:24:26 -0400 Subject: [PATCH 130/147] ci: install sprocket from binary for speed --- .github/workflows/sprocket-test.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/sprocket-test.yaml b/.github/workflows/sprocket-test.yaml index 2220e8c54..ded7e68d5 100644 --- a/.github/workflows/sprocket-test.yaml +++ b/.github/workflows/sprocket-test.yaml @@ -28,7 +28,6 @@ jobs: lfs: true - name: Install Sprocket run: | - cargo install sprocket --locked SPROCKET_URL=$(curl -sSL https://api.github.com/repos/stjude-rust-labs/sprocket/releases/latest \ | jq -r '.assets[] | select(.name | test("x86_64-unknown-linux-gnu.tar.gz")) | .browser_download_url') curl -sSL "$SPROCKET_URL" | tar -xz -C /usr/local/bin sprocket From d53c1b80f135814eae40bb77149659b445133984 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 15:47:36 -0400 Subject: [PATCH 131/147] chore: remove debug logging --- .github/workflows/sprocket-test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sprocket-test.yaml b/.github/workflows/sprocket-test.yaml index ded7e68d5..0c022f44b 100644 --- a/.github/workflows/sprocket-test.yaml +++ b/.github/workflows/sprocket-test.yaml @@ -38,4 +38,4 @@ jobs: env: RUNNER: ${{ matrix.runner }} run: | - sprocket dev test --filter-tag reference --filter-tag slow --filter-tag high_mem ${{ matrix.file }} || for file in $(ls test/runs/*/*/*/attempts/0/std*); do echo $file > /dev/stderr ; cat $file > /dev/stderr; done \ No newline at end of file + sprocket dev test --filter-tag reference --filter-tag slow --filter-tag high_mem ${{ matrix.file }} \ No newline at end of file From 9604f07a1115a9b06ade0a8dd75f36bc84af7450 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 15:54:12 -0400 Subject: [PATCH 132/147] chore: move except to ignore lint issue --- tools/clair.wdl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/clair.wdl b/tools/clair.wdl index 5e1e3ff85..f933c105f 100644 --- a/tools/clair.wdl +++ b/tools/clair.wdl @@ -70,6 +70,7 @@ task clair3 { String filename = basename(bam) + #@except: ShellCheck command <<< set -euo pipefail @@ -82,7 +83,6 @@ task clair3 { cp "~{bam}" "~{filename}" cp "~{bam_index}" "~{filename}.bai" - #@except: ShellCheck run_clair3.sh \ --bam_fn="~{filename}" \ --ref_fn="$ref_fasta" \ @@ -219,6 +219,7 @@ task clairs { String tumor = basename(tumor_bam) String normal = basename(normal_bam) + #@except: ShellCheck command <<< set -euo pipefail From f48596d79b7a712c7377456b14a80880fff1e94d Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 16:01:51 -0400 Subject: [PATCH 133/147] chore: sprocket format --- data_structures/read_group.wdl | 2 +- tools/bwamem2.wdl | 34 +++++++------ tools/clair.wdl | 8 +-- tools/deepvariant.wdl | 42 +++++++++------ tools/gatk4.wdl | 69 ++++++++++++++----------- tools/hisat2.wdl | 91 ++++++++++++++++++++++++--------- tools/manta.wdl | 39 ++++++++------ tools/minimap2.wdl | 63 ++++++++++++++++------- tools/mutect2.wdl | 93 +++++++++++++++++++--------------- tools/ngsep.wdl | 6 +-- tools/octopus.wdl | 17 +++---- tools/picard.wdl | 2 +- tools/samtools.wdl | 8 ++- tools/strelka.wdl | 53 ++++++++++--------- tools/vg.wdl | 49 ++++++++++-------- 15 files changed, 348 insertions(+), 228 deletions(-) diff --git a/data_structures/read_group.wdl b/data_structures/read_group.wdl index e3b796c0b..6f9bd90c4 100644 --- a/data_structures/read_group.wdl +++ b/data_structures/read_group.wdl @@ -430,7 +430,7 @@ task read_group_to_array { meta { description: "Converts a `ReadGroup` struct to a `Array[String]` **without any validation**." outputs: { - converted_read_group: "Input `ReadGroup` as a `Array[String]`" + converted_read_group: "Input `ReadGroup` as a `Array[String]`", } } diff --git a/tools/bwamem2.wdl b/tools/bwamem2.wdl index 7aaa1a00e..8e1b39c0e 100644 --- a/tools/bwamem2.wdl +++ b/tools/bwamem2.wdl @@ -4,7 +4,7 @@ task align { meta { description: "Align DNA sequences against a large reference database using BWA-MEM2" outputs: { - alignments: "The output alignment file in SAM format" + alignments: "The output alignment file in SAM format", } } @@ -27,11 +27,8 @@ task align { File reference_index String read_group File? read_two_fastq_gz - String prefix = sub( - basename(read_one_fastq_gz), - "([_\\.][rR][12])?(\\.subsampled)?\\.(fastq|fq)(\\.gz)?$", - "" - ) + String prefix = sub(basename(read_one_fastq_gz), "([_\\.][rR][12])?(\\.subsampled)?\\.(fastq|fq)(\\.gz)?$", + "") Boolean smart_pairing = false Boolean skip_mate_rescue = false Int threads = 4 @@ -41,12 +38,8 @@ task align { } String output_name = prefix + ".bam" - Int disk_size_gb = ceil(( - size(read_one_fastq_gz, "GB") + size(read_two_fastq_gz, "GB") - ) * 2) - + ceil(size(reference_index, "GB")) - + 30 - + modify_disk_size_gb + Int disk_size_gb = ceil((size(read_one_fastq_gz, "GB") + size(read_two_fastq_gz, "GB") + ) * 2) + ceil(size(reference_index, "GB")) + 30 + modify_disk_size_gb command <<< set -euo pipefail @@ -60,11 +53,20 @@ task align { -R "~{read_group}" \ -k ~{seed_length} \ -T ~{min_score} \ - ~{if smart_pairing then "-p" else ""} \ - ~{if skip_mate_rescue then "-S" else ""} \ + ~{if smart_pairing + then "-p" + else "" + } \ + ~{if skip_mate_rescue + then "-S" + else "" + } \ bwa_db/"$PREFIX" \ "~{read_one_fastq_gz}" \ - ~{if defined(read_two_fastq_gz) then "\"~{read_two_fastq_gz}\"" else ""} | + ~{if defined(read_two_fastq_gz) + then "\"~{read_two_fastq_gz}\"" + else "" + } | samtools view -b -o "~{output_name}" - rm -r bwa_db @@ -86,7 +88,7 @@ task index { meta { description: "Index a reference genome for alignment with minimap2" outputs: { - reference_index: "The minimap2 index file for the reference genome" + reference_index: "The minimap2 index file for the reference genome", } } diff --git a/tools/clair.wdl b/tools/clair.wdl index f933c105f..c3d791c12 100644 --- a/tools/clair.wdl +++ b/tools/clair.wdl @@ -55,9 +55,9 @@ task clair3 { String model File? bed_regions File? vcf_candidates + Array[String] contigs = [] String output_dir = "clair3_output" String platform = "ilmn" - Array[String] contigs = [] Boolean all_contigs = false Boolean print_ref_calls = false Boolean gvcf = false @@ -70,7 +70,7 @@ task clair3 { String filename = basename(bam) - #@except: ShellCheck + #@ except: ShellCheck command <<< set -euo pipefail @@ -198,10 +198,10 @@ task clairs { File? full_alignment_model Int? snv_min_qual Int? indel_min_qual + Array[String] contigs = [] String prefix = "output" String sample_name = "SAMPLE" String output_dir = "output" - Array[String] contigs = [] Boolean all_contigs = false Boolean print_ref_calls = false Boolean print_germline_calls = false @@ -219,7 +219,7 @@ task clairs { String tumor = basename(tumor_bam) String normal = basename(normal_bam) - #@except: ShellCheck + #@ except: ShellCheck command <<< set -euo pipefail diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl index b3e570534..42c210274 100644 --- a/tools/deepvariant.wdl +++ b/tools/deepvariant.wdl @@ -12,7 +12,7 @@ enum ModelType { WGS_TUMOR_ONLY, WES_TUMOR_ONLY, PACBIO_TUMOR_ONLY, - ONT_TUMOR_ONLY + ONT_TUMOR_ONLY, } task deepsomatic { @@ -78,11 +78,8 @@ task deepsomatic { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) - + ceil(size(tumor_bam, "GB") * 2) - + ceil(size(normal_bam, "GB") * 2) - + 50 - + modify_disk_size_gb + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size(tumor_bam, "GB") + * 2) + ceil(size(normal_bam, "GB") * 2) + 50 + modify_disk_size_gb String tumor = basename(tumor_bam) String normal = basename(normal_bam) @@ -112,11 +109,19 @@ task deepsomatic { --num_shards="~{threads}" \ --logging_dir="logs" \ --intermediate_results_dir="intermediate_results" \ - ~{if runtime_report then "--runtime_report" else ""} \ - ~{if vcf_stats_report then "--vcf_stats_report" else ""} + ~{if runtime_report + then "--runtime_report" + else "" + } \ + ~{if vcf_stats_report + then "--vcf_stats_report" + else "" + } - rm -rf "$ref_fasta" "$ref_fasta.fai" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{normal}.bai" + rm -rf "$ref_fasta" "$ref_fasta.fai" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{ + normal + }.bai" >>> output { @@ -190,7 +195,10 @@ task deepvariant { File reference_fasta_index File bam File bam_index - Array[String] haploid_chromosomes = ["chrX", "chrY"] + Array[String] haploid_chromosomes = [ + "chrX", + "chrY", + ] String output_prefix = "deepsomatic_output" String model_type = "WGS" Boolean runtime_report = false @@ -199,9 +207,7 @@ task deepvariant { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) - + ceil(size(bam, "GB")) - + 50 + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size(bam, "GB")) + 50 + modify_disk_size_gb String filename = basename(bam) @@ -228,8 +234,14 @@ task deepvariant { --logging_dir="logs" \ --intermediate_results_dir="intermediate_results" \ --test_tmpdir="test" \ - ~{if runtime_report then "--runtime_report" else ""} \ - ~{if vcf_stats_report then "--vcf_stats_report" else ""} \ + ~{if runtime_report + then "--runtime_report" + else "" + } \ + ~{if vcf_stats_report + then "--vcf_stats_report" + else "" + } \ --haploid_contigs="~{sep(",", haploid_chromosomes)}" rm -rf "$ref_fasta" "$ref_fasta.fai" "~{filename}" "~{filename}.bai" diff --git a/tools/gatk4.wdl b/tools/gatk4.wdl index a57a17a45..b3adb16d9 100644 --- a/tools/gatk4.wdl +++ b/tools/gatk4.wdl @@ -3,13 +3,13 @@ version 1.3 enum ref_confidence { NONE, GVCF, - BP_RESOLUTION + BP_RESOLUTION, } enum VariantMode { SNP, INDEL, - BOTH + BOTH, } struct Resource { @@ -56,7 +56,9 @@ task resource_to_string { } command <<< - echo "~{res.name},known=~{res.known},training=~{res.training},truth=~{res.truth},prior=~{res.prior} ~{basename(res.vcf)}" + echo "~{res.name},known=~{res.known},training=~{res.training},truth=~{res.truth},prior=~{ + res.prior + } ~{basename(res.vcf)}" >>> output { @@ -413,7 +415,8 @@ task haplotype_caller { --dbsnp "~{snp_vcf}" \ --emit-ref-confidence "~{reference_confidence}" - rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{sample}" "~{sample}.bai" "~{snp_vcf}" "~{snp_vcf_index}" + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{sample}" "~{sample + }.bai" "~{snp_vcf}" "~{snp_vcf_index}" >>> output { @@ -654,7 +657,7 @@ task apply_vqsr { vcf_recalibrated: "Recalibrated VCF file", vcf_recalibrated_index: "Index file for the recalibrated VCF", } - } + } parameter_meta { reference_fasta: "Reference genome in FASTA format" @@ -667,12 +670,12 @@ task apply_vqsr { tranches_file: "Tranches file generated by the VariantRecalibrator tool" mode: { description: "Variant type to apply variant quality score recalibration for.", - help: "If `BOTH`, then the same model will be applied to both SNPs and indels." + help: "If `BOTH`, then the same model will be applied to both SNPs and indels.", } prefix: "Prefix for the output recalibrated VCF. The extension `.recalibrated.vcf.gz` will be added." truth_sensitivity_filter_level: { description: "Truth sensitivity level at which to filter variants.", - help: "This corresponds to the `--truth-sensitivity-filter-level` argument of GATK ApplyVQSR. Default is 99.0, which means that variants will be filtered at the threshold that achieves 99.0% sensitivity on the truth set used to build the model." + help: "This corresponds to the `--truth-sensitivity-filter-level` argument of GATK ApplyVQSR. Default is 99.0, which means that variants will be filtered at the threshold that achieves 99.0% sensitivity on the truth set used to build the model.", } modify_disk_size_gb: "Add to or subtract from dynamic disk space allocation. Default disk size is determined by the size of the inputs. Specified in GB." } @@ -684,7 +687,7 @@ task apply_vqsr { File vcf File vcf_index File recal_file - #@except: UnusedInput + #@ except: UnusedInput File recal_file_index File tranches_file VariantMode mode = VariantMode.SNP @@ -693,9 +696,8 @@ task apply_vqsr { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(vcf, "GB") * 2) - + ceil(size(reference_fasta, "GB") * 2) - + 30 + modify_disk_size_gb + Int disk_size_gb = ceil(size(vcf, "GB") * 2) + ceil(size(reference_fasta, "GB") * 2) + 30 + + modify_disk_size_gb command <<< set -euo pipefail @@ -718,7 +720,9 @@ task apply_vqsr { --mode "~{mode}" \ -O "~{prefix}.recalibrated.vcf.gz" - rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename(vcf)}" "~{basename(vcf_index)}" + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename(vcf)}" "~{ + basename(vcf_index) + }" >>> output { @@ -743,7 +747,7 @@ task variant_recalibrator { recal_file: "Recalibration file containing the model generated by VariantRecalibrator", recal_index: "Index file for the recalibration file", tranches_file: "Tranches file containing information about the sensitivity and specificity of the model at different score thresholds", - rscript_file: "R script file for generating plots to evaluate the model." + rscript_file: "R script file for generating plots to evaluate the model.", } } @@ -771,17 +775,23 @@ task variant_recalibrator { Array[File] resource_vcfs Array[File] resource_vcf_indices Array[String] resources - Array[String] annotations = ["QD", "MQ", "MQRankSum", "ReadPosRankSum", "FS", "SOR"] + Array[String] annotations = [ + "QD", + "MQ", + "MQRankSum", + "ReadPosRankSum", + "FS", + "SOR", + ] VariantMode mode = VariantMode.SNP String prefix = basename(vcf, ".vcf.gz") Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(vcf, "GB") * 2) - + ceil(size(reference_fasta, "GB") * 2) - + 30 + modify_disk_size_gb + Int disk_size_gb = ceil(size(vcf, "GB") * 2) + ceil(size(reference_fasta, "GB") * 2) + 30 + + modify_disk_size_gb - #@except: ShellCheck + #@ except: ShellCheck command <<< set -euo pipefail @@ -813,7 +823,9 @@ task variant_recalibrator { ~{sep(" ", prefix("--resource:", resources))} \ ~{sep(" ", prefix("-an ", quote(annotations)))} - rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename(vcf)}" "~{basename(vcf_index)}" + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename(vcf)}" "~{ + basename(vcf_index) + }" for vcf in ~{sep(" ", resource_vcfs)}; do rm -rf "$(basename "$vcf")" done @@ -929,10 +941,7 @@ task genotype_gvcfs { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(gvcf, "GB") * 2) - + 30 - + ceil(size(fasta, "GB")) - + modify_disk_size_gb + Int disk_size_gb = ceil(size(gvcf, "GB") * 2) + 30 + ceil(size(fasta, "GB")) + modify_disk_size_gb command <<< set -euo pipefail @@ -953,7 +962,9 @@ task genotype_gvcfs { -V "~{basename(gvcf)}" \ -O "~{prefix}.g.vcf.gz" \ - rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename(gvcf)}" "~{basename(gvcf_index)}" + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename(gvcf)}" "~{ + basename(gvcf_index) + }" >>> output { @@ -997,7 +1008,7 @@ workflow germline_variant_calling_wf { known_indels_sites_indices: "List of VCF index files corresponding to the VCF files in `known_indels_sites_vcfs`" resources: { description: "List of resources to use for building the variant quality score recalibration model.", - help: " Each resource should be a tuple containing the name of the resource, the path to the VCF file for the resource, and the path to the VCF index file for the resource." + help: " Each resource should be a tuple containing the name of the resource, the path to the VCF file for the resource, and the path to the VCF index file for the resource.", } prefix: "Prefix for the output files." } @@ -1008,9 +1019,9 @@ workflow germline_variant_calling_wf { File reference_fasta File reference_fasta_index File reference_dict - #@except: SnakeCase + #@ except: SnakeCase File dbSNP_vcf - #@except: SnakeCase + #@ except: SnakeCase File dbSNP_vcf_index File interval_list Array[File] known_indels_sites_vcfs @@ -1021,7 +1032,7 @@ workflow germline_variant_calling_wf { scatter (resource in resources) { call resource_to_string { - res = resource + res = resource, } } @@ -1067,7 +1078,7 @@ workflow germline_variant_calling_wf { prefix, } - call variant_recalibrator { + call variant_recalibrator { reference_fasta, reference_fasta_index, reference_dict, diff --git a/tools/hisat2.wdl b/tools/hisat2.wdl index ee7a55ca1..82f2bffad 100644 --- a/tools/hisat2.wdl +++ b/tools/hisat2.wdl @@ -26,12 +26,8 @@ task align { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(( - size(read_one_fastq_gz, "GB") + size(read_two_fastq_gz, "GB") - ) * 2) - + ceil(size(reference_index, "GB") * 5) - + 10 - + modify_disk_size_gb + Int disk_size_gb = ceil((size(read_one_fastq_gz, "GB") + size(read_two_fastq_gz, "GB") + ) * 2) + ceil(size(reference_index, "GB") * 5) + 10 + modify_disk_size_gb command <<< set -euo pipefail @@ -45,7 +41,10 @@ task align { -p ~{threads} \ -x "hisat2_db/$PREFIX" \ -1 "~{read_one_fastq_gz}" \ - ~{if defined(read_two_fastq_gz) then "-2 \"~{read_two_fastq_gz}\"" else ""} \ + ~{if defined(read_two_fastq_gz) + then "-2 \"~{read_two_fastq_gz}\"" + else "" + } \ | samtools view -bS - > "~{output_name}" rm -r hisat2_db @@ -137,31 +136,75 @@ task index { || ln -sf "~{reference_fasta}" "$ref_fasta" hisat2-build \ - ~{if force_large_index then "--large-index" else ""} \ - ~{if disable_auto_fitting then "--disable-auto-fitting" else ""} \ + ~{if force_large_index + then "--large-index" + else "" + } \ + ~{if disable_auto_fitting + then "--disable-auto-fitting" + else "" + } \ -p ~{threads} \ - ~{if defined(bmax) then "--bmax \"~{bmax}\"" else ""} \ - ~{if defined(bmaxdivn) then "--bmaxdivn \"~{bmaxdivn}\"" else ""} \ - ~{if !nodc then "--dcv \"~{dcv}\"" else ""} \ - ~{if no_ref then "--no-ref" else ""} \ - ~{if just_ref then "--just-ref" else ""} \ + ~{if defined(bmax) + then "--bmax \"~{bmax}\"" + else "" + } \ + ~{if defined(bmaxdivn) + then "--bmaxdivn \"~{bmaxdivn}\"" + else "" + } \ + ~{if !nodc + then "--dcv \"~{dcv}\"" + else "" + } \ + ~{if no_ref + then "--no-ref" + else "" + } \ + ~{if just_ref + then "--just-ref" + else "" + } \ --offrate "~{offrate}" \ --ftabchars "~{ftabchars}" \ --localoffrate "~{localoffrate}" \ --localftabchars "~{localftabchars}" \ - ~{if defined(snp) then "--snp \"~{snp}\"" else ""} \ - ~{if defined(haplotype) then "--haplotype \"~{haplotype}\"" else ""} \ - ~{if defined(splice_site) then "--ss \"~{splice_site}\"" else ""} \ - ~{if defined(exon) then "--exon \"~{exon}\"" else ""} \ - ~{if defined(repeat_ref) then "--repeat-ref \"~{repeat_ref}\"" else ""} \ - ~{if defined(repeat_info) then "--repeat-info \"~{repeat_info}\"" else ""} \ - ~{if defined(repeat_snp) then "--repeat-snp \"~{repeat_snp}\"" else ""} \ - ~{( - if defined(repeat_haplotype) + ~{if defined(snp) + then "--snp \"~{snp}\"" + else "" + } \ + ~{if defined(haplotype) + then "--haplotype \"~{haplotype}\"" + else "" + } \ + ~{if defined(splice_site) + then "--ss \"~{splice_site}\"" + else "" + } \ + ~{if defined(exon) + then "--exon \"~{exon}\"" + else "" + } \ + ~{if defined(repeat_ref) + then "--repeat-ref \"~{repeat_ref}\"" + else "" + } \ + ~{if defined(repeat_info) + then "--repeat-info \"~{repeat_info}\"" + else "" + } \ + ~{if defined(repeat_snp) + then "--repeat-snp \"~{repeat_snp}\"" + else "" + } \ + ~{(if defined(repeat_haplotype) then "--repeat-haplotype \"~{repeat_haplotype}\"" else "" )} \ - ~{if defined(seed) then "--seed \"~{seed}\"" else ""} \ + ~{if defined(seed) + then "--seed \"~{seed}\"" + else "" + } \ "$ref_fasta" \ "~{index_base_name}" diff --git a/tools/manta.wdl b/tools/manta.wdl index 4ebbe50a2..988edacac 100644 --- a/tools/manta.wdl +++ b/tools/manta.wdl @@ -28,7 +28,7 @@ task manta_germline { File bam File bam_index File? calling_regions_bed - #@except: UnusedInput + #@ except: UnusedInput File? calling_regions_index String output_dir = "manta_output" Boolean exome = false @@ -36,9 +36,7 @@ task manta_germline { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) - + ceil(size(bam, "GB")) - + 20 + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size(bam, "GB")) + 20 + modify_disk_size_gb String filename = basename(bam) @@ -57,8 +55,14 @@ task manta_germline { configManta.py \ --bam "~{filename}" \ --referenceFasta "$ref_fasta" \ - ~{if defined(calling_regions_bed) then "--callRegions '" + calling_regions_bed + "'" else ""} \ - ~{if exome then "--exome" else ""} \ + ~{if defined(calling_regions_bed) + then "--callRegions '" + calling_regions_bed + "'" + else "" + } \ + ~{if exome + then "--exome" + else "" + } \ --runDir "~{output_dir}" "~{output_dir}/runWorkflow.py" -j "~{threads}" @@ -119,7 +123,7 @@ task manta_somatic { File normal_bam File normal_bam_index File? calling_regions_bed - #@except: UnusedInput + #@ except: UnusedInput File? calling_regions_index String output_dir = "manta_output" Boolean exome = false @@ -127,11 +131,8 @@ task manta_somatic { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) - + ceil(size(tumor_bam, "GB")) - + ceil(size(normal_bam, "GB")) - + 20 - + modify_disk_size_gb + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size(tumor_bam, "GB")) + + ceil(size(normal_bam, "GB")) + 20 + modify_disk_size_gb String tumor = basename(tumor_bam) String normal = basename(normal_bam) @@ -153,13 +154,21 @@ task manta_somatic { --normalBam "~{normal}" \ --tumorBam "~{tumor}" \ --referenceFasta "$ref_fasta" \ - ~{if exome then "--exome" else ""} \ - ~{if defined(calling_regions_bed) then "--callRegions '" + calling_regions_bed + "'" else ""} \ + ~{if exome + then "--exome" + else "" + } \ + ~{if defined(calling_regions_bed) + then "--callRegions '" + calling_regions_bed + "'" + else "" + } \ --runDir "~{output_dir}" "~{output_dir}/runWorkflow.py" -j "~{threads}" - rm -rf "$ref_fasta" "$ref_fasta.fai" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{normal}.bai" + rm -rf "$ref_fasta" "$ref_fasta.fai" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{ + normal + }.bai" >>> output { diff --git a/tools/minimap2.wdl b/tools/minimap2.wdl index efc8f5aca..c722ffa05 100644 --- a/tools/minimap2.wdl +++ b/tools/minimap2.wdl @@ -4,7 +4,7 @@ task align { meta { description: "Align DNA or mRNA sequences against a large reference database" outputs: { - alignments: "The output alignment file in SAM or PAF format" + alignments: "The output alignment file in SAM or PAF format", } } @@ -65,32 +65,54 @@ task align { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil( - ( - size(read_one_fastq_gz, "GB") + size(read_two_fastq_gz, "GB") - ) * 3) - + ceil(size(reference_index, "GB")) - + 10 - + modify_disk_size_gb + Int disk_size_gb = ceil((size(read_one_fastq_gz, "GB") + size(read_two_fastq_gz, "GB") + ) * 3) + ceil(size(reference_index, "GB")) + 10 + modify_disk_size_gb command <<< set -euo pipefail minimap2 \ - ~{if defined(preset) then "-x \"~{preset}\"" else ""} \ - ~{if output_paf then "" else "-a"} \ - ~{if output_paf && cigar_in_paf then "-c" else ""} \ - ~{if ignore_base_quality then "-Q" else ""} \ - ~{if output_md_tag then "--MD" else ""} \ - ~{if eqx then "-X" else ""} \ - ~{if soft_clip then "-Y" else ""} \ - ~{if secondary_alignments then "--secondary=yes" else "--secondary=no"} \ + ~{if defined(preset) + then "-x \"~{preset}\"" + else "" + } \ + ~{if output_paf + then "" + else "-a" + } \ + ~{if output_paf && cigar_in_paf + then "-c" + else "" + } \ + ~{if ignore_base_quality + then "-Q" + else "" + } \ + ~{if output_md_tag + then "--MD" + else "" + } \ + ~{if eqx + then "-X" + else "" + } \ + ~{if soft_clip + then "-Y" + else "" + } \ + ~{if secondary_alignments + then "--secondary=yes" + else "--secondary=no" + } \ -t ~{threads} \ --seed ~{seed} \ -R "~{read_group}" \ "~{reference_index}" \ "~{read_one_fastq_gz}" \ - ~{if defined(read_two_fastq_gz) then "\"~{read_two_fastq_gz}\"" else ""} \ + ~{if defined(read_two_fastq_gz) + then "\"~{read_two_fastq_gz}\"" + else "" + } \ | if ~{output_paf}; then cat - > "~{output_name}" else @@ -114,7 +136,7 @@ task index { meta { description: "Create a minimap2 index for a reference genome" outputs: { - reference_index: "The generated minimap2 index file" + reference_index: "The generated minimap2 index file", } } @@ -150,7 +172,10 @@ task index { minimap2 \ -k ~{minimizer_kmer_size} \ -w ~{minimizer_window_size} \ - ~{if defined(alt_contigs) then "--alt \"~{alt_contigs}\"" else ""} \ + ~{if defined(alt_contigs) + then "--alt \"~{alt_contigs}\"" + else "" + } \ -t ~{threads} \ -d "~{index_name}" \ "$ref_fasta" diff --git a/tools/mutect2.wdl b/tools/mutect2.wdl index 392021b8f..cde1d29ef 100644 --- a/tools/mutect2.wdl +++ b/tools/mutect2.wdl @@ -48,7 +48,8 @@ workflow mutect2_wf { File? panel_of_normals_vcf_index String normal_sample_name = basename(normal_bam, ".bam") String tumor_sample_name = basename(tumor_bam, ".bam") - String output_prefix = basename(tumor_bam, ".bam") + "_v_" + basename(normal_bam, ".bam") + String output_prefix = basename(tumor_bam, ".bam") + "_v_" + basename(normal_bam, ".bam" + ) } call mutect2 { @@ -156,10 +157,10 @@ task mutect2 { File tumor_bam File tumor_bam_index File? germline_resource_vcf - #@except: UnusedInput + #@ except: UnusedInput File? germline_resource_vcf_index File? panel_of_normals_vcf - #@except: UnusedInput + #@ except: UnusedInput File? panel_of_normals_vcf_index String normal_sample_name = basename(normal_bam, ".bam") String tumor_sample_name = basename(tumor_bam, ".bam") @@ -168,11 +169,8 @@ task mutect2 { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) - + ceil(size(normal_bam, "GB") * 2) - + ceil(size(tumor_bam, "GB") * 2) - + 20 - + modify_disk_size_gb + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size(normal_bam, "GB") + * 2) + ceil(size(tumor_bam, "GB") * 2) + 20 + modify_disk_size_gb String tumor = basename(tumor_bam) String normal = basename(normal_bam) @@ -197,18 +195,26 @@ task mutect2 { -I "~{normal}" \ -normal "~{normal_sample_name}" \ -tumor "~{tumor_sample_name}" \ - ~{if defined(germline_resource_vcf) then "-germline-resource '" + germline_resource_vcf + "'" else ""} \ - ~{if defined(panel_of_normals_vcf) then "-panel-of-normals '" + panel_of_normals_vcf + "'" else ""} \ + ~{if defined(germline_resource_vcf) + then "-germline-resource '" + germline_resource_vcf + "'" + else "" + } \ + ~{if defined(panel_of_normals_vcf) + then "-panel-of-normals '" + panel_of_normals_vcf + "'" + else "" + } \ -O "~{output_prefix}.vcf.gz" \ --native-pair-hmm-threads "~{threads}" - rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{normal}.bai" - >>> + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{tumor}" "~{tumor}.bai" "~{ + normal + }" "~{normal}.bai" + >>> - output { - File somatic_vcf = "~{output_prefix}.vcf.gz" - File somatic_vcf_index = "~{output_prefix}.vcf.gz.tbi" - File stats = "~{output_prefix}.vcf.gz.stats" + output { + File somatic_vcf = "~{output_prefix}.vcf.gz" + File somatic_vcf_index = "~{output_prefix}.vcf.gz.tbi" + File stats = "~{output_prefix}.vcf.gz.stats" } requirements { @@ -254,10 +260,9 @@ task filter_mutect { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) - + ceil(size(unfiltered_somatic_vcf, "GB") * 2) - + 20 - + modify_disk_size_gb + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size( + unfiltered_somatic_vcf, "GB" + ) * 2) + 20 + modify_disk_size_gb command <<< set -euo pipefail @@ -269,8 +274,10 @@ task filter_mutect { ln -sf "~{reference_fasta_dict}" "$ref_fasta.dict" ln -sf "~{unfiltered_somatic_vcf}" "~{basename(unfiltered_somatic_vcf)}" - ln -sf "~{unfiltered_somatic_vcf_index}" "~{basename(unfiltered_somatic_vcf_index)}" - ln -sf "~{unfiltered_somatic_vcf_stats}" "~{basename(unfiltered_somatic_vcf_stats)}" + ln -sf "~{unfiltered_somatic_vcf_index}" "~{basename(unfiltered_somatic_vcf_index) + }" + ln -sf "~{unfiltered_somatic_vcf_stats}" "~{basename(unfiltered_somatic_vcf_stats) + }" gatk --java-options "-Xmx~{24000}m" \ FilterMutectCalls \ @@ -280,7 +287,11 @@ task filter_mutect { --tumor-segmentation "~{maf_segments}" \ -O "~{prefix}.vcf.gz" - rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename(unfiltered_somatic_vcf)}" "~{basename(unfiltered_somatic_vcf_index)}" "~{basename(unfiltered_somatic_vcf_stats)}" + rm -rf "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" "~{basename( + unfiltered_somatic_vcf + )}" "~{basename(unfiltered_somatic_vcf_index)}" "~{basename( + unfiltered_somatic_vcf_stats + )}" >>> output { @@ -309,23 +320,21 @@ task calculate_contamination { tumor_pileups: "Pileup summaries file for the tumor sample generated by GATK GetPileupSummaries" normal_pileups: { description: "Pileup summaries file for the normal sample generated by GATK GetPileupSummaries.", - help: "Optional but recommended for more accurate contamination estimation." + help: "Optional but recommended for more accurate contamination estimation.", } prefix: "Prefix for output files. The extensions '.table' and '.segments.table' will be added." modify_disk_size_gb: "Additional disk size in GB to allocate" } input { - File tumor_pileups - File? normal_pileups - String prefix = basename(tumor_pileups, ".table") - Int modify_disk_size_gb = 0 + File tumor_pileups + File? normal_pileups + String prefix = basename(tumor_pileups, ".table") + Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(tumor_pileups, "GB") * 2) - + ceil(size(normal_pileups, "GB") * 2) - + 20 - + modify_disk_size_gb + Int disk_size_gb = ceil(size(tumor_pileups, "GB") * 2) + ceil(size(normal_pileups, "GB" + ) * 2) + 20 + modify_disk_size_gb command <<< set -euo pipefail @@ -335,7 +344,10 @@ task calculate_contamination { -I "~{tumor_pileups}" \ -O "~{prefix}.contamination.table" \ --tumor-segmentation "~{prefix}.segments.table" \ - ~{if defined(normal_pileups) then "-matched '" + normal_pileups + "'" else ""} + ~{if defined(normal_pileups) + then "-matched '" + normal_pileups + "'" + else "" + } >>> output { @@ -356,7 +368,7 @@ task get_pileup_summaries { meta { description: "Run GATK GetPileupSummaries to generate pileup summaries for contamination estimation" outputs: { - pileup_summaries: "Table file with pileup summaries for the input BAM file over the specified variants and intervals" + pileup_summaries: "Table file with pileup summaries for the input BAM file over the specified variants and intervals", } } @@ -388,12 +400,9 @@ task get_pileup_summaries { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(bam, "GB") * 2) - + ceil(size(intervals, "GB") * 2) - + ceil(size(variants, "GB") * 2) - + ceil(size(reference_fasta, "GB") * 2) - + 20 - + modify_disk_size_gb + Int disk_size_gb = ceil(size(bam, "GB") * 2) + ceil(size(intervals, "GB") * 2) + ceil( + size(variants, "GB") * 2 + ) + ceil(size(reference_fasta, "GB") * 2) + 20 + modify_disk_size_gb String name = basename(bam, ".bam") @@ -420,7 +429,9 @@ task get_pileup_summaries { -L "~{basename(intervals)}" \ -O "~{prefix}.table" - rm -rf "~{name}.bam" "~{name}.bam.bai" "~{basename(intervals)}" "~{basename(intervals_index)}" "~{basename(variants)}" "~{basename(variants_index)}" "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" + rm -rf "~{name}.bam" "~{name}.bam.bai" "~{basename(intervals)}" "~{basename( + intervals_index + )}" "~{basename(variants)}" "~{basename(variants_index)}" "$ref_fasta.fa" "$ref_fasta.fa.fai" "$ref_fasta.dict" >>> output { diff --git a/tools/ngsep.wdl b/tools/ngsep.wdl index a0b722071..b20c4a05d 100644 --- a/tools/ngsep.wdl +++ b/tools/ngsep.wdl @@ -4,7 +4,7 @@ task germline_variant { meta { description: "Call germline variants using NGSEP" outputs: { - vcf_output: "VCF file containing called germline variants" + vcf_output: "VCF file containing called germline variants", } } @@ -24,9 +24,7 @@ task germline_variant { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) - + ceil(size(bam, "GB")) - + 20 + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size(bam, "GB")) + 20 + modify_disk_size_gb command <<< diff --git a/tools/octopus.wdl b/tools/octopus.wdl index e7a6cc43f..d13be274c 100644 --- a/tools/octopus.wdl +++ b/tools/octopus.wdl @@ -5,7 +5,7 @@ task germline { description: "Run Octopus individual germline variant caller" warning: "octopus appears to functionally be abandonware at this point. the random forest filtering models are no longer available." outputs: { - vcf: "VCF file with called germline variants" + vcf: "VCF file with called germline variants", } } @@ -29,9 +29,7 @@ task germline { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) - + ceil(size(bam, "GiB")) - + 20 + Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + ceil(size(bam, "GiB")) + 20 + modify_disk_size_gb command <<< @@ -69,7 +67,7 @@ task somatic { description: "Run Octopus individual somatic variant caller" warning: "octopus appears to functionally be abandonware at this point. the random forest filtering models are no longer available." outputs: { - vcf: "VCF file with called somatic variants" + vcf: "VCF file with called somatic variants", } } @@ -95,11 +93,8 @@ task somatic { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) - + ceil(size(tumor_bam, "GiB")) - + ceil(size(normal_bam, "GiB")) - + 20 - + modify_disk_size_gb + Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + ceil(size(tumor_bam, "GiB" + )) + ceil(size(normal_bam, "GiB")) + 20 + modify_disk_size_gb command <<< set -euo pipefail @@ -131,4 +126,4 @@ task somatic { memory: "30 GB" disks: "~{disk_size_gb} GB" } -} \ No newline at end of file +} diff --git a/tools/picard.wdl b/tools/picard.wdl index a64dde2fd..b6173e79c 100755 --- a/tools/picard.wdl +++ b/tools/picard.wdl @@ -852,7 +852,7 @@ task merge_vcfs { input { Array[File] vcfs - #@except: UnusedInput + #@ except: UnusedInput Array[File] vcfs_indexes String output_vcf_name Int modify_disk_size_gb = 0 diff --git a/tools/samtools.wdl b/tools/samtools.wdl index 4aecd3807..2387cb457 100755 --- a/tools/samtools.wdl +++ b/tools/samtools.wdl @@ -1441,7 +1441,7 @@ task calmd { meta { description: "Calculates MD and NM tags" outputs: { - calmd_bam: "A BAM file with the MD and NM tags calculated. Output filename is `basename(bam) + '.calmd.bam'`." + calmd_bam: "A BAM file with the MD and NM tags calculated. Output filename is `basename(bam) + '.calmd.bam'`.", } } @@ -1462,9 +1462,7 @@ task calmd { } Float bam_size = size(bam, "GiB") - Int disk_size_gb = ceil(bam_size * 2.5) - + ceil(size(reference_fasta, "GiB") * 2) - + 30 + Int disk_size_gb = ceil(bam_size * 2.5) + ceil(size(reference_fasta, "GiB") * 2) + 30 + modify_disk_size_gb command <<< @@ -1501,7 +1499,7 @@ task sort { meta { description: "Sorts the input BAM file using `samtools sort`." outputs: { - sorted_bam: "A sorted BAM file" + sorted_bam: "A sorted BAM file", } } diff --git a/tools/strelka.wdl b/tools/strelka.wdl index 6cbf3c4b2..81ccc8f6f 100644 --- a/tools/strelka.wdl +++ b/tools/strelka.wdl @@ -37,7 +37,7 @@ task somatic { File tumor_bam File tumor_bam_index File? indel_candidates - #@except: UnusedInput + #@ except: UnusedInput File? indel_candidates_index String output_dir = "strelka_somatic_output" Boolean exome = false @@ -46,16 +46,11 @@ task somatic { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) - + ceil(size(normal_bam, "GB") * 2) - + ceil(size(tumor_bam, "GB") * 2) - + ( - if defined(indel_candidates) - then ceil(size(indel_candidates, "GB")) - else 0 - ) - + 20 - + modify_disk_size_gb + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size(normal_bam, "GB") + * 2) + ceil(size(tumor_bam, "GB") * 2) + (if defined(indel_candidates) + then ceil(size(indel_candidates, "GB")) + else 0 + ) + 20 + modify_disk_size_gb String tumor = basename(tumor_bam) String normal = basename(normal_bam) @@ -78,18 +73,25 @@ task somatic { --runDir "~{output_dir}" \ --tumorBam "~{tumor}" \ --normalBam "~{normal}" \ - ~{if (exome) then "--exome" else ""} \ - ~{if (rna) then "--rna" else ""} \ - ~{( - if (defined(indel_candidates)) + ~{if (exome) + then "--exome" + else "" + } \ + ~{if (rna) + then "--rna" + else "" + } \ + ~{(if (defined(indel_candidates)) then "--indelCandidates '~{indel_candidates}'" else "" )} - + "~{output_dir}/runWorkflow.py" -m local -j ~{threads} - rm -rf "$ref_fasta" "$ref_fasta.fai" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{normal}.bai" + rm -rf "$ref_fasta" "$ref_fasta.fai" "~{tumor}" "~{tumor}.bai" "~{normal}" "~{ + normal + }.bai" >>> output { @@ -142,9 +144,7 @@ task germline { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) - + ceil(size(bam, "GB") * 2) - + 20 + Int disk_size_gb = ceil(size(reference_fasta, "GB") * 2) + ceil(size(bam, "GB") * 2) + 20 + modify_disk_size_gb String filename = basename(bam) @@ -164,12 +164,19 @@ task germline { --referenceFasta "$ref_fasta" \ --runDir "~{output_dir}" \ --bam "~{filename}" \ - ~{if (exome) then "--exome" else ""} \ - ~{if (rna) then "--rna" else ""} + ~{if (exome) + then "--exome" + else "" + } \ + ~{if (rna) + then "--rna" + else "" + } "~{output_dir}/runWorkflow.py" -m local -j ~{threads} - rm -rf "$ref_fasta" "$ref_fasta.fai" "~{filename}" "~{filename}.bai" "~{output_dir}/workspace/pyflow.data/logs/tmp" + rm -rf "$ref_fasta" "$ref_fasta.fai" "~{filename}" "~{filename}.bai" "~{output_dir + }/workspace/pyflow.data/logs/tmp" >>> output { diff --git a/tools/vg.wdl b/tools/vg.wdl index 4bbd1807a..d7adaa9cc 100644 --- a/tools/vg.wdl +++ b/tools/vg.wdl @@ -4,7 +4,7 @@ task giraffe { meta { description: "Align DNA sequences against a variation graph using vg giraffe" outputs: { - alignments: "The output alignment file in GAM format" + alignments: "The output alignment file in GAM format", } } @@ -65,15 +65,10 @@ task giraffe { Int modify_disk_size_gb = 0 } - Int disk_size_gb = ceil(( - size(read_one_fastq_gz, "GB") + size(read_two_fastq_gz, "GB") - ) * 2) - + ceil(size(gbz_graph, "GB")) - + ceil(size(minimizer_index, "GB")) - + ceil(size(distance_index, "GB")) - + ceil(size(zipcode_name, "GB")) - + 10 - + modify_disk_size_gb + Int disk_size_gb = ceil((size(read_one_fastq_gz, "GB") + size(read_two_fastq_gz, "GB") + ) * 2) + ceil(size(gbz_graph, "GB")) + ceil(size(minimizer_index, "GB")) + ceil(size( + distance_index, "GB" + )) + ceil(size(zipcode_name, "GB")) + 10 + modify_disk_size_gb command <<< vg giraffe \ @@ -83,12 +78,27 @@ task giraffe { -d "~{distance_index}" \ -z "~{zipcode_name}" \ -f "~{read_one_fastq_gz}" \ - ~{if defined(read_two_fastq_gz) then "-f \"~{read_two_fastq_gz}\"" else ""} \ + ~{if defined(read_two_fastq_gz) + then "-f \"~{read_two_fastq_gz}\"" + else "" + } \ -o "~{output_format}" \ - ~{if defined(sample_name) then "--sample \"~{sample_name}\"" else ""} \ - ~{if defined(read_group) then "--read-group \"~{read_group}\"" else ""} \ - ~{if defined(haploytype) then "--haplotype-name \"~{haploytype}\"" else ""} \ - ~{if defined(kff) then "--kff-name \"~{kff}\"" else ""} \ + ~{if defined(sample_name) + then "--sample \"~{sample_name}\"" + else "" + } \ + ~{if defined(read_group) + then "--read-group \"~{read_group}\"" + else "" + } \ + ~{if defined(haploytype) + then "--haplotype-name \"~{haploytype}\"" + else "" + } \ + ~{if defined(kff) + then "--kff-name \"~{kff}\"" + else "" + } \ --parameter-preset "~{preset}" \ > "~{output_name}" >>> @@ -109,7 +119,7 @@ task index { meta { description: "Index a reference genome for alignment with vg giraffe" outputs: { - reference_index: "The vg giraffe index file for the reference genome" + reference_index: "The vg giraffe index file for the reference genome", } } @@ -150,10 +160,9 @@ task index { Float input_fasta_size = size(reference_fasta, "GB") Float vcf_size = size(vcf_files, "GB") Float transcript_gff_size = size(transcript_gff, "GB") - Int disk_size_gb = ceil(input_fasta_size * 2) - + ceil(vcf_size * 2) - + ceil(transcript_gff_size * 2) - + 10 + modify_disk_size_gb + Int disk_size_gb = ceil(input_fasta_size * 2) + ceil(vcf_size * 2) + ceil( + transcript_gff_size * 2 + ) + 10 + modify_disk_size_gb command <<< set -euo pipefail From 7c7a3c2086442008d26a4bfeda88d7cce0a71f5b Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 11 May 2026 16:04:12 -0400 Subject: [PATCH 134/147] chore: fix paramter_meta after format --- tools/clair.wdl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/clair.wdl b/tools/clair.wdl index c3d791c12..fbe2ef40b 100644 --- a/tools/clair.wdl +++ b/tools/clair.wdl @@ -30,6 +30,7 @@ task clair3 { model: "Pre-trained Clair3 model to use for variant calling" bed_regions: "Optional BED file specifying regions to call variants in" vcf_candidates: "Optional VCF file with candidate variants to consider" + contigs: "Optional list of contigs to call variants in. If undefined, all contigs in the reference FASTA will be considered." output_dir: "Directory to store Clair3 output" platform: { description: "Sequencing platform used to generate the reads", @@ -39,7 +40,6 @@ task clair3 { "ilmn", ], } - contigs: "Optional list of contigs to call variants in. If undefined, all contigs in the reference FASTA will be considered." all_contigs: "Boolean indicating whether to include all contigs in variant calling. If false only chr{1..22,X,Y} are called." print_ref_calls: "Boolean indicating whether to print reference calls in the output VCF" gvcf: "Boolean indicating whether to output gVCF format" @@ -169,10 +169,10 @@ task clairs { full_alignment_model: "Optional pre-trained ClairS full-alignment model to use for variant calling" snv_min_qual: "Minimum quality score required to call a SNV" indel_min_qual: "Minimum quality score required to call an indel" + contigs: "Optional list of contigs to call variants in. If undefined, all contigs in the reference FASTA will be considered." prefix: "Prefix for ClairS output files" sample_name: "Sample name to use in the output VCF" output_dir: "Directory to store ClairS output" - contigs: "Optional list of contigs to call variants in. If undefined, all contigs in the reference FASTA will be considered." all_contigs: "Boolean indicating whether to include all contigs in variant calling. If false only chr{1..22,X,Y} are called." print_ref_calls: "Boolean indicating whether to print reference calls in the output VCF" print_germline_calls: "Boolean indicating whether to print germline calls in the output VCF" From f2141246af6913ff0bed32e7e3c79e73de4e7404 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 12 May 2026 13:49:31 -0400 Subject: [PATCH 135/147] chore: mutect2 tests --- ...est.bwa_aln_pe.with_variants.chrY_chrM.bam | 4 +- ...bwa_aln_pe.with_variants.chrY_chrM.bam.bai | 2 +- ...bwa_aln_pe.with_variants.chrY_chrM.bam.csi | Bin 0 -> 2987 bytes test/fixtures/mutect2/README.md | 29 +++++ .../af-only-gnomad.hg38.chrY_chrM.vcf.gz | 3 + .../af-only-gnomad.hg38.chrY_chrM.vcf.gz.tbi | Bin 0 -> 145 bytes ...wa_aln_pe.chrY_chrM_pileup_summaries.table | 2 + ..._chrM_pileup_summaries.contamination.table | 2 + ....chrY_chrM_pileup_summaries.segments.table | 2 + ..._variants.chrY_chrM_pileup_summaries.table | 2 + test/fixtures/vcfs/README.md | 12 ++ .../test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz | 3 + ....bwa_aln_pe.chrY_chrM.mutect2.vcf.gz.stats | 2 + ...st.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz.tbi | Bin 0 -> 77 bytes tools/test/mutect2.yaml | 115 ++++++++++++++++++ 15 files changed, 175 insertions(+), 3 deletions(-) create mode 100644 test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.csi create mode 100644 test/fixtures/mutect2/README.md create mode 100644 test/fixtures/mutect2/af-only-gnomad.hg38.chrY_chrM.vcf.gz create mode 100644 test/fixtures/mutect2/af-only-gnomad.hg38.chrY_chrM.vcf.gz.tbi create mode 100644 test/fixtures/mutect2/test.bwa_aln_pe.chrY_chrM_pileup_summaries.table create mode 100644 test/fixtures/mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.contamination.table create mode 100644 test/fixtures/mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.segments.table create mode 100644 test/fixtures/mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.table create mode 100644 test/fixtures/vcfs/test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz create mode 100644 test/fixtures/vcfs/test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz.stats create mode 100644 test/fixtures/vcfs/test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz.tbi create mode 100644 tools/test/mutect2.yaml diff --git a/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam b/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam index 09710652e..bc8bc4113 100644 --- a/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam +++ b/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f9f3bf36d02e3e5b4785afb091679e28085114c109a0bd152adcdbc8f62a6fe -size 14454313 +oid sha256:9b96e2b6bbced6faf80a8654abcf6cfe9e725c813bbd169c3cc5d63aa3b7fdaa +size 14454382 diff --git a/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai b/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai index ff3a35a20..eda6b8b7d 100644 --- a/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai +++ b/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b05266a04221a44748ea2335e27fb6dabd3883a6bd47afd6f1b73bb4d213509e +oid sha256:b85c6e5599a5f0e707f9e5dc024e4ab7abf17f437eedd5f3e1016ee3d401a2fa size 34552 diff --git a/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.csi b/test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.csi new file mode 100644 index 0000000000000000000000000000000000000000..b6d6f97ac067e1dd85163bd23098c38bd7065dd5 GIT binary patch literal 2987 zcmZ9Odpy(oAIIHUq~w<4o;v&GHtEn7wxp9JlXOUCOS$yRZD=#MbN>@)Wb$Ls?7PFl@mI|)+fl=hTm|j z)I}X&>dq3oC#z6V`awk;;r3>He{j4cu6dPcC$THsgY8B4&xv6A@pqrs;PH4{yX_ip zPT9BhG0PgWopAvsvAHFGdb~14zWuz7-kT3|@&42VZ;pw$;T5}3GxGtg^aK5mtlet( zx59z|crbmx-XuM5Iz~37NFoqc(Cck3Tr-($tZ1C3{c<+`!;fgrBVGS{_^V?6pIBei znTw}70vY6Dx1#GCb{$&P>?vtKKH1b#MMEoDc$IXjTvBbKuK6SG;E%PKBB*=yRvG&# z`P$gArouHc#^QFogWm~4b(J4Oc;(b_c$lS_C7jS{)GSa`;-m_DCpdkuSfk`oZ$ z(uWHED}_u-el5A(l7H@zw|%rrJ=|y;D?f#hki~W>9L+;nh~QS$2MKiB+WP`-HgzD*vh(`~4^VzAMJ z53bb^{-k-j?ytjM1;U6B-u$DVK{ySGmy#!abkfJWdIaac+FBU6V3w(8E|!9Oiiy|X z2V%m@>uXWo*sD>u#%`i(|Al&3!}uX^Aa)3=Ku|Jk zh22SByF11+*pKiOR|oRWVLB4rOFo`7LwN708uR8X77YabqJKQQihD|5)y0c6zX`IM zQq@^kzGA%ycF$)n-h+pmk;mOR`b*E}S5O4jO;UWsRAoP#Jmf#g;;rFn%Y7uZcG)eQ z3!Bme(S0+p>xQt9kSAF?n3&Q{MrWn#WE?; zYpRYyS7l$s_Dyd*QKE#|U5LC|H3+Y@B3KEiv+Q#NPahbIS&3O;@AYUa!J0rE?dz?)c+66;2(|42FSn6oXGcm=?8ROO#QF z*m%q(!>#edXwD^GLvkSdy=g!6h`44Qqu9B!0*y%!5jsXBsq}LzvH2#bmaw%!P=e&I zLtghotSehKW@7L|O^GRN{g_mh-#o-ytmRUVTS7Ol-XAO;q#-r~C^x&u*)P3+aCV;= z@MBd`cId?u-N)#+B}-H)Vc_#x$>lt?^*iUArr$}kzlCqO_VU)A;;aiLp3jDJ)NnmBtu078x=xpD;ZFvGrIXKErl)yA5cY z5%bJmD+rCym|77dF?V%CP=ft06L-8vL*$_3oAn3b7R|d>Gr=$Ikit9LdD{EAv7buJ zKD84PVI2?=-75igV`C@N#Rxj01)yzk;0?_P&vz4&xuwPSUJn?J5zaaS<4vn^F- zkpNFHwl}nEzNjVG`@#-u86WsapU1h+D+n*a4b*RkNkTgaioE4Pv7=~fP0jN4skOc@ z60tB?+2rqq#E0#RuG$7oteKC-Ecz#n(O-Mni^76gK^$r&RnGqdLkw|WW)X~=e1dmp zFxzt*WIIyR3;rr>z0itTS(*_&Jb1?6t?SGt@OPRS9$4KjI{GzoNU$B-5rdQrLzY=G z;AM-RvZ98r&TK(s#!)l1&o5j`vLDAvlDKm8ljrYYNwnwD&Ih47Q5UR$&|Sw3=sGUj z3X1Bv-;*}rYN{#+Ugpal@^f9;B&ib~*PqaLHB*%VV++$1lGW?`U7T9GvkLB$)IXPt zUl48k54E>~P;;+&TsdZlOG`OqdrIN}O%U0y#lQjXQ{6Y$e&iFsW5T&Koy}HK=^hKsDj>Kk4RGQ^*D)oe`%e&Xa-G! zgnGn;$+84VfP7yLKwnzg)}8h07VyRZC+8T)xJ!e(c&C%y<-vKkaF$eguoJRa0RU&% z=WhPD0;&)A(Tk-4KZLq9TqlZX573Y0-_wF78S0H&G-XVOVr60~JdO_(APxXMp8HJ> zYu&3E-PUatELK6@XPT%5fq;SZttr-pAZ6=bo%A*kUv*$>)UR=sDUIaDS^CHzt;*(g zQcjMP%UTy?`6FHA!R?=F^k^#4z5B2vW{{w_j@rUq)PN?%fFR`~PLaoe9_RlDKyx~4 zD=)l?k_TimukQ!k?(B!^@L$(*1M(V2lXCo3eGdSGU$wC$nA^Z@-Byr&-|>ZT%q|UR zN715nYq!;0m<(W6rvsRAwE*%IUjXl2)$h1nZfNa(TI+^NJ_tFO{Do<)45aY!KuVz< zur75;4&07vP^R5Lew&?o_k=MNj+H^o@YUJlw+{e#Ix!Haqo8bVDirXpPsU^{(lR!a z)Cmg>uJ6W!5zr)&tLS$Fm_UwCI_CEzYE6hqdl$r$HCDOsuP!NkF{P`Dr@T= zG^0s_=XLm;r7L#1R7JqeU|J9A2#I7Z^fwOY13PAyt_;NZ2kG2^c^k_l^>w|FnVTn} zz9)qt6zUjZ{R%a#)UP@Q9Qzp4u{Ka#+$7@@aI^(c=~N%>FX*np z_D=wMU;ba{y4nmW3P{( z+{H|)l3r1c#mD9d2xsD3cNA&1LEHR%ZcYjKZT4)y{QmSDAgZ}$&B`_Z5u#f+n-GCF z>H+0eGLI$Ra;Z6e0mx5IpqhgTnRhr%zS5j{*X&uj9$bXa@8)19>Nea5@Moy_AP1v^ zihaMl7mn5hz}liFlXFdax(CyVXL8lopEa1^j`o0xbQh;a(#*m09vnHmLx-?`_1{d! z4s=|y*JDtGDDHnmw5h$E%d&)2f*3vwSX*>`4`-kA2XpYXDTk|v!x^+2v9EJFe-0w| z0d=@WrDWRzsCLH!AJ3w1Jo`S@;MDcjhhfte-E0@>?R|m~nyYTk*>d|kmX9w0uw4-v zOEo^os-_2H4{wT5*t+j)cD>2*-}8i&+__Bc5m|rERhX@uLp>aw@V0@y2TGWKw6ys| mrBhstpw@{*PjZr%Tbw9(jE1q4l;Qtf$91J-|Gk}m5B~$&%koJ8 literal 0 HcmV?d00001 diff --git a/test/fixtures/mutect2/README.md b/test/fixtures/mutect2/README.md new file mode 100644 index 000000000..5dc946753 --- /dev/null +++ b/test/fixtures/mutect2/README.md @@ -0,0 +1,29 @@ +# Mutect2 fixtures + +Inputs and intermediate artifacts used by the per-task tests in `tools/test/mutect2.yaml` for `tools/mutect2.wdl`. Files are downsampled to `chrY` and `chrM` to match the reference at `test/fixtures/reference/GRCh38.chrY_chrM.fa` and the BAMs at `test/fixtures/bams/test.bwa_aln_pe*.chrY_chrM.bam`. + +The following list is sorted alphabetically: + +## af-only-gnomad.hg38.chrY_chrM.vcf.gz + +GATK best-practices germline resource (`af-only-gnomad.hg38.vcf.gz` from the GATK resource bundle), subset to `chrY` and `chrM`. Used as the `germline_resource_vcf` input for the `mutect2` task and as both `intervals` and `variants` inputs for the `get_pileup_summaries` task. + +## af-only-gnomad.hg38.chrY_chrM.vcf.gz.tbi + +Tabix index for `af-only-gnomad.hg38.chrY_chrM.vcf.gz`. + +## test.bwa_aln_pe.chrY_chrM_pileup_summaries.table + +Output of `gatk GetPileupSummaries` run on `test/fixtures/bams/test.bwa_aln_pe.chrY_chrM.bam` (normal sample) over the sites in `af-only-gnomad.hg38.chrY_chrM.vcf.gz`. Used as the `normal_pileups` input for the `calculate_contamination` task. + +## test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.contamination.table + +Output of `gatk CalculateContamination` run on the tumor and normal pileup tables (matched-normal mode). Used as the `contamination_table` input for the `filter_mutect` task. + +## test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.segments.table + +Tumor segmentation output of the same `gatk CalculateContamination` invocation that produced the contamination table. Used as the `maf_segments` input for the `filter_mutect` task. + +## test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.table + +Output of `gatk GetPileupSummaries` run on `test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam` (tumor sample) over the sites in `af-only-gnomad.hg38.chrY_chrM.vcf.gz`. Used as the `tumor_pileups` input for the `calculate_contamination` task. diff --git a/test/fixtures/mutect2/af-only-gnomad.hg38.chrY_chrM.vcf.gz b/test/fixtures/mutect2/af-only-gnomad.hg38.chrY_chrM.vcf.gz new file mode 100644 index 000000000..6cf198e4f --- /dev/null +++ b/test/fixtures/mutect2/af-only-gnomad.hg38.chrY_chrM.vcf.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4fd569f63658375cd96ee99a6f7fd8dc4dfb635e93e3ebc6d69cf20b36bbdf64 +size 2892 diff --git a/test/fixtures/mutect2/af-only-gnomad.hg38.chrY_chrM.vcf.gz.tbi b/test/fixtures/mutect2/af-only-gnomad.hg38.chrY_chrM.vcf.gz.tbi new file mode 100644 index 0000000000000000000000000000000000000000..a905a522f385e7ae28d3f145bd7d7b059202498b GIT binary patch literal 145 zcmb2|=3rp}f&Xj_PR>jWB@Ay*Z{&3d5NUlVe=%V80j9JIf!SB2w)#dKcG)(uBJR=G zQ~yoki_Y&1woj3qz#Q1{Z7a*P(%JJLWgX%;r*$Qk*Ff&0;a>42H@n}vg(8Em`p$Vt W>*X&o$}%v>qgg7=zzlW+hyVZzh%z|< literal 0 HcmV?d00001 diff --git a/test/fixtures/mutect2/test.bwa_aln_pe.chrY_chrM_pileup_summaries.table b/test/fixtures/mutect2/test.bwa_aln_pe.chrY_chrM_pileup_summaries.table new file mode 100644 index 000000000..5673be665 --- /dev/null +++ b/test/fixtures/mutect2/test.bwa_aln_pe.chrY_chrM_pileup_summaries.table @@ -0,0 +1,2 @@ +#SAMPLE=test +contig position ref_count alt_count other_alt_count allele_frequency diff --git a/test/fixtures/mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.contamination.table b/test/fixtures/mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.contamination.table new file mode 100644 index 000000000..5fde5fa4c --- /dev/null +++ b/test/fixtures/mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.contamination.table @@ -0,0 +1,2 @@ +sample contamination error +test 0.0 1.0 diff --git a/test/fixtures/mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.segments.table b/test/fixtures/mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.segments.table new file mode 100644 index 000000000..a49f88276 --- /dev/null +++ b/test/fixtures/mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.segments.table @@ -0,0 +1,2 @@ +#SAMPLE=test +contig start end minor_allele_fraction diff --git a/test/fixtures/mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.table b/test/fixtures/mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.table new file mode 100644 index 000000000..5673be665 --- /dev/null +++ b/test/fixtures/mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.table @@ -0,0 +1,2 @@ +#SAMPLE=test +contig position ref_count alt_count other_alt_count allele_frequency diff --git a/test/fixtures/vcfs/README.md b/test/fixtures/vcfs/README.md index 9b5aa1621..45e20db19 100644 --- a/test/fixtures/vcfs/README.md +++ b/test/fixtures/vcfs/README.md @@ -4,6 +4,18 @@ All the files in this directory were either randomly generated or sourced from p The following list is sorted alphabetically: +## test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz + +Unfiltered Mutect2 somatic VCF produced by running `gatk Mutect2` with `test/fixtures/bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam` as the tumor sample and `test/fixtures/bams/test.bwa_aln_pe.chrY_chrM.bam` as the matched normal, against `test/fixtures/reference/GRCh38.chrY_chrM.fa`. Used as the `unfiltered_somatic_vcf` input for the `filter_mutect` task in `tools/mutect2.wdl`. + +## test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz.tbi + +Tabix index for `test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz`. + +## test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz.stats + +Mutect2 stats sidecar emitted alongside `test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz`. Used as the `unfiltered_somatic_vcf_stats` input for the `filter_mutect` task. + ## test1.vcf.gz Single position VCF file diff --git a/test/fixtures/vcfs/test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz b/test/fixtures/vcfs/test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz new file mode 100644 index 000000000..a83f3e1e2 --- /dev/null +++ b/test/fixtures/vcfs/test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9699d5bddac8b5b213ac2a6085fe7dfcbc36330d63e7a3629793dd4c160f5f8c +size 4324 diff --git a/test/fixtures/vcfs/test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz.stats b/test/fixtures/vcfs/test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz.stats new file mode 100644 index 000000000..a411aa130 --- /dev/null +++ b/test/fixtures/vcfs/test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz.stats @@ -0,0 +1,2 @@ +statistic value +callable 157175.0 diff --git a/test/fixtures/vcfs/test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz.tbi b/test/fixtures/vcfs/test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz.tbi new file mode 100644 index 0000000000000000000000000000000000000000..8ab61e09d27e124409b2dbad7c44816a0c593ffb GIT binary patch literal 77 zcmb2|=3rp}f&Xj_PR>jW1`OPVpHfm1fFLO$fx*zhghQj5LxY8(@ONR23Q(Oqng(eG JX0Uz`0RVK44YU9N literal 0 HcmV?d00001 diff --git a/tools/test/mutect2.yaml b/tools/test/mutect2.yaml new file mode 100644 index 000000000..d78e29fd4 --- /dev/null +++ b/tools/test/mutect2.yaml @@ -0,0 +1,115 @@ +mutect2: + - name: works + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + reference_fasta_dict: + - reference/GRCh38.chrY_chrM.dict + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai + tumor_sample_name: + - tumor + normal_sample_name: + - test + + - name: with_germline_resource + tags: [slow] + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + reference_fasta_dict: + - reference/GRCh38.chrY_chrM.dict + $normal: + normal_bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + normal_bam_index: + - bams/test.bwa_aln_pe.chrY_chrM.bam.bai + $tumor: + tumor_bam: + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam + tumor_bam_index: + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai + $germline: + germline_resource_vcf: + - mutect2/af-only-gnomad.hg38.chrY_chrM.vcf.gz + germline_resource_vcf_index: + - mutect2/af-only-gnomad.hg38.chrY_chrM.vcf.gz.tbi + tumor_sample_name: + - tumor + normal_sample_name: + - test + +get_pileup_summaries: + - name: works + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + reference_fasta_dict: + - reference/GRCh38.chrY_chrM.dict + $sample: + bam: + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam + bam_index: + - bams/test.bwa_aln_pe.with_variants.chrY_chrM.bam.bai + $sites: + intervals: + - mutect2/af-only-gnomad.hg38.chrY_chrM.vcf.gz + intervals_index: + - mutect2/af-only-gnomad.hg38.chrY_chrM.vcf.gz.tbi + variants: + - mutect2/af-only-gnomad.hg38.chrY_chrM.vcf.gz + variants_index: + - mutect2/af-only-gnomad.hg38.chrY_chrM.vcf.gz.tbi + +calculate_contamination: + - name: tumor_only + inputs: + tumor_pileups: + - mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.table + + - name: with_matched_normal + inputs: + tumor_pileups: + - mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.table + normal_pileups: + - mutect2/test.bwa_aln_pe.chrY_chrM_pileup_summaries.table + +filter_mutect: + - name: works + inputs: + $reference: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + reference_fasta_index: + - reference/GRCh38.chrY_chrM.fa.fai + reference_fasta_dict: + - reference/GRCh38.chrY_chrM.dict + $unfiltered: + unfiltered_somatic_vcf: + - vcfs/test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz + unfiltered_somatic_vcf_index: + - vcfs/test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz.tbi + unfiltered_somatic_vcf_stats: + - vcfs/test.bwa_aln_pe.chrY_chrM.mutect2.vcf.gz.stats + contamination_table: + - mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.contamination.table + maf_segments: + - mutect2/test.bwa_aln_pe.with_variants.chrY_chrM_pileup_summaries.segments.table From 14f3e5b2f75f07b05702063c1d73d2f7e1e1824e Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 12 May 2026 15:06:27 -0400 Subject: [PATCH 136/147] chore: ngsep test --- tools/hisat2.wdl | 2 + tools/octopus.wdl | 129 ------------------------------------------ tools/test/ngsep.yaml | 11 ++++ 3 files changed, 13 insertions(+), 129 deletions(-) delete mode 100644 tools/octopus.wdl create mode 100644 tools/test/ngsep.yaml diff --git a/tools/hisat2.wdl b/tools/hisat2.wdl index 82f2bffad..87cd74c38 100644 --- a/tools/hisat2.wdl +++ b/tools/hisat2.wdl @@ -3,6 +3,7 @@ version 1.2 task align { meta { description: "Align RNA-seq reads against a reference genome using HISAT2" + deprecated: true outputs: { alignments: "The output alignment file in SAM format", } @@ -65,6 +66,7 @@ task align { task index { meta { description: "Index a reference genome for alignment with HISAT2" + deprecated: true outputs: { reference_index: "The HISAT2 index files for the reference genome", } diff --git a/tools/octopus.wdl b/tools/octopus.wdl deleted file mode 100644 index d13be274c..000000000 --- a/tools/octopus.wdl +++ /dev/null @@ -1,129 +0,0 @@ -version 1.2 - -task germline { - meta { - description: "Run Octopus individual germline variant caller" - warning: "octopus appears to functionally be abandonware at this point. the random forest filtering models are no longer available." - outputs: { - vcf: "VCF file with called germline variants", - } - } - - parameter_meta { - reference_fasta: "Reference genome in FASTA format" - reference_fasta_index: "Index file for the reference genome FASTA" - bam: "Input BAM file with aligned reads" - forest: "Pre-trained random forest model for variant filtering" - output_vcf_name: "Output VCF file with called variants" - threads: "Number of threads to use" - modify_disk_size_gb: "Additional disk size in GB to allocate" - } - - input { - File reference_fasta - File reference_fasta_index - File bam - File forest - String output_vcf_name = "octopus_germline_output.vcf" - Int threads = 4 - Int modify_disk_size_gb = 0 - } - - Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + ceil(size(bam, "GiB")) + 20 - + modify_disk_size_gb - - command <<< - set -euo pipefail - - ref_fasta=~{basename(reference_fasta, ".gz")} - gunzip -c "~{reference_fasta}" > "$ref_fasta" \ - || ln -sf "~{reference_fasta}" "$ref_fasta" - ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" - - octopus \ - -R "$ref_fasta" \ - -I "~{bam}" \ - -o "~{output_vcf_name}" \ - --forest "~{forest}" \ - --threads "~{threads}" - - rm -rf "$ref_fasta" "$ref_fasta.fai" - >>> - - output { - File vcf = "~{output_vcf_name}" - } - - requirements { - container: "quay.io/biocontainers/octopus:0.7.4--ha3c1580_2" - cpu: threads - memory: "30 GB" - disks: "~{disk_size_gb} GB" - } -} - -task somatic { - meta { - description: "Run Octopus individual somatic variant caller" - warning: "octopus appears to functionally be abandonware at this point. the random forest filtering models are no longer available." - outputs: { - vcf: "VCF file with called somatic variants", - } - } - - parameter_meta { - reference_fasta: "Reference genome in FASTA format" - reference_fasta_index: "Index file for the reference genome FASTA" - normal_bam: "Input BAM file with aligned reads from normal sample" - tumor_bam: "Input BAM file with aligned reads from tumor sample" - forest: "Pre-trained random forest model for variant filtering" - output_vcf_name: "Output VCF file with called variants" - threads: "Number of threads to use" - modify_disk_size_gb: "Additional disk size in GB to allocate" - } - - input { - File reference_fasta - File reference_fasta_index - File normal_bam - File tumor_bam - File forest - String output_vcf_name = "octopus_germline_output.vcf" - Int threads = 4 - Int modify_disk_size_gb = 0 - } - - Int disk_size_gb = ceil(size(reference_fasta, "GiB") * 2) + ceil(size(tumor_bam, "GiB" - )) + ceil(size(normal_bam, "GiB")) + 20 + modify_disk_size_gb - - command <<< - set -euo pipefail - - ref_fasta=~{basename(reference_fasta, ".gz")} - gunzip -c "~{reference_fasta}" > "$ref_fasta" \ - || ln -sf "~{reference_fasta}" "$ref_fasta" - ln -sf "~{reference_fasta_index}" "$ref_fasta.fai" - - # TODO: I have no idea what `--normal-sample` is supposed to contain. The documentation is unhelpful. - octopus \ - -R "$ref_fasta" \ - -I "~{normal_bam}" "~{tumor_bam}" \ - --normal-sample "~{basename(normal_bam, ".bam")}" \ - -o "~{output_vcf_name}" \ - --forest "~{forest}" \ - --threads "~{threads}" - - rm -rf "$ref_fasta" - >>> - - output { - File vcf = "~{output_vcf_name}" - } - - requirements { - container: "quay.io/biocontainers/octopus:0.7.4--ha3c1580_2" - cpu: threads - memory: "30 GB" - disks: "~{disk_size_gb} GB" - } -} diff --git a/tools/test/ngsep.yaml b/tools/test/ngsep.yaml new file mode 100644 index 000000000..d8da25fd6 --- /dev/null +++ b/tools/test/ngsep.yaml @@ -0,0 +1,11 @@ +germline_variant: + - name: works + inputs: + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + threads: + - 1 + requirements.memory: + - "4 GB" From 5a596c1941cae2a5943ea1a9198061c48004adee Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Tue, 12 May 2026 15:06:53 -0400 Subject: [PATCH 137/147] chore: add AGENTS file for AI tools --- AGENTS.md | 141 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000..36a47bf5b --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,141 @@ +# AGENTS.md + +Agent guidance for the St. Jude Cloud bioinformatics workflows repository. + +## What this repo is + +A collection of WDL 1.1 pipelines and tool wrappers for genomic analysis. Primary artifacts are `.wdl` files; there is no traditional build step. Python and R exist only as scripts embedded in Docker images under `scripts/`. + +## Layout + +``` +workflows/ # End-to-end pipelines (rnaseq/, dnaseq/, chipseq/, methylation/, etc.) +tools/ # Individual WDL task wrappers (one tool per file) +data_structures/ # WDL struct definitions +docker/ # Dockerfiles + package.json version metadata per image +scripts/ # Python and R scripts (not standalone; embedded in Docker images) +tests/ # pytest-workflow YAML test definitions + tools/ # Per-tool test YAMLs + workflows/ # Per-workflow test YAMLs + input_json/ # Input JSON fixtures + input/ # Binary fixtures (BAMs, FASTQs, etc.) — tracked via git-lfs +template/ # task-examples.wdl (canonical patterns) + common-parameter-meta.txt +developer_scripts/ + run_sprocket_or_miniwdl.sh # Unified test runner + update_container_tags.sh # Rewrites container tags for branch testing (do not commit) +``` + +## Developer commands + +### Setup + +```bash +uv sync # Python deps (canonical; use this, not pip) +git lfs pull # Required after clone to get test fixture files +``` + +### WDL lint / format / check (Sprocket) + +```bash +sprocket lint . # Lint all WDL +sprocket format tools/bwa.wdl # Format a file +sprocket check . # Thorough check (validates inputs, etc.) +sprocket validate # Validate inputs against a workflow +``` + +`sprocket.toml` disables the `ContainerUri` rule and sets `deny_notes = true` (notes in WDL cause check failure). + +### Python (scripts/ only) + +```bash +uv run ruff format --check --diff scripts/ +uv run ruff format scripts/ +uv run ruff check scripts/ +``` + +### R (scripts/ only) + +```r +styler::style_dir() # format +lintr::lint_dir() # lint +``` + +### Tests + +```bash +# All tests +uv run pytest --kwdof --wt $(nproc) + +# Single test by tag +pytest --tag bwa + +# Single test by name +pytest -k bwa_aln + +# Choose runner (defaults to sprocket) +RUNNER=miniwdl pytest --tag bwa +``` + +`pytest.ini` always injects `--git-aware --symlink`. Use `--kwdof` to keep outputs on failure. + +Every test calls `./developer_scripts/run_sprocket_or_miniwdl.sh` internally — do not call runners directly in test commands. + +### Run a WDL task directly (outside pytest) + +```bash +# sprocket +sprocket run --output-dir output --target bwa_aln tools/bwa.wdl + +# miniwdl +miniwdl run --task bwa_aln --verbose --dir output/. -i tests/tools/input_json/bwa_aln.json tools/bwa.wdl +``` + +## CI pipeline + +All jobs trigger on push. Key facts: +- `reference` and `slow` tags are **excluded** from the CI test matrix. +- CI deletes `slow`-tagged tests from YAML files in-place before running — do not replicate this destructively locally. +- CI builds Docker images and runs `update_container_tags.sh` to rewrite tags before pytest — do not commit the rewritten WDL files. +- Every test runs against both `sprocket` and `miniwdl` runners as a matrix. +- `sprocket` is built from source (`cargo install sprocket --locked`) in CI. +- `requirements-ci.txt` pins older versions than `pyproject.toml`; use `uv` locally. + +## WDL conventions (non-obvious) + +- All WDL files must be `version 1.1`. +- All tasks must include `set -euo pipefail` when using pipes or multiple commands. +- Multi-core tasks: accept `use_all_cores: Boolean = false` and `ncpu: Int = 2`; use `$(nproc)` when `use_all_cores` is true. `use_all_cores` must be the last Boolean in the input block; `ncpu` precedes memory/disk inputs. +- Resource inputs (`ncpu`, `modify_memory_gb`, `modify_disk_size_gb`) must be overridable. +- Single output → `outfile_name`; multiple outputs or extension matters → `prefix`. +- BAM/BAI companion pairs must be localized via `ln -s` to CWD and cleaned up with `rm` at task end. +- Scripts go in `scripts/`; never embed Python/R directly in WDL `command` blocks. +- Imports within the repo must use **relative paths**. External imports must pin a **tagged release** (not `main`/`master`) — enforced by `pull-check.yaml`. +- Deprecated tasks: add `deprecated: true` and `warning: "**[DEPRECATED]**..."` to `meta`. Never add `deprecated: false`. +- Update the relevant `CHANGELOG.md` when modifying any WDL under a subdirectory. + +## Parameter meta conventions + +Prefer names from `template/common-parameter-meta.txt`. Key ones: +- `bam` (not `input_bam`, `in_bam`) +- `bam_index` (not `bai`) +- `read_one_fastq_gz` / `read_two_fastq_gz` (not `read1`/`read2`) +- `paired_end` (not `paired`) + +## Docker image versioning + +Each image lives in `docker//` with `Dockerfile` and `package.json`. `version` = underlying tool version; `revision` starts at `0`, increments for image-only changes, resets to `0` on tool version upgrades. Prefer BioContainers images over creating new custom images. + +## Testing quirks + +- Binary fixtures in `tests/input/` are in **git-lfs** — run `git lfs pull` before testing. +- Test files prefixed with `_` (e.g., `_test_methylation-preprocess.yaml`) are disabled. +- Sprocket outputs land in `output/runs/*/_latest/outputs.json`, then get copied to `output/outputs.json`. miniwdl outputs go directly to `output/`. Test YAMLs reference `output/outputs.json`. +- Fixture inputs are downsampled to small chromosomes (chrY/chrM, chr9/chr22) for speed. + +## Existing instruction sources + +- `.github/instructions/wdl.instructions.md` — applies to `**/*.wdl`; references CONTRIBUTING.md, best-practices.md, template/task-examples.wdl, and template/common-parameter-meta.txt. +- `template/task-examples.wdl` — canonical WDL task patterns; read before writing new tasks. +- `template/common-parameter-meta.txt` — required/banned parameter_meta strings. +- `CONTRIBUTING.md` — general coding style. +- `best-practices.md` — WDL-specific best practices. From ba20b2c5a698f93f574860bd89c6ee79ba0fa5dd Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 13 May 2026 09:31:53 -0400 Subject: [PATCH 138/147] chore: add metrics tests for picard --- tools/test/picard.yaml | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/tools/test/picard.yaml b/tools/test/picard.yaml index 5d6baa6cc..71c8dba70 100644 --- a/tools/test/picard.yaml +++ b/tools/test/picard.yaml @@ -166,7 +166,40 @@ clean_sam: - SILENT memory_gb: - 5 -# TODO: all the `collect*` QC tasks +collect_wgs_metrics: + - name: works + inputs: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + +collect_alignment_summary_metrics: + - name: works + inputs: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + +collect_gc_bias_metrics: + - name: works + inputs: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + reference_fasta: + - reference/GRCh38.chrY_chrM.fa + +collect_insert_size_metrics: + - name: works + inputs: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + +quality_score_distribution: + - name: works + inputs: + bam: + - bams/test.bwa_aln_pe.chrY_chrM.bam + # TODO: merge_vcfs # TODO: scatter_interval_list # TODO: create_sequence_dictionary From 48271df943afe84ccf1ca4c5a9e15cdea81b0104 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 13 May 2026 10:13:48 -0400 Subject: [PATCH 139/147] chore: fix gzipped input handling, add picard tests --- tools/CHANGELOG.md | 6 ++++++ tools/picard.wdl | 2 +- tools/test/picard.yaml | 31 ++++++++++++++++++++++++++++--- 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/tools/CHANGELOG.md b/tools/CHANGELOG.md index 045c1e109..9ca8b2a32 100644 --- a/tools/CHANGELOG.md +++ b/tools/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/). +## 2026 May + +### Fixed + +- `picard.create_sequence_dictionary` now correctly derives the default `outfile_name` for FASTA inputs with `.fasta`, `.fna`, or `.gz`-compressed extensions (previously only `.fa` was stripped, producing names like `genome.fa.gz.dict`) + ## 2026 February ### Changed diff --git a/tools/picard.wdl b/tools/picard.wdl index b6173e79c..ab9cf1d4e 100755 --- a/tools/picard.wdl +++ b/tools/picard.wdl @@ -976,7 +976,7 @@ task create_sequence_dictionary { String? assembly_name String? fasta_url String? species - String outfile_name = basename(fasta, ".fa") + ".dict" + String outfile_name = sub(basename(fasta), "\\.(fa|fasta|fna)(\\.gz)?$", "") + ".dict" Int memory_gb = 16 Int modify_disk_size_gb = 0 } diff --git a/tools/test/picard.yaml b/tools/test/picard.yaml index 71c8dba70..1e9e05971 100644 --- a/tools/test/picard.yaml +++ b/tools/test/picard.yaml @@ -200,6 +200,31 @@ quality_score_distribution: bam: - bams/test.bwa_aln_pe.chrY_chrM.bam -# TODO: merge_vcfs -# TODO: scatter_interval_list -# TODO: create_sequence_dictionary +merge_vcfs: + - name: works + inputs: + $vcfs: + vcfs: + - [vcfs/test1.vcf.gz, vcfs/test2.vcf.gz] + vcfs_indexes: + - [vcfs/test1.vcf.gz.tbi, vcfs/test2.vcf.gz.tbi] + output_vcf_name: + - merged.vcf.gz + +scatter_interval_list: + - name: works + inputs: + interval_list: + - chr1_chr19.interval_list + scatter_count: + - 2 + +create_sequence_dictionary: + - name: works + inputs: + fasta: + - reference/GRCh38.chrY_chrM.fa + - name: gzipped_fasta + inputs: + fasta: + - reference/GRCh38.chr9_chr22.fa.gz From 0b3ca214e2a654c9c6d85c63f6db7ff435acb8b0 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Wed, 13 May 2026 10:54:27 -0400 Subject: [PATCH 140/147] chore: CHANGELOGs --- data_structures/CHANGELOG.md | 6 ++++++ tools/CHANGELOG.md | 29 ++++++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/data_structures/CHANGELOG.md b/data_structures/CHANGELOG.md index 21e57972b..37d41d27a 100644 --- a/data_structures/CHANGELOG.md +++ b/data_structures/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/). +## 2026 May + +### Added + +- New `read_group.read_group_to_array` task to convert a `ReadGroup` struct to `Array[String]` [#282](https://github.com/stjudecloud/workflows/pull/282) + ## 2026 February ### Changed diff --git a/tools/CHANGELOG.md b/tools/CHANGELOG.md index 9ca8b2a32..92923bee8 100644 --- a/tools/CHANGELOG.md +++ b/tools/CHANGELOG.md @@ -6,9 +6,36 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/). ## 2026 May +### Added + +- New `bwamem2.wdl` tool wrapper for the BWA-MEM2 aligner [#282](https://github.com/stjudecloud/workflows/pull/282) +- New `clair.wdl` tool wrapper for the Clair3 variant caller [#282](https://github.com/stjudecloud/workflows/pull/282) +- New `deepvariant.wdl` tool wrapper for Google DeepVariant [#282](https://github.com/stjudecloud/workflows/pull/282) +- New `hisat2.wdl` tool wrapper for HISAT2 (tasks marked deprecated on introduction) [#282](https://github.com/stjudecloud/workflows/pull/282) +- New `manta.wdl` tool wrapper for the Manta structural variant caller [#282](https://github.com/stjudecloud/workflows/pull/282) +- New `minimap2.wdl` tool wrapper for minimap2 [#282](https://github.com/stjudecloud/workflows/pull/282) +- New `mutect2.wdl` tool wrapper for the GATK Mutect2 somatic variant calling workflow [#282](https://github.com/stjudecloud/workflows/pull/282) +- New `ngsep.wdl` tool wrapper for NGSEP germline variant calling [#282](https://github.com/stjudecloud/workflows/pull/282) +- New `strelka.wdl` tool wrapper for the Strelka2 germline and somatic variant callers [#282](https://github.com/stjudecloud/workflows/pull/282) +- New `vg.wdl` tool wrapper for the `vg` variant graph aligner [#282](https://github.com/stjudecloud/workflows/pull/282) +- New `gatk4` tasks `apply_vqsr`, `variant_recalibrator`, `calculate_genotype_posteriors`, `genotype_gvcfs`, and `resource_to_string`, plus `Resource` struct and `ref_confidence`/`VariantMode` enums [#282](https://github.com/stjudecloud/workflows/pull/282) +- New `samtools.calmd` and `samtools.sort` tasks [#282](https://github.com/stjudecloud/workflows/pull/282) + +### Changed + +- `gatk4.wdl` bumped from WDL 1.1 to WDL 1.3 [#282](https://github.com/stjudecloud/workflows/pull/282) +- Raised default disk allocations across most `tools/*.wdl` tasks (typically +10 → +30 GB) to accommodate larger inputs [#282](https://github.com/stjudecloud/workflows/pull/282) +- `bwa.bwa_mem` memory raised from 25 GB to 120 GB; `samtools_cores` calculation now floors at 1 for low-CPU runs (applies to all three `bwa.bwa_*` tasks) [#282](https://github.com/stjudecloud/workflows/pull/282) +- `samtools.addreplacerg` memory raised from 4 GB to 8 GB; default disk allocation raised by 40 GB [#282](https://github.com/stjudecloud/workflows/pull/282) +- `picard.mark_duplicates` and `picard.sort` now use a task-local `tmp/` directory for Java temp files [#282](https://github.com/stjudecloud/workflows/pull/282) +- `picard.sort` default memory raised from 25 GB to 35 GB [#282](https://github.com/stjudecloud/workflows/pull/282) +- `picard.validate_bam` default disk allocation now scales with BAM size (`bam_size * 4 + 50`) instead of `bam_size + 10` [#282](https://github.com/stjudecloud/workflows/pull/282) +- `arriba.arriba_extract_fusion_supporting_alignments` now localizes BAM and BAI into the task working directory before invocation [#282](https://github.com/stjudecloud/workflows/pull/282) +- `util.make_coverage_regions_bed` now explicitly requests 8 GB of memory [#282](https://github.com/stjudecloud/workflows/pull/282) + ### Fixed -- `picard.create_sequence_dictionary` now correctly derives the default `outfile_name` for FASTA inputs with `.fasta`, `.fna`, or `.gz`-compressed extensions (previously only `.fa` was stripped, producing names like `genome.fa.gz.dict`) +- `picard.create_sequence_dictionary` now correctly derives the default `outfile_name` for FASTA inputs with `.fasta`, `.fna`, or `.gz`-compressed extensions (previously only `.fa` was stripped, producing names like `genome.fa.gz.dict`) [#282](https://github.com/stjudecloud/workflows/pull/282) ## 2026 February From 6ad7227b058f2ba80cb8e3c93dd802d7cba8e2f2 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 18 May 2026 12:13:44 -0400 Subject: [PATCH 141/147] feat: add evaluation workflows --- workflows/evaluation/dnaseq-alignment.wdl | 149 ++++++++++++++++++ .../evaluation/somatic-variant-calling.wdl | 143 +++++++++++++++++ 2 files changed, 292 insertions(+) create mode 100644 workflows/evaluation/dnaseq-alignment.wdl create mode 100644 workflows/evaluation/somatic-variant-calling.wdl diff --git a/workflows/evaluation/dnaseq-alignment.wdl b/workflows/evaluation/dnaseq-alignment.wdl new file mode 100644 index 000000000..c1d953241 --- /dev/null +++ b/workflows/evaluation/dnaseq-alignment.wdl @@ -0,0 +1,149 @@ +version 1.2 + +import "../../data_structures/read_group.wdl" as read_group_ds +import "../../tools/bwa.wdl" as bwa +import "../../tools/bwamem2.wdl" as bwamem2 +import "../../tools/minimap2.wdl" as minimap2 +import "../../tools/samtools.wdl" as samtools +import "../../tools/vg.wdl" as vg +import "alignment-post.wdl" as alignment_post + +workflow align { + meta { + name: "Aligner comparison workflow" + description: "Align sequencing reads to a reference genome with a variety of aligners" + category: "Utility" + outputs: { + bwamem2_bam: "BAM file output from BWA-MEM2 alignment", + bwamem2_bam_index: "BAM index file for BWA-MEM2 alignments", + vg_giraffe_bam: "BAM file output from vg giraffe alignment", + vg_giraffe_bam_index: "BAM index file for vg giraffe alignments", + minimap2_bam: "BAM file output from minimap2 alignment", + minimap2_bam_index: "BAM index file for minimap2 alignments", + bwa_bam: "BAM file output from BWA alignment", + bwa_bam_index: "BAM index file for BWA alignments", + } + allowNestedInputs: true + } + + parameter_meta { + read_one_fastq_gz: "Input gzipped FASTQ read one file to align" + bwamem2_reference: "The BWA-MEM2 index file for the reference genome" + giraffe_gbz_graph: "The vg GBZ graph file for the reference genome" + giraffe_minimizer_index: "The vg minimizer index file for the reference genome" + giraffe_zipcode_name: "The vg zipcode name file for the reference genome" + giraffe_distance_index: "The vg distance index file for the reference genome" + minimap2_reference: "The minimap2 index file for the reference genome" + bwamem_reference: "The BWA index tar.gz file for the reference genome" + read_group: "The read group to be included in the SAM header" + read_two_fastq_gz: "Input gzipped FASTQ read two file to align (for paired-end data)" + output_prefix: "Output file prefix for aligned reads" + threads: "Number of threads to use for alignment" + modify_disk_size_gb: "Additional disk space to allocate (in GB)" + } + + input { + File read_one_fastq_gz + File bwamem2_reference + File giraffe_gbz_graph + File giraffe_minimizer_index + File giraffe_zipcode_name + File giraffe_distance_index + File minimap2_reference + File bwamem_reference + ReadGroup read_group + File? read_two_fastq_gz + String output_prefix = "aligned_output" + Int threads = 30 + Int modify_disk_size_gb = 0 + } + + call read_group_ds.read_group_to_string as read_group_string { + read_group, + format_as_sam_record = true, + } + + call bwamem2.align as bwamem2 { + read_one_fastq_gz, + read_two_fastq_gz, + reference_index = bwamem2_reference, + prefix = "~{output_prefix}_bwamem2", + threads, + modify_disk_size_gb, + read_group = read_group_string.validated_read_group, + } + + call alignment_post.alignment_post as bwamem2_post { + bam = bwamem2.alignments, + mark_duplicates = true, + } + + call vg.giraffe as vg_giraffe { + read_one_fastq_gz, + read_two_fastq_gz, + gbz_graph = giraffe_gbz_graph, + minimizer_index = giraffe_minimizer_index, + zipcode_name = giraffe_zipcode_name, + distance_index = giraffe_distance_index, + output_name = "~{output_prefix}_vg.bam", + output_format = "BAM", + threads, + modify_disk_size_gb, + } + + call read_group_ds.read_group_to_array { + read_group + } + + call samtools.addreplacerg { + bam = vg_giraffe.alignments, + orphan_only = false, + read_group_line = read_group_to_array.converted_read_group, + } + + call alignment_post.alignment_post as giraffe_post { + bam = addreplacerg.tagged_bam, + mark_duplicates = true, + } + + call minimap2.align as minimap2 { + read_one_fastq_gz, + read_two_fastq_gz, + reference_index = minimap2_reference, + output_name = "~{output_prefix}_minimap2.bam", + threads, + modify_disk_size_gb, + read_group = read_group_string.validated_read_group, + } + + call alignment_post.alignment_post as minimap2_post { + bam = minimap2.alignments, + mark_duplicates = true, + } + + call bwa.bwa_mem as bwa_mem { + read_one_fastq_gz, + read_two_fastq_gz, + bwa_db_tar_gz = bwamem_reference, + prefix = "~{output_prefix}_bwa", + ncpu = threads, + modify_disk_size_gb, + read_group = read_group_string.validated_read_group, + } + + call alignment_post.alignment_post as bwa_mem_post { + bam = bwa_mem.bam, + mark_duplicates = true, + } + + output { + File bwamem2_bam = bwamem2_post.processed_bam + File bwamem2_bam_index = bwamem2_post.bam_index + File vg_giraffe_bam = giraffe_post.processed_bam + File vg_giraffe_bam_index = giraffe_post.bam_index + File minimap2_bam = minimap2_post.processed_bam + File minimap2_bam_index = minimap2_post.bam_index + File bwa_bam = bwa_mem_post.processed_bam + File bwa_bam_index = bwa_mem_post.bam_index + } +} diff --git a/workflows/evaluation/somatic-variant-calling.wdl b/workflows/evaluation/somatic-variant-calling.wdl new file mode 100644 index 000000000..0d836a4fd --- /dev/null +++ b/workflows/evaluation/somatic-variant-calling.wdl @@ -0,0 +1,143 @@ +version 1.3 + +import "../../data_structures/read_group.wdl" +import "../../tools/clair.wdl" +import "../../tools/deepvariant.wdl" +import "../../tools/manta.wdl" +import "../../tools/mutect2.wdl" +import "../../tools/strelka.wdl" + +workflow somatic_variant_calling { + meta { + description: "Workflow for calling somatic variants using multiple tools" + outputs: { + # octopus_vcf: "VCF file with called germline variants from Octopus", + clairs_vcf: "VCF file with called somatic variants from Clair", + deepsomatic_vcf: "VCF file with called somatic variants from DeepSomatic", + manta_output: "Directory containing Manta variant calls", + strelka_output: "Directory containing Strelka somatic variant calls", + mutect2_vcf: "VCF file with filtered somatic variants from Mutect2", + mutect2_vcf_index: "Index file for the Mutect2 filtered somatic variants VCF", + } + allowNestedInputs: true + } + + parameter_meta { + reference_fasta: "Reference genome in FASTA format" + reference_fasta_index: "Index file for the reference genome FASTA" + reference_fasta_dict: "Dictionary file for the reference genome FASTA" + normal_bam: "Input BAM file with aligned reads for normal sample" + normal_bam_index: "Index file for the normal BAM file" + tumor_bam: "Input BAM file with aligned reads for tumor sample" + tumor_bam_index: "Index file for the tumor BAM file" + variant_vcf: "VCF file with variants and allele frequencies to summarize pileups over." + variant_vcf_index: "Index file for the variant VCF" + intervals: "One or more genomic intervals over which to operate. Often the same file as `variants`" + intervals_index: "Index file for the intervals file" + # octopus_forest: "Pre-trained random forest model for Octopus variant filtering" + deepsomatic_model_type: "Type of model to use for DeepSomatic variant calling" + # strelka_indel_candidates: "Optional VCF file with candidate indels for Strelka, recommended to be generated by Manta" + exome: "Whether the data is from exome sequencing, which will adjust filtering in some tools accordingly" + } + + input { + File reference_fasta + File reference_fasta_index + File reference_fasta_dict + File normal_bam + File normal_bam_index + File tumor_bam + File tumor_bam_index + File variant_vcf + File variant_vcf_index + File intervals + File intervals_index + ModelType deepsomatic_model_type = ModelType.WGS + Boolean exome = false + } + + call read_group.get_read_groups as normal_read_groups { + bam = normal_bam + } + + call read_group.get_read_groups as tumor_read_groups { + bam = tumor_bam + } + + call deepvariant.deepsomatic { + reference_fasta, + reference_fasta_index, + tumor_bam, + tumor_bam_index, + normal_bam, + normal_bam_index, + output_prefix = "deepsomatic_output", + tumor_sample_name = "tumor", + normal_sample_name = "normal", + model_type = deepsomatic_model_type, + runtime_report = true, + vcf_stats_report = true, + } + + call manta.manta_somatic { + reference_fasta, + reference_fasta_index, + normal_bam, + normal_bam_index, + tumor_bam, + tumor_bam_index, + output_dir = "manta_output", + exome, + } + + call strelka.somatic { + reference_fasta, + reference_fasta_index, + normal_bam, + normal_bam_index, + tumor_bam, + tumor_bam_index, + indel_candidates = manta_somatic.indel_candidates, + indel_candidates_index = manta_somatic.indel_candidates_index, + output_dir = "strelka_output", + exome, + } + + call clair.clairs { + reference_fasta, + reference_fasta_index, + normal_bam, + normal_bam_index, + tumor_bam, + tumor_bam_index, + platform = platform.ilmn, + prefix = "~{basename(tumor_bam, ".bam")}_vs_~{basename(normal_bam, ".bam")}", + sample_name = "~{basename(tumor_bam, ".bam")}", + } + + call mutect2.mutect2_wf { + reference_fasta, + reference_fasta_index, + reference_fasta_dict, + normal_bam, + normal_bam_index, + tumor_bam, + tumor_bam_index, + normal_sample_name = select_first([normal_read_groups.read_groups[0].SM, "normal"]), + tumor_sample_name = select_first([tumor_read_groups.read_groups[0].SM, "tumor"]), + variant_vcf, + variant_vcf_index, + intervals, + intervals_index, + } + + output { + # File octopus_vcf = octopus.somatic.output_vcf + File clairs_vcf = clairs.vcf + File deepsomatic_vcf = deepsomatic.vcf_output + Directory manta_output = manta_somatic.manta_output + Directory strelka_output = somatic.strelka_output + File mutect2_vcf = mutect2_wf.filtered_somatic_vcf + File mutect2_vcf_index = mutect2_wf.filtered_somatic_vcf_index + } +} From f9f13a0570b1c0ea788d3cb22053d887e3e157be Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 18 May 2026 11:17:08 -0500 Subject: [PATCH 142/147] feat: germline variant calling evaluation workflow --- .../evaluation/germline-variant-calling.wdl | 153 ++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 workflows/evaluation/germline-variant-calling.wdl diff --git a/workflows/evaluation/germline-variant-calling.wdl b/workflows/evaluation/germline-variant-calling.wdl new file mode 100644 index 000000000..c82ea132c --- /dev/null +++ b/workflows/evaluation/germline-variant-calling.wdl @@ -0,0 +1,153 @@ +version 1.3 + +import "../../tools/clair.wdl" +import "../../tools/deepvariant.wdl" +import "../../tools/gatk4.wdl" +import "../../tools/manta.wdl" +import "../../tools/ngsep.wdl" +import "../../tools/strelka.wdl" + +workflow variant_calling { + meta { + description: "Runs a series of variant calling tools on a processed BAM file. The workflow is designed to be flexible and allow users to choose which variant callers to run based on their specific needs and preferences." + outputs: { + clair_vcf: "VCF file produced by Clair", + clair_full_vcf: "VCF file produced by Clair containing all variants before filtering", + clair_merged_vcf: "VCF file produced by Clair after merging pileup and full-alignment calls", + deepvariant_vcf: "VCF file produced by DeepVariant", + deepvariant_gvcf: "gVCF file produced by DeepVariant", + deepvariant_runtime_report: "Optional HTML report of runtime metrics from DeepVariant", + deepvariant_vcf_stats: "Optional HTML report of VCF statistics from DeepVariant", + manta_output: "Directory containing Manta structural variant calls and associated files", + manta_log: "Log file from the Manta workflow execution", + ngsep_vcf: "VCF file produced by NGSEP", + strelka_output: "Directory containing Strelka somatic variant calls and associated files", + strelka_log: "Log file from the Strelka workflow execution", + } + allowNestedInputs: true + } + + parameter_meta { + processed_bam: "Input BAM format file that has been processed and is ready for variant calling" + processed_bam_index: "BAI index file associated with the input BAM file" + reference_genome: "Reference genome in FASTA format that corresponds to the alignments in the input BAM file" + reference_genome_index: "Index file for the reference genome FASTA, typically with a .fai extension" + reference_genome_dictionary: "Dictionary file for FASTA format genome" + dbSNP_vcf: "dbSNP VCF file" + dbSNP_vcf_index: "dbSNP VCF index file" + interval_list: { + description: "Interval list indicating regions in which to call variants", + external_help: "https://gatk.broadinstitute.org/hc/en-us/articles/360035531852-Intervals-and-interval-lists", + } + clair3_model: "Pre-trained Clair3 model file to use for variant calling with Clair" + run_clair: "Whether to run Clair for variant calling" + run_deepvariant: "Whether to run DeepVariant for variant calling" + run_haplotype_caller: "Whether to run GATK's Haplotype Caller for variant calling" + run_manta: "Whether to run Manta for structural variant calling" + run_ngsep: "Whether to run NGSEP for variant calling" + run_strelka: "Whether to run Strelka for variant calling" + } + + input { + File processed_bam + File processed_bam_index + File reference_genome + File reference_genome_index + File reference_genome_dictionary + File dbSNP_vcf + File dbSNP_vcf_index + File interval_list + Directory clair3_model + Boolean run_clair = true + Boolean run_deepvariant = true + Boolean run_haplotype_caller = true + Boolean run_manta = true + Boolean run_ngsep = true + Boolean run_strelka = true + } + + if (run_clair) { + call clair.clair3 { + bam = processed_bam, + bam_index = processed_bam_index, + reference_fasta = reference_genome, + reference_fasta_index = reference_genome_index, + model = clair3_model, + } + } + + if (run_deepvariant) { + call deepvariant.deepvariant { + bam = processed_bam, + bam_index = processed_bam_index, + reference_fasta = reference_genome, + reference_fasta_index = reference_genome_index, + } + } + + if (run_manta) { + call manta.manta_germline { + bam = processed_bam, + bam_index = processed_bam_index, + reference_fasta = reference_genome, + reference_fasta_index = reference_genome_index, + } + } + + if (run_ngsep) { + call ngsep.germline_variant as ngsep_germline_variant { + bam = processed_bam, + reference_fasta = reference_genome, + } + } + + if (run_strelka) { + call strelka.germline as strelka_germline { + bam = processed_bam, + bam_index = processed_bam_index, + reference_fasta = reference_genome, + reference_fasta_index = reference_genome_index, + } + } + + if (run_haplotype_caller) { + call gatk4.germline_variant_calling_wf { + bam = processed_bam, + bam_index = processed_bam_index, + interval_list, + reference_fasta = reference_genome, + reference_fasta_index = reference_genome_index, + reference_dict = reference_genome_dictionary, + dbSNP_vcf, + dbSNP_vcf_index, + } +# call gatk4.haplotype_caller { +# bam = processed_bam, +# bam_index = processed_bam_index, +# interval_list, +# fasta = reference_genome, +# fasta_index = reference_genome_index, +# dict = reference_genome_dictionary, +# dbSNP_vcf, +# dbSNP_vcf_index, +# reference_confidence = ref_confidence.GVCF, +# } + } + + output { + File? clair_vcf = clair3.pileup_vcf + File? clair_full_vcf = clair3.full_alignment_vcf + File? clair_merged_vcf = clair3.merged_vcf + File? deepvariant_vcf = deepvariant.vcf_output + File? deepvariant_gvcf = deepvariant.gvcf_output + File? deepvariant_runtime_report = deepvariant.runtime + File? deepvariant_vcf_stats = deepvariant.vcf_stats + Directory? manta_output = manta_germline.manta_output + File? manta_log = manta_germline.log_file + Array[File]? ngsep_vcf = ngsep_germline_variant.vcf_output + Directory? strelka_output = strelka_germline.strelka_output + File? strelka_log = strelka_germline.log_file + File? haplotype_caller_vcf = germline_variant_calling_wf.vcf_final + File? haplotype_caller_vcf_index = germline_variant_calling_wf.vcf_final_index + } +} From 986d9f14e336d72daaee520854ce5584b414435e Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 18 May 2026 12:53:15 -0400 Subject: [PATCH 143/147] chore: address lint and format --- workflows/evaluation/dnaseq-alignment.wdl | 4 +-- .../evaluation/germline-variant-calling.wdl | 27 ++++++++++--------- .../evaluation/somatic-variant-calling.wdl | 14 +++++++--- 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/workflows/evaluation/dnaseq-alignment.wdl b/workflows/evaluation/dnaseq-alignment.wdl index c1d953241..f590118aa 100644 --- a/workflows/evaluation/dnaseq-alignment.wdl +++ b/workflows/evaluation/dnaseq-alignment.wdl @@ -6,7 +6,7 @@ import "../../tools/bwamem2.wdl" as bwamem2 import "../../tools/minimap2.wdl" as minimap2 import "../../tools/samtools.wdl" as samtools import "../../tools/vg.wdl" as vg -import "alignment-post.wdl" as alignment_post +import "../general/alignment-post.wdl" as alignment_post workflow align { meta { @@ -92,7 +92,7 @@ workflow align { } call read_group_ds.read_group_to_array { - read_group + read_group, } call samtools.addreplacerg { diff --git a/workflows/evaluation/germline-variant-calling.wdl b/workflows/evaluation/germline-variant-calling.wdl index c82ea132c..a20f5b8e9 100644 --- a/workflows/evaluation/germline-variant-calling.wdl +++ b/workflows/evaluation/germline-variant-calling.wdl @@ -9,7 +9,8 @@ import "../../tools/strelka.wdl" workflow variant_calling { meta { - description: "Runs a series of variant calling tools on a processed BAM file. The workflow is designed to be flexible and allow users to choose which variant callers to run based on their specific needs and preferences." + description: "Runs a series of variant calling tools on a processed BAM file." + help: "The workflow is designed to be flexible and allow users to choose which variant callers to run based on their specific needs and preferences." outputs: { clair_vcf: "VCF file produced by Clair", clair_full_vcf: "VCF file produced by Clair containing all variants before filtering", @@ -23,6 +24,8 @@ workflow variant_calling { ngsep_vcf: "VCF file produced by NGSEP", strelka_output: "Directory containing Strelka somatic variant calls and associated files", strelka_log: "Log file from the Strelka workflow execution", + haplotype_caller_vcf: "VCF file output by GATK HaplotypeCaller after VQSR and genotype posterior calculation", + haplotype_caller_vcf_index: "Index file for the HaplotypeCaller VCF output", } allowNestedInputs: true } @@ -40,6 +43,9 @@ workflow variant_calling { external_help: "https://gatk.broadinstitute.org/hc/en-us/articles/360035531852-Intervals-and-interval-lists", } clair3_model: "Pre-trained Clair3 model file to use for variant calling with Clair" + known_indels_sites_vcfs: "Optional array of VCF files containing known indel sites to be used in variant calling and filtering" + known_indels_sites_indices: "Optional array of index files corresponding to the known indel site VCF files" + resources: "Optional array of additional resource files to be used in variant calling and filtering, such as additional VCFs or BED files" run_clair: "Whether to run Clair for variant calling" run_deepvariant: "Whether to run DeepVariant for variant calling" run_haplotype_caller: "Whether to run GATK's Haplotype Caller for variant calling" @@ -54,10 +60,15 @@ workflow variant_calling { File reference_genome File reference_genome_index File reference_genome_dictionary + #@ except: SnakeCase File dbSNP_vcf + #@ except: SnakeCase File dbSNP_vcf_index File interval_list Directory clair3_model + Array[File] known_indels_sites_vcfs = [] + Array[File] known_indels_sites_indices = [] + Array[Resource] resources = [] Boolean run_clair = true Boolean run_deepvariant = true Boolean run_haplotype_caller = true @@ -120,18 +131,10 @@ workflow variant_calling { reference_dict = reference_genome_dictionary, dbSNP_vcf, dbSNP_vcf_index, + known_indels_sites_vcfs, + known_indels_sites_indices, + resources, } -# call gatk4.haplotype_caller { -# bam = processed_bam, -# bam_index = processed_bam_index, -# interval_list, -# fasta = reference_genome, -# fasta_index = reference_genome_index, -# dict = reference_genome_dictionary, -# dbSNP_vcf, -# dbSNP_vcf_index, -# reference_confidence = ref_confidence.GVCF, -# } } output { diff --git a/workflows/evaluation/somatic-variant-calling.wdl b/workflows/evaluation/somatic-variant-calling.wdl index 0d836a4fd..2ca5e4443 100644 --- a/workflows/evaluation/somatic-variant-calling.wdl +++ b/workflows/evaluation/somatic-variant-calling.wdl @@ -57,11 +57,11 @@ workflow somatic_variant_calling { } call read_group.get_read_groups as normal_read_groups { - bam = normal_bam + bam = normal_bam, } call read_group.get_read_groups as tumor_read_groups { - bam = tumor_bam + bam = tumor_bam, } call deepvariant.deepsomatic { @@ -123,8 +123,14 @@ workflow somatic_variant_calling { normal_bam_index, tumor_bam, tumor_bam_index, - normal_sample_name = select_first([normal_read_groups.read_groups[0].SM, "normal"]), - tumor_sample_name = select_first([tumor_read_groups.read_groups[0].SM, "tumor"]), + normal_sample_name = select_first([ + normal_read_groups.read_groups[0].SM, + "normal", + ]), + tumor_sample_name = select_first([ + tumor_read_groups.read_groups[0].SM, + "tumor", + ]), variant_vcf, variant_vcf_index, intervals, From 9103ac819ad97448aa52cce45ce61c4bf1fb8ff1 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 18 May 2026 14:51:00 -0400 Subject: [PATCH 144/147] chore: rename from reserved keyword --- tools/deepvariant.wdl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/deepvariant.wdl b/tools/deepvariant.wdl index 42c210274..95598b9a6 100644 --- a/tools/deepvariant.wdl +++ b/tools/deepvariant.wdl @@ -23,7 +23,7 @@ task deepsomatic { vcf_output_index: "Index file for the called somatic variants VCF", gvcf_output: "gVCF file containing called somatic variants", gvcf_output_index: "Index file for the called somatic variants gVCF", - runtime: "Optional HTML report of runtime metrics", + runtime_html: "Optional HTML report of runtime metrics", vcf_stats: "Optional HTML report of VCF statistics", } } @@ -129,7 +129,7 @@ task deepsomatic { File vcf_output_index = "~{output_prefix}.vcf.gz.tbi" File gvcf_output = "~{output_prefix}.g.vcf.gz" File gvcf_output_index = "~{output_prefix}.g.vcf.gz.tbi" - File? runtime = "logs/make_examples_runtime_by_region_report.html" + File? runtime_html = "logs/make_examples_runtime_by_region_report.html" File? vcf_stats = "~{output_prefix}.visual_report.html" } @@ -155,7 +155,7 @@ task deepvariant { vcf_output_index: "Index file for the called variants VCF", gvcf_output: "gVCF file containing called variants", gvcf_output_index: "Index file for the called variants gVCF", - runtime: "Optional HTML report of runtime metrics", + runtime_html: "Optional HTML report of runtime metrics", vcf_stats: "Optional HTML report of VCF statistics", } } @@ -252,7 +252,7 @@ task deepvariant { File vcf_output_index = "~{output_prefix}.vcf.gz.tbi" File gvcf_output = "~{output_prefix}.g.vcf.gz" File gvcf_output_index = "~{output_prefix}.g.vcf.gz.tbi" - File? runtime = "logs/runtime_by_region_vis.html" + File? runtime_html = "logs/runtime_by_region_vis.html" File? vcf_stats = "logs/vcf_stats_report.html" } From 6c5febe1180618f4f413d726a152586b29049ed6 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 18 May 2026 14:51:24 -0400 Subject: [PATCH 145/147] chore: rename from reserved keyword --- workflows/evaluation/germline-variant-calling.wdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/evaluation/germline-variant-calling.wdl b/workflows/evaluation/germline-variant-calling.wdl index a20f5b8e9..20b483de7 100644 --- a/workflows/evaluation/germline-variant-calling.wdl +++ b/workflows/evaluation/germline-variant-calling.wdl @@ -143,7 +143,7 @@ workflow variant_calling { File? clair_merged_vcf = clair3.merged_vcf File? deepvariant_vcf = deepvariant.vcf_output File? deepvariant_gvcf = deepvariant.gvcf_output - File? deepvariant_runtime_report = deepvariant.runtime + File? deepvariant_runtime_report = deepvariant.runtime_report File? deepvariant_vcf_stats = deepvariant.vcf_stats Directory? manta_output = manta_germline.manta_output File? manta_log = manta_germline.log_file From 80051a934fccee54ef962f1cd76f32a2c4a584b6 Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 18 May 2026 15:16:16 -0400 Subject: [PATCH 146/147] chore: fix typo --- workflows/evaluation/germline-variant-calling.wdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/evaluation/germline-variant-calling.wdl b/workflows/evaluation/germline-variant-calling.wdl index 20b483de7..e848a932e 100644 --- a/workflows/evaluation/germline-variant-calling.wdl +++ b/workflows/evaluation/germline-variant-calling.wdl @@ -143,7 +143,7 @@ workflow variant_calling { File? clair_merged_vcf = clair3.merged_vcf File? deepvariant_vcf = deepvariant.vcf_output File? deepvariant_gvcf = deepvariant.gvcf_output - File? deepvariant_runtime_report = deepvariant.runtime_report + File? deepvariant_runtime_report = deepvariant.runtime_html File? deepvariant_vcf_stats = deepvariant.vcf_stats Directory? manta_output = manta_germline.manta_output File? manta_log = manta_germline.log_file From 803719a30815613f50ff1fe9fb30a7ba5806bfda Mon Sep 17 00:00:00 2001 From: Andrew Thrasher Date: Mon, 18 May 2026 15:17:31 -0400 Subject: [PATCH 147/147] chore: remove keyword --- tools/vg.wdl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/vg.wdl b/tools/vg.wdl index d7adaa9cc..4475945ec 100644 --- a/tools/vg.wdl +++ b/tools/vg.wdl @@ -130,7 +130,7 @@ task index { db_prefix: "The base name for the output index files" gff_feature: "The feature type in the GFF to use for transcripts" gff_id_tag: "The attribute tag in the GFF to use as transcript ID" - workflow: { + autoindex_workflow: { description: "The vg autoindex workflow to use", choices: [ "map", @@ -152,7 +152,7 @@ task index { String db_prefix = "reference" String gff_feature = "exon" String gff_id_tag = "transcript_id" - String workflow = "giraffe" + String autoindex_workflow = "giraffe" Int modify_disk_size_gb = 0 Int threads = 4 } @@ -172,7 +172,7 @@ task index { || ln -sf "~{reference_fasta}" "$ref_fasta" vg autoindex \ - --workflow "~{workflow}" \ + --workflow "~{autoindex_workflow}" \ -r "$ref_fasta" \ -p "~{db_prefix}" \ ~{sep(" ", prefix("-v ", quote(vcf_files)))} \