annotate bamCoverage.xml @ 110:fa6ef7619bbd draft default tip

Uploaded
author bgruening
date Mon, 26 Jan 2015 13:10:16 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
110
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
1 <tool id="deeptools_bamCoverage" name="bamCoverage" version="@WRAPPER_VERSION@.0">
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
2 <description> generates a coverage bigWig file from a given BAM file. Multiple options are available to count reads and normalize coverage. (bam2bigwig)</description>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
3 <expand macro="requirements" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
4 <expand macro="stdio" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
5 <macros>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
6 <token name="@BINARY@">bamCoverage</token>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
7 <import>deepTools_macros.xml</import>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
8 </macros>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
9 <command>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
10 <![CDATA[
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
11 bamCoverage
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
12
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
13 @THREADS@
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
14
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
15 --bam '$bamInput'
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
16 --bamIndex ${bamInput.metadata.bam_index}
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
17 --outFileName '$outFileName'
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
18 --outFileFormat '$outFileFormat'
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
19
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
20 --fragmentLength $fragmentLength
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
21 --binSize $binSize
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
22
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
23 #if $scaling.type=='rpkm':
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
24 --normalizeUsingRPKM
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
25 #elif $scaling.type=='1x':
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
26 #if $scaling.effectiveGenomeSize.effectiveGenomeSize_opt == "specific":
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
27 --normalizeTo1x $scaling.effectiveGenomeSize.effectiveGenomeSize
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
28 #else:
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
29 --normalizeTo1x $scaling.effectiveGenomeSize.effectiveGenomeSize_opt
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
30 #end if
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
31 #elif $scaling.type=='own':
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
32 --scaleFactor $scaling.scaleFactor
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
33 #end if
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
34
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
35 #if str($region).strip() != '':
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
36 --region '$region'
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
37 #end if
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
38
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
39 #if $advancedOpt.showAdvancedOpt == "yes":
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
40 #if $advancedOpt.smoothLength:
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
41 --smoothLength '$advancedOpt.smoothLength'
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
42 #end if
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
43
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
44 $advancedOpt.doNotExtendPairedEnds
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
45 $advancedOpt.ignoreDuplicates
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
46
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
47 #if $advancedOpt.minMappingQuality:
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
48 --minMappingQuality '$advancedOpt.minMappingQuality'
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
49 #end if
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
50
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
51 --missingDataAsZero $advancedOpt.missingDataAsZero
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
52
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
53 ##if str($advancedOpt.ignoreForNormalization).strip() != '':
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
54 ## --ignoreForNormalization $advancedOpt.ignoreForNormalization
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
55 ##end if
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
56
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
57 #end if
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
58 ]]>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
59 </command>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
60
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
61 <inputs>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
62 <param name="bamInput" format="bam" type="data" label="BAM file"
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
63 help="The BAM file must be sorted."/>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
64
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
65 <param name="fragmentLength" type="integer" value="200" min="1"
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
66 label="Length of the average fragment size"
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
67 help ="Reads will be extended to match this length unless they are paired-end, in which case they will be extended to match the fragment length. If this value is set to the read length or smaller, the read will not be extended. *Warning* the fragment length affects the normalization to 1x (see &quot;normalize coverage to 1x&quot;). Sequencing depth is defined as: (total number of mapped reads * fragment length) / effective genome size. *NOTE*: If the BAM files contain mated and unmated paired-end reads, unmated reads will be extended to match the fragment length. (--fragmentLength)"/>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
68
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
69 <param name="binSize" type="integer" value="50" min="1"
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
70 label="Bin size in bp"
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
71 help="The genome will be divided in bins (also called tiles) of the specified length. For each bin the overlaping number of fragments (or reads) will be reported. If only half a fragment overlaps, this fraction will be reported. "/>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
72
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
73 <conditional name="scaling">
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
74 <param name="type" type="select" label="Scaling/Normalization method" >
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
75 <option value="1x">Normalize coverage to 1x</option>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
76 <option value="rpkm">Normalize to fragments (reads) per kilobase per million (RPKM)</option>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
77 <option value="own">Set your own scaling factor</option>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
78 <option value="no">Do not normalize or scale</option>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
79 </param>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
80 <when value="rpkm"/>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
81 <when value="no"/>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
82 <when value="1x">
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
83 <expand macro="effectiveGenomeSize" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
84 </when>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
85 <when value="own">
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
86 <param name="scaleFactor" type="float" value="1" size="3"
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
87 label="Scale factor to multiply all values" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
88 </when>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
89 </conditional>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
90
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
91 <param name="outFileFormat" type="select" label="Coverage file format">
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
92 <option value="bigwig" selected="true">bigwig</option>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
93 <option value="bedgraph">bedgraph</option>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
94 </param>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
95
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
96 <expand macro="region_limit_operation" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
97
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
98 <conditional name="advancedOpt">
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
99 <param name="showAdvancedOpt" type="select" label="Show advanced options" >
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
100 <option value="no" selected="true">no</option>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
101 <option value="yes">yes</option>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
102 </param>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
103 <when value="no" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
104 <when value="yes">
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
105 <param name="smoothLength" type="integer" value="1" optional="true" min="1"
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
106 label="Smooth values using the following length (in bp)"
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
107 help ="The smooth length defines a window, larger than the bin size, to average the number of reads. For example, if the bin size is set to 20 bp and the smooth length is set to 60 bp, then, for each bin size the average of it and its left and right neighbors is considered. Any value smaller than the bin size will be ignored and no smoothing will be applied. (--smoothLength)"/>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
108
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
109 <expand macro="doNotExtendPairedEnds" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
110 <expand macro="ignoreDuplicates" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
111 <expand macro="minMappingQuality" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
112
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
113 <expand macro="missingDataAsZero" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
114
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
115 <!-- <param name="ignoreForNormalization" type="text" value="" size="50"
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
116 label="regions that should be excluded for calculating the scaling factor"
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
117 help="Sometimes it makes sense to exclude certain regions when calculating the scaling factor. For example, if you know some regions that you suspect to be present more often in your sample's genome than in the reference genome that will therefore accumulate reads (CNV). Another typical example is the single X chromosome in male samples that should be scaled separately from the diploid autosomes. For example chrX,chrY,chr3. or chr10:12220-128932" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
118 -->
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
119 </when>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
120 </conditional>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
121 </inputs>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
122 <outputs>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
123 <data format="bigwig" name="outFileName">
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
124 <change_format>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
125 <when input="outFileFormat" value="bigwig" format="bigwig" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
126 <when input="outFileFormat" value="bedgraph" format="bedgraph" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
127 </change_format>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
128 </data>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
129 </outputs>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
130 <tests>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
131 <test>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
132 <param name="bamInput" value="bowtie2-test1.bam" ftype="bam" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
133 <param name="outFileFormat" value="bigwig" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
134 <param name="showAdvancedOpt" value="no" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
135 <param name="binSize" value="10" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
136 <param name="type" value="no" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
137 <output name="outFileName" file="bamCoverage_result1.bw" ftype="bigwig" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
138 </test>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
139 <test>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
140 <param name="bamInput" value="bowtie2-test1.bam" ftype="bam" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
141 <param name="outFileFormat" value="bigwig" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
142 <param name="showAdvancedOpt" value="no" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
143 <param name="binSize" value="10" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
144 <output name="outFileName" file="bamCoverage_result2.bw" ftype="bigwig" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
145 </test>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
146 <test>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
147 <param name="bamInput" value="bowtie2-test1.bam" ftype="bam" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
148 <param name="outFileFormat" value="bedgraph" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
149 <param name="showAdvancedOpt" value="no" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
150 <param name="binSize" value="10" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
151 <output name="outFileName" file="bamCoverage_result3.bg" ftype="bedgraph" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
152 </test>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
153 <test>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
154 <param name="bamInput" value="phiX.bam" ftype="bam" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
155 <param name="outFileFormat" value="bigwig" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
156 <param name="showAdvancedOpt" value="no" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
157 <param name="binSize" value="10" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
158 <output name="outFileName" file="bamCoverage_result4.bw" ftype="bigwig" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
159 </test>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
160 <test>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
161 <param name="bamInput" value="phiX.bam" ftype="bam" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
162 <param name="outFileFormat" value="bedgraph" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
163 <param name="showAdvancedOpt" value="no" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
164 <param name="binSize" value="10" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
165 <output name="outFileName" file="bamCoverage_result4.bg" ftype="bedgraph" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
166 </test>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
167 </tests>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
168 <help>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
169 <![CDATA[
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
170 **What it does**
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
171
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
172 Given a BAM file, this tool generates a bigWig or bedGraph file of fragment or
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
173 read coverages. The way the method works is by first calculating all the
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
174 number of reads (either extended to match the fragment length or not) that
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
175 overlap each bin in the genome. The resulting read counts can be normalized
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
176 using either a given scaling factor, the RPKM formula or to get a 1x depth of
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
177 coverage (RPGC). In the case of paired-end mapping each read mate is treated
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
178 independently to avoid a bias when a mixture of concordant and discordant
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
179 pairs is present. This means that *each end* will be extended to match the
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
180 fragment length.
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
181
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
182 .. image:: $PATH_TO_IMAGES/norm_IGVsnapshot_indFiles.png
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
183
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
184
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
185 You can find more details on the bamCoverage wiki page: https://github.com/fidelram/deepTools/wiki/Normalizations#wiki-bamCoverage
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
186
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
187
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
188 **Output files**:
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
189
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
190 - coverage file either in bigWig or bedGraph format
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
191
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
192 -----
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
193
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
194 @REFERENCES@
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
195 ]]>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
196 </help>
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
197 <expand macro="citations" />
fa6ef7619bbd Uploaded
bgruening
parents:
diff changeset
198 </tool>