annotate bamFingerprint.xml @ 13:06311d89da81 draft

Uploaded
author bgruening
date Wed, 30 Oct 2013 09:44:05 -0400
parents a68a771625d2
children b0d64a9930d6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
1 <tool id="deeptools_bamFingerprint" name="bamFingerprint" version="1.0">
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
2 <description>plots profiles of BAM files; useful for assesing ChIP signal strength</description>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
3 <expand macro="requirements" />
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
4 <macros>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
5 <import>deepTools_macros.xml</import>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
6 </macros>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
7 <command>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
8 #import tempfile
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
9 #set $temp_dir = os.path.abspath(tempfile.mkdtemp())
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
10
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
11 #set files=[]
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
12 #set labels=[]
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
13 #for $i in $inputs
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
14 #set $temp_input_handle = tempfile.NamedTemporaryFile( dir=$temp_dir )
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
15 #set $temp_input_path = $temp_input_handle.name
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
16 #silent $temp_input_handle.close()
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
17 #silent os.system("ln -s %s %s.bam" % (str($i.bamfile), $temp_input_path))
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
18 #silent os.system("ln -s %s %s.bam.bai" % (str($i.bamfile.metadata.bam_index), $temp_input_path))
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
19 #silent $files.append('%s.bam' % $temp_input_path)
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
20
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
21 ##set $files += [str($i.bamfile)]
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
22 #if str($i.label.value) != "":
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
23 #set $labels += ["\"%s\"" % ($i.label.value)]
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
24 #else
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
25 #set $labels += ["\"%s\"" % ($i.bamfile.name)]
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
26 #end if
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
27 #end for
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
28
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
29 bamFingerprint
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
30
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
31 @THREADS@
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
32
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
33 --bamfiles #echo " ".join($files)
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
34 --labels #echo " ".join($labels)
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
35
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
36 --fragmentLength $fragmentLength
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
37
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
38 #set newoutFileName=str($outFileName)+".png"
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
39 --plotFile $newoutFileName
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
40
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
41 #if $outputOpt.showOutputOpt == "yes"
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
42 #if $outputOpt.saveRawCounts:
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
43 --outRawCounts '$outFileRawCounts'
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
44 #end if
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
45 #end if
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
46
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
47 #if $advancedOpt.showAdvancedOpt == "yes":
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
48
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
49 #if str($advancedOpt.region.value) != '':
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
50 --region '$advancedOpt.region'
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
51 #end if
1
21d563d5f2b2 Uploaded
bgruening
parents: 0
diff changeset
52
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
53 --binSize '$advancedOpt.binSize'
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
54 --numberOfSamples '$advancedOpt.numberOfSamples'
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
55
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
56 $advancedOpt.doNotExtendPairedEnds
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
57 $advancedOpt.ignoreDuplicates
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
58 $advancedOpt.skipZeros
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
59
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
60 #if $advancedOpt.minMappingQuality:
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
61 --minMappingQuality '$advancedOpt.minMappingQuality'
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
62 #end if
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
63 #end if
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
64 ; mv $newoutFileName $outFileName
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
65 ; rm $temp_dir -rf
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
66 </command>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
67
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
68 <inputs>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
69 <expand macro="multiple_input_bams" />
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
70
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
71 <param name="fragmentLength" type="integer" value="200" min="1"
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
72 label="Length of the average fragment size"/>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
73 <conditional name="advancedOpt">
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
74 <param name="showAdvancedOpt" type="select" label="Show advanced options" >
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
75 <option value="no" selected="true">no</option>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
76 <option value="yes">yes</option>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
77 </param>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
78 <when value="no" />
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
79 <when value="yes">
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
80 <param name="region" type="text" value=""
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
81 label="Region of the genome to limit the operation to"
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
82 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;" />
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
83
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
84 <param name="binSize" type="integer" value="10000" min="1"
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
85 label="Bin size in bp"
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
86 help="Length in base pairs for a window used to sample the genome."/>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
87
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
88 <param name="numberOfSamples" type="integer" value="100000" min="1"
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
89 label="Number of samples"
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
90 help="Number of samples taken from the genome to compute the scaling factors"/>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
91
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
92 <param name="doNotExtendPairedEnds" type="boolean" truevalue="--doNotExtendPairedEnds" falsevalue=""
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
93 label="Do not extend paired ends"
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
94 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."/>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
95
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
96 <param name="ignoreDuplicates" type="boolean" truevalue="--ignoreDuplicates" falsevalue=""
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
97 label="Ignore duplicates"
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
98 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." />
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
99
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
100 <param name="minMappingQuality" type="integer" optional="true" value="1" min="1"
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
101 label="Minimum mapping quality"
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
102 help= "If set, only reads that have a mapping quality score higher than the given value are considered. *Note* Bowtie's Mapping quality is related to uniqueness: the higher the score, the more unique is a read. A mapping quality defined by Bowtie of 10 or less indicates that there is at least a 1 in 10 chance that the read truly originated elsewhere."/>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
103
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
104 <param name="skipZeros" type="boolean" truevalue="--skipZeros" falsevalue=""
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
105 label ="Include zeros"
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
106 help ="If set, then zero counts that happen for *all* BAM files given are ignored. This might have the effect that fewer regions are considered than indicated in the option where the number of samples is defined." />
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
107 </when>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
108 </conditional>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
109
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
110 <conditional name="outputOpt">
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
111 <param name="showOutputOpt" type="select" label="Show additional output options" >
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
112 <option value="no" selected="true">no</option>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
113 <option value="yes">yes</option>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
114 </param>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
115 <when value="no" />
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
116 <when value="yes">
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
117 <param name="saveRawCounts" type="boolean" label="Save the bin counts"/>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
118 </when>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
119 </conditional>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
120
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
121 </inputs>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
122 <outputs>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
123 <data format="png" name="outFileName" />
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
124 <data format="tabular" name="outFileRawCounts" label="${tool.name} on ${on_string}: bin counts">
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
125 <filter>(outputOpt['showOutputOpt'] == 'yes' and outputOpt['saveRawCounts'] == True)</filter>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
126 </data>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
127 </outputs>
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
128 <help>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
129
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
130 **What it does**
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
131
5
1f312af2f8db Uploaded
bgruening
parents: 1
diff changeset
132 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
133 The resulting plot can be used to assess the strength of a ChIP (for factors that bind to narrow regions).
6
c5847db0cb41 Uploaded
bgruening
parents: 5
diff changeset
134 The tool first samples indexed BAM files and counts all reads overlapping a window (bin) of specified length.
5
1f312af2f8db Uploaded
bgruening
parents: 1
diff changeset
135 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
136 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
137 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
138 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
139 few bins which corresponds to high, narrow enrichments seen for transcription factors.
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
140
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
141
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
142 .. image:: $PATH_TO_IMAGES/QC_fingerprint.png
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
143
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
144
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
145 **Output files**:
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
146
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
147 - Diagnostic plot
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
148 - Data matrix of raw counts
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
149
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
150 -----
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
151
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
152 .. class:: infomark
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
153
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
154 @REFERENCES@
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
155
10
a68a771625d2 Uploaded
bgruening
parents: 9
diff changeset
156 </help>
0
09b65c12a75a Uploaded
bgruening
parents:
diff changeset
157 </tool>