annotate signature.xml @ 0:d613dbee3ce4

Imported from capsule None
author drosofff
date Mon, 03 Nov 2014 10:29:28 -0500
parents
children 9274c7b1e85c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
1 <tool id="signature" name="Small RNA Signatures" version="2.0.0">
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
2 <description></description>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
3 <requirements>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
4 <requirement type="package" version="0.12.7">bowtie</requirement>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
5 <requirement type="package" version="0.1.18">samtools</requirement>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
6 <requirement type="package" version="0.7.7">pysam</requirement>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
7 <requirement type="package" version="2.14">biocbasics</requirement>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
8 <requirement type="package" version="3.0.3">R</requirement>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
9 </requirements>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
10 <command interpreter="python">
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
11 signature.py
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
12 --input $refGenomeSource.input
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
13 --inputFormat $refGenomeSource.input.ext
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
14 --minquery $minquery
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
15 --maxquery $maxquery
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
16 --mintarget $mintarget
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
17 --maxtarget $maxtarget
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
18 --minscope $minscope
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
19 --maxscope $maxscope
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
20 --outputOverlapDataframe $output
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
21 #if $refGenomeSource.genomeSource == "history":
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
22 --referenceGenome $refGenomeSource.ownFile
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
23 #else:
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
24 #silent reference= filter( lambda x: str( x[0] ) == str( $input.dbkey ), $__app__.tool_data_tables[ 'bowtie_indexes' ].get_fields() )[0][-1]
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
25 --referenceGenome $reference
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
26 --extract_index
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
27 #end if
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
28 --graph $graph_type
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
29 --rcode $sigplotter
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
30 </command>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
31
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
32 <inputs>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
33 <conditional name="refGenomeSource">
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
34 <param name="genomeSource" type="select" label="Will you select a reference genome from your history or use a built-in index?" help="Built-ins were indexed using default options">
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
35 <option value="indexed">Use a built-in index</option>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
36 <option value="history">Use one from the history</option>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
37 </param>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
38 <when value="indexed">
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
39 <param name="input" type="data" format="tabular,sam,bam" label="Compute signature from this bowtie standard output">
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
40 <validator type="dataset_metadata_in_data_table" table_name="bowtie_indexes" metadata_name="dbkey" metadata_column="0" message="database not set for this bowtie output. Select the database(=genome used for matching) manually, or select a reference fasta from your history."/>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
41 </param>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
42 </when>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
43 <when value="history">
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
44 <param name="ownFile" type="data" format="fasta" label="Select the fasta reference" />
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
45 <param name="input" type="data" format="tabular,sam,bam" label="Compute signature from this bowtie standard output"/>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
46 </when>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
47 </conditional> <!-- refGenomeSource -->
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
48 <param name="minquery" type="integer" size="3" value="23" label="Min size of query small RNAs" help="'23' = 23 nucleotides"/>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
49 <param name="maxquery" type="integer" size="3" value="29" label="Max size of query small RNAs" help="'29' = 29 nucleotides"/>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
50 <param name="mintarget" type="integer" size="3" value="23" label="Min size of target small RNAs" help="'23' = 23 nucleotides"/>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
51 <param name="maxtarget" type="integer" size="3" value="29" label="Max size of target small RNAs" help="'29' = 29 nucleotides"/>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
52 <param name="minscope" type="integer" size="3" value="1" label="Minimal relative overlap analyzed" help="'1' = 1 nucleotide overlap"/>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
53 <param name="maxscope" type="integer" size="3" value="26" label="Maximal relative overlap analyzed" help="'1' = 1 nucleotide overlap"/>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
54 <param name="graph_type" type="select" label="Graph type" help="Signature can be computed globally or by item present in the alignment file">
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
55 <option value="global" selected="True">Global</option>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
56 <option value="lattice">Lattice</option>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
57 </param>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
58 </inputs>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
59
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
60 <configfiles>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
61 <configfile name="sigplotter">
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
62 graph_type = "${graph_type}"
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
63
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
64 globalgraph = function () {
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
65 ## Setup R error handling to go to stderr
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
66 options( show.error.messages=F,
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
67 error = function () { cat( geterrmessage(), file=stderr() ); q( "no", 1, F ) } )
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
68 signature = read.delim("${output}", header=TRUE)
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
69 signaturez=(signature[,2] -mean(signature[,2]))/sd(signature[,2])
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
70 YLIM=max(signature[,2])
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
71
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
72 ## Open output2 PDF file
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
73 pdf( "${output2}" )
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
74 par(mfrow=c(2,2),oma = c(0, 0, 3, 0))
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
75
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
76 plot(signature[,1:2], type = "h", main="Numbers of pairs", cex.main=1, xlab="overlap (nt)", ylim=c(0,YLIM), ylab="Numbers of pairs", col="darkslateblue", lwd=4)
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
77
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
78 plot(signaturez, type = "l", main="Number of pairs Z-scores", cex.main=1, xlab="overlap (nt)", ylab="z-score", pch=19, cex=0.2, col="darkslateblue", lwd=2, cex.lab=1, cex.axis=1, xaxt="n")
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
79 axis(1, at=seq(from=1, to=length(signature[,1]), by=3) )
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
80
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
81 plot(signature[,1], signature[,3]*100, type = "l", main="Overlap probabilities",
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
82 cex.main=1, xlab="overlap (nt)", ylab="Probability [%]", ylim=c(0,50),
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
83 pch=19, col="darkslateblue", lwd=2, cex.lab=1, cex.axis=1, xaxt="n")
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
84 axis(1, at=seq(from=1, to=length(signature[,1]), by=3) )
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
85
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
86 overlap_prob_z=(signature[,3] -mean(signature[,3]))/sd(signature[,3])
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
87 plot(overlap_prob_z, type = "l", main="Overlap Probability Z-scores", cex.main=1, xlab="overlap (nt)", ylab="z-score", pch=19, cex=0.2, col="darkslateblue", lwd=2, cex.lab=1, cex.axis=1, xaxt="n")
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
88 axis(1, at=seq(from=1, to=length(signature[,1]), by=3) )
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
89
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
90 mtext("Overlap Signatures of ${minquery}-${maxquery} against ${mintarget}-${maxtarget}nt small RNAs", outer = TRUE, cex=1)
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
91 devname = dev.off()
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
92 ## Close the PDF file
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
93 }
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
94
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
95 treillisgraph = function () {
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
96 ## Open output2 PDF file
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
97 pdf( "${output2}", paper="special", height=11.69, width=8.2677 )
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
98 signature = read.delim("${output}", header=TRUE)
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
99 options( show.error.messages=F,
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
100 error = function () { cat( geterrmessage(), file=stderr() ); q( "no", 1, F ) } )
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
101 library(lattice)
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
102 print (xyplot(signature[,3]*100~signature[,1]|signature[,4], type = "l", xlim=c(1,26), main="ping-pong Signature of ${minquery}-${maxquery} against ${mintarget}-${maxtarget}nt small RNAs",
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
103 par.strip.text=list(cex=.5), strip=strip.custom(which.given=1, bg="lightblue"), scales=list(cex=0.5),
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
104 cex.main=1, cex=.5, xlab="overlap (nt)", ylab="ping-pong signal [%]",
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
105 pch=19, col="darkslateblue", lwd =1.5, cex.lab=1.2, cex.axis=1.2,
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
106 layout=c(4,12), as.table=TRUE, newpage = T) )
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
107 devnname = dev.off()
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
108 }
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
109
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
110 if (graph_type=="global") {
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
111 globalgraph()
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
112
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
113 }
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
114 if(graph_type=="lattice") {
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
115 treillisgraph()
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
116 }
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
117 </configfile>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
118 </configfiles>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
119
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
120 <outputs>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
121 <data name="output" format="tabular" label = "signature data frame"/>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
122 <data name="output2" format="pdf" label="Overlap probabilities"/>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
123 </outputs>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
124
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
125 <help>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
126
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
127 **What it does**
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
128
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
129 This tool computes the number of pairs by overlap classes (in nt) from a bowtie output file, the z-score calculated from these numbers of pairs, and the ping-pong signal as described in Brennecke et al (2009) Science.
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
130 The numerical options set the min and max size of both the query small rna class and the target small rna class
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
131 Three type of signals are plotted in separate pdf files, the number of pairs founds, the z-score calculated from these numbers of pairs, and the ping-pong signal as described in Brennecke et al (2009) Science.
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
132
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
133 </help>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
134
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
135 <test>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
136 <param name="genomeSource" value="history" />
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
137 <param name="ownFile" value ="transposons.fasta" ftype="fasta" />
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
138 <param name="input" value="sr_bowtie.output" ftype="tabular" />
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
139 <param name="minquery" value="23" />
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
140 <param name="maxquery" value="29" />
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
141 <param name="mintarget" value="23" />
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
142 <param name="maxtarget" value="29" />
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
143 <param name="minscope" value="1" />
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
144 <param name="maxscope" value="26" />
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
145 <param name="graph_type" value="global" />
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
146 <output name="readmap_dataframe" ftype="tabular" value="signature_data_frame.tab"/>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
147 <output name="readmap_PDF" ftype="pdf" value="Overlap_probabilities.pdf"/>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
148 </test>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
149
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
150
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
151
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
152 </tool>
d613dbee3ce4 Imported from capsule None
drosofff
parents:
diff changeset
153