annotate readmap.xml @ 6:0f7cf7fb3465 draft

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