annotate bamCoverage.xml @ 51:6a2a7374450b

Uploaded
author bgruening
date Fri, 02 Aug 2013 13:53:20 -0400
parents c6f1a059bc7d
children 411c871f4cfd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
39
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
1 <tool id="bamCoverage" name="bamCoverage" version="1.0">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
2 <description>Given a BAM file, generates a coverage bigwig file. Multiple options available to count reads and normalize coverage.</description>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
3 <requirements>
51
6a2a7374450b Uploaded
bgruening
parents: 39
diff changeset
4 <requirement type="package" version="1.5.1_98e5d8a61431ea8605c0643d991a1a5d8999b4dc">deepTools</requirement>
39
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
5 <requirement type="package" version="1.7.1">numpy</requirement>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
6 </requirements>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
7 <command>bamCoverage
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
8 --bam '$bamInput'
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
9 --bamIndex ${bamInput.metadata.bam_index}
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
10 --outFileName '$outFileName'
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
11 --outFileFormat '$outFileFormat'
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
12
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
13 --fragmentLength $fragmentLength
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
14 --binSize $binSize
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
15
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
16
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
17 #if $scaling.type=='rpkm':
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
18 --normalizeUsingRPKM
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
19 #elif $scaling.type=='1x':
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
20 --normalizeTo1x $scaling.normalizeTo1x
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
21 #elif $scaling.type=='own':
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
22 --scaleFactor $scaling.scaleFactor
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
23 #end if
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
24
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
25 #if $advancedOpt.showAdvancedOpt == "yes":
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
26 #if $advancedOpt.smoothLength:
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
27 --smoothLength '$advancedOpt.smoothLength'
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
28 #end if
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
29
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
30 #if str($advancedOpt.region.value) != '':
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
31 --region '$advancedOpt.region'
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
32 #end if
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
33 $advancedOpt.doNotExtendPairedEnds
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
34 $advancedOpt.ignoreDuplicates
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
35
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
36 #if $advancedOpt.minMappingQuality:
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
37 --minMappingQuality '$advancedOpt.minMappingQuality'
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
38 #end if
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
39
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
40 #end if
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
41 --numberOfProcessors 4
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
42 </command>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
43
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
44 <inputs>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
45 <param name="bamInput" format="bam" type="data" label="Input BAM file"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
46 help="The BAM file must be sorted and indexed."/>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
47
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
48 <param name="fragmentLength" type="integer" value="300" min="1"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
49 label="Length of the average fragment size"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
50 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."/>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
51
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
52 <param name="binSize" type="integer" value="50" min="1"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
53 label="Bin size in bp"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
54 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. "/>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
55
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
56 <conditional name="scaling">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
57 <param name="type" type="select" label="Scaling/Normalization method" >
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
58 <option value="1x">Normalize coverage to 1x</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
59 <option value="rpkm">Normalize to fragments (reads) per kilobase per million (RPKM)</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
60 <option value="own">Set your own scaling factor</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
61 <option value="no">Do not normalize or scale</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
62 </param>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
63 <when value="rpkm"/>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
64 <when value="no"/>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
65 <when value="1x">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
66 <param name="normalizeTo1x" type="integer" value="2150570000"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
67 label="Genome size"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
68 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."/>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
69 </when>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
70 <when value="own">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
71 <param name="scaleFactor" type="float" value="1" size="3"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
72 label="Scale factor to multiply all values" />
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
73 </when>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
74 </conditional>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
75
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
76 <param name="outFileFormat" type="select" label="Coverage file format">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
77 <option value="bigwig" selected="true">bigwig</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
78 <option value="bedgraph">bedgraph</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
79 </param>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
80
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
81
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
82 <conditional name="advancedOpt">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
83 <param name="showAdvancedOpt" type="select" label="Show advanced options" >
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
84 <option value="no" selected="true">no</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
85 <option value="yes">yes</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
86 </param>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
87 <when value="no" />
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
88 <when value="yes">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
89
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
90 <param name="smoothLength" type="integer" value="1" optional="true" min="1"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
91 label="Smooth values using the following length (in bp)"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
92 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."/>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
93
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
94 <param name="region" type="text" value=""
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
95 label="Region of the genome to limit the operation to"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
96 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;" />
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
97
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
98 <param name="doNotExtendPairedEnds" type="boolean" truevalue="--doNotExtendPairedEnds" falsevalue=""
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
99 label="Do not extend paired ends"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
100 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."/>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
101
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
102 <param name="ignoreDuplicates" type="boolean" truevalue="--ignoreDuplicates" falsevalue=""
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
103 label="Ignore duplicates"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
104 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." />
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
105
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
106 <param name="minMappingQuality" type="integer" optional="true" value="1" min="1"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
107 label="Minimum mapping quality"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
108 help= "If set, only reads that have a mapping quality score higher than the given value are considered"/>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
109 </when>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
110 </conditional>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
111
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
112 </inputs>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
113 <outputs>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
114 <data format="bigwig" name="outFileName">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
115 <change_format>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
116 <when input="outFileFormat" value="bigwig" format="bigwig" />
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
117 <when input="outFileFormat" value="bedgraph" format="bedgraph" />
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
118 </change_format>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
119 </data>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
120 </outputs>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
121 <help>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
122
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
123 **What it does**
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
124
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
125 Given a BAM file, this tool generates a bigWig or bedGraph file of fragment or read coverages. The way the method works is by first calculating all the number of reads (either extended to match the fragment length or not) that overlap each bin in the genome. Bins with zero counts are skipped, i.e. not added to the output file. 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).
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
126
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
127 -----
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
128
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
129 .. class:: infomark
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
130
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
131 Please acknowledge that this tool **is still in development** and we will be very happy to receive feedback from the users. If you run into any trouble please sent an email to `Fidel Ramirez`_.
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
132
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
133 This tool is developed by the `Bioinformatics and Deep-Sequencing Unit`_ at the `Max Planck Institute for Immunobiology and Epigenetics`_.
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
134
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
135
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
136 .. _Bioinformatics and Deep-Sequencing Unit: http://www3.ie-freiburg.mpg.de/facilities/research-facilities/bioinformatics-and-deep-sequencing-unit/
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
137 .. _Max Planck Institute for Immunobiology and Epigenetics: http://www3.ie-freiburg.mpg.de
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
138 .. _Fidel Ramirez: ramirez@ie-freiburg.mpg.de
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
139
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
140 </help>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
141
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
142 </tool>