annotate bamCorrelate.xml @ 110:fa6ef7619bbd draft default tip

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