annotate readmap.xml @ 8:4e7f59d5ee18 draft

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/msp_sr_readmap_and_size_histograms commit e27d18d58ae095e7fad4b08b04370857a1d37964-dirty
author drosofff
date Tue, 02 Feb 2016 11:50:13 -0500
parents 9784e5046f04
children 44a0b0fa52a9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
9784e5046f04 planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/msp_sr_readmap_and_size_histograms commit 450d1b3d954cc7d96e53652d468811546951f995
drosofff
parents: 6
diff changeset
1 <tool id="Readmap" name="Generate readmap and histograms from alignment files" version="1.0.5">
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"/>
8
4e7f59d5ee18 planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/msp_sr_readmap_and_size_histograms commit e27d18d58ae095e7fad4b08b04370857a1d37964-dirty
drosofff
parents: 7
diff changeset
80 <param name="yrange" type="integer" size="6" value="0" label="y axis range" help="leave at 0 for autoscaling"/>
0
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,
8
4e7f59d5ee18 planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/msp_sr_readmap_and_size_histograms commit e27d18d58ae095e7fad4b08b04370857a1d37964-dirty
drosofff
parents: 7
diff changeset
131 group=polarity,
4e7f59d5ee18 planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/msp_sr_readmap_and_size_histograms commit e27d18d58ae095e7fad4b08b04370857a1d37964-dirty
drosofff
parents: 7
diff changeset
132 stack=TRUE,
0
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 {
7
9784e5046f04 planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/msp_sr_readmap_and_size_histograms commit 450d1b3d954cc7d96e53652d468811546951f995
drosofff
parents: 6
diff changeset
161 rows_per_page= 8; page_height_simple = 11.69; page_height_combi=11.69; extrarow=0 }
9784e5046f04 planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/msp_sr_readmap_and_size_histograms commit 450d1b3d954cc7d96e53652d468811546951f995
drosofff
parents: 6
diff changeset
162 ## rows_per_page= 8; page_height_simple = 11.69/7*n_genes; page_height_combi=11.69/9*(n_genes*2); extrarow=0 }
9784e5046f04 planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/msp_sr_readmap_and_size_histograms commit 450d1b3d954cc7d96e53652d468811546951f995
drosofff
parents: 6
diff changeset
163 ## rows_per_page= n_genes; page_height_simple = 11.69/n_genes/4; page_height_combi=11.69/(n_genes*2); extrarow=1 }
9784e5046f04 planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/msp_sr_readmap_and_size_histograms commit 450d1b3d954cc7d96e53652d468811546951f995
drosofff
parents: 6
diff changeset
164 if (n_samples > 4) {page_width = 8.2677*n_samples/4} else {page_width = 8.2677*n_samples/3} # to test
0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
165
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
166 pdf(file="${readmap_PDF}", paper="special", height=page_height_simple, width=page_width)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
167 for (i in seq(1,n_genes,rows_per_page)) {
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
168 start=i
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
169 end=i+rows_per_page-1
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
170 if (end>n_genes) {end=n_genes}
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
171 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
172 args.list=c(readmap_plot.list, list(nrow=rows_per_page, ncol=1,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
173 main=textGrob("Read Maps (nucleotide coordinates)", gp=gpar(cex=1), just="top"),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
174 left=textGrob("${ylabel}", gp=gpar(cex=1), vjust=1, rot=90)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
175 #sub=textGrob("readmap coordinates", gp=gpar(cex=.75), just="bottom")
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
176 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
177 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
178 do.call(grid.arrange, args.list)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
179 }
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
180 devname=dev.off()
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
181
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
182
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
183 pdf(file="${size_PDF}", paper="special", height=page_height_simple, width=page_width)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
184 for (i in seq(1,n_genes,rows_per_page)) {
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
185 start=i
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
186 end=i+rows_per_page-1
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
187 if (end>n_genes) {end=n_genes}
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
188 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
189 args.list=c(plot.list, list(nrow=rows_per_page, ncol=1,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
190 main=textGrob("Size distributions (in nucleotides)", gp=gpar(cex=1), just="top"),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
191 left=textGrob("${ylabel}", gp=gpar(cex=1), vjust=1, rot=90)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
192 #sub="readsize in nucleotides"
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
193 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
194 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
195 do.call(grid.arrange, args.list)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
196 }
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
197 devname=dev.off()
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
198
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
199 pdf(file="${combi_PDF}", paper="special", height=page_height_combi, width=page_width)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
200 for (i in seq(1,n_genes,rows_per_page/2)) {
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
201 start=i
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
202 end=i+rows_per_page/2-1
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
203 if (end>n_genes) {end=n_genes}
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
204 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
205 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
206 plot.list=rbind(read_plot.list, size_plot.list )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
207 args.list=c(plot.list, list(nrow=rows_per_page + extrarow, ncol=1,
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
208 main=textGrob("${title}", gp=gpar(cex=1), just="top"),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
209 left=textGrob("${ylabel}", gp=gpar(cex=1), vjust=1, rot=90),
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
210 sub=textGrob("${xlabel}", gp=gpar(cex=1), just="bottom")
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
211 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
212 )
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
213 do.call(grid.arrange, args.list)
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
214 }
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
215 devname=dev.off()
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
216
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
217
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
218 </configfile>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
219 </configfiles>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
220
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
221 <outputs>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
222 <data format="tabular" name="readmap_dataframe" label="Readmap dataframe"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
223 <data format="tabular" name="size_distribution_dataframe" label="Size distribution dataframe"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
224 <data format="pdf" name="readmap_PDF" label="Readmaps"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
225 <data format="pdf" name="size_PDF" label="Size distribution"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
226 <data format="pdf" name="combi_PDF" label="Size distribution and Readmaps"/>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
227 </outputs>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
228 <help>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
229
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
230 **What it does**
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
231
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
232 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
233 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
234 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
235
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
236
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
237 .. class:: warningmark
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
238
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
239 '''TIP''' The input data can be produced using the sRbowtie tool.
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
240
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
241 ----
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
242
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
243 '''Example'''
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
244
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
245 Query sequence::
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
246 For a SAM file as the following:
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
247
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
248 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
249
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
250 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
251
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
252 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
253
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
254 produce a plot like this:
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
255
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
256 ----
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
257
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
258 .. image:: static/images/readmap.png
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
259 :height: 800
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
260 :width: 500
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
261
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
262 </help>
1
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
263 <tests>
0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
264 <test>
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
265 <param name="genomeSource" value="history" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
266 <param name="ownFile" value ="transposons.fasta" ftype="fasta" />
1
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
267 <param name="series_0|input" value="sample1.srbowtie_out" ftype="tabular"/>
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
268 <param name="series_0|norm" value="1" />
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
269 <param name="series_1|input" value="sample2.srbowtie_out" ftype="tabular"/>
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
270 <param name="series_1|norm" value="1" />
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
271 <param name="series_2|input" value="sample3.srbowtie_out" ftype="tabular"/>
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
272 <param name="series_2|norm" value="1" />
0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
273 <param name="minquery" value="20" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
274 <param name="maxquery" value="30" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
275 <param name="title" value="Readmaps and size distributions" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
276 <param name="xlabel" value="Coordinates/read size" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
277 <param name="ylabel" value="Number of reads" />
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
278 <param name="rows_per_page" value="8" />
1
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
279 <output name="readmap_dataframe" ftype="tabular" file="Readmap_dataframe.tab" />
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
280 <output name="size_distribution_dataframe" ftype="tabular" file="Size_distribution_dataframe.tab" />
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
281 <output name="readmap_PDF" ftype="pdf" file="Readmaps.pdf" />
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
282 <output name="size_PDF" ftype="pdf" file="Size_distribution.pdf" />
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
283 <output name="combi_PDF" ftype="pdf" file="Size_distribution_and_Readmaps.pdf" />
0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
284 </test>
1
eee9701a7491 Uploaded
mvdbeek
parents: 0
diff changeset
285 </tests>
0
9af9983dcd02 Imported from capsule None
drosofff
parents:
diff changeset
286 </tool>