Arvados-DCO-1.1-Signed-off-by: Alex Coleman <alex.coleman@curii.com>.
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-cwlVersion: v1.1
-class: ExpressionTool
-inputs:
- sampleid: string
- suffix: string
-outputs:
- appendedsampleid: string
-requirements:
- InlineJavascriptRequirement: {}
-expression: |
- ${
- var appendedsampleid = inputs.sampleid + inputs.suffix;
- return {"appendedsampleid": appendedsampleid};
- }
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-cwlVersion: v1.1
-class: CommandLineTool
-label: Convert VCF to FASTA with bcftools consensus
-hints:
- DockerRequirement:
- dockerPull: vcfutil
- ResourceRequirement:
- ramMin: 5000
-inputs:
- sampleid:
- type: string
- label: sample ID
- vcf:
- type: File
- label: Input VCF
- secondaryFiles: [.tbi]
- ref:
- type: File
- label: Reference FASTA
- mask:
- type: File
- label: Mask BED region where FASTA sequence is filled with 'N'
- bashscript:
- type: File
- label: Script to run bcftools consensus
- default:
- class: File
- location: src/bcftools-consensus.sh
-outputs:
- fas:
- type: File[]
- label: Output FASTAs
- outputBinding:
- glob: "*fa.gz"
-arguments:
- - $(inputs.bashscript)
- - $(inputs.sampleid)
- - $(inputs.vcf)
- - $(inputs.ref)
- - $(inputs.mask)
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-cwlVersion: v1.1
-class: CommandLineTool
-label: Concatenate and get no call BED and variant only VCF from gVCF
-requirements:
- ShellCommandRequirement: {}
-hints:
- DockerRequirement:
- dockerPull: vcfutil
- ResourceRequirement:
- ramMin: 5000
- tmpdirMin: 2000
-inputs:
- sampleid:
- type: string
- label: Sample ID
- splitvcfdir:
- type: Directory
- label: Input directory of split gVCFs
- gqcutoff:
- type: int
- label: GQ (Genotype Quality) cutoff for filtering
- genomebed:
- type: File
- label: Whole genome BED
- bashscript:
- type: File
- label: Script to untar and concatenate vcf tar ball
- default:
- class: File
- location: src/concat-get_bed_varonlyvcf.sh
-outputs:
- nocallbed:
- type: File
- label: No call BED of gVCF
- outputBinding:
- glob: "*_nocall.bed"
- varonlyvcf:
- type: File
- label: Variant only VCF
- outputBinding:
- glob: "*_varonly.vcf.gz"
- secondaryFiles: [.tbi]
-arguments:
- - $(inputs.bashscript)
- - $(inputs.sampleid)
- - $(inputs.splitvcfdir)
- - $(inputs.gqcutoff)
- - $(inputs.genomebed)
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-cwlVersion: v1.1
-class: CommandLineTool
-label: Fix gVCF and get no call BED and variant only VCF from gVCF
-hints:
- DockerRequirement:
- dockerPull: vcfutil
- ResourceRequirement:
- ramMin: 15000
-inputs:
- bashscript:
- type: File
- label: Bash script
- default:
- class: File
- location: src/fixvcf-get_bed_varonlyvcf.sh
- sampleid:
- type: string
- label: Sample ID
- vcf:
- type: File
- label: Input gVCF
- gqcutoff:
- type: int
- label: GQ (Genotype Quality) cutoff for filtering
- genomebed:
- type: File
- label: Whole genome BED
-outputs:
- nocallbed:
- type: File
- label: No call BED of gVCF
- outputBinding:
- glob: "*_nocall.bed"
- varonlyvcf:
- type: File
- label: Variant only VCF
- outputBinding:
- glob: "*_varonly.vcf.gz"
- secondaryFiles: [.tbi]
-arguments:
- - $(inputs.bashscript)
- - $(inputs.sampleid)
- - $(inputs.vcf)
- - $(inputs.gqcutoff)
- - $(inputs.genomebed)
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-cwlVersion: v1.1
-class: CommandLineTool
-label: Get no call BED and variant only VCF from gVCF
-requirements:
- ShellCommandRequirement: {}
-hints:
- DockerRequirement:
- dockerPull: vcfutil
- ResourceRequirement:
- ramMin: 5000
- outdirMin: 40000
-inputs:
- sampleid:
- type: string
- label: Sample ID
- vcf:
- type: File
- label: Input gVCF
- gqcutoff:
- type: int
- label: GQ (Genotype Quality) cutoff for filtering
- genomebed:
- type: File
- label: Whole genome BED
-outputs:
- nocallbed:
- type: File
- label: No call BED of gVCF
- outputBinding:
- glob: "*_nocall.bed"
- varonlyvcf:
- type: File
- label: Variant only VCF
- outputBinding:
- glob: "*_varonly.vcf.gz"
- secondaryFiles: [.tbi]
-baseCommand: /gvcf_regions/gvcf_regions.py
-arguments:
- - prefix: "--min_GQ"
- valueFrom: $(inputs.gqcutoff)
- - $(inputs.vcf)
- - shellQuote: False
- valueFrom: ">"
- - $(inputs.sampleid).bed
- - shellQuote: False
- valueFrom: "&&"
- - "bedtools"
- - "subtract"
- - prefix: "-a"
- valueFrom: $(inputs.genomebed)
- - prefix: "-b"
- valueFrom: $(inputs.sampleid).bed
- - shellQuote: False
- valueFrom: ">"
- - $(inputs.sampleid)_nocall.bed
- - shellQuote: False
- valueFrom: "&&"
- - "bgzip"
- - "-dc"
- - $(inputs.vcf)
- - shellQuote: False
- valueFrom: "|"
- - "grep"
- - "-v"
- - "END="
- - shellQuote: False
- valueFrom: "|"
- - "bgzip"
- - "-c"
- - shellQuote: False
- valueFrom: ">"
- - $(inputs.sampleid)_varonly.vcf.gz
- - shellQuote: False
- valueFrom: "&&"
- - "tabix"
- - $(inputs.sampleid)_varonly.vcf.gz
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-cwlVersion: v1.1
-class: ExpressionTool
-label: Create list of VCFs and sample names
-hints:
- LoadListingRequirement:
- loadListing: shallow_listing
-inputs:
- dir:
- type: Directory
- label: Input directory of VCFs
-outputs:
- vcfs:
- type: File[]
- label: Output VCFs
- samples:
- type: string[]
- label: Sample names of VCFs
-requirements:
- InlineJavascriptRequirement: {}
-expression: |
- ${
- var vcfs = [];
- var samples = [];
- for (var i = 0; i < inputs.dir.listing.length; i++) {
- var file = inputs.dir.listing[i];
- if (file.nameext == ".gz") {
- vcfs.push(file);
- var sample = file.basename.split(".").slice(0, -2).join(".");
- samples.push(sample);
- }
- }
- return {"vcfs": vcfs, "samples": samples};
- }
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-cwlVersion: v1.1
-class: Workflow
-label: Convert gVCF to FASTA
-requirements:
- ScatterFeatureRequirement: {}
-hints:
- DockerRequirement:
- dockerPull: vcfutil
- ResourceRequirement:
- ramMin: 5000
-
-inputs:
- sampleid:
- type: string
- label: Sample ID
- vcf:
- type: File
- label: Input gVCF
- gqcutoff:
- type: int
- label: GQ (Genotype Quality) cutoff for filtering
- genomebed:
- type: File
- label: Whole genome BED
- ref:
- type: File
- label: Reference FASTA
- haplotypes:
- type: int[]
- label: Haplotypes of sample
- default: [1, 2]
-
-outputs:
- fas:
- type: File[]
- label: Output pair of FASTAs
- outputSource: bcftools-consensus/fa
-
-steps:
- get_bed_varonlyvcf:
- run: get_bed_varonlyvcf.cwl
- in:
- sampleid: sampleid
- vcf: vcf
- gqcutoff: gqcutoff
- genomebed: genomebed
- out: [nocallbed, varonlyvcf]
-
- bcftools-consensus:
- run: bcftools-consensus.cwl
- scatter: haplotype
- in:
- sampleid: sampleid
- vcf: get_bed_varonlyvcf/varonlyvcf
- ref: ref
- haplotype: haplotypes
- mask: get_bed_varonlyvcf/nocallbed
- out: [fa]
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-cwlVersion: v1.1
-class: Workflow
-label: Impute gVCF and convert to FASTA for gVCF with NON_REF
-requirements:
- ScatterFeatureRequirement: {}
- SubworkflowFeatureRequirement: {}
-hints:
- DockerRequirement:
- dockerPull: vcfutil
-
-inputs:
- sampleid:
- type: string
- label: Sample ID
- vcf:
- type: File
- label: Input gVCF
- gqcutoff:
- type: int
- label: GQ (Genotype Quality) cutoff for filtering
- genomebed:
- type: File
- label: Whole genome BED
- ref:
- type: File
- label: Reference FASTA
- haplotypes:
- type: int[]
- label: Haplotypes of sample
- default: [1, 2]
- chrs:
- type: string[]
- refsdir: Directory
- mapsdir: Directory
- panelnocallbed: File
-
-outputs:
- fas:
- type: File[]
- label: Output pair of FASTAs
- outputSource: bcftools-consensus/fa
-
-steps:
- fixvcf-get_bed_varonlyvcf:
- run: fixvcf-get_bed_varonlyvcf.cwl
- in:
- sampleid: sampleid
- vcf: vcf
- gqcutoff: gqcutoff
- genomebed: genomebed
- out: [nocallbed, varonlyvcf]
-
- imputation-wf:
- run: ../imputation/imputation-wf.cwl
- in:
- sample: sampleid
- chrs: chrs
- refsdir: refsdir
- mapsdir: mapsdir
- vcf: fixvcf-get_bed_varonlyvcf/varonlyvcf
- nocallbed: fixvcf-get_bed_varonlyvcf/nocallbed
- panelnocallbed: panelnocallbed
- out: [phasedimputedvcf, phasedimputednocallbed]
-
- bcftools-consensus:
- run: bcftools-consensus.cwl
- scatter: haplotype
- in:
- sampleid: sampleid
- vcf: imputation-wf/phasedimputedvcf
- ref: ref
- haplotype: haplotypes
- mask: imputation-wf/phasedimputednocallbed
- out: [fa]
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-cwlVersion: v1.1
-class: Workflow
-label: Convert gVCF to FASTA for gVCF with NON_REF
-requirements:
- ScatterFeatureRequirement: {}
-hints:
- DockerRequirement:
- dockerPull: vcfutil
-
-inputs:
- sampleid:
- type: string
- label: Sample ID
- vcf:
- type: File
- label: Input gVCF
- gqcutoff:
- type: int
- label: GQ (Genotype Quality) cutoff for filtering
- genomebed:
- type: File
- label: Whole genome BED
- ref:
- type: File
- label: Reference FASTA
-
-outputs:
- fas:
- type: File[]
- label: Output pair of FASTAs
- outputSource: bcftools-consensus/fas
-
-steps:
- fixvcf-get_bed_varonlyvcf:
- run: fixvcf-get_bed_varonlyvcf.cwl
- in:
- sampleid: sampleid
- vcf: vcf
- gqcutoff: gqcutoff
- genomebed: genomebed
- out: [nocallbed, varonlyvcf]
-
- bcftools-consensus:
- run: bcftools-consensus.cwl
- in:
- sampleid: sampleid
- vcf: fixvcf-get_bed_varonlyvcf/varonlyvcf
- ref: ref
- mask: fixvcf-get_bed_varonlyvcf/nocallbed
- out: [fas]
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-$namespaces:
- arv: "http://arvados.org/cwl#"
-cwlVersion: v1.1
-class: Workflow
-label: Impute gVCF and convert to FASTA for gVCF split by chromosome
-requirements:
- SubworkflowFeatureRequirement: {}
- StepInputExpressionRequirement: {}
-hints:
- DockerRequirement:
- dockerPull: vcfutil
- arv:UsePreemptible:
- usePreemptible: true
-
-inputs:
- sampleid:
- type: string
- label: Sample ID
- splitvcfdir:
- type: Directory
- label: Input directory of split gVCFs
- gqcutoff:
- type: int
- label: GQ (Genotype Quality) cutoff for filtering
- genomebed:
- type: File
- label: Whole genome BED
- ref:
- type: File
- label: Reference FASTA
- chrs: string[]
- refsdir: Directory
- mapsdir: Directory
- panelnocallbed: File
- panelcallbed: File
-
-outputs:
- fas:
- type: File[]
- label: Output pair of FASTAs
- outputSource: bcftools-consensus/fas
-
-steps:
- concat-get_bed_varonlyvcf:
- run: concat-get_bed_varonlyvcf.cwl
- in:
- sampleid: sampleid
- splitvcfdir: splitvcfdir
- gqcutoff: gqcutoff
- genomebed: genomebed
- out: [nocallbed, varonlyvcf]
-
- imputation-wf:
- run: ../imputation/imputation-wf.cwl
- in:
- sample: sampleid
- chrs: chrs
- refsdir: refsdir
- mapsdir: mapsdir
- vcf: concat-get_bed_varonlyvcf/varonlyvcf
- nocallbed: concat-get_bed_varonlyvcf/nocallbed
- panelnocallbed: panelnocallbed
- panelcallbed: panelcallbed
- genomebed: genomebed
- out: [phasedimputedvcf, phasedimputednocallbed]
-
- append-sampleid:
- run: append-sampleid.cwl
- in:
- sampleid: sampleid
- suffix:
- valueFrom: "_phased_imputed"
- out: [appendedsampleid]
-
- bcftools-consensus:
- run: bcftools-consensus.cwl
- in:
- sampleid: append-sampleid/appendedsampleid
- vcf: imputation-wf/phasedimputedvcf
- ref: ref
- mask: imputation-wf/phasedimputednocallbed
- out: [fas]
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-cwlVersion: v1.1
-class: Workflow
-label: Convert gVCF to FASTA for gVCF split by chromosome
-requirements:
- ScatterFeatureRequirement: {}
-hints:
- DockerRequirement:
- dockerPull: vcfutil
- ResourceRequirement:
- ramMin: 5000
-
-inputs:
- sampleid:
- type: string
- label: Sample ID
- splitvcfdir:
- type: Directory
- label: Input directory of split gVCFs
- gqcutoff:
- type: int
- label: GQ (Genotype Quality) cutoff for filtering
- genomebed:
- type: File
- label: Whole genome BED
- ref:
- type: File
- label: Reference FASTA
-
-outputs:
- fas:
- type: File[]
- label: Output pair of FASTAs
- outputSource: bcftools-consensus/fas
-
-steps:
- concat-get_bed_varonlyvcf:
- run: concat-get_bed_varonlyvcf.cwl
- in:
- sampleid: sampleid
- splitvcfdir: splitvcfdir
- gqcutoff: gqcutoff
- genomebed: genomebed
- out: [nocallbed, varonlyvcf]
-
- bcftools-consensus:
- run: bcftools-consensus.cwl
- in:
- sampleid: sampleid
- vcf: concat-get_bed_varonlyvcf/varonlyvcf
- ref: ref
- mask: concat-get_bed_varonlyvcf/nocallbed
- out: [fas]
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-cwlVersion: v1.1
-class: Workflow
-label: Convert gVCF to FASTA for gVCF tar split by chromosome
-requirements:
- ScatterFeatureRequirement: {}
-hints:
- DockerRequirement:
- dockerPull: vcfutil
- ResourceRequirement:
- ramMin: 5000
-
-inputs:
- sampleid:
- type: string
- label: Sample ID
- vcftar:
- type: File
- label: Input gVCF tar
- gqcutoff:
- type: int
- label: GQ (Genotype Quality) cutoff for filtering
- genomebed:
- type: File
- label: Whole genome BED
- ref:
- type: File
- label: Reference FASTA
- haplotypes:
- type: int[]
- label: Haplotypes of sample
- default: [1, 2]
-
-outputs:
- fas:
- type: File[]
- label: Output pair of FASTAs
- outputSource: bcftools-consensus/fa
-
-steps:
- untar-concat-get_bed_varonlyvcf:
- run: untar-concat-get_bed_varonlyvcf.cwl
- in:
- sampleid: sampleid
- vcftar: vcftar
- gqcutoff: gqcutoff
- genomebed: genomebed
- out: [nocallbed, varonlyvcf]
-
- bcftools-consensus:
- run: bcftools-consensus.cwl
- scatter: haplotype
- in:
- sampleid: sampleid
- vcf: untar-concat-get_bed_varonlyvcf/varonlyvcf
- ref: ref
- haplotype: haplotypes
- mask: untar-concat-get_bed_varonlyvcf/nocallbed
- out: [fa]
steps:
gvcf2fasta_nonrefvcf-wf:
run: subworkflows/scatter/gvcf2fasta/gvcf2fasta_nonrefvcf-wf.cwl
- when: $(inputs.sampleid and inputs.vcfsinput.vcf)
+ when: $(inputs.sampleid && inputs.vcfsinput.vcf)
scatter: [sampleid, vcf]
scatterMethod: dotproduct
in:
gvcf2fasta_splitvcf-imputation-wf:
run: subworkflows/scatter/gvcf2fasta/gvcf2fasta_splitvcf-imputation-wf.cwl
- when: $(inputs.sampleids and inputs.splitvcfdirs and inputs.chrs and inputs.refsdir and inputs.mapsdir and inputs.panelcallbed and inputs.panelnocallbed)
+ when: $(inputs.sampleids && inputs.splitvcfdirs && inputs.chrs && inputs.refsdir && inputs.mapsdir && inputs.panelcallbed && inputs.panelnocallbed)
scatter: [sampleid, splitvcfdir]
scatterMethod: dotproduct
in:
gvcf2fasta_splitvcf-wf:
run: subworkflows/scatter/gvcf2fasta/gvcf2fasta_splitvcf-wf.cwl
- when: $(inputs.sampleid and inputs.splitvcfdir)
+ when: $(inputs.sampleid && inputs.splitvcfdir)
scatter: [sampleid, splitvcfdir]
scatterMethod: dotproduct
in:
out: [fas]
gvcf2fasta_splitvcftar-wf:
run: subworkflows/scatter/gvcf2fasta/gvcf2fasta_splitvcftar-wf.cwl
- when: $(inputs.sampleids and inputs.vcftars)
+ when: $(inputs.sampleids && inputs.vcftars)
scatter: [sampleid, vcftar]
scatterMethod: dotproduct
in:
out: [fas]
getfiles:
run: subworkflows/scatter/helpers/getfiles.cwl
+ when: $(inputs.vcfsinput && inputs.sampleid === null && inputs.sampleids === null)
in:
dir: vcfsinput
out: [vcfs, samples]
gvcf2fasta-wf:
run: subworkflows/scatter/gvcf2fasta/gvcf2fasta-wf.cwl
scatter: [sampleid, vcf]
+ when: $(getfiles.vcfs and getfiles.samples)
scatterMethod: dotproduct
in:
sampleid: getfiles/samples
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-$namespaces:
- arv: "http://arvados.org/cwl#"
-cwlVersion: v1.1
-class: Workflow
-label: Scatter to Convert gVCF to FASTA
-requirements:
- SubworkflowFeatureRequirement: {}
- ScatterFeatureRequirement: {}
-hints:
- DockerRequirement:
- dockerPull: vcfutil
- arv:IntermediateOutput:
- outputTTL: 604800
-
-inputs:
- vcfsdir:
- type: Directory
- label: Input directory of VCFs
- genomebed:
- type: File
- label: Whole genome BED
- ref:
- type: File
- label: Reference FASTA
-
-outputs:
- fas:
- type:
- type: array
- items:
- type: array
- items: File
- label: Output pairs of FASTAs
- outputSource: gvcf2fasta-wf/fas
-
-steps:
- getfiles:
- run: getfiles.cwl
- in:
- dir: vcfsdir
- out: [vcfs, samples]
- gvcf2fasta-wf:
- run: gvcf2fasta-wf.cwl
- scatter: [sampleid, vcf]
- scatterMethod: dotproduct
- in:
- sampleid: getfiles/samples
- vcf: getfiles/vcfs
- genomebed: genomebed
- ref: ref
- out: [fas]
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-$namespaces:
- arv: "http://arvados.org/cwl#"
-cwlVersion: v1.1
-class: Workflow
-label: Scatter to Convert gVCF to FASTA with NON_REF
-requirements:
- SubworkflowFeatureRequirement: {}
- ScatterFeatureRequirement: {}
-hints:
- DockerRequirement:
- dockerPull: vcfutil
- arv:IntermediateOutput:
- outputTTL: 604800
-
-inputs:
- sampleids:
- type: string[]
- label: Sample IDs
- vcfs:
- type: File[]
- label: Input VCFs
- gqcutoff:
- type: int
- label: GQ (Genotype Quality) cutoff for filtering
- genomebed:
- type: File
- label: Whole genome BED
- ref:
- type: File
- label: Reference FASTA
-
-outputs:
- fas:
- type:
- type: array
- items:
- type: array
- items: File
- label: Output pairs of FASTAs
- outputSource: gvcf2fasta_nonrefvcf-wf/fas
-
-steps:
- gvcf2fasta_nonrefvcf-wf:
- run: gvcf2fasta_nonrefvcf-wf.cwl
- scatter: [sampleid, vcf]
- scatterMethod: dotproduct
- in:
- sampleid: sampleids
- vcf: vcfs
- gqcutoff: gqcutoff
- genomebed: genomebed
- ref: ref
- out: [fas]
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-$namespaces:
- arv: "http://arvados.org/cwl#"
-cwlVersion: v1.1
-class: Workflow
-label: Scatter to impute gVCF and convert gVCF to FASTA
-requirements:
- SubworkflowFeatureRequirement: {}
- ScatterFeatureRequirement: {}
-hints:
- DockerRequirement:
- dockerPull: vcfutil
-
-inputs:
- sampleids:
- type: string[]
- label: Sample IDs
- splitvcfdirs:
- type: Directory[]
- label: Input directory of split gVCFs
- gqcutoff:
- type: int
- label: GQ (Genotype Quality) cutoff for filtering
- genomebed:
- type: File
- label: Whole genome BED
- ref:
- type: File
- label: Reference FASTA
- chrs: string[]
- refsdir: Directory
- mapsdir: Directory
- panelnocallbed: File
- panelcallbed: File
-
-outputs:
- fas:
- type:
- type: array
- items:
- type: array
- items: File
- label: Output pairs of FASTAs
- outputSource: gvcf2fasta_splitvcf-imputation-wf/fas
-
-steps:
- gvcf2fasta_splitvcf-imputation-wf:
- run: gvcf2fasta_splitvcf-imputation-wf.cwl
- scatter: [sampleid, splitvcfdir]
- scatterMethod: dotproduct
- in:
- sampleid: sampleids
- splitvcfdir: splitvcfdirs
- gqcutoff: gqcutoff
- genomebed: genomebed
- ref: ref
- chrs: chrs
- refsdir: refsdir
- mapsdir: mapsdir
- panelnocallbed: panelnocallbed
- panelcallbed: panelcallbed
- out: [fas]
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-$namespaces:
- arv: "http://arvados.org/cwl#"
-cwlVersion: v1.1
-class: Workflow
-label: Scatter to convert gVCF to FASTA
-requirements:
- SubworkflowFeatureRequirement: {}
- ScatterFeatureRequirement: {}
-hints:
- DockerRequirement:
- dockerPull: vcfutil
-
-inputs:
- sampleids:
- type: string[]
- label: Sample IDs
- splitvcfdirs:
- type: Directory[]
- label: Input directory of split gVCFs
- gqcutoff:
- type: int
- label: GQ (Genotype Quality) cutoff for filtering
- genomebed:
- type: File
- label: Whole genome BED
- ref:
- type: File
- label: Reference FASTA
-
-outputs:
- fas:
- type:
- type: array
- items:
- type: array
- items: File
- label: Output pairs of FASTAs
- outputSource: gvcf2fasta_splitvcf-wf/fas
-
-steps:
- gvcf2fasta_splitvcf-wf:
- run: gvcf2fasta_splitvcf-wf.cwl
- scatter: [sampleid, splitvcfdir]
- scatterMethod: dotproduct
- in:
- sampleid: sampleids
- splitvcfdir: splitvcfdirs
- gqcutoff: gqcutoff
- genomebed: genomebed
- ref: ref
- out: [fas]
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-$namespaces:
- arv: "http://arvados.org/cwl#"
-cwlVersion: v1.1
-class: Workflow
-label: Scatter to Convert gVCF to FASTA
-requirements:
- SubworkflowFeatureRequirement: {}
- ScatterFeatureRequirement: {}
-hints:
- DockerRequirement:
- dockerPull: vcfutil
- arv:IntermediateOutput:
- outputTTL: 604800
-
-inputs:
- sampleids:
- type: string[]
- label: Sample IDs
- vcftars:
- type: File[]
- label: Input VCF tars
- gqcutoff:
- type: int
- label: GQ (Genotype Quality) cutoff for filtering
- genomebed:
- type: File
- label: Whole genome BED
- ref:
- type: File
- label: Reference FASTA
-
-outputs:
- fas:
- type:
- type: array
- items:
- type: array
- items: File
- label: Output pairs of FASTAs
- outputSource: gvcf2fasta_splitvcf-wf/fas
-
-steps:
- gvcf2fasta_splitvcf-wf:
- run: gvcf2fasta_splitvcf-wf.cwl
- scatter: [sampleid, vcftar]
- scatterMethod: dotproduct
- in:
- sampleid: sampleids
- vcftar: vcftars
- gqcutoff: gqcutoff
- genomebed: genomebed
- ref: ref
- out: [fas]
+++ /dev/null
-# Copyright (C) The Lightning Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-cwlVersion: v1.1
-class: CommandLineTool
-label: Untar, concatenate, and get no call BED and variant only VCF from gVCF
-requirements:
- ShellCommandRequirement: {}
-hints:
- DockerRequirement:
- dockerPull: vcfutil
- ResourceRequirement:
- ramMin: 5000
- outdirMin: 40000
-inputs:
- sampleid:
- type: string
- label: Sample ID
- vcftar:
- type: File
- label: Input gVCF tar
- gqcutoff:
- type: int
- label: GQ (Genotype Quality) cutoff for filtering
- genomebed:
- type: File
- label: Whole genome BED
- bashscript:
- type: File
- label: Script to untar and concatenate vcf tar ball
- default:
- class: File
- location: src/untar-concat.sh
-outputs:
- nocallbed:
- type: File
- label: No call BED of gVCF
- outputBinding:
- glob: "*_nocall.bed"
- varonlyvcf:
- type: File
- label: Variant only VCF
- outputBinding:
- glob: "*_varonly.vcf.gz"
- secondaryFiles: [.tbi]
-baseCommand: bash
-arguments:
- - $(inputs.bashscript)
- - $(inputs.sampleid)
- - $(inputs.vcftar)
- - shellQuote: False
- valueFrom: "&&"
- - "/gvcf_regions/gvcf_regions.py"
- - prefix: "--min_GQ"
- valueFrom: $(inputs.gqcutoff)
- - $(inputs.sampleid).vcf.gz
- - shellQuote: False
- valueFrom: ">"
- - $(inputs.sampleid).bed
- - shellQuote: False
- valueFrom: "&&"
- - "bedtools"
- - "subtract"
- - prefix: "-a"
- valueFrom: $(inputs.genomebed)
- - prefix: "-b"
- valueFrom: $(inputs.sampleid).bed
- - shellQuote: False
- valueFrom: ">"
- - $(inputs.sampleid)_nocall.bed
- - shellQuote: False
- valueFrom: "&&"
- - "bgzip"
- - "-dc"
- - $(inputs.sampleid).vcf.gz
- - shellQuote: False
- valueFrom: "|"
- - "grep"
- - "-v"
- - "END="
- - shellQuote: False
- valueFrom: "|"
- - "bgzip"
- - "-c"
- - shellQuote: False
- valueFrom: ">"
- - $(inputs.sampleid)_varonly.vcf.gz
- - shellQuote: False
- valueFrom: "&&"
- - "tabix"
- - $(inputs.sampleid)_varonly.vcf.gz
- - shellQuote: False
- valueFrom: "&&"
- - "rm"
- - $(inputs.sampleid).vcf.gz
- - $(inputs.sampleid).bed