annotate bamCoverage.xml @ 22:8710187d1eb5 draft

Uploaded
author bgruening
date Thu, 12 Dec 2013 18:11:46 -0500
parents 8436c195dd6c
children e43b4015b4cc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
1 <tool id="deeptools_bamCoverage" name="bamCoverage" version="1.0">
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>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
6 <import>deepTools_macros.xml</import>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
7 </macros>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
8 <command>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
9 bamCoverage
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
10
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
11 @THREADS@
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
12
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
13 --bam '$bamInput'
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
14 --bamIndex ${bamInput.metadata.bam_index}
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
15 --outFileName '$outFileName'
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
16 --outFileFormat '$outFileFormat'
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
17
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
18 --fragmentLength $fragmentLength
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
19 --binSize $binSize
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
20
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
21 #if $scaling.type=='rpkm':
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
22 --normalizeUsingRPKM
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
23 #elif $scaling.type=='1x':
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
24 --normalizeTo1x $scaling.normalizeTo1x
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
25 #elif $scaling.type=='own':
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
26 --scaleFactor $scaling.scaleFactor
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
27 #end if
6
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
28
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
29 ##if str($ignoreForNormalization).strip() != '':
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
30 ## --ignoreForNormalization $ignoreForNormalization
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
31 ##end if
6
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
32
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
33 #if $advancedOpt.showAdvancedOpt == "yes":
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
34 #if $advancedOpt.smoothLength:
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
35 --smoothLength '$advancedOpt.smoothLength'
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
36 #end if
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
37
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
38 #if str($advancedOpt.region.value) != '':
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
39 --region '$advancedOpt.region'
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
40 #end if
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
41 $advancedOpt.doNotExtendPairedEnds
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
42 $advancedOpt.ignoreDuplicates
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
43
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
44 #if $advancedOpt.minMappingQuality:
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
45 --minMappingQuality '$advancedOpt.minMappingQuality'
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
46 #end if
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
47
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
48 #end if
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
49 </command>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
50
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
51 <inputs>
21
8436c195dd6c Uploaded
bgruening
parents: 14
diff changeset
52 <param name="bamInput" format="bam" type="data" label="BAM file"
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
53 help="The BAM file must be sorted."/>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
54
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
55 <param name="fragmentLength" type="integer" value="300" min="1"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
56 label="Length of the average fragment size"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
57 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
58
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
59 <param name="binSize" type="integer" value="50" min="1"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
60 label="Bin size in bp"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
61 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
62
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
63 <conditional name="scaling">
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
64 <param name="type" type="select" label="Scaling/Normalization method" >
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
65 <option value="1x">Normalize coverage to 1x</option>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
66 <option value="rpkm">Normalize to fragments (reads) per kilobase per million (RPKM)</option>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
67 <option value="own">Set your own scaling factor</option>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
68 <option value="no">Do not normalize or scale</option>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
69 </param>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
70 <when value="rpkm"/>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
71 <when value="no"/>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
72 <when value="1x">
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
73 <param name="normalizeTo1x" type="integer" value="2150570000"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
74 label="Genome size"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
75 help ="Enter the genome size to normalize the reads counts. Sequencing depth is defined as the total number of mapped reads * fragment length / effective genome size. To use this option, the effective genome size has to be given. Common values are: mm9: 2150570000, hg19:2451960000, dm3:121400000 and ce10:93260000."/>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
76 </when>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
77 <when value="own">
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
78 <param name="scaleFactor" type="float" value="1" size="3"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
79 label="Scale factor to multiply all values" />
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
80 </when>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
81 </conditional>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
82
6
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
83 <!--
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
84 Not yet supported.
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
85 <param name="ignoreForNormalization" type="text" value="" size="50"
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
86 label="regions that should be excluded for calculating the scaling factor"
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
87 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" />
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
88 -->
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
89
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
90 <param name="outFileFormat" type="select" label="Coverage file format">
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
91 <option value="bigwig" selected="true">bigwig</option>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
92 <option value="bedgraph">bedgraph</option>
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
93 </param>
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
94
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
95 <conditional name="advancedOpt">
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
96 <param name="showAdvancedOpt" type="select" label="Show advanced options" >
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
97 <option value="no" selected="true">no</option>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
98 <option value="yes">yes</option>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
99 </param>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
100 <when value="no" />
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
101 <when value="yes">
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
102 <param name="smoothLength" type="integer" value="1" optional="true" min="1"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
103 label="Smooth values using the following length (in bp)"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
104 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
105
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
106 <param name="region" type="text" value=""
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
107 label="Region of the genome to limit the operation to"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
108 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
109
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
110 <param name="doNotExtendPairedEnds" type="boolean" truevalue="--doNotExtendPairedEnds" falsevalue=""
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
111 label="Do not extend paired ends"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
112 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
113
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
114 <param name="ignoreDuplicates" type="boolean" truevalue="--ignoreDuplicates" falsevalue=""
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
115 label="Ignore duplicates"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
116 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
117
14
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
118 <param name="minMappingQuality" type="integer" optional="true" value="1" min="1"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
119 label="Minimum mapping quality"
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
120 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."/>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
121 </when>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
122 </conditional>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
123 </inputs>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
124 <outputs>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
125 <data format="bigwig" name="outFileName">
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
126 <change_format>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
127 <when input="outFileFormat" value="bigwig" format="bigwig" />
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
128 <when input="outFileFormat" value="bedgraph" format="bedgraph" />
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
129 </change_format>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
130 </data>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
131 </outputs>
b0d64a9930d6 Uploaded
bgruening
parents: 10
diff changeset
132 <help>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
133
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
134 **What it does**
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
135
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
136 Given a BAM file, this tool generates a bigWig or bedGraph file of fragment or read coverages.
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
137 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
138 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
139 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
140
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
141
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
142 .. image:: $PATH_TO_IMAGES/norm_IGVsnapshot_indFiles.png
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
143
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
144
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
145 **Output files**:
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
146
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
147 - coverage file either in bigWig or bedGraph format
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
148
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
149 -----
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
150
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
151 .. class:: infomark
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
152
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
153 @REFERENCES@
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
154
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
155 </help>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
156 </tool>