diff --git a/README.md b/README.md index 7ec64b0..c6010f1 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,27 @@ # Kids First DRC Tumor Only Pipeline -This repository contains tools and workflows for processing of tumor-only samples. -It is currently in beta phase. -Much of the components have been borrowed from the Kids First Somatic Workflow. -It can also be used to process PDX data by first pre-processing reads using the Xenome tool, explained more here in documentation. +This repository contains tools and workflows for processing of tumor-only +samples. The Kids First DRC recommends running the tumor only pipeline ONLY +when no matched normal sample is available. If your data has matched normals +we recommend running the [Kids First DRC Somatic Variant +Workflow](https://github.com/kids-first/kf-somatic-workflow) instead. This +workflow is not a traditional production pipeline run on all data, but rather +is run at the user's request. + +When comparing the SNV outputs of this workflow to those of the somatic workflow, +we have found the outputs to be considerably more noisy. To cut down on this +noise, we have included some recommended inputs, parameters, and filters for +Mutect2 [in our docs](./docs/MUTECT2_TUMOR_ONLY_FILTERING.md). In short we recommend: +- Restrict the callable regions with a blacklist and Panel of Normals (PON) +- Remove low support reads: + - Allele Depth (AD) == 0: WGS uninformative reads + - Variant Allele Frequency (VAF) < 1%: WXS noise +- Remove potential germline variants: gnomAD AF > 0.00003 +- Only keep variants that are PASS +- Rescue any variants that fall in hotspot regions/genes + +It can also be used to process PDX data by first pre-processing reads using the +Xenome tool, explained more here in documentation.
diff --git a/subworkflows/kfdrc_controlfreec_sub_wf.cwl b/subworkflows/kfdrc_controlfreec_sub_wf.cwl index a142689..dfbbb5b 100644 --- a/subworkflows/kfdrc_controlfreec_sub_wf.cwl +++ b/subworkflows/kfdrc_controlfreec_sub_wf.cwl @@ -24,6 +24,7 @@ inputs: b_allele: {type: ['null', File], doc: "germline calls, needed for BAF. VarDict input recommended. Tool will prefilter for germline and pass if expression given"} coeff_var: {type: float, default: 0.05, doc: "Coefficient of variantion to set window size. Default 0.05 recommended"} cfree_sex: {type: ['null', {type: enum, name: sex, symbols: ["XX", "XY"] }], doc: "If known, XX for female, XY for male"} + tool_name: { type: 'string?', doc: "Tool name to use in outputs." } outputs: ctrlfreec_cnvs: {type: File, outputSource: rename_outputs/ctrlfreec_cnvs} @@ -82,6 +83,7 @@ steps: in: input_files: [control_free_c/cnvs, control_free_c/cnvs_pvalue, control_free_c/config_script, control_free_c/ratio, control_free_c/sample_BAF, control_free_c/info_txt] input_pngs: control_free_c/pngs + tool_name: tool_name output_basename: output_basename out: [ctrlfreec_cnvs, ctrlfreec_pval, ctrlfreec_config, ctrlfreec_pngs, ctrlfreec_bam_ratio, ctrlfreec_baf, ctrlfreec_info] @@ -95,4 +97,5 @@ steps: ctrlfreec_ratio: control_free_c/ratio sample_name: input_tumor_name output_basename: output_basename + tool_name: tool_name out: [ctrlfreec_ratio2seg] diff --git a/subworkflows/kfdrc_manta_sub_wf.cwl b/subworkflows/kfdrc_manta_sub_wf.cwl index f7c08d4..3b82ead 100644 --- a/subworkflows/kfdrc_manta_sub_wf.cwl +++ b/subworkflows/kfdrc_manta_sub_wf.cwl @@ -19,6 +19,7 @@ inputs: manta_cores: {type: "int?"} select_vars_mode: {type: ['null', {type: enum, name: select_vars_mode, symbols: ["gatk", "grep"]}], doc: "Choose 'gatk' for SelectVariants tool, or 'grep' for grep expression", default: "gatk"} annotsv_annotations_dir_tgz: {type: 'File', doc: "TAR.GZ'd Directory containing annotations for AnnotSV"} + tool_name: { type: 'string?', default: "manta", doc: "Tool name to use in outputs." } outputs: manta_prepass_vcf: {type: File, outputSource: rename_manta_samples/reheadered_vcf} @@ -37,6 +38,7 @@ steps: cores: manta_cores reference: indexed_reference_fasta hg38_strelka_bed: hg38_strelka_bed + tool_name: tool_name out: [output_sv, small_indels] rename_manta_samples: @@ -48,12 +50,10 @@ steps: gatk_selectvariants_manta: run: ../tools/gatk_selectvariants.cwl - label: GATK Select Manta PASS in: input_vcf: rename_manta_samples/reheadered_vcf output_basename: output_basename - tool_name: - valueFrom: $("manta") + tool_name: tool_name mode: select_vars_mode out: [pass_vcf] diff --git a/subworkflows/kfdrc_mutect2_sub_wf.cwl b/subworkflows/kfdrc_mutect2_sub_wf.cwl index 98634f2..db1cc97 100644 --- a/subworkflows/kfdrc_mutect2_sub_wf.cwl +++ b/subworkflows/kfdrc_mutect2_sub_wf.cwl @@ -148,7 +148,9 @@ steps: reference: indexed_reference_fasta input_bams: mutect2/mutect2_bam enable_tool: make_bamout - output_basename: output_basename + output_basename: + source: [output_basename, tool_name] + valueFrom: $(self.join(".")) out: [output] gatk_learn_orientation_bias: diff --git a/tools/manta.cwl b/tools/manta.cwl index fc6885e..3e5f53f 100644 --- a/tools/manta.cwl +++ b/tools/manta.cwl @@ -2,46 +2,52 @@ cwlVersion: v1.0 class: CommandLineTool id: kfdrc-manta-sv label: Manta sv caller -doc: 'Calls structural variants. Tool designed to pick correct run mode based on if tumor, normal, or both crams are given' +doc: 'Calls structural variants. Tool designed to pick correct run mode based on if tumor, normal, or both crams are given' requirements: - class: ShellCommandRequirement - class: InlineJavascriptRequirement - class: ResourceRequirement - ramMin: ${ return inputs.ram * 1000 } + ramMin: $(inputs.ram * 1000) coresMin: $(inputs.cores) - class: DockerRequirement dockerPull: 'pgc-images.sbgenomics.com/d3b-bixu/manta:1.4.0' -baseCommand: [/manta-1.4.0.centos6_x86_64/bin/configManta.py] +baseCommand: [] arguments: - - position: 1 + - position: 0 shellQuote: false valueFrom: >- - ${ - var std = " --ref " + inputs.reference.path + " --callRegions " + inputs.hg38_strelka_bed.path + " --runDir=./ && ./runWorkflow.py -m local -j " + inputs.cores + " "; - var mv = " && mv results/variants/"; - if (typeof inputs.input_tumor_aligned === 'undefined' || inputs.input_tumor_aligned === null){ - var mv_cmd = mv + "diploidSV.vcf.gz " + inputs.output_basename + ".manta.diploidSV.vcf.gz" + mv + "diploidSV.vcf.gz.tbi " + inputs.output_basename + ".manta.diploidSV.vcf.gz.tbi" + mv + "candidateSmallIndels.vcf.gz " + inputs.output_basename + ".manta.candidateSmallIndels.vcf.gz" + mv + "candidateSmallIndels.vcf.gz.tbi " + inputs.output_basename + ".manta.candidateSmallIndels.vcf.gz.tbi"; - return "--bam ".concat(inputs.input_normal_aligned.path, std, mv_cmd); - } - else if (typeof inputs.input_normal_aligned === 'undefined' || inputs.input_normal_aligned === null){ - var mv_cmd = mv + "tumorSV.vcf.gz " + inputs.output_basename + ".manta.tumorSV.vcf.gz" + mv + "tumorSV.vcf.gz.tbi " + inputs.output_basename + ".manta.tumorSV.vcf.gz.tbi" + mv + "candidateSmallIndels.vcf.gz " + inputs.output_basename + ".manta.candidateSmallIndels.vcf.gz" + mv + "candidateSmallIndels.vcf.gz.tbi " + inputs.output_basename + ".manta.candidateSmallIndels.vcf.gz.tbi"; - return "--tumorBam " + inputs.input_tumor_aligned.path + std + mv_cmd; - } - else{ - var mv_cmd = mv + "somaticSV.vcf.gz " + inputs.output_basename + ".manta.somaticSV.vcf.gz" + mv + "somaticSV.vcf.gz.tbi " + inputs.output_basename + ".manta.somaticSV.vcf.gz.tbi" + mv + "candidateSmallIndels.vcf.gz " + inputs.output_basename + ".manta.candidateSmallIndels.vcf.gz" + mv + "candidateSmallIndels.vcf.gz.tbi " + inputs.output_basename + ".manta.candidateSmallIndels.vcf.gz.tbi"; - return "--tumorBam " + inputs.input_tumor_aligned.path + " --normalBam " + inputs.input_normal_aligned.path + std + mv_cmd; - } - } + /manta-1.4.0.centos6_x86_64/bin/configManta.py --runDir=./ + - position: 9 + shellQuote: false + valueFrom: >- + $(inputs.input_normal_aligned != null ? inputs.input_tumor_aligned != null ? "--normalBam " + inputs.input_normal_aligned.path : "--bam " + inputs.input_normal_aligned.path : "") + - position: 10 + shellQuote: false + prefix: "&&" + valueFrom: >- + ./runWorkflow.py -m local + - position: 20 + shellQuote: false + valueFrom: >- + && mv results/variants/diploidSV.vcf.gz $([inputs.output_basename, inputs.tool_name, "diploidSV.vcf.gz"].join(".")) || : + && mv results/variants/diploidSV.vcf.gz.tbi $([inputs.output_basename, inputs.tool_name, "diploidSV.vcf.gz.tbi"].join(".")) || : + && mv results/variants/tumorSV.vcf.gz $([inputs.output_basename, inputs.tool_name, "tumorSV.vcf.gz"].join(".")) || : + && mv results/variants/tumorSV.vcf.gz.tbi $([inputs.output_basename, inputs.tool_name, "tumorSV.vcf.gz.tbi"].join(".")) || : + && mv results/variants/somaticSV.vcf.gz $([inputs.output_basename, inputs.tool_name, "somaticSV.vcf.gz"].join(".")) || : + && mv results/variants/somaticSV.vcf.gz.tbi $([inputs.output_basename, inputs.tool_name, "somaticSV.vcf.gz.tbi"].join(".")) || : + && mv results/variants/candidateSmallIndels.vcf.gz $([inputs.output_basename, inputs.tool_name, "candidateSmallIndels.vcf.gz"].join(".")) + && mv results/variants/candidateSmallIndels.vcf.gz.tbi $([inputs.output_basename, inputs.tool_name, "candidateSmallIndels.vcf.gz.tbi"].join(".")) inputs: - reference: {type: File, secondaryFiles: [^.dict, .fai]} - hg38_strelka_bed: {type: File, secondaryFiles: [.tbi]} - input_tumor_aligned: { type: 'File?', secondaryFiles: ["^.bai?", ".bai?", "^.crai?", ".crai?"], doc: "tumor BAM or CRAM" } + reference: {type: File, secondaryFiles: [^.dict, .fai], inputBinding: {position: 2, prefix: "--ref"}} + hg38_strelka_bed: {type: File, secondaryFiles: [.tbi], inputBinding: {position: 2, prefix: "--callRegions"}} + input_tumor_aligned: { type: 'File?', secondaryFiles: ["^.bai?", ".bai?", "^.crai?", ".crai?"], inputBinding: {position: 9, prefix: "--tumorBam"}, doc: "tumor BAM or CRAM" } input_normal_aligned: { type: 'File?', secondaryFiles: ["^.bai?", ".bai?", "^.crai?", ".crai?"], doc: "normal BAM or CRAM" } - cores: {type: ['null', int], default: 16} + cores: {type: ['null', int], default: 16, inputBinding: {position: 12, prefix: "-j"}} ram: {type: "int?", default: 10, doc: "GB of RAM an instance must have to run the task"} output_basename: string + tool_name: { type: 'string?', default: "manta", doc: "Tool name to use in outputs." } outputs: output_sv: type: File diff --git a/tools/ubuntu_ratio2seg.cwl b/tools/ubuntu_ratio2seg.cwl index 37c3ce3..7976061 100644 --- a/tools/ubuntu_ratio2seg.cwl +++ b/tools/ubuntu_ratio2seg.cwl @@ -29,7 +29,7 @@ arguments: smp = "$(inputs.sample_name)" ratio_file = open("$(inputs.ctrlfreec_ratio.path)") - out = open("$(inputs.output_basename).controlfreec.seg", "w") + out = open("$(inputs.output_basename).$(inputs.tool_name).seg", "w") out.write("ID\tchrom\tloc.start\tloc.end\tnum.mark\tseg.mean\n") head = next(ratio_file) count = 0 @@ -70,6 +70,7 @@ inputs: ctrlfreec_ratio: File sample_name: string output_basename: string + tool_name: { type: 'string?', default: "controlfreec", doc: "Tool name to use for output filename" } outputs: ctrlfreec_ratio2seg: diff --git a/tools/ubuntu_rename_outputs.cwl b/tools/ubuntu_rename_outputs.cwl index c21d2b8..3a9c63e 100644 --- a/tools/ubuntu_rename_outputs.cwl +++ b/tools/ubuntu_rename_outputs.cwl @@ -25,9 +25,9 @@ arguments: parts.shift(); var check = fname.substr(fname.length - 10); if (check == "config.txt") { - cmd += "cp " + inputs.input_files[i].path + " " + inputs.output_basename + ".controlfreec.config.txt;"; + cmd += "cp " + inputs.input_files[i].path + " " + [inputs.output_basename, inputs.tool_name, "config.txt;"].join("."); } else { - fname = inputs.output_basename + ".controlfreec." + parts.join("."); + fname = [inputs.output_basename, inputs.tool_name, parts.join(".")].join("."); cmd += " cp " + inputs.input_files[i].path + " " + fname + ";"; } } @@ -41,7 +41,7 @@ arguments: fname = fname.replace(".txt", ""); var parts = fname.split("."); parts.shift(); - fname = inputs.output_basename + ".controlfreec." + parts.join(".") + ".png"; + fname = [inputs.output_basename, inputs.tool_name, parts.join("."), "png"].join("."); cmd += " cp " + inputs.input_pngs[j].path + " " + fname + ";"; } return cmd; @@ -50,6 +50,7 @@ arguments: inputs: input_files: File[] input_pngs: File[] + tool_name: { type: 'string?', default: "controlfreec", doc: "Tool name to use in outputs." } output_basename: string outputs: ctrlfreec_baf: diff --git a/workflows/kfdrc_tumor_only_dna_wf.cwl b/workflows/kfdrc_tumor_only_dna_wf.cwl index d980ace..47ba370 100644 --- a/workflows/kfdrc_tumor_only_dna_wf.cwl +++ b/workflows/kfdrc_tumor_only_dna_wf.cwl @@ -1,14 +1,32 @@ cwlVersion: v1.2 class: Workflow -id: kfdrc_tomor_only_dna_wf -label: KFDRC DNA Tumor Only Beta Production Workflow +id: kfdrc_tumor_only_dna_wf +label: KFDRC DNA Tumor Only Production Workflow doc: | # Kids First DRC Tumor Only Pipeline - This repository contains tools and workflows for processing of tumor-only samples. - It is currently in beta phase. - Much of the components have been borrowed from the Kids First Somatic Workflow. - It can also be used to process PDX data by first pre-processing reads using the Xenome tool, explained more here in documentation. + This repository contains tools and workflows for processing of tumor-only + samples. The Kids First DRC recommends running the tumor only pipeline ONLY + when no matched normal sample is available. If your data has matched normals + we recommend running the [Kids First DRC Somatic Variant + Workflow](https://github.com/kids-first/kf-somatic-workflow) instead. This + workflow is not a traditional production pipeline run on all data, but rather + is run at the user's request. + + When comparing the SNV outputs of this workflow to those of the somatic workflow, + we have found the outputs to be considerably more noisy. To cut down on this + noise, we have included some recommended inputs, parameters, and filters for + Mutect2 [in our docs](./docs/MUTECT2_TUMOR_ONLY_FILTERING.md). In short we recommend: + - Restrict the callable regions with a blacklist and Panel of Normals (PON) + - Remove low support reads: + - Allele Depth (AD) == 0: WGS uninformative reads + - Variant Allele Frequency (VAF) < 1%: WXS noise + - Remove potential germline variants: gnomAD AF > 0.00003 + - Only keep variants that are PASS + - Rescue any variants that fall in hotspot regions/genes + + It can also be used to process PDX data by first pre-processing reads using the + Xenome tool, explained more here in documentation.
@@ -43,8 +61,8 @@ doc: | - `indexed_reference_fasta`: FAI and DICT indexed Homo_sapiens_assembly38.fasta - `mutect2_af_only_gnomad_vcf`: af-only-gnomad.hg38.vcf.gz - `mutect2_exac_common_vcf`: small_exac_common_3.hg38.vcf.gz - - `gem_mappability_file`: hg38_canonical_150.mappability # will need note on file generation - - `b_allele`: dbSNP_v153_ucsc-compatible.converted.vt.decomp.norm.common_snps.vcf.gz # will need note on file generation + - `gem_mappability_file`: hg38_canonical_150.mappability. If you don't have one for your reference and read length, you can first run the [GEM indexer](https://github.com/d3b-center/d3b_bic-seq2/blob/master/tools/gem_gen_index.cwl) tool, then concatenate those results and convert to a mappability file using the [GEM mappability](https://github.com/d3b-center/d3b_bic-seq2/blob/master/tools/gem_gen_mappability.cwl) tool. + - `b_allele`: dbSNP_v153_ucsc-compatible.converted.vt.decomp.norm.common_snps.vcf.gz. dbSNP v153 was obtained from [the ftp site](https://ftp.ncbi.nih.gov/snp/archive/b153/VCF/GCF_000001405.38.gz). Then, using a awk/perl/bash script of your choice, convert NCBI accession names to UCSC-style chromosome names using [this table](https://hgdownload.soe.ucsc.edu/hubs/GCF/000/001/405/GCF_000001405.39/GCF_000001405.39.chromAlias.txt). Next, run the [VCF normalization tool](https://github.com/kids-first/kf-annotation-tools/blob/master/tools/normalize_vcf.cwl), then use bcftools to extract only common snps: `bcftools view --include INFO/COMMON=1 --types snps dbSNP_v153_ucsc-compatible.converted.vt.decomp.norm.vcf.gz -O z -o dbSNP_v153_ucsc-compatible.converted.vt.decomp.norm.common_snps.vcf.gz`. Lastly, use tabix to index the resultant file. - `vep_cache`: homo_sapiens_merged_vep_105_indexed_GRCh38.tar.gz - `genomic_hotspots`: tert.bed # bed file with TERT gene promoter region - `protein_snv_hotspots`: protein_snv_cancer_hotspots_v2.ENS105_liftover.tsv @@ -115,15 +133,17 @@ inputs: indexed_reference_fasta: {type: 'File', secondaryFiles: [{pattern: ".fai", required: true}, {pattern: "^.dict", required: true}], doc: "Reference fasta to which the input reads were aligned. Must include FAI and DICT indicies", "sbg:suggestedValue": {class: File, path: 60639014357c3a53540ca7a3, name: Homo_sapiens_assembly38.fasta, secondaryFiles: [{class: File, path: 60639016357c3a53540ca7af, - name: Homo_sapiens_assembly38.fasta.fai}, {class: File, path: 60639019357c3a53540ca7e7, name: Homo_sapiens_assembly38.dict}]}, "sbg:fileTypes": "FASTA, FA"} + name: Homo_sapiens_assembly38.fasta.fai}, {class: File, path: 60639019357c3a53540ca7e7, name: Homo_sapiens_assembly38.dict}]}, + "sbg:fileTypes": "FASTA, FA"} calling_regions: {type: 'File', doc: "BED or INTERVALLIST file containing a set of genomic regions over which the callers will be run. For WGS, this should be the wgs_calling_regions.interval_list. For WXS, the user must provide the appropriate regions for their analysis.", "sbg:fileTypes": "BED, INTERVALLIST, INTERVAL_LIST"} blacklist_regions: {type: 'File?', doc: "BED or INTERVALLIST file containing a set of genomic regions to remove from the calling - regions for SNV and SV calling.", "sbg:suggestedValue": {class: File, path: 665df995a193b420129c7830, name: hg38-blacklist.v2.bed.gz}, "sbg:fileTypes": "BED, BED.GZ, INTERVALLIST, INTERVAL_LIST"} + regions for SNV and SV calling.", "sbg:suggestedValue": {class: File, path: 665df995a193b420129c7830, name: hg38-blacklist.v2.bed.gz}, + "sbg:fileTypes": "BED, BED.GZ, INTERVALLIST, INTERVAL_LIST"} cnv_blacklist_regions: {type: 'File?', doc: "BED or INTERVALLIST file containing a set of genomic regions to remove from the calling regions for CNV calling only!", "sbg:suggestedValue": {class: File, path: 665df995a193b420129c782f, name: somatic-hg38_CNV_and_centromere_blacklist.hg38liftover.bed}, - "sbg:fileTypes": "BED, INTERVALLIST, INTERVAL_LIST"} + "sbg:fileTypes": "BED, INTERVALLIST, INTERVAL_LIST"} input_tumor_aligned: {type: 'File', secondaryFiles: [{pattern: ".bai", required: false}, {pattern: "^.bai", required: false}, { pattern: ".crai", required: false}, {pattern: "^.crai", required: false}], doc: "BAM/SAM/CRAM file containing tumor reads", "sbg:fileTypes": "BAM, CRAM, SAM"} @@ -133,8 +153,8 @@ inputs: output_basename: {type: 'string', doc: "String value to use as basename for outputs"} panel_of_normals: {type: 'File?', secondaryFiles: ['.tbi'], doc: "VCF file (and index) of sites observed in normal. A panel of normals can be a useful (optional) input to help filter out commonly seen sequencing noise that may appear as low allele-fraction somatic - variants.", "sbg:suggestedValue": {class: File, path: 65fb2dfef70c1f39338b2aa8, name: 1000g_pon.hg38.vcf.gz, secondaryFiles: [{class: File, - path: 665df995a193b420129c782e, name: 1000g_pon.hg38.vcf.gz.tbi}]}, "sbg:fileTypes": "VCF, VCF.GZ"} + variants.", "sbg:suggestedValue": {class: File, path: 665df995a193b420129c7831, name: 1000g_pon.hg38.vcf.gz, secondaryFiles: [ + {class: File, path: 665df995a193b420129c782e, name: 1000g_pon.hg38.vcf.gz.tbi}]}, "sbg:fileTypes": "VCF, VCF.GZ"} mutect2_af_only_gnomad_vcf: {type: 'File', secondaryFiles: ['.tbi'], doc: "Population vcf (and index) of germline sequencing containing allele fractions in VCF format.", "sbg:suggestedValue": {class: File, path: 5f50018fe4b054958bc8d2e3, name: af-only-gnomad.hg38.vcf.gz, secondaryFiles: [{class: File, path: 5f50018fe4b054958bc8d2e5, name: af-only-gnomad.hg38.vcf.gz.tbi}]}, "sbg:fileTypes": "VCF, @@ -161,8 +181,8 @@ inputs: cfree_mate_orientation_sample: {type: ['null', {type: enum, name: mate_orientation_sample, symbols: ["0", "FR", "RF", "FF"]}], default: "FR", doc: "0 (for single ends), RF (Illumina mate-pairs), FR (Illumina paired-ends), FF (SOLiD mate-pairs)"} b_allele: {type: 'File?', secondaryFiles: [{pattern: ".tbi", required: true}], doc: "germline calls, needed for BAF. GATK HC VQSR - input recommended. Tool will prefilter for germline and pass if expression given", "sbg:suggestedValue": {class: File, path: 663e7c69f180a9177dd4212b, - name: dbSNP_v153_ucsc-compatible.converted.vt.decomp.norm.common_snps.vcf.gz, secondaryFiles: [{class: File, path: 6509b6a37f6417197fc158fc, + input recommended. Tool will prefilter for germline and pass if expression given", "sbg:suggestedValue": {class: File, path: 663d2bcc27374715fccd8c67, + name: dbSNP_v153_ucsc-compatible.converted.vt.decomp.norm.common_snps.vcf.gz, secondaryFiles: [{class: File, path: 663d2bcc27374715fccd8c66, name: dbSNP_v153_ucsc-compatible.converted.vt.decomp.norm.common_snps.vcf.gz.tbi}]}} cfree_coeff_var: {type: 'float?', default: 0.05, doc: "Coefficient of variation to set window size. Default 0.05 recommended"} cfree_sex: {type: ['null', {type: enum, name: sex, symbols: ["XX", "XY"]}], doc: "If known, XX for female, XY for male"} @@ -202,7 +222,7 @@ inputs: < 1\"]"} maf_center: {type: 'string?', doc: "Sequencing center of variant called", default: "."} custom_enst: {type: 'File?', doc: "Use a file with ens tx IDs for each gene to override VEP PICK", "sbg:suggestedValue": {class: File, - path: 6480c8a61dfc710d24a3a368, name: kf_isoform_override.tsv}} + path: 663d2bcc27374715fccd8c65, name: kf_isoform_override.tsv}} # Resource Control vep_ram: {type: 'int?', default: 32, doc: "In GB, may need to increase this value depending on the size/complexity of input"} @@ -413,6 +433,8 @@ steps: b_allele: gatk_filter_germline/filtered_pass_vcf coeff_var: cfree_coeff_var cfree_sex: cfree_sex + tool_name: + valueFrom: "controlfreec.tumor_only" out: [ctrlfreec_cnvs, ctrlfreec_pval, ctrlfreec_config, ctrlfreec_pngs, ctrlfreec_bam_ratio, ctrlfreec_bam_seg, ctrlfreec_baf, ctrlfreec_info] manta: @@ -429,6 +451,8 @@ steps: input_tumor_name: input_tumor_name annotsv_annotations_dir_tgz: annotsv_annotations_dir_tgz output_basename: output_basename + tool_name: + valueFrom: "manta.tumor_only" manta_memory: manta_memory manta_cores: manta_cores out: [manta_prepass_vcf, manta_pass_vcf, manta_small_indels, annotsv_annotated_calls, annotsv_unannotated_calls] @@ -451,5 +475,5 @@ hints: - VCF "sbg:links": -- id: 'https://github.com/kids-first/kf-tumor-workflow/tree/v0.4.1-beta' +- id: 'https://github.com/kids-first/kf-tumor-workflow/tree/v1.0.0' label: github-release