annotate RPKM_saturation.xml @ 31:cc5eaa9376d8

Lance's updates
author nilesh
date Wed, 02 Oct 2013 02:20:04 -0400
parents 907d4b021ff6
children 580ee0c4bc4e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
1 <tool id="RPKM_saturation" name="RPKM Saturation" version="1.1">
29
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
2 <description>calculates raw count and RPKM values for transcript at exon, intron, and mRNA level</description>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
3 <requirements>
31
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
4 <requirement type="package" version="2.11.0">R</requirement>
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
5 <requirement type="package" version="1.7.1">numpy</requirement>
29
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
6 <requirement type="package" version="2.3.7">rseqc</requirement>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
7 </requirements>
31
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
8 <command> RPKM_saturation.py -i $input -o output -r $refgene
29
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
9
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
10 #if str($strand_type.strand_specific) == "pair"
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
11 -d
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
12 #if str($strand_type.pair_type) == "sd"
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
13 '1++,1--,2+-,2-+'
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
14 #else
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
15 '1+-,1-+,2++,2--'
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
16 #end if
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
17 #end if
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
18
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
19 #if str($strand_type.strand_specific) == "single"
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
20 -d
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
21 #if str($strand_type.single_type) == "s"
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
22 '++,--'
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
23 #else
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
24 '+-,-+'
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
25 #end if
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
26 #end if
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
27
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
28 -l $percentileFloor -u $percentileCeiling -s $percentileStep -c $rpkmCutoff
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
29
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
30 </command>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
31 <inputs>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
32 <param name="input" type="data" format="bam" label="input bam/sam file" />
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
33 <param name="refgene" type="data" format="bed" label="Reference gene model" />
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
34 <conditional name="strand_type">
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
35 <param name="strand_specific" type="select" label="Strand-specific?" value="None">
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
36 <option value="none">None</option>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
37 <option value="pair">Pair-End RNA-seq</option>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
38 <option value="single">Single-End RNA-seq</option>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
39 </param>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
40 <when value="pair">
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
41 <param name="pair_type" type="select" display="radio" label="Pair-End Read Type (format: mapped --> parent)" value="sd">
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
42 <option value="sd"> read1 (positive --> positive; negative --> negative), read2 (positive --> negative; negative --> positive)</option>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
43 <option value="ds">read1 (positive --> negative; negative --> positive), read2 (positive --> positive; negative --> negative)</option>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
44 </param>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
45 </when>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
46 <when value="single">
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
47 <param name="single_type" type="select" display="radio" label="Single-End Read Type (format: mapped --> parent)" value="s">
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
48 <option value="s">positive --> positive; negative --> negative</option>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
49 <option value="d">positive --> negative; negative --> positive</option>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
50 </param>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
51 </when>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
52 <when value="none"></when>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
53 </conditional>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
54 <param name="percentileFloor" type="integer" value="5" label="Begin sampling from this percentile (default=5)" />
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
55 <param name="percentileCeiling" type="integer" value="100" label="End sampling at this percentile (default=100)" />
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
56 <param name="percentileStep" type="integer" value="5" label="Sampling step size (default=5)" />
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
57 <param name="rpkmCutoff" type="text" value="0.01" label="Ignore transcripts with RPKM smaller than this number (default=0.01)" />
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
58 </inputs>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
59 <outputs>
31
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
60 <data format="xls" name="outputxls" from_work_dir="output.eRPKM.xls" label="${tool.name} on ${on_string} (RPKM XLS)"/>
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
61 <data format="xls" name="outputrawxls" from_work_dir="output.rawCount.xls" label="${tool.name} on ${on_string} (Raw Count XLS)"/>
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
62 <data format="r" name="outputr" from_work_dir="output.saturation.r" label="${tool.name} on ${on_string} (R Script)"/>
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
63 <data format="pdf" name="outputpdf" from_work_dir="output.saturation.pdf" label="${tool.name} on ${on_string} (PDF)"/>
29
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
64 </outputs>
31
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
65 <stdio>
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
66 <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
67 <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
68 </stdio>
29
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
69 <help>
31
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
70 RPKM_saturation.py
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
71 ++++++++++++++++++
29
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
72
31
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
73 The precision of any sample statitics (RPKM) is affected by sample size (sequencing depth);
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
74 \'resampling\' or \'jackknifing\' is a method to estimate the precision of sample statistics by
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
75 using subsets of available data. This module will resample a series of subsets from total RNA
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
76 reads and then calculate RPKM value using each subset. By doing this we are able to check if
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
77 the current sequencing depth was saturated or not (or if the RPKM values were stable or not)
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
78 in terms of genes' expression estimation. If sequencing depth was saturated, the estimated
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
79 RPKM value will be stationary or reproducible. By default, this module will calculate 20
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
80 RPKM values (using 5%, 10%, ... , 95%,100% of total reads) for each transcripts.
29
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
81
31
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
82 In the output figure, Y axis is "Percent Relative Error" or "Percent Error" which is used
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
83 to measures how the RPKM estimated from subset of reads (i.e. RPKMobs) deviates from real
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
84 expression level (i.e. RPKMreal). However, in practice one cannot know the RPKMreal. As a
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
85 proxy, we use the RPKM estimated from total reads to approximate RPKMreal.
29
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
86
31
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
87 .. image:: http://rseqc.sourceforge.net/_images/RelativeError.png
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
88 :height: 80 px
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
89 :width: 400 px
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
90 :scale: 100 %
29
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
91
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
92 Inputs
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
93 ++++++++++++++
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
94
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
95 Input BAM/SAM file
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
96 Alignment file in BAM/SAM format.
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
97
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
98 Reference gene model
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
99 Gene model in BED format.
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
100
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
101 Strand sequencing type (default=none)
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
102 See Infer Experiment tool if uncertain.
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
103
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
104 Options
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
105 ++++++++++++++
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
106
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
107 Skip Multiple Hit Reads
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
108 Use Multiple hit reads or use only uniquely mapped reads.
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
109
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
110 Only use exonic reads
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
111 Renders program only used exonic (UTR exons and CDS exons) reads, otherwise use all reads.
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
112
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
113 Output
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
114 ++++++++++++++
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
115
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
116 1. output..eRPKM.xls: RPKM values for each transcript
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
117 2. output.rawCount.xls: Raw count for each transcript
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
118 3. output.saturation.r: R script to generate plot
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
119 4. output.saturation.pdf:
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
120
31
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
121 .. image:: http://rseqc.sourceforge.net/_images/saturation.png
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
122 :height: 600 px
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
123 :width: 600 px
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
124 :scale: 80 %
29
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
125
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
126 - All transcripts were sorted in ascending order according to expression level (RPKM). Then they are divided into 4 groups:
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
127 1. Q1 (0-25%): Transcripts with expression level ranked below 25 percentile.
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
128 2. Q2 (25-50%): Transcripts with expression level ranked between 25 percentile and 50 percentile.
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
129 3. Q3 (50-75%): Transcripts with expression level ranked between 50 percentile and 75 percentile.
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
130 4. Q4 (75-100%): Transcripts with expression level ranked above 75 percentile.
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
131 - BAM/SAM file containing more than 100 million alignments will make module very slow.
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
132 - Follow example below to visualize a particular transcript (using R console)::
31
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
133
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
134 pdf("xxx.pdf") #starts the graphics device driver for producing PDF graphics
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
135 x &lt;- seq(5,100,5) #resampling percentage (5,10,15,...,100)
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
136 rpkm &lt;- c(32.95,35.43,35.15,36.04,36.41,37.76,38.96,38.62,37.81,38.14,37.97,38.58,38.59,38.54,38.67, 38.67,38.87,38.68, 38.42, 38.23) #Paste RPKM values calculated from each subsets
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
137 scatter.smooth(x,100*abs(rpkm-rpkm[length(rpkm)])/(rpkm[length(rpkm)]),type="p",ylab="Precent Relative Error",xlab="Resampling Percentage")
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
138 dev.off() #close graphical device
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
139
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
140 .. image:: http://rseqc.sourceforge.net/_images/saturation_eg.png
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
141 :height: 600 px
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
142 :width: 600 px
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
143 :scale: 80 %
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
144
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
145 -----
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
146
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
147 About RSeQC
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
148 +++++++++++
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
149
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
150 The RSeQC_ package provides a number of useful modules that can comprehensively evaluate high throughput sequence data especially RNA-seq data. "Basic modules" quickly inspect sequence quality, nucleotide composition bias, PCR bias and GC bias, while "RNA-seq specific modules" investigate sequencing saturation status of both splicing junction detection and expression estimation, mapped reads clipping profile, mapped reads distribution, coverage uniformity over gene body, reproducibility, strand specificity and splice junction annotation.
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
151
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
152 The RSeQC package is licensed under the GNU GPL v3 license.
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
153
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
154 .. image:: http://rseqc.sourceforge.net/_static/logo.png
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
155
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
156 .. _RSeQC: http://rseqc.sourceforge.net/
cc5eaa9376d8 Lance's updates
nilesh
parents: 29
diff changeset
157
29
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
158
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
159 </help>
907d4b021ff6 Uploaded
nilesh
parents:
diff changeset
160 </tool>