annotate bamCoverage.xml @ 29:3a2aab18a217 draft

Uploaded
author bgruening
date Tue, 16 Sep 2014 13:46:05 -0400
parents f7712a057440
children 5231f398d784
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28
f7712a057440 new bugfix release
bgruening
parents: 27
diff changeset
1 <tool id="deeptools_bamCoverage" name="bamCoverage" version="@WRAPPER_VERSION@.0">
26
2ad3b027dfcd 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>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
3 <expand macro="requirements" />
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
4 <expand macro="stdio" />
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
5 <macros>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
6 <token name="@BINARY@">bamCoverage</token>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
7 <import>deepTools_macros.xml</import>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
8 </macros>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
9 <command>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
10 bamCoverage
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
11
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
12 @THREADS@
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
13
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
14 --bam '$bamInput'
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
15 --bamIndex ${bamInput.metadata.bam_index}
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
16 --outFileName '$outFileName'
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
17 --outFileFormat '$outFileFormat'
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
18
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
19 --fragmentLength $fragmentLength
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
20 --binSize $binSize
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
21
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
22 #if $scaling.type=='rpkm':
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
23 --normalizeUsingRPKM
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
24 #elif $scaling.type=='1x':
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
25 #if $scaling.effectiveGenomeSize.effectiveGenomeSize_opt == "specific":
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
26 --normalizeTo1x $scaling.effectiveGenomeSize.effectiveGenomeSize
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
27 #else:
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
28 --normalizeTo1x $scaling.effectiveGenomeSize.effectiveGenomeSize_opt
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
29 #end if
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
30 #elif $scaling.type=='own':
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
31 --scaleFactor $scaling.scaleFactor
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
32 #end if
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
33
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
34 #if str($region).strip() != '':
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
35 --region '$region'
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
36 #end if
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
37
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
38 #if $advancedOpt.showAdvancedOpt == "yes":
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
39 #if $advancedOpt.smoothLength:
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
40 --smoothLength '$advancedOpt.smoothLength'
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
41 #end if
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
42
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
43 $advancedOpt.doNotExtendPairedEnds
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
44 $advancedOpt.ignoreDuplicates
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
45
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
46 #if $advancedOpt.minMappingQuality:
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
47 --minMappingQuality '$advancedOpt.minMappingQuality'
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
48 #end if
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
49
29
3a2aab18a217 Uploaded
bgruening
parents: 28
diff changeset
50 --missingDataAsZero $advancedOpt.missingDataAsZero
3a2aab18a217 Uploaded
bgruening
parents: 28
diff changeset
51
26
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
52 ##if str($advancedOpt.ignoreForNormalization).strip() != '':
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
53 ## --ignoreForNormalization $advancedOpt.ignoreForNormalization
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
54 ##end if
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
55
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
56 #end if
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
57 </command>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
58
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
59 <inputs>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
60 <param name="bamInput" format="bam" type="data" label="BAM file"
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
61 help="The BAM file must be sorted."/>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
62
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
63 <param name="fragmentLength" type="integer" value="300" min="1"
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
64 label="Length of the average fragment size"
27
bf1b1dcdd67b Uploaded
bgruening
parents: 26
diff changeset
65 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."/>
26
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
66
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
67 <param name="binSize" type="integer" value="50" min="1"
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
68 label="Bin size in bp"
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
69 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. "/>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
70
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
71 <conditional name="scaling">
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
72 <param name="type" type="select" label="Scaling/Normalization method" >
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
73 <option value="1x">Normalize coverage to 1x</option>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
74 <option value="rpkm">Normalize to fragments (reads) per kilobase per million (RPKM)</option>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
75 <option value="own">Set your own scaling factor</option>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
76 <option value="no">Do not normalize or scale</option>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
77 </param>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
78 <when value="rpkm"/>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
79 <when value="no"/>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
80 <when value="1x">
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
81 <expand macro="effectiveGenomeSize" />
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
82 </when>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
83 <when value="own">
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
84 <param name="scaleFactor" type="float" value="1" size="3"
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
85 label="Scale factor to multiply all values" />
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
86 </when>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
87 </conditional>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
88
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
89 <param name="outFileFormat" type="select" label="Coverage file format">
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
90 <option value="bigwig" selected="true">bigwig</option>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
91 <option value="bedgraph">bedgraph</option>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
92 </param>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
93
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
94 <expand macro="region_limit_operation" />
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
95
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
96 <conditional name="advancedOpt">
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
97 <param name="showAdvancedOpt" type="select" label="Show advanced options" >
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
98 <option value="no" selected="true">no</option>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
99 <option value="yes">yes</option>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
100 </param>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
101 <when value="no" />
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
102 <when value="yes">
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
103 <param name="smoothLength" type="integer" value="1" optional="true" min="1"
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
104 label="Smooth values using the following length (in bp)"
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
105 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."/>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
106
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
107 <param name="doNotExtendPairedEnds" type="boolean" truevalue="--doNotExtendPairedEnds" falsevalue=""
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
108 label="Do not extend paired ends"
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
109 help="If set, reads are not extended to match the fragment length reported in the BAM file, instead they will be extended to match the fragment length. Default is to extend the reads if paired end information is available."/>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
110
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
111 <param name="ignoreDuplicates" type="boolean" truevalue="--ignoreDuplicates" falsevalue=""
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
112 label="Ignore duplicates"
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
113 help="If set, reads that have the same orientation and start position will be considered only once. If reads are paired, the mate position also has to coincide to ignore a read." />
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
114
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
115 <param name="minMappingQuality" type="integer" optional="true" value="1" min="1"
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
116 label="Minimum mapping quality"
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
117 help= "If set, only reads that have a mapping quality score higher than the given value are considered. *Note* Bowtie's Mapping quality is related to uniqueness: the higher the score, the more unique is a read. A mapping quality defined by Bowtie of 10 or less indicates that there is at least a 1 in 10 chance that the read truly originated elsewhere."/>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
118
29
3a2aab18a217 Uploaded
bgruening
parents: 28
diff changeset
119 <expand macro="missingDataAsZero" />
3a2aab18a217 Uploaded
bgruening
parents: 28
diff changeset
120
26
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
121 <!-- <param name="ignoreForNormalization" type="text" value="" size="50"
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
122 label="regions that should be excluded for calculating the scaling factor"
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
123 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" />
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
124 -->
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
125 </when>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
126 </conditional>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
127 </inputs>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
128 <outputs>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
129 <data format="bigwig" name="outFileName">
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
130 <change_format>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
131 <when input="outFileFormat" value="bigwig" format="bigwig" />
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
132 <when input="outFileFormat" value="bedgraph" format="bedgraph" />
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
133 </change_format>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
134 </data>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
135 </outputs>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
136 <help>
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
137
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
138 **What it does**
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
139
28
f7712a057440 new bugfix release
bgruening
parents: 27
diff changeset
140 Given a BAM file, this tool generates a bigWig or bedGraph file of fragment or
f7712a057440 new bugfix release
bgruening
parents: 27
diff changeset
141 read coverages. The way the method works is by first calculating all the
f7712a057440 new bugfix release
bgruening
parents: 27
diff changeset
142 number of reads (either extended to match the fragment length or not) that
f7712a057440 new bugfix release
bgruening
parents: 27
diff changeset
143 overlap each bin in the genome. The resulting read counts can be normalized
f7712a057440 new bugfix release
bgruening
parents: 27
diff changeset
144 using either a given scaling factor, the RPKM formula or to get a 1x depth of
f7712a057440 new bugfix release
bgruening
parents: 27
diff changeset
145 coverage (RPGC). In the case of paired-end mapping each read mate is treated
f7712a057440 new bugfix release
bgruening
parents: 27
diff changeset
146 independently to avoid a bias when a mixture of concordant and discordant
f7712a057440 new bugfix release
bgruening
parents: 27
diff changeset
147 pairs is present. This means that *each end* will be extended to match the
f7712a057440 new bugfix release
bgruening
parents: 27
diff changeset
148 fragment length.
26
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
149
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
150 .. image:: $PATH_TO_IMAGES/norm_IGVsnapshot_indFiles.png
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
151
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
152
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
153 You can find more details on the bamCoverage wiki page: https://github.com/fidelram/deepTools/wiki/Normalizations#wiki-bamCoverage
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
154
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
155
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
156 **Output files**:
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
157
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
158 - coverage file either in bigWig or bedGraph format
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
159
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
160 -----
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
161
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
162 @REFERENCES@
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
163
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
164 </help>
29
3a2aab18a217 Uploaded
bgruening
parents: 28
diff changeset
165 <expand macro="citations" />
26
2ad3b027dfcd Uploaded
bgruening
parents:
diff changeset
166 </tool>