Add splitDir to take Directory input
[arvados-tutorial.git] / RNA-Seq / cwl / helper / STAR-Align.cwl
1 #!/usr/bin/env cwl-runner
2 cwlVersion: v1.0
3 class: CommandLineTool
4
5 hints:
6   DockerRequirement:
7     dockerPull: "quay.io/biocontainers/star:2.7.5c--0"
8
9 inputs:
10   # Required Inputs
11   RunThreadN:
12     type: int
13     inputBinding:
14       prefix: "--runThreadN"
15
16   GenomeDir:
17     type: Directory
18     inputBinding:
19       prefix: "--genomeDir"
20
21   ForwardReads:
22     type:
23      - File
24      - File[]
25     inputBinding:
26       prefix: "--readFilesIn"
27       itemSeparator: ","
28       position: 1
29   # If paired-end reads (like Illumina), both 1 and 2 must be provided.
30   ReverseReads:
31     type:
32      - "null"
33      - File
34      - File[]
35     inputBinding:
36       prefix: ""
37       separate: false
38       itemSeparator: ","
39       position: 2
40
41   # Optional Inputs
42   Gtf:
43     type: File?
44     inputBinding:
45       prefix: "--sjdbGTFfile"
46
47   Overhang:
48     type: int?
49     inputBinding:
50       prefix: "--sjdbOverhang"
51
52   OutFilterType:
53     type:
54      - "null"
55      - type: enum
56        symbols:
57         - Normal
58         - BySJout
59     inputBinding:
60       prefix: "--outFilterType"
61
62   OutFilterIntronMotifs:
63     type:
64      - "null"
65      - type: enum
66        symbols:
67         - None
68         - RemoveNoncanonical
69         - RemoveNoncanonicalUnannotated
70     inputBinding:
71       prefix: "--outFilterIntronMotifs"
72
73   OutSAMtype:
74     type:
75      - "null"
76      - type: enum
77        symbols:
78         - "BAM"
79         - "SAM"
80     inputBinding:
81       prefix: "--outSAMtype"
82       position: 3
83
84   Unsorted:
85     type: boolean?
86     inputBinding:
87       prefix: "Unsorted"
88       position: 4
89
90   SortedByCoordinate:
91     type: boolean?
92     inputBinding:
93       prefix: "SortedByCoordinate"
94       position: 5
95
96   ReadFilesCommand:
97     type: string?
98     inputBinding:
99       prefix: "--readFilesCommand"
100
101   AlignIntronMin:
102     type: int?
103     inputBinding:
104       prefix: "--alignIntronMin"
105
106   AlignIntronMax:
107     type: int?
108     inputBinding:
109       prefix: "--alignIntronMax"
110
111   AlignMatesGapMax:
112     type: int?
113     inputBinding:
114       prefix: "--alignMatesGapMax"
115
116   AlignSJoverhangMin:
117     type: int?
118     inputBinding:
119       prefix: "--alignSJoverhangMin"
120
121   AlignSJDBoverhangMin:
122     type: int?
123     inputBinding:
124       prefix: "--alignSJDBoverhangMin"
125
126   SeedSearchStartLmax:
127     type: int?
128     inputBinding:
129       prefix: "--seedSearchStartLmax"
130
131   ChimOutType:
132     type:
133      - "null"
134      - type: enum
135        symbols:
136         - Junctions
137         - SeparateSAMold
138         - WithinBAM
139         - "WithinBAM HardClip"
140         - "WithinBAM SoftClip"
141
142   ChimSegmentMin:
143     type: int?
144     inputBinding:
145       prefix: "--chimSegmentMin"
146
147   ChimJunctionOverhangMin:
148     type: int?
149     inputBinding:
150       prefix: "--chimJunctionOverhangMin"
151
152   OutFilterMultimapNmax:
153     type: int?
154     inputBinding:
155       prefix: "--outFilterMultimapNmax"
156
157   OutFilterMismatchNmax:
158     type: int?
159     inputBinding:
160       prefix: "--outFilterMismatchNmax"
161
162   OutFilterMismatchNoverLmax:
163     type: double?
164     inputBinding:
165       prefix: "--outFilterMismatchNoverLmax"
166
167   OutReadsUnmapped:
168     type:
169      - "null"
170      - type: enum
171        symbols:
172         - None
173         - Fastx
174     inputBinding:
175       prefix: "--outReadsUnmapped"
176
177   OutSAMstrandField:
178     type:
179      - "null"
180      - type: enum
181        symbols:
182         - None
183         - intronMotif
184     inputBinding:
185       prefix: "--outSAMstrandField"
186
187   OutSAMunmapped:
188     type:
189      - "null"
190      - type: enum
191        symbols:
192         - None
193         - Within
194         - "Within KeepPairs"
195     inputBinding:
196       prefix: "--outSAMunmapped"
197
198   OutSAMmapqUnique:
199     type: int?
200     inputBinding:
201       prefix: "--outSAMmapqUnique"
202
203   OutSamMode:
204     type:
205      - "null"
206      - type: enum
207        symbols:
208         - None
209         - Full
210         - NoQS
211     inputBinding:
212       prefix: "--outSAMmode"
213
214   LimitOutSAMoneReadBytes:
215     type: int?
216     inputBinding:
217       prefix: "--limitOutSAMoneReadBytes"
218
219   OutFileNamePrefix:
220     type: string?
221     inputBinding:
222       prefix: "--outFileNamePrefix"
223
224   GenomeLoad:
225     type:
226      - "null"
227      - type: enum
228        symbols:
229         - LoadAndKeep
230         - LoadAndRemove
231         - LoadAndExit
232         - Remove
233         - NoSharedMemory
234     inputBinding:
235       prefix: "--genomeLoad"
236
237 baseCommand: [STAR, --runMode, alignReads]
238
239 outputs:
240   alignment:
241     type:
242      - File
243     outputBinding:
244       glob: "*.bam"
245   unmapped_reads:
246     type: ["null", File]
247     outputBinding:
248       glob: "Unmapped.out*"