68248de2995bfebbb2ba8aef29b505ce605170a1
[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-plot_1-2:
170     run: lightning-plot.cwl
171     in:
172       pcanpy: lightning-slice-numpy-pca/pcanpy
173       pcasamplescsv: lightning-slice-numpy-pca/pcasamplescsv
174       phenotypesdir: phenotypesdir
175       xcomponent:
176         valueFrom: "1"
177       ycomponent:
178         valueFrom: "2"
179     out: [png]
180
181   lightning-plot_2-3:
182     run: lightning-plot.cwl
183     in:
184       pcanpy: lightning-slice-numpy-pca/pcanpy
185       pcasamplescsv: lightning-slice-numpy-pca/pcasamplescsv
186       phenotypesdir: phenotypesdir
187       xcomponent:
188         valueFrom: "2"
189       ycomponent:
190         valueFrom: "3"
191     out: [png]
192
193 #  lightning-anno2vcf-onehot:
194 #    run: lightning-anno2vcf.cwl
195 #    in:
196 #      annodir: lightning-slice-numpy-onehot/outdir
197 #    out: [vcfdir]
198
199 #  make-libname:
200 #    run: make-libname.cwl
201 #    in:
202 #      matchgenome: matchgenome
203 #      genomeversion: genomeversion
204 #    out: [libname]
205
206 #  annotate-wf:
207 #    run: ../annotation/annotate-wf.cwl
208 #    in:
209 #      sample: make-libname/libname
210 #      chrs: chrs
211 #      vcfdir: lightning-anno2vcf-onehot/vcfdir
212 #      snpeffdatadir: snpeffdatadir
213 #      genomeversion: genomeversion
214 #      dbsnp: dbsnp
215 #      gnomaddir: gnomaddir
216 #    out: [annotatedvcf, summary]
217
218 #  stage-output:
219 #    run: stage-output.cwl
220 #    in:
221 #      libname: make-libname/libname
222 #      npyfiles:
223 #        source: [lightning-slice-numpy/npys, lightning-slice-numpy/chunktagoffsetcsv]
224 #        linkMerge: merge_flattened
225 #      onehotnpyfiles: lightning-slice-numpy-onehot/npys
226 #      pcapngs:
227 #        source: [lightning-plot_1-2/png, lightning-plot_2-3/png]
228 #        linkMerge: merge_flattened
229 #      bed: lightning-tiling-stats/bed
230 #      annotatedvcf: annotate-wf/annotatedvcf
231 #      summary: annotate-wf/summary
232 #    out: [stagednpydir, stagedonehotnpydir, stagedannotationdir]
233
234 #  genreadme:
235 #    run: genreadme.cwl
236 #    in:
237 #      samplescsv: lightning-choose-samples/samplescsv
238 #      readmeinfo: readmeinfo
239 #    out: [readme]