20461 Updating resource requirements for tiling
[lightning.git] / cwl / lightning / fasta2numpy-wf.cwl
1 # Copyright (C) The Lightning Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: AGPL-3.0
4
5 $namespaces:
6   arv: "http://arvados.org/cwl#"
7 cwlVersion: v1.2
8 class: Workflow
9 requirements:
10   ScatterFeatureRequirement: {}
11   SubworkflowFeatureRequirement: {}
12   StepInputExpressionRequirement: {}
13   MultipleInputFeatureRequirement: {}
14 hints:
15   arv:UsePreemptible:
16     usePreemptible: true
17
18 inputs:
19   tagset:
20     type: File
21   fastadirs:
22     type:
23       type: array
24       items: Directory
25   refdir:
26     type: Directory
27   batchsize:
28     type: int
29   regions:
30     type: File?
31   matchgenome:
32     type: string
33   threads:
34     type: int
35   mergeoutput:
36     type: string
37   expandregions:
38     type: int
39   phenotypesnofamilydir:
40     type: Directory
41   phenotypesdir:
42     type: Directory
43   trainingsetsize:
44     type: float
45   randomseed:
46     type: int
47   pcacomponents:
48     type: int
49   chrs: string[]
50   snpeffdatadir: Directory
51   genomeversion: string
52   dbsnp:
53     type: File
54     secondaryFiles: [.csi]
55   gnomaddir: Directory
56   readmeinfo: string[]
57
58 outputs: 
59   stagednpydir:
60     type: Directory
61     outputSource: stage-output/stagednpydir
62   stagedonehotnpydir:
63     type: Directory
64     outputSource: stage-output/stagedonehotnpydir
65   stagedannotationdir:
66     type: Directory
67     outputSource: stage-output/stagedannotationdir
68   readme:
69     type: File
70     outputSource: genreadme/readme
71
72 steps:
73   batch-dirs:
74     run: batch-dirs.cwl
75     in:
76       dirs: fastadirs
77       batchsize: batchsize
78     out: [batches]
79
80   lightning-import_data:
81     run: lightning-import.cwl
82     scatter: fastadirs
83     in:
84       saveincomplete:
85         valueFrom: "false"
86       tagset: tagset
87       fastadirs: batch-dirs/batches
88     out: [lib]
89
90   lightning-import_refs:
91     run: lightning-import.cwl
92     in:
93       saveincomplete:
94         valueFrom: "true"
95       tagset: tagset
96       fastadirs: refdir
97     out: [lib]
98
99   lightning-slice:
100     run: lightning-slice.cwl
101     in:
102       datalibs: lightning-import_data/lib
103       reflib: lightning-import_refs/lib
104     out: [libdir]
105
106   lightning-tiling-stats:
107     run: lightning-tiling-stats.cwl
108     in:
109       libdir: lightning-slice/libdir
110     out: [bed]
111
112   lightning-choose-samples:
113     run: lightning-choose-samples.cwl
114     in:
115       matchgenome: matchgenome
116       libdir: lightning-slice/libdir
117       phenotypesdir: phenotypesnofamilydir
118       trainingsetsize: trainingsetsize
119       randomseed: randomseed
120     out: [samplescsv]
121
122   lightning-slice-numpy:
123     run: lightning-slice-numpy.cwl
124     in:
125       matchgenome: matchgenome
126       libdir: lightning-slice/libdir
127       regions: regions
128       threads: threads
129       mergeoutput: mergeoutput
130       expandregions: expandregions
131       samplescsv: lightning-choose-samples/samplescsv
132     out: [outdir, npys, chunktagoffsetcsv]
133
134   lightning-slice-numpy-onehot_chi2:
135     run: lightning-slice-numpy-onehot.cwl
136     in:
137       matchgenome: matchgenome
138       libdir: lightning-slice/libdir
139       regions: regions
140       mergeoutput: mergeoutput
141       expandregions: expandregions
142       samplescsv: lightning-choose-samples/samplescsv
143     out: [outdir, npys]
144
145   lightning-slice-numpy-onehot_logisticregression:
146     run: lightning-slice-numpy-onehot.cwl
147     in:
148       matchgenome: matchgenome
149       libdir: lightning-slice/libdir
150       regions: regions
151       mergeoutput: mergeoutput
152       expandregions: expandregions
153       samplescsv: lightning-slice-numpy-pca/pcasamplescsv
154     out: [outdir, npys]
155
156   lightning-slice-numpy-pca:
157     run: lightning-slice-numpy-pca.cwl
158     in:
159       matchgenome: matchgenome
160       libdir: lightning-slice/libdir
161       regions: regions
162       threads: threads
163       mergeoutput: mergeoutput
164       expandregions: expandregions
165       samplescsv: lightning-choose-samples/samplescsv
166       pcacomponents: pcacomponents
167     out: [outdir, pcanpy, pcasamplescsv]
168   
169   lightning-slice-numpy-onehot:
170     run: lightning-slice-numpy-onehot.cwl
171     in:
172       matchgenome: matchgenome
173       libdir: lightning-slice/libdir
174       regions: regions
175       mergeoutput: mergeoutput
176       expandregions: expandregions
177       samplescsv: lightning-choose-samples/samplescsv
178     out: [outdir, npys]
179
180   lightning-plot_1-2:
181     run: lightning-plot.cwl
182     in:
183       pcanpy: lightning-slice-numpy-pca/pcanpy
184       pcasamplescsv: lightning-slice-numpy-pca/pcasamplescsv
185       phenotypesdir: phenotypesdir
186       xcomponent:
187         valueFrom: "1"
188       ycomponent:
189         valueFrom: "2"
190     out: [png]
191
192   lightning-plot_2-3:
193     run: lightning-plot.cwl
194     in:
195       pcanpy: lightning-slice-numpy-pca/pcanpy
196       pcasamplescsv: lightning-slice-numpy-pca/pcasamplescsv
197       phenotypesdir: phenotypesdir
198       xcomponent:
199         valueFrom: "2"
200       ycomponent:
201         valueFrom: "3"
202     out: [png]
203
204   lightning-anno2vcf-onehot:
205     run: lightning-anno2vcf.cwl
206     in:
207       annodir: lightning-slice-numpy-onehot/outdir
208     out: [vcfdir]
209
210   make-libname:
211     run: make-libname.cwl
212     in:
213       matchgenome: matchgenome
214       genomeversion: genomeversion
215     out: [libname]
216
217   annotate-wf:
218     run: ../annotation/annotate-wf.cwl
219     in:
220       sample: make-libname/libname
221       chrs: chrs
222       vcfdir: lightning-anno2vcf-onehot/vcfdir
223       snpeffdatadir: snpeffdatadir
224       genomeversion: genomeversion
225       dbsnp: dbsnp
226       gnomaddir: gnomaddir
227     out: [annotatedvcf, summary]
228
229   stage-output:
230     run: stage-output.cwl
231     in:
232       libname: make-libname/libname
233       npyfiles:
234         source: [lightning-slice-numpy/npys, lightning-slice-numpy/chunktagoffsetcsv]
235         linkMerge: merge_flattened
236       onehotnpyfiles: lightning-slice-numpy-onehot/npys
237       pcapngs:
238         source: [lightning-plot_1-2/png, lightning-plot_2-3/png]
239         linkMerge: merge_flattened
240       bed: lightning-tiling-stats/bed
241       annotatedvcf: annotate-wf/annotatedvcf
242       summary: annotate-wf/summary
243     out: [stagednpydir, stagedonehotnpydir, stagedannotationdir]
244
245   genreadme:
246     run: genreadme.cwl
247     in:
248       samplescsv: lightning-choose-samples/samplescsv
249       readmeinfo: readmeinfo
250     out: [readme]