annotate readmap.xml @ 4:dffa22efc6a8 draft

planemo upload for repository https://bitbucket.org/drosofff/gedtools/
author drosofff
date Mon, 29 Jun 2015 05:54:47 -0400
parents f6dc63230483
children 6ee5a6e89aa4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
f6dc63230483 planemo upload for repository https://bitbucket.org/drosofff/gedtools/
mvdbeek
parents: 2
diff changeset
1 <tool id="Readmap" name="Generate readmap and histograms from alignment files" version="1.0.2">
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.7.7">pysam</requirement>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
6 <requirement type="package" version="2.14">biocbasics</requirement>
1
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
7 <requirement type="package" version="1.9">numpy</requirement>
0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
8 </requirements>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
9 <command interpreter="python">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
10 readmap.py
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
11 #if $refGenomeSource.genomeSource == "history":
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
12 --reference_fasta ## sys.argv[2]
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
13 $refGenomeSource.ownFile ## index source
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
14 #else:
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
15 #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
16 --reference_bowtie_index
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
17 $reference
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
18 #end if
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
19 --rcode
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
20 $plotCode
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
21 --output_readmap
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
22 $readmap_dataframe
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
23 --output_size_distribution
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
24 $size_distribution_dataframe
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
25 --minquery
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
26 $minquery
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
27 --maxquery
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
28 $maxquery
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
29 --input
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
30 #for $i in $refGenomeSource.series
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
31 $i.input
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
32 #end for
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
33 --ext
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
34 #for $i in $refGenomeSource.series
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
35 $i.input.ext
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
36 #end for
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
37 --label
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
38 #for $i in $refGenomeSource.series
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
39 "$i.input.name"
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
40 #end for
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
41 --normalization_factor
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
42 #for $i in $refGenomeSource.series
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
43 $i.norm
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
44 #end for
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
45 #if $gff:
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
46 --gff
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
47 $gff
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
48 #end if
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
49
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
50 </command>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
51 <inputs>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
52 <conditional name="refGenomeSource">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
53 <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
54 <option value="indexed">Use a built-in index</option>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
55 <option value="history">Use one from the history</option>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
56 </param>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
57 <when value="indexed">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
58 <repeat name="series" title="Add alignment files">
4
dffa22efc6a8 planemo upload for repository https://bitbucket.org/drosofff/gedtools/
drosofff
parents: 3
diff changeset
59 <param name="input" type="data" label="Select multiple alignments to parse" format="tabular,sam,bam">
0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
60 <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
61 </param>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
62 <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
63 </repeat>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
64 </when>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
65 <when value="history">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
66 <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
67 <repeat name="series" title="Add alignment files">
4
dffa22efc6a8 planemo upload for repository https://bitbucket.org/drosofff/gedtools/
drosofff
parents: 3
diff changeset
68 <param name="input" type="data" label="Select multiple alignments to parse" format="tabular,sam,bam"/>
0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
69 <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
70 </repeat>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
71 </when>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
72 </conditional>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
73 <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
74 <!-- <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
75 <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
76 <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
77 <param name="title" type="text" size="15" value= "Readmaps and size distributions" label="Main Titles"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
78 <param name="xlabel" type="text" size="15" value="Coordinates/read size" label="x axis label"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
79 <param name="ylabel" type="text" size="15" value="Number of reads" label="y axis label"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
80 <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
81 <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
82 </param>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
83 </inputs>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
84 <configfiles>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
85 <configfile name="plotCode">
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
86 ## Setup R error handling to go to stderr
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
87 options( show.error.messages=F,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
88 error = function () { cat( geterrmessage(), file=stderr() ); q( "no", 1, F ) } )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
89 library(RColorBrewer)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
90 library(lattice)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
91 library(latticeExtra)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
92 library(grid)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
93 library(gridExtra)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
94
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
95 ## data frames implementation
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
96
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
97 rm=read.delim("${readmap_dataframe}", header=T, row.names=NULL)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
98 n_samples=length(unique(rm\$sample))
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
99 genes=unique(levels(rm\$gene))
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
100 per_gene_readmap=lapply(genes, function(x) subset(rm, gene==x)) ####### ?
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
101 n_genes=length(per_gene_readmap)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
102
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
103 size=read.delim("${size_distribution_dataframe}", header=T, row.names=NULL)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
104 per_gene_size=lapply(genes, function(x) subset(size, gene==x)) ###### ?
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
105
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
106 ## end of data frames implementation
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
107
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
108 ## functions
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
109
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
110 plot_readmap=function(df, ...) {
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
111 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
112 data=df,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
113 type='h',
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
114 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
115 xlab=NULL, main=NULL, ylab=NULL,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
116 as.table=T,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
117 origin = 0,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
118 horizontal=FALSE,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
119 group=polarity,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
120 col=c("red","blue"),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
121 par.strip.text = list(cex=0.7),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
122 ...))
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
123 }
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
124
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
125 plot_size_distribution= function(df, ...) {
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
126 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
127 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
128 horizontal=FALSE,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
129 group=polarity,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
130 stack=TRUE,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
131 col=c('red', 'blue'),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
132 cex=0.75,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
133 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
134 prepanel=smR.prepanel,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
135 xlab = NULL,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
136 ylab = NULL,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
137 main = NULL,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
138 as.table=TRUE,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
139 newpage = T,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
140 par.strip.text = list(cex=0.7),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
141 ...)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
142 combineLimits(bc)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
143 }
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
144
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
145 ## end of functions
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
146
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
147 ## function parameters'
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
148
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
149 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
150 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
151 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
152 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
153
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
154 ## end of function parameters'
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
155
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
156 ## GRAPHS
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
157
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
158 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
159 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
160 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
161
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
162 pdf(file="${readmap_PDF}", paper="special", height=page_height_simple, width=page_width)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
163 for (i in seq(1,n_genes,rows_per_page)) {
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
164 start=i
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
165 end=i+rows_per_page-1
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
166 if (end>n_genes) {end=n_genes}
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
167 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
168 args.list=c(readmap_plot.list, list(nrow=rows_per_page, ncol=1,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
169 main=textGrob("Read Maps (nucleotide coordinates)", gp=gpar(cex=1), just="top"),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
170 left=textGrob("${ylabel}", gp=gpar(cex=1), vjust=1, rot=90)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
171 #sub=textGrob("readmap coordinates", gp=gpar(cex=.75), just="bottom")
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
172 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
173 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
174 do.call(grid.arrange, args.list)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
175 }
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
176 devname=dev.off()
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
177
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
178
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
179 pdf(file="${size_PDF}", paper="special", height=page_height_simple, width=page_width)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
180 for (i in seq(1,n_genes,rows_per_page)) {
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
181 start=i
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
182 end=i+rows_per_page-1
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
183 if (end>n_genes) {end=n_genes}
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
184 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
185 args.list=c(plot.list, list(nrow=rows_per_page, ncol=1,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
186 main=textGrob("Size distributions (in nucleotides)", gp=gpar(cex=1), just="top"),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
187 left=textGrob("${ylabel}", gp=gpar(cex=1), vjust=1, rot=90)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
188 #sub="readsize in nucleotides"
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
189 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
190 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
191 do.call(grid.arrange, args.list)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
192 }
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
193 devname=dev.off()
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
194
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
195 pdf(file="${combi_PDF}", paper="special", height=page_height_combi, width=page_width)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
196 for (i in seq(1,n_genes,rows_per_page/2)) {
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
197 start=i
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
198 end=i+rows_per_page/2-1
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
199 if (end>n_genes) {end=n_genes}
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
200 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
201 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
202 plot.list=rbind(read_plot.list, size_plot.list )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
203 args.list=c(plot.list, list(nrow=rows_per_page + extrarow, ncol=1,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
204 main=textGrob("${title}", gp=gpar(cex=1), just="top"),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
205 left=textGrob("${ylabel}", gp=gpar(cex=1), vjust=1, rot=90),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
206 sub=textGrob("${xlabel}", gp=gpar(cex=1), just="bottom")
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
207 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
208 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
209 do.call(grid.arrange, args.list)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
210 }
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
211 devname=dev.off()
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
212
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
213
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
214 </configfile>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
215 </configfiles>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
216
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
217 <outputs>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
218 <data format="tabular" name="readmap_dataframe" label="Readmap dataframe"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
219 <data format="tabular" name="size_distribution_dataframe" label="Size distribution dataframe"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
220 <data format="pdf" name="readmap_PDF" label="Readmaps"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
221 <data format="pdf" name="size_PDF" label="Size distribution"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
222 <data format="pdf" name="combi_PDF" label="Size distribution and Readmaps"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
223 </outputs>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
224 <help>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
225
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
226 **What it does**
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
227
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
228 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
229 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
230 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
231
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
232
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
233 .. class:: warningmark
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
234
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
235 '''TIP''' The input data can be produced using the sRbowtie tool.
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
236
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
237 ----
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
238
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
239 '''Example'''
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
240
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
241 Query sequence::
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
242 For a SAM file as the following:
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
243
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
244 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
245
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
246 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
247
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
248 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
249
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
250 produce a plot like this:
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
251
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
252 ----
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
253
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
254 .. image:: static/images/readmap.png
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
255 :height: 800
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
256 :width: 500
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
257
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
258 </help>
1
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
259 <tests>
0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
260 <test>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
261 <param name="genomeSource" value="history" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
262 <param name="ownFile" value ="transposons.fasta" ftype="fasta" />
1
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
263 <param name="series_0|input" value="sample1.srbowtie_out" ftype="tabular"/>
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
264 <param name="series_0|norm" value="1" />
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
265 <param name="series_1|input" value="sample2.srbowtie_out" ftype="tabular"/>
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
266 <param name="series_1|norm" value="1" />
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
267 <param name="series_2|input" value="sample3.srbowtie_out" ftype="tabular"/>
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
268 <param name="series_2|norm" value="1" />
0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
269 <param name="minquery" value="20" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
270 <param name="maxquery" value="30" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
271 <param name="title" value="Readmaps and size distributions" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
272 <param name="xlabel" value="Coordinates/read size" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
273 <param name="ylabel" value="Number of reads" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
274 <param name="rows_per_page" value="8" />
1
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
275 <output name="readmap_dataframe" ftype="tabular" file="Readmap_dataframe.tab" />
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
276 <output name="size_distribution_dataframe" ftype="tabular" file="Size_distribution_dataframe.tab" />
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
277 <output name="readmap_PDF" ftype="pdf" file="Readmaps.pdf" />
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
278 <output name="size_PDF" ftype="pdf" file="Size_distribution.pdf" />
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
279 <output name="combi_PDF" ftype="pdf" file="Size_distribution_and_Readmaps.pdf" />
0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
280 </test>
1
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
281 </tests>
0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
282 </tool>