annotate readmap.xml @ 0:9af9983dcd02 draft

Imported from capsule None
author drosofff
date Mon, 03 Nov 2014 10:28:40 -0500
parents
children eee9701a7491
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
1 <tool id="Readmap" name="Generate readmap and histograms from alignment files" version="1.0.0">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
2 <description>from sRbowtie aligment</description>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
3 <requirements>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
4 <requirement type="package" version="0.12.7">bowtie</requirement>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
5 <requirement type="package" version="0.1.18">samtools</requirement>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
6 <requirement type="package" version="0.7.7">pysam</requirement>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
7 <requirement type="package" version="2.14">biocbasics</requirement>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
8 <requirement type="package" version="3.0.3">R</requirement>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
9 </requirements>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
10 <parallelism method="basic"></parallelism>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
11 <command interpreter="python">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
12 readmap.py
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
13 #if $refGenomeSource.genomeSource == "history":
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
14 --reference_fasta ## sys.argv[2]
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
15 $refGenomeSource.ownFile ## index source
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
16 #else:
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
17 #silent reference= filter( lambda x: str( x[0] ) == str( $refGenomeSource.series[0].input.dbkey ), $__app__.tool_data_tables[ 'bowtie_indexes' ].get_fields() )[0][-1]
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
18 --reference_bowtie_index
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
19 $reference
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
20 #end if
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
21 --rcode
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
22 $plotCode
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
23 --output_readmap
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
24 $readmap_dataframe
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
25 --output_size_distribution
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
26 $size_distribution_dataframe
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
27 --minquery
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
28 $minquery
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
29 --maxquery
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
30 $maxquery
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
31 --input
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
32 #for $i in $refGenomeSource.series
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
33 $i.input
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
34 #end for
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
35 --ext
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
36 #for $i in $refGenomeSource.series
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
37 $i.input.ext
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
38 #end for
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
39 --label
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
40 #for $i in $refGenomeSource.series
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
41 "$i.input.name"
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
42 #end for
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
43 --normalization_factor
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
44 #for $i in $refGenomeSource.series
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
45 $i.norm
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
46 #end for
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
47 #if $gff:
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
48 --gff
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
49 $gff
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
50 #end if
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
51
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
52 </command>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
53 <inputs>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
54 <conditional name="refGenomeSource">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
55 <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">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
56 <option value="indexed">Use a built-in index</option>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
57 <option value="history">Use one from the history</option>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
58 </param>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
59 <when value="indexed">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
60 <repeat name="series" title="Add alignment files">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
61 <param name="input" type="data" label="Select multiple alignments to parse">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
62 <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."/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
63 </param>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
64 <param name="norm" type="float" value="1" label="Indicate a normalization factor to compare multiple aligments"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
65 </repeat>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
66 </when>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
67 <when value="history">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
68 <param name="ownFile" type="data" format="fasta" label="Select a fasta file, that served as the reference index for the alignments" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
69 <repeat name="series" title="Add alignment files">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
70 <param name="input" type="data" label="Select multiple alignments to parse"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
71 <param name="norm" type="float" value="1" label="Indicate a normalization factor to compare multiple aligments"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
72 </repeat>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
73 </when>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
74 </conditional>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
75 <param name="gff" type="data" format="gff3" optional="true" label="Optional: select a GFF to investigate regions of interest" help="GFF must match genome build"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
76 <!-- <validator type="dataset_metadata_in_data_table" table_name="bowtie_indexes" metadata_name="dbkey" metadata_column="0" message="GFF database and alignment file databse do not match!"/> -->
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
77 <param name="minquery" type="integer" size="3" value="18" label="Min size of query small RNAs" help="'18' = 18 nucleotides"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
78 <param name="maxquery" type="integer" size="3" value="28" label="Max size of query small RNAs" help="'28' = 28 nucleotides"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
79 <param name="title" type="text" size="15" value= "Readmaps and size distributions" label="Main Titles"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
80 <param name="xlabel" type="text" size="15" value="Coordinates/read size" label="x axis label"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
81 <param name="ylabel" type="text" size="15" value="Number of reads" label="y axis label"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
82 <param name="rows_per_page" type="text" size="9" value="8" label="How many items to display per page?">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
83 <validator type="in_range" min="6" max="20" message="Select between 6 and 20 rows, as the readability will suffer otherwise."/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
84 </param>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
85 </inputs>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
86 <configfiles>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
87 <configfile name="plotCode">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
88 ## Setup R error handling to go to stderr
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
89 options( show.error.messages=F,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
90 error = function () { cat( geterrmessage(), file=stderr() ); q( "no", 1, F ) } )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
91 library(RColorBrewer)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
92 library(lattice)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
93 library(latticeExtra)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
94 library(grid)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
95 library(gridExtra)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
96
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
97 ## data frames implementation
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
98
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
99 rm=read.delim("${readmap_dataframe}", header=T, row.names=NULL)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
100 n_samples=length(unique(rm\$sample))
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
101 genes=unique(levels(rm\$gene))
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
102 per_gene_readmap=lapply(genes, function(x) subset(rm, gene==x)) ####### ?
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
103 n_genes=length(per_gene_readmap)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
104
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
105 size=read.delim("${size_distribution_dataframe}", header=T, row.names=NULL)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
106 per_gene_size=lapply(genes, function(x) subset(size, gene==x)) ###### ?
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
107
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
108 ## end of data frames implementation
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
109
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
110 ## functions
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
111
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
112 plot_readmap=function(df, ...) {
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
113 combineLimits(xyplot(count~coord|factor(sample, levels=unique(sample))+reorder(gene, count, function(x) -sum(abs(x))),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
114 data=df,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
115 type='h',
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
116 scales= list(relation="free", x=list(rot=0, cex=0.7, axs="i", tck=0.5), y=list(tick.number=4, rot=90, cex=0.7)),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
117 xlab=NULL, main=NULL, ylab=NULL,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
118 as.table=T,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
119 origin = 0,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
120 horizontal=FALSE,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
121 group=polarity,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
122 col=c("red","blue"),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
123 par.strip.text = list(cex=0.7),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
124 ...))
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
125 }
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
126
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
127 plot_size_distribution= function(df, ...) {
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
128 smR.prepanel=function(x,y,...){; yscale=c(-max(abs(y)), max(abs(y)));list(ylim=yscale);}
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
129 bc= barchart(count~as.factor(size)|factor(sample, levels=unique(sample))+gene, data = df, origin = 0,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
130 horizontal=FALSE,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
131 group=polarity,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
132 stack=TRUE,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
133 col=c('red', 'blue'),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
134 cex=0.75,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
135 scales=list(y=list(tick.number=4, rot=90, relation="free", cex=0.7), x=list(cex=0.7) ),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
136 prepanel=smR.prepanel,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
137 xlab = NULL,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
138 ylab = NULL,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
139 main = NULL,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
140 as.table=TRUE,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
141 newpage = T,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
142 par.strip.text = list(cex=0.7),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
143 ...)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
144 combineLimits(bc)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
145 }
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
146
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
147 ## end of functions
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
148
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
149 ## function parameters'
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
150
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
151 par.settings.readmap=list(layout.heights=list(top.padding=0, bottom.padding=-2.5), strip.background = list(col=c("lightblue","lightgreen")) )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
152 par.settings.size=list(layout.heights=list(top.padding=-1, bottom.padding=-2.5), strip.background = list(col=c("lightblue","lightgreen")) )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
153 par.settings.combination.readmap=list(layout.heights=list(top.padding=0, bottom.padding=-3), strip.background=list(col=c("lightblue","lightgreen")) )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
154 par.settings.combination.size=list(layout.heights=list(top.padding=-2, bottom.padding=-0.5), strip.background=list(col=c("lightblue", "lightgreen")) )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
155
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
156 ## end of function parameters'
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
157
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
158 ## GRAPHS
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
159
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
160 if (n_genes > 7) {page_height_simple = 11.69; page_height_combi=11.69; rows_per_page=${rows_per_page}; extrarow=0 } else {
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
161 rows_per_page= n_genes; page_height_simple = 11.69/n_genes/4; page_height_combi=11.69/(n_genes*2); extrarow=1 }
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
162 if (n_samples > 4) {page_width = 8.2677*n_samples/4} else {page_width = 8.2677*n_samples/3} # to test
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
163
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
164 pdf(file="${readmap_PDF}", paper="special", height=page_height_simple, width=page_width)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
165 for (i in seq(1,n_genes,rows_per_page)) {
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
166 start=i
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
167 end=i+rows_per_page-1
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
168 if (end>n_genes) {end=n_genes}
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
169 readmap_plot.list=lapply(per_gene_readmap[start:end], function(x) plot_readmap(x, par.settings=par.settings.readmap))
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
170 args.list=c(readmap_plot.list, list(nrow=rows_per_page, ncol=1,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
171 main=textGrob("Read Maps (nucleotide coordinates)", gp=gpar(cex=1), just="top"),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
172 left=textGrob("${ylabel}", gp=gpar(cex=1), vjust=1, rot=90)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
173 #sub=textGrob("readmap coordinates", gp=gpar(cex=.75), just="bottom")
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
174 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
175 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
176 do.call(grid.arrange, args.list)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
177 }
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
178 devname=dev.off()
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
179
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
180
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
181 pdf(file="${size_PDF}", paper="special", height=page_height_simple, width=page_width)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
182 for (i in seq(1,n_genes,rows_per_page)) {
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
183 start=i
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
184 end=i+rows_per_page-1
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
185 if (end>n_genes) {end=n_genes}
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
186 plot.list=lapply(per_gene_size[start:end], function(x) plot_size_distribution(x, par.settings=par.settings.size) )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
187 args.list=c(plot.list, list(nrow=rows_per_page, ncol=1,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
188 main=textGrob("Size distributions (in nucleotides)", gp=gpar(cex=1), just="top"),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
189 left=textGrob("${ylabel}", gp=gpar(cex=1), vjust=1, rot=90)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
190 #sub="readsize in nucleotides"
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
191 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
192 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
193 do.call(grid.arrange, args.list)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
194 }
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
195 devname=dev.off()
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
196
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
197 pdf(file="${combi_PDF}", paper="special", height=page_height_combi, width=page_width)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
198 for (i in seq(1,n_genes,rows_per_page/2)) {
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
199 start=i
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
200 end=i+rows_per_page/2-1
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
201 if (end>n_genes) {end=n_genes}
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
202 read_plot.list=lapply(per_gene_readmap[start:end], function(x) plot_readmap(x, par.settings=par.settings.combination.readmap))
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
203 size_plot.list=lapply(per_gene_size[start:end], function(x) plot_size_distribution(x, strip=FALSE, par.settings=par.settings.combination.size))
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
204 plot.list=rbind(read_plot.list, size_plot.list )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
205 args.list=c(plot.list, list(nrow=rows_per_page + extrarow, ncol=1,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
206 main=textGrob("${title}", gp=gpar(cex=1), just="top"),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
207 left=textGrob("${ylabel}", gp=gpar(cex=1), vjust=1, rot=90),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
208 sub=textGrob("${xlabel}", gp=gpar(cex=1), just="bottom")
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
209 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
210 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
211 do.call(grid.arrange, args.list)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
212 }
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
213 devname=dev.off()
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
214
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
215
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
216 </configfile>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
217 </configfiles>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
218
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
219 <outputs>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
220 <data format="tabular" name="readmap_dataframe" label="Readmap dataframe"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
221 <data format="tabular" name="size_distribution_dataframe" label="Size distribution dataframe"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
222 <data format="pdf" name="readmap_PDF" label="Readmaps"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
223 <data format="pdf" name="size_PDF" label="Size distribution"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
224 <data format="pdf" name="combi_PDF" label="Size distribution and Readmaps"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
225 </outputs>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
226 <help>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
227
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
228 **What it does**
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
229
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
230 Takes one or more alignment files (BAM, SAM or tabular bowtie output) as input and produces a "Readmap",
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
231 where by default for each "chromosome" the position of the read is recorded on the x-axis, and the y-axis indicates
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
232 the number of reads per position. Reads that map in sense are on the top, reads that map antisense are on the bottom.
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
233
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
234
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
235 .. class:: warningmark
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
236
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
237 '''TIP''' The input data can be produced using the sRbowtie tool.
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
238
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
239 ----
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
240
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
241 '''Example'''
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
242
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
243 Query sequence::
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
244 For a SAM file as the following:
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
245
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
246 5 16 2L_79 24393 255 17M * 0 0 CCTTCATCTTTTTTTTT IIIIIIIIIIIIIIIII XA:i:0 MD:Z:17 NM:i:0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
247
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
248 11 0 2R_1 12675 255 21M * 0 0 AAAAAAAACGCGTCCTTGTGC IIIIIIIIIIIIIIIIIIIII XA:i:0 MD:Z:21 NM:i:0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
249
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
250 2 16 2L_5 669 255 23M * 0 0 TGTTGCTGCATTTCTTTTTTTTT IIIIIIIIIIIIIIIIIIIIIII XA:i:0 MD:Z:23 NM:i:0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
251
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
252 produce a plot like this:
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
253
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
254 ----
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
255
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
256 .. image:: static/images/readmap.png
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
257 :height: 800
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
258 :width: 500
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
259
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
260 </help>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
261
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
262 <test>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
263 <param name="genomeSource" value="history" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
264 <param name="ownFile" value ="transposons.fasta" ftype="fasta" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
265 <param name="input" value="sample1.srbowtie_out, sample2.srbowtie_out, sample3.srbowtie_out" ftype="tabular" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
266 <param name="norm" value="1,1,1" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
267 <param name="minquery" value="20" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
268 <param name="maxquery" value="30" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
269 <param name="title" value="Readmaps and size distributions" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
270 <param name="xlabel" value="Coordinates/read size" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
271 <param name="ylabel" value="Number of reads" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
272 <param name="rows_per_page" value="8" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
273 <output name="readmap_dataframe" ftype="tabular" value="Readmap_dataframe.tab" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
274 <output name="size_distribution_dataframe" ftype="tabular" value="Size_distribution_dataframe.tab" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
275 <output name="readmap_PDF" ftype="pdf" value="Readmaps.pdf" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
276 <output name="size_PDF" ftype="pdf" value="Size_distribution.pdf" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
277 <output name="combi_PDF" ftype="pdf" value="Size_distribution_and_Readmaps.pdf" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
278 </test>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
279
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
280 </tool>