annotate computeGCBias.xml @ 28:1e5fcb1555de draft

Uploaded
author bgruening
date Mon, 16 Dec 2013 04:51:41 -0500
parents e43b4015b4cc
children 60788be7b346
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24
e43b4015b4cc Uploaded
bgruening
parents: 22
diff changeset
1 <tool id="deeptools_computeGCBias" name="computeGCBias" version="1.0.2">
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
2 <description>to see whether your samples should be normalized for GC bias</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>
15
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
9 ln -s $bamInput local_bamInput.bam;
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
10 ln -s $bamInput.metadata.bam_index local_bamInput.bam.bai;
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
11
15
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
12 computeGCBias
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
13 @THREADS@
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
14
15
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
15 --bamfile 'local_bamInput.bam'
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
16 --GCbiasFrequenciesFile $outFileName
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
17 --fragmentLength $fragmentLength
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
18
15
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
19 @reference_genome_source@
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
20
15
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
21 #if $effectiveGenomeSize.effectiveGenomeSize_opt == "specific":
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
22 --effectiveGenomeSize $effectiveGenomeSize.effectiveGenomeSize
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
23 #else:
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
24 --effectiveGenomeSize $effectiveGenomeSize.effectiveGenomeSize_opt
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
25 #end if
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
26
15
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
27 #if $advancedOpt.showAdvancedOpt == "yes":
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
28 #if str($advancedOpt.region.value) != '':
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
29 --region '$advancedOpt.region'
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
30 #end if
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
31
15
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
32 --sampleSize '$advancedOpt.sampleSize'
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
33 --regionSize '$advancedOpt.regionSize'
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
34
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
35 #if $advancedOpt.filterOut:
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
36 --filterOut $advancedOpt.filterOut
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
37 #end if
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
38
15
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
39 #if $advancedOpt.extraSampling:
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
40 --extraSampling $advancedOpt.extraSampling
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
41 #end if
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
42 #end if
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
43
28
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
44 #if str($image_format) != 'none':
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
45 --biasPlot $outImageName
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
46 --plotFileFormat $image_format
15
351cd1f8791b Uploaded
bgruening
parents: 10
diff changeset
47 #end if
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
48 </command>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
49 <inputs>
21
8436c195dd6c Uploaded
bgruening
parents: 15
diff changeset
50 <param name="bamInput" format="bam" type="data" label="BAM file"
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
51 help="The BAM file must be sorted."/>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
52
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
53 <expand macro="reference_genome_source" />
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
54 <expand macro="effectiveGenomeSize" />
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
55
28
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
56 <param name="fragmentLength" type="integer" value="300" min="1"
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
57 label="Fragment length used for the sequencing"
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
58 help ="If paired-end reads are used, the fragment length is computed from the BAM file."/>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
59 <conditional name="advancedOpt">
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
60 <param name="showAdvancedOpt" type="select" label="Show advanced options" >
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
61 <option value="no" selected="true">no</option>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
62 <option value="yes">yes</option>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
63 </param>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
64 <when value="no" />
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
65 <when value="yes">
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
66 <param name="region" type="text" value=""
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
67 label="Region of the genome to limit the operation to"
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
68 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;" />
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
69
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
70 <param name="sampleSize" type="integer" value="50000000" min="1"
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
71 label="Number of sampling points to be considered" />
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
72
28
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
73 <param name="regionSize" type="integer" value="300" min="1"
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
74 label="Region size"
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
75 help ="To plot the reads per GC over a region, the size of the region is required (see below for more details of the mthod). By default, the bin size is set to 300 bp, which is close to the standard fragment size many sequencing applications. However, if the depth of sequencing is low, a larger bin size will be required, otherwise many bins will not overlap with any read."/>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
76
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
77 <param name="filterOut" type="data" format="bed" optional="true"
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
78 label="BED file containing genomic regions to be excluded from the estimation of the correction"
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
79 help="Such regions usually contain repetitive regions and peaks that if included will bias the correction. It is recommended to filter out known repetitive regions if multi-reads (reads that map to more than one genomic position) were excluded. In the case of ChIP-seq data, it is recommended to first use a peak caller to identify and filter out the identified peaks." />
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
80 <param name="extraSampling" type="data" format="bed" optional="true"
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
81 label="BED file containing genomic regions for which extra sampling is required because they are underrepresented in the genome"
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
82 help="" />
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
83 </when>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
84 </conditional>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
85 <param name="image_format" type="select" label="GC bias plot" help="If given, a diagnostic image summarizing the GC bias found on the sample will be created.">
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
86 <option value="none" selected="true">No image</option>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
87 <option value="png">Image in png format</option>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
88 <option value="pdf">Image in pdf format</option>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
89 <option value="svg">Image in svg format</option>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
90 <option value="eps">Image in eps format</option>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
91 <option value="emf">Image in emf format</option>
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
92 </param>
28
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
93 </inputs>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
94 <outputs>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
95 <data format="tabular" name="outFileName" />
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
96 <data format="png" name="outImageName" label="${tool.name} GC-bias Plot">
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
97 <filter>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
98 ((
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
99 image_format != 'none'
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
100 ))
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
101 </filter>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
102 <change_format>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
103 <when input="image_format" value="pdf" format="pdf" />
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
104 <when input="image_format" value="svg" format="svg" />
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
105 <when input="image_format" value="eps" format="eps" />
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
106 <when input="image_format" value="emf" format="emf" />
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
107 </change_format>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
108 </data>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
109 </outputs>
1e5fcb1555de Uploaded
bgruening
parents: 24
diff changeset
110 <help>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
111
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
112 **What it does**
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
113
6
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
114 This tool computes the GC bias using the method proposed by Benjamini and Speed (2012). Nucleic Acids Res. (see below for more explanations)
5
1f312af2f8db Uploaded
bgruening
parents: 1
diff changeset
115 The output is used to plot the bias and can also be used later on to correct the bias with the tool correctGCbias.
6
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
116 There are two plots produced by the tool: a boxplot showing the absolute read numbers per genomic-GC bin and an x-y plot
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
117 depicting the ratio of observed/expected reads per genomic GC content bin.
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
118
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
119 -----
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
120
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
121 **Summary of the method used**
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
122
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
123 In order to estimate how many reads with what kind of GC content one should have sequenced, we first need to determine how many regions the specific
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
124 reference genome contains for each amount of GC content, i.e. how many regions in the genome have 50% GC (or 10% GC or 90% GC or...).
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
125 We then sample a large number of equally sized genome bins and count how many times we see a bin with 50% GC (or 10% GC or 90% or...). These EXPECTED values are independent of any
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
126 sequencing as it only depends on the respective reference genome (i.e. it will most likely vary between mouse and fruit fly due to their genome's different GC contents).
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
127 The OBSERVED values are based on the reads from the sequenced sample. Instead of noting how many genomic regions there are per GC content, we now count the reads per GC content.
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
128 In an ideal sample without GC bias, the ratio of OBSERVED/EXPECTED values should be close to 1 regardless of the GC content. Due to PCR (over)amplifications, the majority of ChIP samples
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
129 usually shows a significant bias towards reads with high GC content (>50%)
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
130
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
131 .. image:: $PATH_TO_IMAGES/QC_GCplots_input.png
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
132
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
133
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
134 **Output files**:
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
135
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
136 - Diagnostic plot
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
137
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
138 - box plot of absolute read numbers per genomic GC bin
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
139 - x-y plot of observed/expected read ratios per genomic GC content bin
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
140
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
141 - Data matrix
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
142
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
143 - to be used for GC correction with correctGCbias
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
144
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
145
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
146 -----
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
147
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
148 .. class:: infomark
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
149
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
150 @REFERENCES@
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
151
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
152 </help>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
153 </tool>