annotate bamCoverage.xml @ 39:c6f1a059bc7d

Uploaded
author bgruening
date Fri, 02 Aug 2013 12:18:55 -0400
parents
children 6a2a7374450b
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>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
4 <requirement type="package" version="1.7.1">numpy</requirement>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
5 <requirement type="python-module">argsparse</requirement>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
6 <requirement type="python-module">pysam</requirement>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
7 <requirement type="python-module">numpy</requirement>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
8 </requirements>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
9 <command>bamCoverage
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
10 --bam '$bamInput'
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
11 --bamIndex ${bamInput.metadata.bam_index}
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
12 --outFileName '$outFileName'
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
13 --outFileFormat '$outFileFormat'
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
14
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
15 --fragmentLength $fragmentLength
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
16 --binSize $binSize
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
17
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
18
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
19 #if $scaling.type=='rpkm':
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
20 --normalizeUsingRPKM
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
21 #elif $scaling.type=='1x':
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
22 --normalizeTo1x $scaling.normalizeTo1x
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
23 #elif $scaling.type=='own':
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
24 --scaleFactor $scaling.scaleFactor
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
25 #end if
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
26
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
27 #if $advancedOpt.showAdvancedOpt == "yes":
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
28 #if $advancedOpt.smoothLength:
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
29 --smoothLength '$advancedOpt.smoothLength'
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
30 #end if
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
31
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
32 #if str($advancedOpt.region.value) != '':
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
33 --region '$advancedOpt.region'
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
34 #end if
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
35 $advancedOpt.doNotExtendPairedEnds
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
36 $advancedOpt.ignoreDuplicates
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
37
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
38 #if $advancedOpt.minMappingQuality:
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
39 --minMappingQuality '$advancedOpt.minMappingQuality'
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
40 #end if
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
41
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
42 #end if
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
43 --numberOfProcessors 4
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
44 </command>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
45
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
46 <inputs>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
47 <param name="bamInput" format="bam" type="data" label="Input BAM file"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
48 help="The BAM file must be sorted and indexed."/>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
49
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
50 <param name="fragmentLength" type="integer" value="300" min="1"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
51 label="Length of the average fragment size"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
52 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
53
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
54 <param name="binSize" type="integer" value="50" min="1"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
55 label="Bin size in bp"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
56 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
57
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
58 <conditional name="scaling">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
59 <param name="type" type="select" label="Scaling/Normalization method" >
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
60 <option value="1x">Normalize coverage to 1x</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
61 <option value="rpkm">Normalize to fragments (reads) per kilobase per million (RPKM)</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
62 <option value="own">Set your own scaling factor</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
63 <option value="no">Do not normalize or scale</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
64 </param>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
65 <when value="rpkm"/>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
66 <when value="no"/>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
67 <when value="1x">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
68 <param name="normalizeTo1x" type="integer" value="2150570000"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
69 label="Genome size"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
70 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
71 </when>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
72 <when value="own">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
73 <param name="scaleFactor" type="float" value="1" size="3"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
74 label="Scale factor to multiply all values" />
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
75 </when>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
76 </conditional>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
77
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
78 <param name="outFileFormat" type="select" label="Coverage file format">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
79 <option value="bigwig" selected="true">bigwig</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
80 <option value="bedgraph">bedgraph</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
81 </param>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
82
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
83
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
84 <conditional name="advancedOpt">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
85 <param name="showAdvancedOpt" type="select" label="Show advanced options" >
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
86 <option value="no" selected="true">no</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
87 <option value="yes">yes</option>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
88 </param>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
89 <when value="no" />
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
90 <when value="yes">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
91
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
92 <param name="smoothLength" type="integer" value="1" optional="true" min="1"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
93 label="Smooth values using the following length (in bp)"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
94 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
95
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
96 <param name="region" type="text" value=""
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
97 label="Region of the genome to limit the operation to"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
98 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
99
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
100 <param name="doNotExtendPairedEnds" type="boolean" truevalue="--doNotExtendPairedEnds" falsevalue=""
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
101 label="Do not extend paired ends"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
102 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
103
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
104 <param name="ignoreDuplicates" type="boolean" truevalue="--ignoreDuplicates" falsevalue=""
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
105 label="Ignore duplicates"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
106 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
107
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
108 <param name="minMappingQuality" type="integer" optional="true" value="1" min="1"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
109 label="Minimum mapping quality"
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
110 help= "If set, only reads that have a mapping quality score higher than the given value are considered"/>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
111 </when>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
112 </conditional>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
113
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
114 </inputs>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
115 <outputs>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
116 <data format="bigwig" name="outFileName">
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
117 <change_format>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
118 <when input="outFileFormat" value="bigwig" format="bigwig" />
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
119 <when input="outFileFormat" value="bedgraph" format="bedgraph" />
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
120 </change_format>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
121 </data>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
122 </outputs>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
123 <help>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
124
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
125 **What it does**
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
126
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
127 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
128
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
129 -----
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
130
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
131 .. class:: infomark
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
132
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
133 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
134
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
135 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
136
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
137
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
138 .. _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
139 .. _Max Planck Institute for Immunobiology and Epigenetics: http://www3.ie-freiburg.mpg.de
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
140 .. _Fidel Ramirez: ramirez@ie-freiburg.mpg.de
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
141
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
142 </help>
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
143
c6f1a059bc7d Uploaded
bgruening
parents:
diff changeset
144 </tool>