-
Notifications
You must be signed in to change notification settings - Fork 17
/
bamscale-scale.cwl
216 lines (205 loc) · 5.45 KB
/
bamscale-scale.cwl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
class: CommandLineTool
label: BAMscale-scale
doc: Scale one or multiple BAM files
requirements:
InlineJavascriptRequirement: {}
hints:
- $import: bamscale.yml
inputs:
l:
type: string?
inputBinding:
position: 1
prefix: -l
doc: |
Sequencing type to be used. Can be: single, paired, and auto (default: autodetect)
f:
type: string?
inputBinding:
position: 1
prefix: -f
doc: |
Compute coverage using fragments instead of reads (default: no)
a:
type: int?
inputBinding:
position: 1
prefix: -a
doc: |
Fragment size to be used to extend single-end library reads
y:
type: string?
inputBinding:
position: 2
prefix: -y
doc: |
Type of normalization. (default: base)
If no normalization is needed, set '--scale no' argument, the program will disregard this option.
Options:
1) reads: No. of mapped reads/fragments
2) base: Sum of per-base coverage of reads/fragments
k:
type: string?
inputBinding:
position: 2
prefix: -k
doc: |
Method to scale samples together. (default: genome)
Options are:
1) no: no scaling, just calculate coverage
2) smallest: scale reads to smallest library (multiple-samples only)
3) genome: scale samples to 1x genome coverage (only possible with 'base' normalization type)
r:
type: string?
inputBinding:
position: 1
prefix: -r
doc: |
Operation to perform when scaling samples. Default: scaled
Options are:
1) scaled: output scaled tracks.
2) unscaled: do not scale files in any way.
2) log2: log2 transform against first BAM file.
3) ratio: coverage ratio against first BAM file.
4) subtract: subtract coverage against first BAM file.
5) rfd: OK-seq RFD calculation
z:
type: int?
inputBinding:
position: 2
prefix: -z
doc: |
Size of bins for output bigWig/bedgraph generation (default: 5)
e:
type: int?
inputBinding:
position: 3
prefix: -e
doc: |
Compute sequencing coverage from BAM file. (default: '1', count reads while parsing BAM)
Options are:
1) 0: use reads in index (only if normalization is set to 'reads')
2) 1: count reads while parsing BAM(s)
WARNING: this option is only useful when 'reads' are used for normalization
c:
type: File?
inputBinding:
position: 3
prefix: -c
doc: |
Input file with list of chromosomes to blacklist when computing coverage for normalization
u:
type: int?
inputBinding:
position: 3
prefix: -u
doc: |
BED file with regions to subtract when computing coverage for normalization
These coordinates should not overlap so reads are not counted multiple times
j:
type: int?
inputBinding:
position: 3
prefix: -j
doc: |
Smoothen signal by calculating mean of N bins flanking both sides of each bin (default: 0)
If set to '0', the signal is not smoothened. To turn on specify a value greater than '0'.
For replication timing, a good value is to smoothen to 100k bases. If binSize is 100bp, this would be '1000'
b:
type: int?
inputBinding:
position: 3
prefix: -b
doc: |
Which tracks should be smoothened when performing smoothening (default: '1' meaning only binned track).
Options are:
1) 0: Smoothen scaled and transformed tracks (log2, ratio or subtracted)
2) 1: Smoothen only the scaled sequencing track
3) 2: Smoothen only the transformed (log2, ratio or subtract) track
q:
type: int?
inputBinding:
position: 4
prefix: -q
doc: |
Minimum (at least) mapping quality (default: 0)
d:
type: string?
inputBinding:
position: 4
prefix: -d
doc: |
Keep duplicated reads (default: no)
p:
type: string?
inputBinding:
position: 4
prefix: -p
doc: |
Do not filter un-proper alignments (default: filter)
m:
type: string?
inputBinding:
position: 4
prefix: -m
doc: |
Do not remove reads with unmapped pairs
g:
type: int?
inputBinding:
position: 4
prefix: -g
doc: |
Minimum fragment size for read pairs (default: 0)
x:
type: int?
inputBinding:
position: 4
prefix: -x
doc: |
Maximum fragment size for read pairs (default: 2000)
w:
type: int?
inputBinding:
position: 4
prefix: -w
doc: |
Filter reads based on fragment size (default: no)
t:
type: int?
inputBinding:
position: 5
prefix: -t
doc: |
No. of threads to use (default: 1)
bam:
type:
type: array
items: File
inputBinding:
prefix: --bam
separate: true
secondaryFiles: .bai
inputBinding:
position: 6
doc: |
Input BAM file. This can be specified multiple times in case of multiple BAM files
outputs:
output:
type: File[]
outputBinding:
glob: "*.bw"
baseCommand: ["BAMscale", "scale"]
s:author:
- class: s:Person
s:identifier: https://orcid.org/0000-0002-4108-5982
s:email: mailto:[email protected]
s:name: Roberto Vera Alvarez
s:codeRepository: https://github.com/ncbi/BAMscale
s:license: https://spdx.org/licenses/OPL-1.0
$namespaces:
s: http://schema.org/
$schemas:
- https://schema.org/version/latest/schema.rdf