annotate bamCoverage.xml @ 37:2f7edf06a5da draft

Uploaded
author bgruening
date Sat, 01 Feb 2014 06:04:58 -0500
parents 934b9fccabd4
children 20f8dafb554f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33
fc3830717e24 Uploaded
bgruening
parents: 29
diff changeset
1 <tool id="deeptools_bamCoverage" name="bamCoverage" version="1.0.3">
10
a68a771625d2 Uploaded
bgruening
parents: 9
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>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
3 <expand macro="requirements" />
22
8710187d1eb5 Uploaded
bgruening
parents: 21
diff changeset
4 <expand macro="stdio" />
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
5 <macros>
34
934b9fccabd4 Uploaded
bgruening
parents: 33
diff changeset
6 <token name="@BINARY@">bamCoverage</token>
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
7 <import>deepTools_macros.xml</import>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
8 </macros>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
9 <command>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
10 bamCoverage
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
11
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
12 @THREADS@
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
13
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
14 --bam '$bamInput'
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
15 --bamIndex ${bamInput.metadata.bam_index}
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
16 --outFileName '$outFileName'
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
17 --outFileFormat '$outFileFormat'
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
18
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
19 --fragmentLength $fragmentLength
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
20 --binSize $binSize
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
21
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
22 #if $scaling.type=='rpkm':
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
23 --normalizeUsingRPKM
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
24 #elif $scaling.type=='1x':
37
2f7edf06a5da Uploaded
bgruening
parents: 34
diff changeset
25 #if $scaling.effectiveGenomeSize.effectiveGenomeSize_opt == "specific":
2f7edf06a5da Uploaded
bgruening
parents: 34
diff changeset
26 --normalizeTo1x $scaling.effectiveGenomeSize.effectiveGenomeSize
2f7edf06a5da Uploaded
bgruening
parents: 34
diff changeset
27 #else:
2f7edf06a5da Uploaded
bgruening
parents: 34
diff changeset
28 --normalizeTo1x $scaling.effectiveGenomeSize.effectiveGenomeSize_opt
2f7edf06a5da Uploaded
bgruening
parents: 34
diff changeset
29 #end if
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
30 #elif $scaling.type=='own':
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
31 --scaleFactor $scaling.scaleFactor
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
32 #end if
6
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
33
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
34 #if $advancedOpt.showAdvancedOpt == "yes":
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
35 #if $advancedOpt.smoothLength:
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
36 --smoothLength '$advancedOpt.smoothLength'
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
37 #end if
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
38
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
39 #if str($advancedOpt.region.value) != '':
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
40 --region '$advancedOpt.region'
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
41 #end if
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
42 $advancedOpt.doNotExtendPairedEnds
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
43 $advancedOpt.ignoreDuplicates
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
44
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
45 #if $advancedOpt.minMappingQuality:
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
46 --minMappingQuality '$advancedOpt.minMappingQuality'
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
47 #end if
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
48
29
60788be7b346 Uploaded
bgruening
parents: 24
diff changeset
49 ##if str($advancedOpt.ignoreForNormalization).strip() != '':
60788be7b346 Uploaded
bgruening
parents: 24
diff changeset
50 ## --ignoreForNormalization $advancedOpt.ignoreForNormalization
60788be7b346 Uploaded
bgruening
parents: 24
diff changeset
51 ##end if
60788be7b346 Uploaded
bgruening
parents: 24
diff changeset
52
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
53 #end if
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
54 </command>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
55
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
56 <inputs>
21
8436c195dd6c Uploaded
bgruening
parents: 14
diff changeset
57 <param name="bamInput" format="bam" type="data" label="BAM file"
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
58 help="The BAM file must be sorted."/>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
59
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
60 <param name="fragmentLength" type="integer" value="300" min="1"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
61 label="Length of the average fragment size"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
62 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;). The formula to normalize using the sequencing depth is genomeSize/(number of mapped reads * fragment length). *NOTE*: If the BAM files contain mated and unmated paired-end reads, unmated reads will be extended to match the fragment length."/>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
63
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
64 <param name="binSize" type="integer" value="50" min="1"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
65 label="Bin size in bp"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
66 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. "/>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
67
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
68 <conditional name="scaling">
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
69 <param name="type" type="select" label="Scaling/Normalization method" >
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
70 <option value="1x">Normalize coverage to 1x</option>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
71 <option value="rpkm">Normalize to fragments (reads) per kilobase per million (RPKM)</option>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
72 <option value="own">Set your own scaling factor</option>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
73 <option value="no">Do not normalize or scale</option>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
74 </param>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
75 <when value="rpkm"/>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
76 <when value="no"/>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
77 <when value="1x">
37
2f7edf06a5da Uploaded
bgruening
parents: 34
diff changeset
78 <expand macro="effectiveGenomeSize" />
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
79 </when>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
80 <when value="own">
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
81 <param name="scaleFactor" type="float" value="1" size="3"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
82 label="Scale factor to multiply all values" />
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
83 </when>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
84 </conditional>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
85
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
86 <param name="outFileFormat" type="select" label="Coverage file format">
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
87 <option value="bigwig" selected="true">bigwig</option>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
88 <option value="bedgraph">bedgraph</option>
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
89 </param>
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
90
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
91 <conditional name="advancedOpt">
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
92 <param name="showAdvancedOpt" type="select" label="Show advanced options" >
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
93 <option value="no" selected="true">no</option>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
94 <option value="yes">yes</option>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
95 </param>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
96 <when value="no" />
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
97 <when value="yes">
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
98 <param name="smoothLength" type="integer" value="1" optional="true" min="1"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
99 label="Smooth values using the following length (in bp)"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
100 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."/>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
101
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
102 <param name="region" type="text" value=""
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
103 label="Region of the genome to limit the operation to"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
104 help="This is useful when testing parameters to reduce the computing time. The format is chr:start:end, for example &quot;chr10&quot; or &quot;chr10:456700:891000&quot;" />
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
105
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
106 <param name="doNotExtendPairedEnds" type="boolean" truevalue="--doNotExtendPairedEnds" falsevalue=""
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
107 label="Do not extend paired ends"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
108 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."/>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
109
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
110 <param name="ignoreDuplicates" type="boolean" truevalue="--ignoreDuplicates" falsevalue=""
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
111 label="Ignore duplicates"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
112 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." />
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
113
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
114 <param name="minMappingQuality" type="integer" optional="true" value="1" min="1"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
115 label="Minimum mapping quality"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
116 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."/>
29
60788be7b346 Uploaded
bgruening
parents: 24
diff changeset
117
60788be7b346 Uploaded
bgruening
parents: 24
diff changeset
118 <!-- <param name="ignoreForNormalization" type="text" value="" size="50"
60788be7b346 Uploaded
bgruening
parents: 24
diff changeset
119 label="regions that should be excluded for calculating the scaling factor"
60788be7b346 Uploaded
bgruening
parents: 24
diff changeset
120 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" />
60788be7b346 Uploaded
bgruening
parents: 24
diff changeset
121 -->
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
122 </when>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
123 </conditional>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
124 </inputs>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
125 <outputs>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
126 <data format="bigwig" name="outFileName">
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
127 <change_format>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
128 <when input="outFileFormat" value="bigwig" format="bigwig" />
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
129 <when input="outFileFormat" value="bedgraph" format="bedgraph" />
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
130 </change_format>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
131 </data>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
132 </outputs>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
133 <help>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
134
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
135 **What it does**
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
136
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
137 Given a BAM file, this tool generates a bigWig or bedGraph file of fragment or read coverages.
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
138 The way the method works is by first calculating all the number of reads (either extended to match the fragment length or not)
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
139 that overlap each bin in the genome. Bins with zero counts are skipped, i.e. not added to the output file.
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
140 The resulting read counts can be normalized using either a given scaling factor, the RPKM formula or to get a 1x depth of coverage (RPGC).
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
141
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
142
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
143 .. image:: $PATH_TO_IMAGES/norm_IGVsnapshot_indFiles.png
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
144
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
145
37
2f7edf06a5da Uploaded
bgruening
parents: 34
diff changeset
146 You can find more details in the `bamCoverage wiki`_.
2f7edf06a5da Uploaded
bgruening
parents: 34
diff changeset
147
2f7edf06a5da Uploaded
bgruening
parents: 34
diff changeset
148 .. _bamCoverage wiki: https://github.com/fidelram/deepTools/wiki/Normalizations#wiki-bamCoverage
2f7edf06a5da Uploaded
bgruening
parents: 34
diff changeset
149
2f7edf06a5da Uploaded
bgruening
parents: 34
diff changeset
150
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
151 **Output files**:
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
152
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
153 - coverage file either in bigWig or bedGraph format
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
154
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
155 -----
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
156
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
157 @REFERENCES@
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
158
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
159 </help>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
160 </tool>