label: Annotate and filter VCF
requirements:
- - class: DockerRequirement
+ DockerRequirement:
dockerPull: curii/clinvar-report
- - class: ShellCommandRequirement
+ ShellCommandRequirement: {}
hints:
ResourceRequirement:
outputs:
reporttxt: stdout
- label: Annotated text from VCF
arguments:
- bcftools
label: WGS processing workflow for single sample
requirements:
- - class: SubworkflowFeatureRequirement
+ SubworkflowFeatureRequirement: {}
inputs:
fastq1:
run: report-wf.cwl
in:
gvcf: haplotypecaller/gatheredgvcf
- samplename: sample
+ sample: sample
clinvarvcf: clinvarvcf
reportfunc: reportfunc
headhtml: headhtml
s: https://schema.org/
edam: http://edamontology.org/
-$schemas:
- - https://schema.org/version/latest/schema.rdf
- - http://edamontology.org/EDAM_1.18.owl
+#$schemas:
+# - https://schema.org/version/latest/schema.rdf
+# - http://edamontology.org/EDAM_1.18.owl
--- /dev/null
+cwlVersion: v1.1
+class: CommandLineTool
+label: Gather GVCFs
+
+requirements:
+ DockerRequirement:
+ dockerPull: broadinstitute/gatk:4.1.7.0
+ ShellCommandRequirement: {}
+ InlineJavascriptRequirement: {}
+
+hints:
+ ResourceRequirement:
+ ramMin: 20000
+ coresMin: 4
+ arv:RuntimeConstraints:
+ outputDirType: keep_output_dir
+
+inputs:
+ gvcfarray:
+ type: File[]
+ format: edam:format_3016 # GVCF
+ label: GVCFs for given intervals
+ sample:
+ type: string
+ label: Sample Name
+ reference:
+ type: File
+ format: edam:format_1929 # FASTA
+ label: Reference genome
+ secondaryFiles:
+ - .amb
+ - .ann
+ - .bwt
+ - .pac
+ - .sa
+ - .fai
+ - ^.dict
+outputs:
+ gatheredgvcf:
+ type: File
+ format: edam:format_3016 # GVCF
+ label: Gathered GVC
+ secondaryFiles:
+ - .tbi
+ outputBinding:
+ glob: "*.g.vcf.gz"
+
+baseCommand: /gatk/gatk
+
+arguments:
+ - "--java-options"
+ - "-Xmx8G"
+ - MergeVcfs
+ - shellQuote: false
+ valueFrom: |
+ ${function compare(a, b) {
+ var baseA = a.basename;
+ var baseB = b.basename;
+
+ var comparison = 0;
+ if (baseA > baseB) {
+ comparison = 1;
+ } else if (baseA < baseB) {
+ comparison = -1;
+ }
+ return comparison;
+ }
+
+ var sortedarray = [];
+ sortedarray = inputs.gvcfarray.sort(compare)
+
+ var samples = [];
+ for (var i = 0; i < sortedarray.length; i++) {
+ var name = sortedarray[i];
+ if (name.nameext ==='.gz' ) {
+ samples.push(name.path);
+ }
+ }
+
+ var sampleinput = "";
+
+ for (var i = 0; i < samples.length; i++) {
+ var s1 = samples[i];
+ sampleinput = sampleinput + "-I " + s1 + " "
+ }
+
+ return sampleinput;
+ }
+ - prefix: "-O"
+ valueFrom: $(inputs.sample).g.vcf.gz
+
+s:codeRepository: https://github.com/arvados/arvados-tutorial
+s:license: https://www.gnu.org/licenses/agpl-3.0.en.html
+
+$namespaces:
+ s: https://schema.org/
+ edam: http://edamontology.org/
+ arv: "http://arvados.org/cwl#"
+ cwltool: "http://commonwl.org/cwltool#"
+
+#$schemas:
+# - https://schema.org/version/latest/schema.rdf
+# - http://edamontology.org/EDAM_1.18.owl
class: CommandLineTool
label: Gather GVCF using Picard
-$namespaces:
- arv: "http://arvados.org/cwl#"
- cwltool: "http://commonwl.org/cwltool#"
-
requirements:
DockerRequirement:
dockerPull: broadinstitute/gatk:4.1.7.0
label: Variant calling workflow for given interval
requirements:
- - class: SubworkflowFeatureRequirement
+ SubworkflowFeatureRequirement: {}
inputs:
bam:
label: Convert GVCF to VCF
requirements:
- - class: DockerRequirement
+ DockerRequirement:
dockerPull: curii/clinvar-report
- - class: ShellCommandRequirement
+ ShellCommandRequirement: {}
hints:
ResourceRequirement:
label: Scattered variant calling workflow
requirements:
- - class: SubworkflowFeatureRequirement
- - class: ScatterFeatureRequirement
+ SubworkflowFeatureRequirement: {}
+ ScatterFeatureRequirement: {}
inputs:
bam:
s: https://schema.org/
edam: http://edamontology.org/
-$schemas:
- - https://schema.org/version/latest/schema.rdf
- - http://edamontology.org/EDAM_1.18.owl
+#$schemas:
+# - https://schema.org/version/latest/schema.rdf
+# - http://edamontology.org/EDAM_1.18.owl
vcf:
class: File
+ format: edam:format_3016
location: keep:542f0989c5ee117e20d293ef82311192+114145/hu34D5B9_var-GS000015891-ASM.vcf.gz
clinvarvcf:
class: File
+ format: edam:format_3016
location: keep:80aadf801bccd1e1d838b07d46d4de63+1712/37/clinvar.vcf.gz
reference:
class: File
+ format: edam:format_1929
location: keep:a3af04432df3d71d22f2fe8be549ba96+5974/hg38.fa
fastq1:
class: File
+ format: edam:format_1930
location: keep:c96565a96cd428fe92bf70e97488bd80+21857/ERR1726424_1.fastq/ERR1726424_1.fastq.gz
fastq2:
class: File
+ format: edam:format_1930
location: keep:0ea6e3aaa6ead18a2cc4ba67a22939e9+25007/ERR1726424_2.fastq/ERR1726424_2.fastq.gz
clinvarvcf:
class: File
+ format: edam:format_3016
location: keep:242ba3b9049aee86ab2c72db4f3b2822+223/38/clinvar.vcf.gz
reportfunc:
headhtml:
class: File
+ format: edam:format_1964
location: /data-sdd/pgp/arvados-tutorial/src/annotation/head.html
tailhtml:
class: File
+ format: edam:format_1964
location: /data-sdd/pgp/arvados-tutorial/src/annotation/tail.html
scattercount: '32'
knownsites:
class: File
+ format: edam:format_3016
location: keep:7c0b13bda857fa15d88c1039182f69d5+8052/Homo_sapiens_assembly38.known_indels.vcf.gz
fastq1:
class: File
+ format: edam:format_1930
location: keep:c96565a96cd428fe92bf70e97488bd80+21857/ERR1726424_1.fastq/ERR1726424_1.fastq.gz
fastq2:
class: File
+ format: edam:format_1930
location: keep:0ea6e3aaa6ead18a2cc4ba67a22939e9+25007/ERR1726424_2.fastq/ERR1726424_2.fastq.gz
bam:
class: File
+ format: edam:format_2572
location: keep:79407f4f0d46a44fcc9c377461ee85fc+53752/marked_dupsERR1726424.sorted.bam
reference:
class: File
+ format: edam:format_1929
location: keep:a3af04432df3d71d22f2fe8be549ba96+5974/hg38.fa
sample: ERR1726424
bam:
class: File
+ format: edam:format_2572
location: keep:377c02de508dff9e4474f9a48d754933+53821/marked_dupsERR1726424.sorted.bam
+
reference:
class: File
+ format: edam:format_1929
location: keep:a3af04432df3d71d22f2fe8be549ba96+5974/hg38.fa
+
intervallist:
class: File
location: keep:4d4947f6637f0acec32580e09d991967+815/0000-scattered.interval_list
+
sample: ERR1726424
gvcf:
class: File
+ format: edam:format_3016
location: keep:3b34d300671c8dc8d1b2327f6ddab140+587/ERR1726424.g.vcf.gz
reference:
class: File
+ format: edam:format_1929
location: keep:a3af04432df3d71d22f2fe8be549ba96+5974/hg38.fa
sample: ERR1726424
reference:
class: File
+ format: edam:format_1929
location: keep:a3af04432df3d71d22f2fe8be549ba96+5974/hg38.fa
sample: ERR1726424
bam:
class: File
+ format: edam:format_2572
location: keep:377c02de508dff9e4474f9a48d754933+53821/marked_dupsERR1726424.sorted.bam
reference:
class: File
+ format: edam:format_1929
location: keep:a3af04432df3d71d22f2fe8be549ba96+5974/hg38.fa
intervallist:
knownsites:
class: File
+ format: edam:format_3016
location: keep:7c0b13bda857fa15d88c1039182f69d5+8052/Homo_sapiens_assembly38.known_indels.vcf.gz
gvcf:
class: File
+ format: edam:format_3016
location: keep:02615a79bbe37b48629db97ab43147ae+1123/hu297A5D_AE2CH6SK4DG.gatk.g.vcf
-samplename: hu297A5D_AE2CH6SK4DG
+sample: hu297A5D_AE2CH6SK4DG
bam:
class: File
+ format: edam:format_2572
location: keep:713b093318f16861084d17a252eef710+12715/WGC069888D.bam
bam:
class: File
+ format: edam:format_2572
location: keep:a0ca1f68836aac0bcefaed9cf5c63200+68/out.sorted.bam