-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockstore.cwl
141 lines (131 loc) · 3.78 KB
/
Dockstore.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
#!/usr/bin/env cwl-runner
class: CommandLineTool
id: bedtools-genomecov
label: bedtools-genomecov
cwlVersion: v1.0
dct:creator:
'@id': http://orcid.org/0000-0001-9102-5681
foaf:name: Andrey Kartashov
foaf:mbox: mailto:[email protected]
dct:description: 'Developed at Cincinnati Children’s Hospital Medical Center for the
CWL consortium http://commonwl.org/ Original URL: https://github.com/common-workflow-language/workflows'
dct:contributor:
'@id': http://orcid.org/orcid.org/0000-0002-6130-1021
foaf:name: Denis Yuen
foaf:mbox: mailto:[email protected]
requirements:
- class: DockerRequirement
dockerPull: quay.io/collaboratory/dockstore-tool-bedtools-genomecov:1.0
- class: InlineJavascriptRequirement
inputs:
genomecoverageout: string
scale:
type: float?
inputBinding:
position: 4
prefix: -scale
doc: |
Scale the coverage by a constant factor.
Each coverage value is multiplied by this factor before being reported.
Useful for normalizing coverage by, e.g., reads per million (RPM).
- Default is 1.0; i.e., unscaled.
- (FLOAT)
max:
type: int?
inputBinding:
position: 4
prefix: -max
doc: |
Combine all positions with a depth >= max into
a single bin in the histogram. Irrelevant
for -d and -bedGraph
- (INTEGER)
m5:
type: boolean?
inputBinding:
position: 4
prefix: '-5'
doc: |
Calculate coverage of 5" positions (instead of entire interval).
dept:
type:
name: JustDepts
type: enum
symbols: [-bg, -bga, -d]
inputBinding:
position: 4
dz:
type: boolean?
inputBinding:
position: 4
prefix: -dz
doc: |
Report the depth at each genome position (with zero-based coordinates).
Reports only non-zero positions.
Default behavior is to report a histogram.
split:
type: boolean?
inputBinding:
position: 4
prefix: -split
doc: |
reat "split" BAM or BED12 entries as distinct BED intervals.
when computing coverage.
For BAM files, this uses the CIGAR "N" and "D" operations
to infer the blocks for computing coverage.
For BED12 files, this uses the BlockCount, BlockStarts, and BlockEnds
fields (i.e., columns 10,11,12).
m3:
type: boolean?
inputBinding:
position: 4
prefix: '-3'
doc: |
Calculate coverage of 3" positions (instead of entire interval).
input:
type: File
inputBinding:
position: 1
valueFrom: |
${
var prefix = ((/.*\.bam$/i).test(inputs.input.path))?'-ibam':'-i';
return [prefix,inputs.input.path];
}
secondaryFiles: |
${
if ((/.*\.bam$/i).test(inputs.input.path))
return {"path": inputs.input.path+".bai", "class": "File"};
return [];
}
doc: |
The input file can be in BAM format
(Note: BAM _must_ be sorted by position)
or <bed/gff/vcf>
strand:
type: string?
inputBinding:
position: 4
prefix: -strand
doc: |
Calculate coverage of intervals from a specific strand.
With BED files, requires at least 6 columns (strand is column 6).
- (STRING): can be + or -
genomeFile:
type: File
inputBinding:
position: 2
prefix: -g
doc: Input genome file.
outputs:
genomecoverage:
type: File
outputBinding:
glob: $(inputs.genomecoverageout)
doc: The file containing the genome coverage
stdout: $(inputs.genomecoverageout)
baseCommand: [bedtools, genomecov]
doc: |
Tool: bedtools genomecov (aka genomeCoverageBed)
Sources: https://github.com/arq5x/bedtools2
Summary: Compute the coverage of a feature file among a genome.
Usage: bedtools genomecov [OPTIONS] -i <bed/gff/vcf> -g <genome>