annotate bamFingerprint.xml @ 5:1f312af2f8db draft

Uploaded
author bgruening
date Tue, 06 Aug 2013 08:20:47 -0400
parents 21d563d5f2b2
children c5847db0cb41
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
1 <tool id="bamFingerprint" name="bamFingerprint" version="1.0">
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
2 <description>plots profiles of bam files</description>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
3 <requirements>
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
4 <requirement type="package" version="1.5.1_59e067cce039cb93add04823c9f51cab202f8c2b">deepTools</requirement>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
5 </requirements>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
6 <command>
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
7 #import tempfile
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
8 #set $temp_dir = os.path.abspath(tempfile.mkdtemp())
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
9
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
10 #set files=[]
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
11 #set labels=[]
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
12 #for $i in $inputs
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
13 #set $temp_input_handle = tempfile.NamedTemporaryFile( dir=$temp_dir )
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
14 #set $temp_input_path = $temp_input_handle.name
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
15 #silent $temp_input_handle.close()
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
16 #silent os.system("ln -s %s %s.bam" % (str($i.bamfile), $temp_input_path))
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
17 #silent os.system("ln -s %s %s.bam.bai" % (str($i.bamfile.metadata.bam_index), $temp_input_path))
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
18 #silent $files.append('%s.bam' % $temp_input_path)
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
19
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
20 ##set $files += [str($i.bamfile)]
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
21 #if str($i.label.value) != "":
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
22 #set $labels += ["\"%s\"" % ($i.label.value)]
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
23 #else
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
24 #set $labels += ["\"%s\"" % ($i.bamfile.name)]
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
25 #end if
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
26 #end for
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
27
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
28 bamFingerprint
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
29
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
30 ##ToDo
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
31 --numberOfProcessors 4
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
32
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
33 --bamfiles #echo " ".join($files)
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
34 --labels #echo " ".join($labels)
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
35
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
36 --fragmentLength $fragmentLength
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
37
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
38 #set newoutFileName=str($outFileName)+".png"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
39 --plotFile $newoutFileName
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
40
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
41 #if $outputOpt.showOutputOpt == "yes"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
42 #if $outputOpt.saveRawCounts:
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
43 --outRawCounts '$outFileRawCounts'
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
44 #end if
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
45 #end if
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
46
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
47 #if $advancedOpt.showAdvancedOpt == "yes":
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
48 #if $advancedOpt.smoothLength:
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
49 --smoothLength '$advancedOpt.smoothLength'
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
50 #end if
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
51
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
52 #if str($advancedOpt.region.value) != '':
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
53 --region '$advancedOpt.region'
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
54 #end if
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
55
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
56 --binSize '$advancedOpt.binSize'
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
57 --numberOfSamples '$advancedOpt.numberOfSamples'
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
58
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
59 $advancedOpt.doNotExtendPairedEnds
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
60 $advancedOpt.ignoreDuplicates
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
61 $advancedOpt.skipZeros
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
62
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
63 #if $advancedOpt.minMappingQuality:
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
64 --minMappingQuality '$advancedOpt.minMappingQuality'
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
65 #end if
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
66 #end if
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
67 ; mv $newoutFileName $outFileName
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
68 ; rm $temp_dir -rf
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
69 </command>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
70
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
71 <inputs>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
72 <repeat name="inputs" title="Input files" min="2">
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
73 <param name="bamfile" type="data" format="bam"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
74 label="Bam file"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
75 help="The BAM file must be sorted and indexed."/>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
76 <param name="label" type="text" size="30" optional="true" value=""
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
77 label="Label"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
78 help="Label to use in the output. If not given the dataset name will be used instead."/>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
79 </repeat>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
80 <param name="fragmentLength" type="integer" value="200" min="1"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
81 label="Length of the average fragment size"/>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
82 <conditional name="advancedOpt">
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
83 <param name="showAdvancedOpt" type="select" label="Show advanced options" >
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
84 <option value="no" selected="true">no</option>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
85 <option value="yes">yes</option>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
86 </param>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
87 <when value="no" />
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
88 <when value="yes">
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
89 <param name="smoothLength" type="integer" value="1" optional="true" min="1"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
90 label="Smooth values using the following length (in bp)"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
91 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."/>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
92
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
93 <param name="region" type="text" value=""
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
94 label="Region of the genome to limit the operation to"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
95 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;" />
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
96
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
97 <param name="binSize" type="integer" value="10000" min="1"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
98 label="Bin size in bp"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
99 help="Length in base pairs for a window used to sample the genome."/>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
100
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
101 <param name="numberOfSamples" type="integer" value="100000" min="1"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
102 label="Number of samples"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
103 help="Number of samples taken from the genome to compute the scaling factors"/>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
104
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
105 <param name="doNotExtendPairedEnds" type="boolean" truevalue="--doNotExtendPairedEnds" falsevalue=""
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
106 label="Do not extend paired ends"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
107 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."/>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
108
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
109 <param name="ignoreDuplicates" type="boolean" truevalue="--ignoreDuplicates" falsevalue=""
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
110 label="Ignore duplicates"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
111 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." />
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
112
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
113 <param name="minMappingQuality" type="integer" optional="true" value="1" min="1"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
114 label="Minimum mapping quality"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
115 help= "If set, only reads that have a mapping quality score higher than the given value are considered"/>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
116
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
117 <param name="skipZeros" type="boolean" truevalue="--skipZeros" falsevalue=""
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
118 label ="Include zeros"
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
119 help ="If set, then zero counts that happen for *all* bam files given are ignored. This will result in a reduced number of read counts than the specified in number of samples" />
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
120 </when>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
121 </conditional>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
122
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
123 <conditional name="outputOpt">
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
124 <param name="showOutputOpt" type="select" label="Show additional output options" >
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
125 <option value="no" selected="true">no</option>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
126 <option value="yes">yes</option>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
127 </param>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
128 <when value="no" />
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
129 <when value="yes">
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
130 <param name="saveRawCounts" type="boolean" label="Save the bin counts"/>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
131 </when>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
132 </conditional>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
133 </inputs>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
134 <outputs>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
135 <data format="png" name="outFileName" />
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
136 <data format="tabular" name="outFileRawCounts" label="${tool.name} on ${on_string}: bin counts">
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
137 <filter>(outputOpt['showOutputOpt'] == 'yes' and outputOpt['saveRawCounts'] == True)</filter>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
138 </data>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
139 </outputs>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
140 <help>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
141
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
142 **What it does**
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
143
5
1f312af2f8db Uploaded
bgruening
parents: 1
diff changeset
144 This tool is based on a method developed by Diaz et al. (2012). Stat Appl Genet Mol Biol 11(3).
1f312af2f8db Uploaded
bgruening
parents: 1
diff changeset
145 The resulting plot can be used to assess the strength of a ChIP (for factors that bind to narrow regions).
1f312af2f8db Uploaded
bgruening
parents: 1
diff changeset
146 The tool first samples indexed bam files and counts all reads overlapping a window (bin) of specified length.
1f312af2f8db Uploaded
bgruening
parents: 1
diff changeset
147 These counts are then sorted according to their rank and the cumulative sum of read counts are plotted. An ideal input
1f312af2f8db Uploaded
bgruening
parents: 1
diff changeset
148 with perfect uniform distribution of reads along the genome (i.e. without enrichments in open chromatin etc.) should
1f312af2f8db Uploaded
bgruening
parents: 1
diff changeset
149 generate a straight diagonal line. A very specific and strong ChIP enrichment will be indicated by a prominent and steep
1f312af2f8db Uploaded
bgruening
parents: 1
diff changeset
150 rise of the cumulative sum towards the highest rank. This means that a big chunk of reads from the ChIP sample is located in
1f312af2f8db Uploaded
bgruening
parents: 1
diff changeset
151 few bins which corresponds to high, narrow enrichments seen for transcription factors.
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
152
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
153 -----
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
154
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
155 .. class:: infomark
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
156
5
1f312af2f8db Uploaded
bgruening
parents: 1
diff changeset
157 If you would like to give us feedback or you run into any trouble, please sent an email to deeptools@googlegroups.com
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
158
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
159 This tool is developed by the `Bioinformatics and Deep-Sequencing Unit`_ at the `Max Planck Institute for Immunobiology and Epigenetics`_.
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
160
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
161
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
162 .. _Bioinformatics and Deep-Sequencing Unit: http://www3.ie-freiburg.mpg.de/facilities/research-facilities/bioinformatics-and-deep-sequencing-unit/
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
163 .. _Max Planck Institute for Immunobiology and Epigenetics: http://www3.ie-freiburg.mpg.de
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
164 .. _Fidel Ramirez: ramirez@ie-freiburg.mpg.de
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
165
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
166 </help>
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
167
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
168 </tool>