Add cwl and docker files
[lightning.git] / cwl / lightning / lightning-slice-numpy-anno2vcf-wf.cwl
1 # Copyright (C) The Lightning Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: AGPL-3.0
4
5 cwlVersion: v1.2
6 class: Workflow
7 requirements:
8   InlineJavascriptRequirement: {}
9   SubworkflowFeatureRequirement: {}
10   MultipleInputFeatureRequirement: {}
11
12 inputs:
13   matchgenome: string
14   libdir: Directory
15   regions: File?
16   threads: int
17   mergeoutput: string
18   expandregions: int
19   phenotypesdir: Directory
20   libname: string
21   chrs: string[]
22   snpeffdatadir: Directory
23   genomeversion: string
24   dbsnp:
25     type: File
26     secondaryFiles: [.csi]
27   gnomaddir: Directory
28   readmeinfo: string[]
29
30 outputs:
31   stagednpydir:
32     type: Directory
33     outputSource: stage-output/stagednpydir
34   stagedonehotnpydir:
35     type: Directory
36     outputSource: stage-output/stagedonehotnpydir
37   stagedannotationdir:
38     type: Directory?
39     outputSource: stage-output/stagedannotationdir
40   readme:
41     type: File
42     outputSource: genreadme/readme
43
44 steps:
45   lightning-tiling-stats:
46     run: lightning-tiling-stats.cwl
47     when: $(inputs.regions == null)
48     in:
49       libdir: libdir
50     out: [bed]
51
52   lightning-slice-numpy:
53     run: lightning-slice-numpy.cwl
54     in:
55       matchgenome: matchgenome
56       libdir: libdir
57       regions: regions
58       threads: threads
59       mergeoutput: mergeoutput
60       expandregions: expandregions
61     out: [outdir, npys, samplescsv, chunktagoffsetcsv]
62
63   lightning-slice-numpy-onehot:
64     run: lightning-slice-numpy-onehot.cwl
65     in:
66       matchgenome: matchgenome
67       libdir: libdir
68       regions: regions
69       threads: threads
70       mergeoutput: mergeoutput
71       expandregions: expandregions
72       phenotypesdir: phenotypesdir
73     out: [outdir, npys, samplescsv]
74
75   lightning-anno2vcf-onehot:
76     run: lightning-anno2vcf.cwl
77     in:
78       annodir: lightning-slice-numpy-onehot/outdir
79     out: [vcfdir]
80
81   annotate-wf:
82     run: ../annotation/annotate-wf.cwl
83     in:
84       sample: libname
85       chrs: chrs
86       vcfdir: lightning-anno2vcf-onehot/vcfdir
87       snpeffdatadir: snpeffdatadir
88       genomeversion: genomeversion
89       dbsnp: dbsnp
90       gnomaddir: gnomaddir
91     out: [annotatedvcf, summary]
92
93   stage-output:
94     run: stage-output.cwl
95     in:
96       libname: libname
97       npyfiles:
98         source: [lightning-slice-numpy/npys, lightning-slice-numpy/samplescsv, lightning-slice-numpy/chunktagoffsetcsv]
99         linkMerge: merge_flattened
100       onehotnpyfiles:
101         source: [lightning-slice-numpy-onehot/npys, lightning-slice-numpy-onehot/samplescsv]
102         linkMerge: merge_flattened
103       bed: lightning-tiling-stats/bed
104       annotatedvcf: annotate-wf/annotatedvcf
105       summary: annotate-wf/summary
106     out: [stagednpydir, stagedonehotnpydir, stagedannotationdir]
107
108   genreadme:
109     run: genreadme.cwl
110     in:
111       samplescsv: lightning-slice-numpy/samplescsv
112       readmeinfo: readmeinfo
113     out: [readme]