annotate bamCorrelate.xml @ 0:b2886915ce68 draft default tip

Uploaded
author bgruening
date Tue, 10 Feb 2015 03:21:34 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
1 <tool id="deeptools_bamCorrelate" name="bamCorrelate" version="@WRAPPER_VERSION@.0">
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
2 <description>correlates pairs of BAM files</description>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
3 <expand macro="requirements" />
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
4 <expand macro="stdio" />
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
5 <macros>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
6 <token name="@BINARY@">bamCorrelate</token>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
7 <import>deepTools_macros.xml</import>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
8 </macros>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
9 <command>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
10 <![CDATA[
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
11 #set files=[]
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
12 #set labels=[]
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
13
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
14 @multiple_input_bams@
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
15
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
16 bamCorrelate
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
17
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
18 $mode.modeOpt
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
19
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
20 @THREADS@
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
21
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
22 --bamfiles #echo " ".join($files)
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
23 --labels #echo " ".join($labels)
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
24 --fragmentLength $fragmentLength
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
25 --corMethod $corMethod
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
26
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
27 --plotFile $outFileName
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
28
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
29 #if $output.showOutputSettings == "yes"
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
30 --outRawCounts '$outFileRawCounts'
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
31 --outFileCorMatrix '$outFileCorMatrix'
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
32 --plotFileFormat $output.outFileFormat
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
33 #else:
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
34 --plotFileFormat 'png'
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
35 #end if
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
36
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
37 #if $mode.modeOpt == "bins":
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
38 --binSize '$mode.binSize'
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
39 --distanceBetweenBins '$mode.distanceBetweenBins'
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
40 $mode.doNotRemoveOutliers
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
41
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
42 #else:
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
43 --BED $mode.region_file
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
44 #end if
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
45
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
46 #### options available in both modes
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
47 #if str($mode.region.value) != '':
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
48 --region '$mode.region'
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
49 #end if
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
50
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
51 #if $mode.advancedOpt.showAdvancedOpt == "yes":
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
52
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
53 $mode.advancedOpt.doNotExtendPairedEnds
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
54 $mode.advancedOpt.ignoreDuplicates
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
55 $mode.advancedOpt.includeZeros
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
56
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
57 #if $mode.advancedOpt.minMappingQuality:
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
58 --minMappingQuality '$mode.advancedOpt.minMappingQuality'
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
59 #end if
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
60
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
61 #if $mode.advancedOpt.zMin:
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
62 --zMin $mode.advancedOpt.zMin
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
63 #end if
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
64 #if $mode.advancedOpt.zMax:
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
65 --zMax $mode.advancedOpt.zMax
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
66 #end if
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
67 --colorMap '$mode.advancedOpt.colorMap'
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
68
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
69 #end if
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
70 ]]>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
71 </command>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
72
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
73 <inputs>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
74 <expand macro="multiple_input_bams" />
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
75
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
76 <param name="fragmentLength" type="integer" value="200" min="1"
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
77 label="Length of the average fragment size"
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
78 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. *NOTE*: If the BAM files contain mated and unmated paired-end reads, unmated reads will be extended to match the fragment length. (--fragmentLength)"/>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
79
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
80 <param name="corMethod" type="select" label="Correlation method">
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
81 <option value="spearman" selected="True">Spearman</option>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
82 <option value="pearson">Pearson</option>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
83 </param>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
84
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
85 <conditional name="mode">
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
86 <param name="modeOpt" type="select" label="Choose computation mode"
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
87 help="In the bins mode, the correlation is computed based on equal length bins. In the BED file mode, as list of genomic regions in BED format has to be given. For each region in the BED file the number of overlapping reads is counted in each of the BAM files. Then the correlation is computed.">
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
88 <option value="bins" selected="true">Bins</option>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
89 <option value="BED-file">Limit correlation to certain regions (BED file)</option>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
90 </param>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
91 <when value="bins">
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
92 <param name="binSize" type="integer" value="10000" min="1"
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
93 label="Bin size in bp"
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
94 help="Length in base pairs for a window used to sample the genome."/>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
95
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
96 <param name="distanceBetweenBins" type="integer" value="0" min="0"
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
97 label="Distance between bins"
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
98 help="By default, bamCorrelate considers consecutive bins of
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
99 the specified 'Bin size'. However, to reduce the
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
100 computation time, a larger distance between bins can
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
101 by given. Larger distances result in less bins being
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
102 considered"/>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
103
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
104 <param name="doNotRemoveOutliers" type="boolean"
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
105 truevalue="--doNotRemoveOutliers" falsevalue="" label="Do not filter outliers"
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
106 help="By default, bins with very large counts are removed.
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
107 By setting this option, outliers will not be
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
108 removed. Bins with unusually large counts normally
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
109 correspond to regions in the genome that accumulate
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
110 lot of reads like satellite regions. If outliers are not
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
111 removed the pearson correlation will wrongly report a
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
112 very high correlation; that's why, by default,
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
113 bamCorrelate tries to remove outliers using
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
114 the median absolute deviation (MAD) method applying a
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
115 threshold of 200 to only consider extremely large
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
116 deviations from the median."/>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
117
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
118 <expand macro="bamCorrelate_mode_actions" />
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
119 </when>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
120 <when value="BED-file">
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
121 <param name="region_file" type="data" format="bed"
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
122 label="Region file in BED format"
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
123 help="Correlation is computed for the number of reads that overlap such regions."/>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
124 <expand macro="bamCorrelate_mode_actions" />
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
125 </when>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
126 </conditional>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
127
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
128 <conditional name="output">
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
129 <param name="showOutputSettings" type="select" label="Show advanced output settings" >
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
130 <option value="no" selected="true">no</option>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
131 <option value="yes">yes</option>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
132 </param>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
133 <when value="no" />
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
134 <when value="yes">
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
135 <expand macro="input_image_file_format"/>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
136 <param name="saveRawCounts" type="boolean" label="Save the bin counts"/>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
137 <param name="saveCorMatrix" type="boolean" label="Save the correlation matrix"/>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
138 </when>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
139 </conditional>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
140
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
141 </inputs>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
142 <outputs>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
143 <expand macro="output_image_file_format" />
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
144 <data format="tabular" name="outFileRawCounts" label="${tool.name} on ${on_string}: bin counts">
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
145 <filter>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
146 ((
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
147 output['showOutputSettings'] == 'yes' and
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
148 output['saveRawCounts'] is True
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
149 ))
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
150 </filter>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
151 </data>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
152 <data format="tabular" name="outFileCorMatrix" label="${tool.name} on ${on_string}: correlation matrix">
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
153 <filter>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
154 ((
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
155 output['showOutputSettings'] == 'yes' and
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
156 output['saveCorMatrix'] is True
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
157 ))
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
158 </filter>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
159 </data>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
160 </outputs>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
161 <tests>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
162 <test>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
163 <repeat name="input_files">
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
164 <param name="bamfile" value="bowtie2-test1.bam" ftype="bam" />
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
165 </repeat>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
166 <repeat name="input_files">
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
167 <param name="bamfile" value="bowtie2-test1.bam" ftype="bam" />
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
168 </repeat>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
169 <param name="modeOpt" value="bins" />
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
170 <param name="binSize" value="10" />
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
171 <param name="showOutputSettings" value="no" />
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
172 <output name="outFileName" file="bamCorrelate_result1.png" ftype="png" compare="sim_size" />
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
173 </test>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
174 </tests>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
175 <help>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
176 <![CDATA[
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
177 **What it does**
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
178
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
179 This tool is useful to assess the overall similarity of different BAM files. A typical application
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
180 is to check the correlation between replicates or published data sets.
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
181
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
182 The tool splits the genomes into bins of given length. For each bin, the number of reads
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
183 found in each BAM file is counted and a correlation (either Pearson or Spearman) is computed for all
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
184 pairs of BAM files. Finally, a heatmap is drawn based on the similarity of the samples.
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
185
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
186
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
187 .. image:: $PATH_TO_IMAGES/QC_bamCorrelate_humanSamples.png
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
188 :alt: Heatmap of RNA Polymerase II ChIP-seq
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
189
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
190
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
191 You can find more details on the bamCorrelate wiki page: https://github.com/fidelram/deepTools/wiki/QC#wiki-bamCorrelate
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
192
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
193
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
194 **Output files**:
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
195
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
196 - **diagnostic plot**: clustered heatmap displaying the values for each pair-wise correlation, see below for an example
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
197 - data matrix (optional): if you want to plot the correlation values using a different program, e.g. R, this matrix can be used
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
198
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
199
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
200 -----
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
201
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
202 @REFERENCES@
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
203 ]]>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
204 </help>
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
205 <expand macro="citations" />
b2886915ce68 Uploaded
bgruening
parents:
diff changeset
206 </tool>