Adding readme and clean up
[arvados-tutorial.git] / WGS-processing / cwl / wgs-processing-wf.cwl
1 cwlVersion: v1.1
2 class: Workflow
3
4 requirements:
5   - class: SubworkflowFeatureRequirement
6
7 inputs:
8   fastq1: File
9   fastq2: File
10   reference:
11     type: File
12     secondaryFiles:
13       - .amb
14       - .ann
15       - .bwt
16       - .pac
17       - .sa
18       - .fai
19       - ^.dict
20   sample: string
21   knownsites:
22     type: File
23     secondaryFiles:
24       - .tbi   
25   scattercount: string
26   clinvarvcf: File
27   reportfunc: File
28   headhtml: File
29   tailhtml: File
30
31 outputs:
32   qc-html:
33     type: File[]
34     outputSource: fastqc/out-html
35   qc-zip:
36     type: File[]
37     outputSource: fastqc/out-zip 
38   gvcf:
39     type: File
40     outputSource: haplotypecaller/gatheredgvcf
41   report:
42     type: File  
43     outputSource: generate-report/report
44 steps:
45   fastqc:
46     run: fastqc.cwl
47     in:
48       fastq1: fastq1
49       fastq2: fastq2
50     out: [out-html, out-zip]
51   bwamem-samtools-view:
52     run: bwamem-samtools-view.cwl
53     in:
54       fastq1: fastq1
55       fastq2: fastq2
56       reference: reference
57       sample: sample
58     out: [bam]
59   samtools-sort:
60     run: samtools-sort.cwl 
61     in:
62       bam: bwamem-samtools-view/bam
63       sample: sample
64     out: [sortedbam]
65   mark-duplicates:
66     run: mark-duplicates.cwl
67     in:
68       bam: samtools-sort/sortedbam
69     out: [dupbam,dupmetrics]
70   samtools-index:
71     run: samtools-index.cwl
72     in:
73       bam: mark-duplicates/dupbam
74     out: [indexedbam]
75   haplotypecaller:
76     run: scatter-gatk-wf-with-interval.cwl 
77     in:
78       reference: reference
79       bam: samtools-index/indexedbam
80       sample: sample
81       scattercount: scattercount
82       knownsites1: knownsites
83     out: [gatheredgvcf]
84   generate-report:
85     run: report-wf.cwl
86     in:
87       gvcf: haplotypecaller/gatheredgvcf
88       samplename: sample
89       clinvarvcf: clinvarvcf
90       reportfunc: reportfunc
91       headhtml: headhtml
92       tailhtml: tailhtml
93     out: [report]