changeset 50:f242ee103277 draft

planemo upload for repository https://github.com/lparsons/galaxy_tools/tree/master/tools/rseqc commit 91ad241aa3f34b70649d13a5f18611da7577a5ee
author lparsons
date Tue, 03 May 2016 16:36:57 -0400
parents 6b33e31bda10
children 09846d5169fa
files README.txt RPKM_saturation.xml geneBody_coverage.xml junction_saturation.xml read_quality.xml test-data/hg19.HouseKeepingGenes_30.bed test-data/output.eRPKM.xls test-data/output.geneBodyCoverage.curves.pdf test-data/output.qual.r test-data/output.rawCount.xls test-data/output.saturation.r test-data/output2.geneBodyCoverage.curves.pdf test-data/output2.geneBodyCoverage.heatMap.pdf test-data/output2.geneBodyCoverage.r test-data/output2.geneBodyCoverage.txt test-data/pairend_strandspecific_51mer_hg19_chr1_1-100000.bigwig test-data/pairend_strandspecific_51mer_hg19_random.bam tool_dependencies.xml
diffstat 18 files changed, 216 insertions(+), 279 deletions(-) [+]
line wrap: on
line diff
--- a/README.txt	Thu Jul 16 17:43:43 2015 -0400
+++ b/README.txt	Tue May 03 16:36:57 2016 -0400
@@ -16,9 +16,8 @@
 
 The RSeQC package and associated documentation can be found at: http://rseqc.sourceforge.net/
 
-The galaxy wrapper code was written by 
+The galaxy wrapper code was written by
     Nilesh Kavthekar, School of Engineering and Applied Sciences, University of Pennsylvania, Class of 2016
-Modified by 
+Modified by
     Lance Parsons, Lewis-Sigler Institute for Integrative Genomics, Princeton University,
     Bjorn Gruning, University of Freiburg, bjoern.gruening@gmail.com
-The development of the wrapper code is housed on BitBucket at: https://bitbucket.org/lance_parsons/rseqc_galaxy_wrapper
--- a/RPKM_saturation.xml	Thu Jul 16 17:43:43 2015 -0400
+++ b/RPKM_saturation.xml	Tue May 03 16:36:57 2016 -0400
@@ -77,17 +77,30 @@
         <data format="pdf" name="outputpdf" from_work_dir="output.saturation.pdf" label="${tool.name} on ${on_string} (PDF)"/>
     </outputs>
 
-    <!-- Unable to succefully run this script with test data
     <tests>
         <test>
-            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
-            <param name="refgene" value="hg19_RefSeq_chr1_1-100000.bed"/>
-            <output name="outputxls" file="output.eRPKM.xls"/>
-            <output name="outputrawxls" file="output.rawCount.xls"/>
-            <output name="outputr" file="output.saturation.r"/>
+            <param name="input" value="pairend_strandspecific_51mer_hg19_random.bam"/>
+            <param name="refgene" value="hg19.HouseKeepingGenes_30.bed"/>
+            <output name="outputxls">
+              <assert_contents>
+                <has_n_columns n="26" />
+                <has_line_matching expression="chr1\t16174358\t16266950\tNM_015001.*" />
+              </assert_contents>
+            </output>
+            <output name="outputrawxls">
+              <assert_contents>
+                <has_n_columns n="26" />
+                <has_line_matching expression="chr1\t16174358\t16266950\tNM_015001.*" />
+              </assert_contents>
+            </output>
+            <output name="outputr">
+              <assert_contents>
+                <has_text text="pdf('output.saturation.pdf')" />
+                <has_line_matching expression="S5=c\(\d+\.\d+\)" />
+              </assert_contents>
+            </output>
         </test>
     </tests>
-    -->
 
     <help><![CDATA[
 RPKM_saturation.py
--- a/geneBody_coverage.xml	Thu Jul 16 17:43:43 2015 -0400
+++ b/geneBody_coverage.xml	Tue May 03 16:36:57 2016 -0400
@@ -1,144 +1,130 @@
-<tool id="rseqc_geneBody_coverage" name="Gene Body Converage (BAM)" version="2.4galaxy1">
-    <description>
-        Read coverage over gene body.
-    </description>
+<tool id="rseqc_geneBody_coverage" name="Gene Body Converage (BAM)" version="2.4galaxy2">
+  <description>
+    Read coverage over gene body.
+  </description>
+
+  <macros>
+    <import>rseqc_macros.xml</import>
+  </macros>
 
-    <macros>
-        <import>rseqc_macros.xml</import>
-    </macros>
+  <requirements>
+    <expand macro="requirement_package_r" />
+    <expand macro="requirement_package_numpy" />
+    <expand macro="requirement_package_rseqc" />
+  </requirements>
 
-    <requirements>
-        <expand macro="requirement_package_r" />
-        <expand macro="requirement_package_numpy" />
-        <expand macro="requirement_package_rseqc" />
-    </requirements>
+  <expand macro="stdio" />
 
-    <expand macro="stdio" />
+  <version_command><![CDATA[geneBody_coverage.py --version]]></version_command>
 
-    <version_command><![CDATA[geneBody_coverage.py --version]]></version_command>
+  <command><![CDATA[
+    #for $i, $input in enumerate($inputs):
+    #set $index = $i+1
+    #set $safename = ''.join(c in '_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' and c or '_' for c in $input.display_name)
+    #set $fname = 'd' + str($index) + '_' + str($safename) + ".bam"
+    ln -s '$input' '${fname}' &&
+    ln -s '$input.metadata.bam_index' '${fname}.bai' &&
+    echo '${fname}' >> input_list.txt &&
+    #end for
+    geneBody_coverage.py -i input_list.txt -r $refgene --minimum_length $minimum_length -o output
+    ]]>
+  </command>
 
-    <command><![CDATA[
-        #set $safename = ''.join(c in '_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' and c or '_' for c in $input.display_name)
-        #set $fname = "d1_" + str($safename) + ".bam"
-        ln -s '${input}' '${fname}' &&
-        ln -s '${input.metadata.bam_index}' '${fname}.bai' &&
-        echo '${fname}' > input_list.txt &&
-        #for $i, $additional_input in enumerate($additionalinputs):
-            #set $index = $i+2
-            #set $safename = ''.join(c in '_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' and c or '_' for c in $additional_input.file.display_name)
-            #set $fname = 'd' + str($index) + '_' + str($safename) + ".bam"
-            ln -s '$additional_input.file' '${fname}' &&
-            ln -s '$additional_input.file.metadata.bam_index' '${fname}.bai' &&
-            echo '${fname}' >> input_list.txt &&
-        #end for
-        geneBody_coverage.py -i input_list.txt -r $refgene --minimum_length $minimum_length -o output
-        ]]>
-    </command>
+  <inputs>
+    <param name="inputs" type="data" label="Input .bam File(s)" format="bam" help="(--input-file)" multiple="true"/>
+    <param name="refgene" type="data" format="bed" label="reference gene model" help="(--refgene)"/>
+    <param name="minimum_length" type="integer" value="100" label="Minimum mRNA length in bp (default: 100)" help="mRNA that are shorter than this value will be skipped (--minimum_length)." />
+  </inputs>
 
-    <inputs>
-        <param name="input" type="data" label="Input .bam File" format="bam" help="(--input-file)"/>
-        <repeat name="additionalinputs" title="Additional input .bam files">
-            <param name="file" type="data" label="Additional input .bam file" format="bam" />
-        </repeat>
-        <param name="refgene" type="data" format="bed" label="reference gene model" help="(--refgene)"/>
-        <param name="minimum_length" type="integer" value="100" label="Minimum mRNA length in bp (default: 100)" help="mRNA that are shorter than this value will be skipped (--minimum_length)." />
-    </inputs>
-
-    <outputs>
-        <data name="outputcurvespdf" format="pdf" from_work_dir="output.geneBodyCoverage.curves.pdf" label="${tool.name} on ${on_string} (Curves PDF)" />
-        <data name="outputheatmappdf" format="pdf" from_work_dir="output.geneBodyCoverage.heatMap.pdf" label="${tool.name} on ${on_string} (HeatMap PDF)">
-            <filter>len(additionalinputs) >= 2</filter>
-        </data>
-        <data name="outputr" format="txt" from_work_dir="output.geneBodyCoverage.r" label="${tool.name} on ${on_string} (R Script)" />
-        <data name="outputtxt" format="txt" from_work_dir="output.geneBodyCoverage.txt" label="${tool.name} on ${on_string} (Text)" />
-    </outputs>
+  <outputs>
+    <data name="outputcurvespdf" format="pdf" from_work_dir="output.geneBodyCoverage.curves.pdf" label="${tool.name} on ${on_string} (Curves PDF)" />
+    <data name="outputheatmappdf" format="pdf" from_work_dir="output.geneBodyCoverage.heatMap.pdf" label="${tool.name} on ${on_string} (HeatMap PDF)">
+      <filter>len(inputs) >= 3</filter>
+    </data>
+    <data name="outputr" format="txt" from_work_dir="output.geneBodyCoverage.r" label="${tool.name} on ${on_string} (R Script)" />
+    <data name="outputtxt" format="txt" from_work_dir="output.geneBodyCoverage.txt" label="${tool.name} on ${on_string} (Text)" />
+  </outputs>
 
-    <tests>
-        <test>
-            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
-            <param name="refgene" value="hg19_RefSeq_chr1_1-100000.bed"/>
-            <output name="outputcurvespdf" file="output.geneBodyCoverage.curves.pdf"/>
-            <output name="outputr" file="output.geneBodyCoverage.r"/>
-            <output name="outputtxt" file="output.geneBodyCoverage.txt"/>
-        </test>
-        <test>
-            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
-            <param name="file_0" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
-            <param name="file_1" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
-            <param name="refgene" value="hg19_RefSeq_chr1_1-100000.bed"/>
-            <output name="outputcurvespdf" file="output2.geneBodyCoverage.curves.pdf"/>
-            <output name="outputcurvespdf" file="output2.geneBodyCoverage.heatMap.pdf"/>
-            <output name="outputr" file="output2.geneBodycoverage.r"/>
-            <output name="outputtxt" file="output2.geneBodyCoverage.txt"/>
-        </test>
+  <!-- PDF Files contain R version, must avoid checking for diff -->
+  <tests>
+    <test>
+      <param name="inputs" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
+      <param name="refgene" value="hg19_RefSeq_chr1_1-100000.bed"/>
+      <!-- <output name="outputcurvespdf" file="output.geneBodyCoverage.curves.pdf"/> -->
+      <output name="outputr" file="output.geneBodyCoverage.r"/>
+      <output name="outputtxt" file="output.geneBodyCoverage.txt"/>
+    </test>
+    <test>
+      <param name="inputs" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam,pairend_strandspecific_51mer_hg19_chr1_1-100000.bam,pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
+      <param name="refgene" value="hg19_RefSeq_chr1_1-100000.bed"/>
+      <!-- <output name="outputcurvespdf" file="output2.geneBodyCoverage.curves.pdf"/> -->
+      <!-- <output name="outputheatmappdf" file="output2.geneBodyCoverage.heatMap.pdf"/> -->
+      <output name="outputr" file="output2.geneBodycoverage.r"/>
+      <output name="outputtxt" file="output2.geneBodyCoverage.txt"/>
+    </test>
 
-    </tests>
+  </tests>
 
-    <help><![CDATA[
-geneBody_coverage.py
-++++++++++++++++++++
+  <help><![CDATA[
+    ## geneBody_coverage.py
 
-Read coverage over gene body. This module is used to check if read coverage is uniform and if there is any 5\'/3\' bias. This module scales all transcripts to 100 nt and calculates the number of reads covering each nucleotide position. Finally, it generates plots illustrating the coverage profile along the gene body.
+    Read coverage over gene body. This module is used to check if read coverage is uniform and if there is any 5\'/3\' bias. This module scales all transcripts to 100 nt and calculates the number of reads covering each nucleotide position. Finally, it generates plots illustrating the coverage profile along the gene body.
 
-If 3 or more BAM files were provided. This program generates a lineGraph and a heatmap. If fewer than 3 BAM files were provided, only lineGraph is generated. See below for examples.
+    If 3 or more BAM files were provided. This program generates a lineGraph and a heatmap. If fewer than 3 BAM files were provided, only lineGraph is generated. See below for examples.
 
-When heatmap is generated, samples are ranked by the "skewness" of the coverage: Sample with best (worst) coverage will be displayed at the top (bottom) of the heatmap.
-Coverage skewness was measured by `Pearson’s skewness coefficients <http://en.wikipedia.org/wiki/Skewness#Pearson.27s_skewness_coefficients>`_
+    When heatmap is generated, samples are ranked by the "skewness" of the coverage: Sample with best (worst) coverage will be displayed at the top (bottom) of the heatmap.
+    Coverage skewness was measured by `Pearson’s skewness coefficients <http://en.wikipedia.org/wiki/Skewness#Pearson.27s_skewness_coefficients>`_
 
     .. image:: http://rseqc.sourceforge.net/_images/geneBody_workflow.png
-        :width: 800 px
-        :scale: 80 %
+    :width: 800 px
+    :scale: 80 %
 
 
-Inputs
-++++++++++++++
+    ## Inputs
+
+    Input BAM/SAM file
+    Alignment file in BAM/SAM format.
 
-Input BAM/SAM file
-	Alignment file in BAM/SAM format.
+    Reference gene model
+    Gene Model in BED format.
 
-Reference gene model
-	Gene Model in BED format.
-
-Minimum mRNA length
+    Minimum mRNA length
     Minimum mRNA length (bp). mRNA that are shorter than this value will be skipped (default is 100).
 
-Outputs
-++++++++++++++
-Text
+    ## Outputs
+
+    Text
     Table that includes the data used to generate the plots
 
-R Script
+    R Script
     R script file that reads the data and generates the plot
 
-PDF
+    PDF
     The final plot, in PDF format
 
-Example plots:
+    Example plots:
     .. image:: http://rseqc.sourceforge.net/_images/Aug_26.geneBodyCoverage.curves.png
-        :height: 600 px
-        :width: 600 px
-        :scale: 80 %
+    :height: 600 px
+    :width: 600 px
+    :scale: 80 %
 
     .. image:: http://rseqc.sourceforge.net/_images/Aug_26.geneBodyCoverage.heatMap.png
-        :height: 600 px
-        :width: 600 px
-        :scale: 80 %
+    :height: 600 px
+    :width: 600 px
+    :scale: 80 %
 
------
+    ## About RSeQC
 
-About RSeQC
-+++++++++++
+    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.
 
-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.
+    The RSeQC package is licensed under the GNU GPL v3 license.
 
-The RSeQC package is licensed under the GNU GPL v3 license.
-
-.. image:: http://rseqc.sourceforge.net/_static/logo.png
+    .. image:: http://rseqc.sourceforge.net/_static/logo.png
 
-.. _RSeQC: http://rseqc.sourceforge.net/
-]]>
-    </help>
+    .. _RSeQC: http://rseqc.sourceforge.net/
+    ]]>
+  </help>
 
-    <expand macro="citations" />
+  <expand macro="citations" />
 
 </tool>
--- a/junction_saturation.xml	Thu Jul 16 17:43:43 2015 -0400
+++ b/junction_saturation.xml	Tue May 03 16:36:57 2016 -0400
@@ -50,6 +50,7 @@
                     <validator type="in_range" min="0" max="100" />
                 </param>
             </when>
+            <when value="false"/>
         </conditional>
     </inputs>
 
--- a/read_quality.xml	Thu Jul 16 17:43:43 2015 -0400
+++ b/read_quality.xml	Tue May 03 16:36:57 2016 -0400
@@ -36,16 +36,12 @@
         <data format="pdf" name="outputboxpdf" from_work_dir="output.qual.boxplot.pdf" label="${tool.name} on ${on_string} (Boxplot PDF)" />
     </outputs>
 
-    <!-- Unable to succefully run this script with test data
     <tests>
         <test>
-            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bigwig"/>
+            <param name="input" value="pairend_strandspecific_51mer_hg19_random.bam"/>
             <output name="outputr" file="output.qual.r"/>
-            <output name="outputheatpdf" file="output.qual.heatmap.pdf"/>
-            <output name="outputboxpdf" file="output.qual.boxplot.pdf"/>
         </test>
     </tests>
-    -->
 
     <help><![CDATA[
 read_quality.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/hg19.HouseKeepingGenes_30.bed	Tue May 03 16:36:57 2016 -0400
@@ -0,0 +1,30 @@
+chr1	100652477	100715409	NM_001918	0	-	100661810	100715376	0	11	9501,72,192,78,167,217,122,182,76,124,84,	0,19308,19523,23772,27895,29061,31704,43811,48514,53839,62848,
+chr1	175913961	176176380	NM_022457	0	-	175914288	176176114	0	20	345,45,161,125,118,117,82,109,144,136,115,58,77,60,69,120,77,98,60,673,	0,2369,42117,43462,44536,82746,98360,98884,101355,136326,140950,171798,190184,191662,204180,218043,218989,231084,239807,261746,
+chr1	150980972	151008189	NM_021222	0	+	150981108	151006710	0	8	175,93,203,185,159,95,159,1908,	0,9315,9970,16114,17018,18736,20289,25309,
+chr1	6281252	6296044	NM_012405	0	-	6285139	6295971	0	5	4070,218,170,89,268,	0,10709,12281,13693,14524,
+chr1	20959947	20978004	NM_032409	0	+	20960041	20977184	0	8	481,288,101,183,164,128,237,1078,	0,4387,6437,11035,12105,15050,15540,16979,
+chr1	32479294	32509482	NM_006559	0	+	32479596	32508225	0	9	684,125,117,147,134,202,68,59,1355,	0,16604,17830,19494,23216,24141,24858,25821,28833,
+chr1	27248212	27273362	NM_006600	0	+	27248339	27272672	0	9	208,78,204,66,117,195,84,119,742,	0,2367,19735,20031,20938,21149,23668,23846,24408,
+chr1	31404352	31538564	NM_014676	0	-	31406057	31532413	0	22	1837,193,122,126,138,129,130,268,237,297,144,139,152,102,94,271,167,179,109,69,374,102,	0,5137,9645,10492,13840,18627,20728,22208,33168,34476,35661,36848,43145,48556,49806,60884,63548,74347,75488,97290,127698,134110,
+chr1	36690016	36770957	NM_005119	0	+	36748164	36769618	0	12	90,103,168,903,705,173,112,85,188,199,144,1561,	0,34966,58117,61952,64644,66958,68182,69435,72167,76470,77137,79380,
+chr1	46092975	46152302	NM_021639	0	-	46093927	46124759	0	13	1105,103,125,159,141,194,73,287,130,115,1042,45,219,	0,2272,3178,6185,6792,12906,15123,27239,27886,31724,32880,58272,59108,
+chr1	44870959	45117396	NM_018150	0	+	44877769	45116447	0	15	243,742,133,46,102,43,44,133,97,87,56,79,109,75,1021,	0,6693,208877,217454,221009,227055,230257,230742,239410,239707,239933,240122,244373,244595,245416,
+chr1	54519273	54565416	NM_153035	0	+	54520095	54562146	0	5	158,144,142,194,3459,	0,780,15155,34996,42684,
+chr1	50906934	51425936	NM_007051	0	-	50907111	51425483	0	19	261,216,78,81,89,137,155,82,64,127,96,87,106,92,92,206,47,69,498,	0,34201,49325,50458,94106,98329,125814,141355,142389,143422,154858,214179,264523,297600,303421,346737,360368,416666,518504,
+chr1	77554666	77685132	NM_005482	0	-	77558058	77685087	0	11	3509,85,173,111,118,97,112,136,92,54,138,	0,33293,65467,72313,72612,74864,77737,80278,117658,121454,130328,
+chr1	94352589	94375012	NM_002061	0	-	94354545	94374719	0	7	2126,115,203,60,85,66,419,	0,7580,9584,10805,14551,17489,22004,
+chr1	112162404	112259317	NM_002884	0	+	112233982	112251857	0	8	152,84,69,57,141,144,116,4265,	0,71551,75558,77658,83553,84560,89366,92648,
+chr1	118472371	118503049	NM_006784	0	+	118475942	118502070	0	27	34,203,210,119,79,96,114,102,98,108,231,94,102,86,136,57,101,112,135,51,66,93,48,44,129,94,1135,	0,3539,4724,7020,8731,9728,11078,11375,12001,12688,13647,16337,18656,20002,20246,21085,22227,22548,22779,23197,23727,24258,24831,25566,27319,29161,29543,
+chr1	156219014	156252620	NM_015327	0	-	156220377	156252471	0	22	1447,139,75,91,160,60,159,176,76,176,600,138,209,69,126,79,90,90,157,124,99,223,	0,1634,2179,3190,3695,4225,9781,11227,12109,14171,16557,17317,18246,18891,19066,23096,24137,25373,27861,28701,29712,33383,
+chr1	180257351	180472022	NM_032360	0	-	180257497	180471401	0	8	301,31,90,106,83,97,65,843,	0,26475,109299,125149,141963,204052,207244,213828,
+chr1	183441505	183523328	NM_173156	0	+	183441755	183521066	0	22	279,32,118,133,172,72,151,136,163,157,71,61,120,427,145,383,372,81,160,171,146,2376,	0,40466,43503,45317,54225,55585,56521,57027,60793,61305,64774,66009,68613,69705,71982,72559,73595,76837,77393,78380,78674,79447,
+chr1	220141941	220220000	NM_004446	0	-	220142147	220219730	0	32	357,65,79,161,174,198,156,102,80,73,210,52,263,234,360,118,113,208,137,111,60,85,234,172,193,127,95,140,157,100,85,316,	0,458,3469,4638,9946,10818,11485,12156,12778,14172,14589,15606,18542,19990,28383,32538,36648,37506,38602,42346,49849,50395,51388,53747,55664,56532,61786,63787,64902,66314,71585,77743,
+chr1	229577043	229644088	NM_018230	0	-	229577650	229643996	0	26	744,89,65,81,119,136,159,134,252,100,123,225,95,164,92,158,148,148,71,156,171,135,108,104,119,274,	0,3617,7829,9228,11228,16864,19314,22246,23327,24123,25337,29283,34341,36300,42757,45074,46169,48658,54198,54595,56839,58387,59459,60702,64743,66771,
+chr1	1309109	1310818	NM_017900	0	-	1309180	1310136	0	4	173,446,86,285,	0,270,975,1424,
+chr1	9908333	9970316	NM_020248	0	-	9910775	9932122	0	6	2501,91,120,85,34,164,	0,22911,23693,29629,35429,61819,
+chr1	10093040	10241296	NM_006048	0	+	10093728	10240014	0	27	712,187,136,88,145,229,142,101,115,84,57,117,99,114,199,139,100,128,99,236,127,145,135,192,175,147,1344,	0,39045,62478,68125,69965,72533,84476,86530,88979,93811,96409,97517,97732,99386,102005,104084,111957,113980,116201,118343,125373,128159,135153,138155,145661,146433,146912,
+chr1	11126675	11159938	NM_002685	0	-	11126774	11159888	0	24	130,77,62,172,74,85,96,107,79,51,112,51,149,157,191,144,111,76,115,166,105,124,137,161,	0,1389,2026,2940,4281,5468,7612,10223,10746,10982,13092,13880,14145,14463,16069,20829,21181,21504,23935,24395,24874,29139,31401,33102,
+chr1	10535002	10690815	NM_004565	0	+	10535023	10690044	0	9	57,48,85,129,86,103,98,92,1228,	0,20328,61267,124292,143386,148073,149394,152326,154585,
+chr1	16576558	16678948	NM_018994	0	-	16577164	16641913	0	10	1722,117,57,97,111,154,135,117,267,199,	0,2224,3032,3571,5647,6542,44719,55739,65105,102191,
+chr1	16174358	16266950	NM_015001	0	+	16174562	16265922	0	15	287,321,477,161,201,152,126,114,114,101,8176,483,195,159,1160,	0,24952,28338,61457,63237,68264,71062,71540,73006,74385,80227,89299,89948,90854,91432,
+chr1	17866329	18024370	NM_018125	0	+	17907090	18023875	0	29	116,80,186,34,92,84,176,117,109,107,78,180,117,93,174,146,15,182,116,128,101,122,87,224,155,149,175,123,1028,	0,40718,47625,48611,62292,63673,67967,73223,76259,79504,82029,83161,84552,86121,87495,92486,94713,95000,98053,98727,100367,108719,114801,116044,116719,124612,147738,155323,157013,
--- a/test-data/output.eRPKM.xls	Thu Jul 16 17:43:43 2015 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-#chr	start	end	name	score	strand	5%	10%	15%	20%	25%	30%	35%	40%	45%	50%	55%	60%	65%	70%	75%	80%	85%	90%	95%	100%
-chr1	17368	17436	NR_106918	0	-	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
-chr1	17368	17436	NR_107062	0	-	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
-chr1	34610	36081	NR_026818	0	-	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
-chr1	69090	70008	NM_001005484	0	+	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
-chr1	14361	29370	NR_024540	0	-	256950.511332	128475.255666	85650.1704438	128475.255666	102780.204533	85650.1704438	73414.431809	64237.6278329	57100.1136292	51390.1022663	46718.2747875	64237.6278329	59296.2718457	55060.8238568	51390.1022663	48178.2208747	45344.207882	57100.1136292	54094.8444908	51390.1022663
-chr1	34610	36081	NR_026820	0	-	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
-chr1	11873	14409	NR_046018	0	+	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	30572.0644704	27514.8580233	25013.5072939	22929.0483528	42330.5508051	39306.9400333	36686.4773644	34393.5725292	32370.4212039	45858.0967056	43444.5126684	41272.287035
Binary file test-data/output.geneBodyCoverage.curves.pdf has changed
--- a/test-data/output.qual.r	Thu Jul 16 17:43:43 2015 -0400
+++ b/test-data/output.qual.r	Tue May 03 16:36:57 2016 -0400
@@ -1,61 +1,61 @@
 pdf('output.qual.boxplot.pdf')
-p0<-rep(c(33,43,45,51,54,58,59,60,61,62,63,64,66,67,69,70,71),times=c(1,2,1,3,1,1,1,1,1,3,1,1,1,2,5,5,10)/1000)
-p1<-rep(c(43,45,51,56,57,58,60,61,62,63,64,65,66,67,68,69,70,71),times=c(1,1,1,1,1,1,1,2,1,1,2,1,3,3,1,8,5,6)/1000)
-p2<-rep(c(43,49,51,53,54,56,58,59,60,61,64,65,66,67,69,70,71),times=c(1,1,1,1,2,1,1,1,2,1,1,2,2,2,7,6,8)/1000)
-p3<-rep(c(33,39,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(1,1,1,1,1,1,1,1,1,1,2,1,1,1,4,4,1,5,5,6)/1000)
-p4<-rep(c(33,55,58,59,60,61,62,64,65,66,67,68,69,70,71),times=c(1,1,1,1,5,1,1,4,1,2,5,2,3,3,9)/1000)
-p5<-rep(c(33,53,58,60,61,62,64,65,67,68,69,70,71),times=c(1,1,1,2,1,4,3,2,2,3,5,4,11)/1000)
-p6<-rep(c(33,40,54,56,58,60,64,66,67,68,69,70,71),times=c(3,2,1,1,1,1,2,2,4,4,4,2,13)/1000)
-p7<-rep(c(41,42,43,49,50,51,57,58,62,64,65,66,67,68,69,70,71),times=c(1,1,1,1,2,1,1,1,2,1,1,2,7,1,2,3,12)/1000)
-p8<-rep(c(33,39,53,56,58,59,60,62,63,66,67,68,69,70,71),times=c(1,1,1,1,1,1,2,1,2,4,3,2,3,5,12)/1000)
-p9<-rep(c(33,40,50,52,53,57,58,60,64,65,66,67,68,69,70,71),times=c(1,1,1,1,1,1,3,1,4,1,1,3,2,5,4,10)/1000)
-p10<-rep(c(33,40,53,54,55,58,60,63,64,66,67,68,69,70,71),times=c(2,1,1,2,1,1,2,1,4,1,1,1,7,6,9)/1000)
-p11<-rep(c(45,50,51,52,53,56,57,58,60,62,63,64,65,66,67,68,69,70,71),times=c(1,2,1,1,1,1,1,1,3,2,1,1,1,3,1,1,3,5,10)/1000)
-p12<-rep(c(33,41,52,53,54,58,59,60,64,65,66,67,69,70,71),times=c(3,1,1,2,1,1,1,3,1,2,3,2,5,6,8)/1000)
-p13<-rep(c(33,40,51,53,55,56,58,59,60,63,64,65,66,67,68,69,70,71),times=c(4,1,1,1,1,1,1,1,1,1,3,1,2,2,2,3,5,9)/1000)
-p14<-rep(c(33,39,54,56,57,59,60,61,62,63,65,66,67,68,69,70,71),times=c(4,1,3,1,1,1,1,2,1,1,1,2,2,1,7,2,9)/1000)
-p15<-rep(c(33,39,40,42,45,50,52,53,57,58,59,60,61,64,66,68,69,70,71),times=c(2,2,1,1,1,1,1,1,1,3,1,1,1,3,1,1,4,5,9)/1000)
-p16<-rep(c(33,47,51,52,53,58,59,60,61,64,67,69,70,71),times=c(4,1,1,1,2,3,1,1,2,3,3,7,2,9)/1000)
-p17<-rep(c(33,48,50,51,53,54,55,56,58,60,61,63,64,65,66,67,69,70,71),times=c(1,1,1,1,2,1,1,1,2,2,3,2,2,1,2,1,7,2,7)/1000)
-p18<-rep(c(33,43,48,51,53,58,59,60,61,63,64,66,67,68,69,70,71),times=c(2,1,1,1,2,2,1,2,2,3,1,1,3,1,7,2,8)/1000)
-p19<-rep(c(33,44,47,50,51,52,54,58,59,61,62,64,65,67,69,70,71),times=c(2,1,1,2,1,1,2,1,1,1,1,3,1,1,8,4,9)/1000)
-p20<-rep(c(33,46,47,51,54,56,58,59,61,62,63,64,66,67,69,70,71),times=c(1,1,1,1,2,1,1,2,1,2,1,5,5,3,5,2,6)/1000)
-p21<-rep(c(33,43,54,55,57,58,62,64,65,66,67,68,69,70,71),times=c(1,1,1,1,1,5,2,3,1,3,2,4,5,4,6)/1000)
-p22<-rep(c(33,47,51,53,54,57,58,60,62,63,64,65,66,68,69,70,71),times=c(1,1,1,1,1,1,1,1,2,1,5,1,4,3,5,5,6)/1000)
-p23<-rep(c(33,42,53,54,55,57,58,62,63,64,65,66,67,68,69,70,71),times=c(1,1,1,1,1,1,2,1,1,5,2,2,3,2,9,3,4)/1000)
-p24<-rep(c(33,42,52,54,57,60,61,63,64,65,66,67,69,70,71),times=c(1,1,1,1,1,2,1,1,5,1,6,4,5,4,6)/1000)
-p25<-rep(c(33,53,54,57,61,62,63,64,66,67,68,69,70,71),times=c(1,1,1,2,1,1,1,2,4,5,2,9,5,5)/1000)
-p26<-rep(c(46,53,54,57,58,60,61,62,64,66,67,68,69,70,71),times=c(1,1,1,1,1,1,1,2,5,8,4,1,5,3,5)/1000)
-p27<-rep(c(42,43,48,54,56,57,60,61,62,66,67,68,69,70,71),times=c(1,1,1,2,1,1,4,1,2,1,4,1,5,6,9)/1000)
-p28<-rep(c(51,55,56,57,60,62,64,65,66,67,68,69,70,71),times=c(1,1,1,1,1,2,4,2,2,2,4,10,1,8)/1000)
-p29<-rep(c(49,52,56,57,58,60,63,64,65,66,67,69,70,71),times=c(2,1,1,1,2,1,1,3,1,3,6,8,2,8)/1000)
-p30<-rep(c(45,47,50,57,61,62,64,66,67,68,69,70,71),times=c(1,1,1,1,1,1,2,6,3,2,8,5,8)/1000)
-p31<-rep(c(48,52,53,54,57,58,59,60,61,62,64,65,66,67,68,69,70,71),times=c(1,1,1,1,1,1,1,1,2,1,4,1,2,3,3,7,3,6)/1000)
-p32<-rep(c(43,47,48,54,56,62,64,66,67,68,69,70,71),times=c(1,1,1,1,2,1,2,1,5,3,10,5,7)/1000)
-p33<-rep(c(52,55,58,60,61,63,64,68,69,70,71),times=c(1,1,2,1,1,1,5,4,11,5,8)/1000)
-p34<-rep(c(42,43,50,56,59,60,63,64,67,68,69,70,71),times=c(1,1,1,1,1,1,1,3,1,4,9,5,11)/1000)
-p35<-rep(c(42,53,57,58,60,64,66,68,69,70,71),times=c(1,1,1,2,1,3,2,2,12,7,8)/1000)
-p36<-rep(c(48,53,56,61,63,64,66,67,69,70,71),times=c(2,1,1,2,1,1,2,6,7,3,14)/1000)
-p37<-rep(c(53,56,60,63,64,66,68,69,70,71),times=c(2,2,1,1,3,2,6,7,8,8)/1000)
-p38<-rep(c(41,48,53,57,59,61,62,63,64,66,67,68,69,70,71),times=c(1,1,1,1,1,1,1,1,3,3,4,1,4,6,11)/1000)
-p39<-rep(c(38,42,51,53,56,58,61,63,64,65,66,67,68,69,70,71),times=c(1,1,1,1,1,1,1,1,2,1,4,2,2,7,3,11)/1000)
-p40<-rep(c(53,58,61,62,63,64,66,67,68,69,70,71),times=c(1,1,3,1,2,2,1,2,2,9,4,12)/1000)
-p41<-rep(c(48,53,54,57,58,59,60,61,63,64,66,67,68,69,70,71),times=c(1,1,1,1,1,1,2,1,1,1,3,3,1,5,7,9)/1000)
-p42<-rep(c(38,49,54,58,59,64,65,66,67,68,69,70,71),times=c(1,1,3,1,1,3,1,2,1,1,7,7,9)/1000)
-p43<-rep(c(50,51,62,63,64,65,66,67,69,70,71),times=c(2,1,1,1,3,1,2,4,3,8,12)/1000)
-p44<-rep(c(48,54,63,64,65,66,67,68,69,70,71),times=c(1,2,4,1,1,2,2,1,7,8,8)/1000)
-p45<-rep(c(50,57,58,59,60,62,64,67,69,70,71),times=c(1,1,1,1,1,1,1,1,10,8,7)/1000)
-p46<-rep(c(43,48,54,59,60,64,65,66,67,68,69,70,71),times=c(2,1,1,2,1,2,1,1,4,2,1,6,8)/1000)
-p47<-rep(c(49,53,56,61,64,66,67,69,70,71),times=c(1,1,1,1,2,2,2,3,10,7)/1000)
-p48<-rep(c(61,64,66,67,68,69,70,71),times=c(2,1,2,2,2,6,5,7)/1000)
-p49<-rep(c(33,56,60,64,66,68,69,70,71),times=c(1,1,2,1,1,2,2,5,10)/1000)
-p50<-rep(c(33,66,67,68,69,70,71),times=c(1,1,1,2,4,5,7)/1000)
+p0<-rep(c(33,37,38,39,40,41,42,43,44,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(119,2,3,2,5,6,8,6,2,3,11,16,6,26,11,13,25,39,7,40,33,33,58,51,116,87,55,256,54,323,263,140,812,654,1119)/1000)
+p1<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(105,2,2,2,4,8,6,21,3,1,1,8,13,13,16,16,14,29,32,18,50,30,57,66,73,97,105,60,253,57,330,270,142,801,630,1069)/1000)
+p2<-rep(c(33,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(109,1,1,3,2,7,11,14,13,2,4,3,8,14,21,27,17,14,26,39,11,37,28,74,64,55,86,106,62,234,56,326,269,147,787,645,1081)/1000)
+p3<-rep(c(33,37,38,39,40,41,42,43,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(108,1,6,4,2,9,12,7,3,3,9,14,13,24,20,8,24,46,14,43,28,59,67,75,88,107,51,285,56,293,239,139,802,660,1084)/1000)
+p4<-rep(c(33,35,37,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(97,1,1,3,9,8,11,5,4,2,4,10,16,19,24,7,8,35,43,19,49,29,51,67,51,93,107,43,306,65,345,223,123,789,661,1075)/1000)
+p5<-rep(c(33,37,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(96,3,2,5,11,6,8,2,7,2,12,17,15,16,12,11,25,31,12,32,36,59,70,69,74,99,56,277,59,343,249,111,845,650,1081)/1000)
+p6<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(86,2,4,2,6,12,8,10,1,7,7,9,11,14,26,14,9,14,53,17,34,41,55,71,76,76,117,62,238,62,339,229,155,798,607,1131)/1000)
+p7<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(76,1,4,4,6,11,9,13,5,5,6,6,17,19,20,17,8,19,45,15,30,33,60,68,58,76,99,59,291,54,349,251,129,818,602,1120)/1000)
+p8<-rep(c(33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(74,1,2,3,1,5,6,6,7,7,2,4,11,11,16,24,13,9,24,48,19,33,39,63,67,68,78,104,66,284,62,329,240,147,749,649,1132)/1000)
+p9<-rep(c(33,37,38,39,40,41,42,43,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(98,1,2,2,6,11,19,10,5,3,8,18,19,24,14,5,18,53,21,41,39,56,79,64,70,93,57,291,42,334,259,143,795,616,1087)/1000)
+p10<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(71,3,3,4,3,5,6,7,2,3,5,13,14,6,17,21,12,27,40,16,34,39,46,64,78,103,103,63,279,37,314,239,118,805,674,1129)/1000)
+p11<-rep(c(33,34,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(76,1,4,3,3,7,10,11,8,5,6,3,12,13,18,21,16,18,21,46,21,32,41,77,56,77,103,105,54,269,40,320,247,144,796,621,1098)/1000)
+p12<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(87,3,2,1,7,12,8,6,5,13,8,11,9,16,23,13,14,22,40,21,53,48,51,59,77,84,126,75,282,48,306,254,151,808,586,1074)/1000)
+p13<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(76,5,1,3,6,3,7,8,4,3,10,12,14,13,23,12,19,25,43,17,52,42,63,57,92,91,114,61,281,45,342,256,132,812,586,1073)/1000)
+p14<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(81,1,5,4,4,10,11,9,3,5,5,6,18,21,29,26,14,27,51,17,54,47,51,65,84,84,118,66,291,46,316,244,149,782,579,1080)/1000)
+p15<-rep(c(33,36,37,38,39,40,41,42,43,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(87,1,2,5,2,10,17,12,9,7,2,10,10,12,20,18,21,27,50,17,50,54,42,82,57,84,103,54,285,41,342,265,115,822,582,1085)/1000)
+p16<-rep(c(33,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(118,4,3,7,7,11,10,5,6,8,11,18,19,30,34,13,34,47,14,62,49,55,83,82,96,101,51,283,45,346,249,152,843,521,985)/1000)
+p17<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(73,2,5,6,7,9,11,7,5,4,11,19,13,15,33,18,17,42,57,25,46,65,67,94,68,93,117,67,279,53,306,295,132,844,504,993)/1000)
+p18<-rep(c(33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(72,1,2,3,5,4,16,13,14,2,8,2,18,19,27,37,27,18,29,57,21,47,57,62,87,81,89,111,57,293,49,319,270,142,858,495,990)/1000)
+p19<-rep(c(33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(78,1,1,5,3,3,13,10,13,5,7,5,14,15,24,30,23,23,24,57,19,72,49,70,70,72,91,124,60,298,52,347,270,147,841,486,980)/1000)
+p20<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(71,4,5,3,10,9,10,12,5,9,6,23,14,19,33,27,21,34,60,16,47,57,55,82,84,109,117,44,305,45,335,265,146,856,510,954)/1000)
+p21<-rep(c(33,37,38,39,40,41,42,43,44,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(80,5,4,5,4,6,10,7,4,11,14,19,18,32,25,29,32,75,19,58,56,66,81,79,102,133,52,332,44,306,260,152,879,486,917)/1000)
+p22<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(80,2,5,2,11,11,13,4,4,5,8,12,15,21,34,27,18,44,58,26,72,62,72,90,84,97,137,51,324,54,332,254,143,857,492,881)/1000)
+p23<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(78,3,4,1,9,9,3,8,9,9,5,12,20,19,37,30,23,38,69,29,64,51,71,95,92,99,133,52,320,51,340,275,152,868,467,856)/1000)
+p24<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(73,1,2,3,6,14,19,7,3,3,10,24,15,26,38,27,15,34,71,17,62,72,75,86,84,108,128,65,304,41,356,239,139,864,494,876)/1000)
+p25<-rep(c(33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(100,1,1,6,3,6,14,19,11,9,7,11,5,8,25,21,35,16,18,39,61,19,65,42,62,91,83,80,105,38,318,50,372,289,135,847,504,884)/1000)
+p26<-rep(c(33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(72,1,1,4,2,12,10,17,11,5,3,3,21,25,29,34,34,19,38,55,20,55,59,82,96,99,106,133,45,299,71,339,265,157,822,474,882)/1000)
+p27<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(73,1,2,5,3,17,16,6,5,7,11,7,16,14,30,31,16,45,71,29,50,62,72,78,77,107,132,62,273,47,366,277,161,892,462,877)/1000)
+p28<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(91,3,2,2,7,10,6,9,9,6,11,15,17,19,33,20,10,30,54,20,68,48,73,84,72,114,131,60,321,60,356,270,159,874,496,840)/1000)
+p29<-rep(c(33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(92,1,5,5,4,6,8,7,10,4,7,7,16,26,24,33,20,22,36,49,15,53,65,71,79,80,112,127,63,320,49,359,292,141,837,455,900)/1000)
+p30<-rep(c(33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(105,1,2,5,4,2,15,8,13,8,6,7,19,24,21,30,22,17,35,53,13,52,61,45,93,74,87,120,60,302,41,331,272,131,877,513,931)/1000)
+p31<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(117,3,5,3,11,23,24,10,5,7,6,8,13,12,40,18,18,40,41,12,45,57,72,86,71,75,125,68,299,55,302,264,154,874,464,973)/1000)
+p32<-rep(c(33,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(120,1,7,3,4,9,13,19,8,5,3,10,17,25,13,19,18,23,33,49,25,41,51,72,74,56,95,112,60,291,58,281,267,145,916,463,993)/1000)
+p33<-rep(c(33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(89,1,4,9,13,7,8,7,8,6,8,8,18,20,12,34,26,14,31,50,17,45,65,58,68,77,84,110,66,289,54,284,282,164,871,489,1003)/1000)
+p34<-rep(c(33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(162,1,3,4,4,14,15,24,17,2,6,9,16,15,20,37,20,12,34,49,12,42,50,54,66,62,81,121,56,265,50,292,258,127,878,506,1015)/1000)
+p35<-rep(c(33,37,38,39,40,41,42,43,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(79,5,1,3,3,13,8,6,7,11,15,19,11,17,25,16,34,49,16,37,45,69,72,76,79,101,48,303,38,326,254,140,811,619,1043)/1000)
+p36<-rep(c(33,37,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(78,3,4,3,8,5,6,8,6,5,13,18,18,32,19,22,39,43,17,39,45,68,77,74,69,118,47,272,47,332,262,139,833,562,1068)/1000)
+p37<-rep(c(33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(96,1,3,1,5,5,6,6,8,4,7,3,12,9,18,35,15,24,27,57,20,40,53,70,81,89,91,117,46,262,44,298,251,130,817,588,1059)/1000)
+p38<-rep(c(33,37,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(102,5,5,4,10,11,12,3,3,7,8,18,15,22,20,17,20,50,21,46,43,71,70,80,91,110,51,239,34,339,258,119,820,614,1058)/1000)
+p39<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(100,3,5,3,6,10,12,12,5,5,10,6,21,18,28,14,16,33,38,18,45,56,58,71,65,79,109,57,253,47,310,263,129,854,616,1017)/1000)
+p40<-rep(c(33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(97,1,4,3,1,5,14,7,11,2,5,2,9,6,19,21,18,21,30,37,22,37,64,40,69,53,89,104,66,281,42,355,233,137,771,615,1095)/1000)
+p41<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(130,5,2,6,10,10,19,20,5,5,4,12,16,17,28,14,12,25,42,16,42,39,57,61,73,84,110,49,261,48,315,254,125,761,643,1028)/1000)
+p42<-rep(c(33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(108,2,1,2,1,5,4,12,13,7,6,7,3,6,14,19,20,22,15,22,52,14,50,45,57,67,72,78,119,51,272,45,284,226,127,831,604,1054)/1000)
+p43<-rep(c(33,35,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(124,2,2,1,2,5,13,17,10,1,6,4,14,11,19,31,14,14,24,30,12,42,41,54,64,74,82,112,68,250,49,308,261,142,775,557,1060)/1000)
+p44<-rep(c(33,35,37,38,39,40,41,42,43,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(106,1,1,4,4,10,9,9,7,9,6,8,8,16,21,12,18,24,50,14,43,43,56,55,100,87,109,51,261,51,308,217,139,759,562,1041)/1000)
+p45<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(120,3,3,2,9,7,12,9,6,4,1,10,9,15,26,11,16,22,35,16,26,45,50,60,56,67,74,62,247,50,282,243,123,747,618,1061)/1000)
+p46<-rep(c(33,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(116,1,2,3,2,10,15,10,1,2,6,6,10,9,13,8,14,29,26,12,31,42,59,41,57,88,92,58,257,43,304,236,133,707,612,1016)/1000)
+p47<-rep(c(33,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(130,1,2,4,2,6,8,18,21,3,5,5,7,12,15,17,7,7,23,43,9,28,32,44,42,56,68,83,54,225,38,289,181,133,713,594,991)/1000)
+p48<-rep(c(33,35,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(105,1,5,2,6,9,10,23,1,5,3,3,9,9,30,13,7,18,27,12,28,24,49,42,63,75,81,45,226,43,274,217,147,676,571,925)/1000)
+p49<-rep(c(33,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(99,3,1,3,5,5,16,3,3,6,7,4,13,15,11,3,10,34,16,20,37,46,41,52,66,85,35,201,45,253,201,119,685,497,913)/1000)
+p50<-rep(c(33,43,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71),times=c(82,2,3,5,3,4,5,13,9,5,11,14,3,35,17,21,41,34,67,67,31,184,49,241,167,93,639,515,797)/1000)
 boxplot(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30,p31,p32,p33,p34,p35,p36,p37,p38,p39,p40,p41,p42,p43,p44,p45,p46,p47,p48,p49,p50,xlab="Position of Read(5'->3')",ylab="Phred Quality Score",outline=F)
 dev.off()
 
 
 pdf('output.qual.heatmap.pdf')
-qual=c(1,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,3,0,0,1,0,0,0,1,1,1,1,3,1,1,0,1,2,0,5,5,10,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,1,1,1,0,1,2,1,1,2,1,3,3,1,8,5,6,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,1,2,0,1,0,1,1,2,1,0,0,1,2,2,2,0,7,6,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,2,1,1,1,4,4,1,5,5,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,5,1,1,0,4,1,2,5,2,3,3,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,2,1,4,0,3,2,0,2,3,5,4,11,3,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,2,0,2,4,4,4,2,13,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,2,1,0,0,0,0,0,1,1,0,0,0,2,0,1,1,2,7,1,2,3,12,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,1,1,2,0,1,2,0,0,4,3,2,3,5,12,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,3,0,1,0,0,0,4,1,1,3,2,5,4,10,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,1,0,2,0,0,1,4,0,1,1,1,7,6,9,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,1,1,1,0,0,1,1,1,0,3,0,2,1,1,1,3,1,1,3,5,10,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0,1,1,3,0,0,0,1,2,3,2,0,5,6,8,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,1,1,1,0,0,1,3,1,2,2,2,3,5,9,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,1,0,1,1,2,1,1,0,1,2,2,1,7,2,9,2,0,0,0,0,0,2,1,0,1,0,0,1,0,0,0,0,1,0,1,1,0,0,0,1,3,1,1,1,0,0,3,0,1,0,1,4,5,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,2,0,0,0,0,3,1,1,2,0,0,3,0,0,3,0,7,2,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,2,1,1,1,0,2,0,2,3,0,2,2,1,2,1,0,7,2,7,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,2,0,0,0,0,2,1,2,2,0,3,1,0,1,3,1,7,2,8,2,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,2,1,1,0,2,0,0,0,1,1,0,1,1,0,3,1,0,1,0,8,4,9,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,2,0,1,0,1,2,0,1,2,1,5,0,5,3,0,5,2,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0,1,5,0,0,0,2,0,3,1,3,2,4,5,4,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,0,0,1,1,0,1,0,2,1,5,1,4,0,3,5,5,6,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,2,0,0,0,1,1,5,2,2,3,2,9,3,4,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,2,1,0,1,5,1,6,4,0,5,4,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,2,0,0,0,1,1,1,2,0,4,5,2,9,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,1,1,0,1,1,2,0,5,0,8,4,1,5,3,5,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,2,0,1,1,0,0,4,1,2,0,0,0,1,4,1,5,6,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,0,0,1,0,2,0,4,2,2,2,4,10,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,1,1,2,0,1,0,0,1,3,1,3,6,0,8,2,8,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,1,1,0,2,0,6,3,2,8,5,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,0,0,1,1,1,1,2,1,0,4,1,2,3,3,7,3,6,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,2,0,0,0,0,0,1,0,2,0,1,5,3,10,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,2,0,1,1,0,1,5,0,0,0,4,11,5,8,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,0,0,1,3,0,0,1,4,9,5,11,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,2,0,1,0,0,0,3,0,2,0,2,12,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,1,0,0,0,0,2,0,1,1,0,2,6,0,7,3,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,1,0,0,1,3,0,2,0,6,7,8,8,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,1,1,1,3,0,3,4,1,4,6,11,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,2,1,4,2,2,7,3,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,3,1,2,2,0,1,2,2,9,4,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,1,1,1,2,1,0,1,1,0,3,3,1,5,7,9,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3,0,0,0,1,1,0,0,0,0,3,1,2,1,1,7,7,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,1,1,3,1,2,4,0,3,8,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,1,1,2,2,1,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,1,0,1,0,0,1,0,10,8,7,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,2,1,0,0,0,2,1,1,4,2,1,6,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,2,0,2,2,0,3,10,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,2,2,2,6,5,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,1,0,1,0,2,2,5,10,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,4,5,7)
+qual=c(119,0,0,0,2,3,2,5,6,8,6,2,0,3,11,16,6,26,11,13,25,39,7,40,33,33,58,51,116,87,55,256,54,323,263,140,812,654,1119,105,0,0,0,2,2,2,4,8,6,21,3,1,1,8,13,13,16,16,14,29,32,18,50,30,57,66,73,97,105,60,253,57,330,270,142,801,630,1069,109,0,1,0,1,3,2,7,11,14,13,2,4,3,8,14,21,27,17,14,26,39,11,37,28,74,64,55,86,106,62,234,56,326,269,147,787,645,1081,108,0,0,0,1,6,4,2,9,12,7,0,3,3,9,14,13,24,20,8,24,46,14,43,28,59,67,75,88,107,51,285,56,293,239,139,802,660,1084,97,0,1,0,1,0,3,9,8,11,5,4,2,4,10,16,19,24,7,8,35,43,19,49,29,51,67,51,93,107,43,306,65,345,223,123,789,661,1075,96,0,0,0,3,0,2,5,11,6,8,2,7,2,12,17,15,16,12,11,25,31,12,32,36,59,70,69,74,99,56,277,59,343,249,111,845,650,1081,86,0,0,0,2,4,2,6,12,8,10,1,7,7,9,11,14,26,14,9,14,53,17,34,41,55,71,76,76,117,62,238,62,339,229,155,798,607,1131,76,0,0,0,1,4,4,6,11,9,13,5,5,6,6,17,19,20,17,8,19,45,15,30,33,60,68,58,76,99,59,291,54,349,251,129,818,602,1120,74,0,0,1,2,3,1,5,6,6,7,7,2,4,11,11,16,24,13,9,24,48,19,33,39,63,67,68,78,104,66,284,62,329,240,147,749,649,1132,98,0,0,0,1,2,2,6,11,19,10,0,5,3,8,18,19,24,14,5,18,53,21,41,39,56,79,64,70,93,57,291,42,334,259,143,795,616,1087,71,0,0,0,3,3,4,3,5,6,7,2,3,5,13,14,6,17,21,12,27,40,16,34,39,46,64,78,103,103,63,279,37,314,239,118,805,674,1129,76,1,0,0,4,3,3,7,10,11,8,5,6,3,12,13,18,21,16,18,21,46,21,32,41,77,56,77,103,105,54,269,40,320,247,144,796,621,1098,87,0,0,0,3,2,1,7,12,8,6,5,13,8,11,9,16,23,13,14,22,40,21,53,48,51,59,77,84,126,75,282,48,306,254,151,808,586,1074,76,0,0,0,5,1,3,6,3,7,8,4,3,10,12,14,13,23,12,19,25,43,17,52,42,63,57,92,91,114,61,281,45,342,256,132,812,586,1073,81,0,0,0,1,5,4,4,10,11,9,3,5,5,6,18,21,29,26,14,27,51,17,54,47,51,65,84,84,118,66,291,46,316,244,149,782,579,1080,87,0,0,1,2,5,2,10,17,12,9,0,7,2,10,10,12,20,18,21,27,50,17,50,54,42,82,57,84,103,54,285,41,342,265,115,822,582,1085,118,0,0,0,0,4,3,7,7,11,10,5,6,8,11,18,19,30,34,13,34,47,14,62,49,55,83,82,96,101,51,283,45,346,249,152,843,521,985,73,0,0,0,2,5,6,7,9,11,7,5,4,11,19,13,15,33,18,17,42,57,25,46,65,67,94,68,93,117,67,279,53,306,295,132,844,504,993,72,0,0,1,2,3,5,4,16,13,14,2,8,2,18,19,27,37,27,18,29,57,21,47,57,62,87,81,89,111,57,293,49,319,270,142,858,495,990,78,0,0,1,1,5,3,3,13,10,13,5,7,5,14,15,24,30,23,23,24,57,19,72,49,70,70,72,91,124,60,298,52,347,270,147,841,486,980,71,0,0,0,4,5,3,10,9,10,12,5,9,6,23,14,19,33,27,21,34,60,16,47,57,55,82,84,109,117,44,305,45,335,265,146,856,510,954,80,0,0,0,5,4,5,4,6,10,7,4,0,11,14,19,18,32,25,29,32,75,19,58,56,66,81,79,102,133,52,332,44,306,260,152,879,486,917,80,0,0,0,2,5,2,11,11,13,4,4,5,8,12,15,21,34,27,18,44,58,26,72,62,72,90,84,97,137,51,324,54,332,254,143,857,492,881,78,0,0,0,3,4,1,9,9,3,8,9,9,5,12,20,19,37,30,23,38,69,29,64,51,71,95,92,99,133,52,320,51,340,275,152,868,467,856,73,0,0,0,1,2,3,6,14,19,7,3,3,10,24,15,26,38,27,15,34,71,17,62,72,75,86,84,108,128,65,304,41,356,239,139,864,494,876,100,0,1,1,6,3,6,14,19,11,9,7,11,5,8,25,21,35,16,18,39,61,19,65,42,62,91,83,80,105,38,318,50,372,289,135,847,504,884,72,0,0,1,1,4,2,12,10,17,11,5,3,3,21,25,29,34,34,19,38,55,20,55,59,82,96,99,106,133,45,299,71,339,265,157,822,474,882,73,0,0,0,1,2,5,3,17,16,6,5,7,11,7,16,14,30,31,16,45,71,29,50,62,72,78,77,107,132,62,273,47,366,277,161,892,462,877,91,0,0,0,3,2,2,7,10,6,9,9,6,11,15,17,19,33,20,10,30,54,20,68,48,73,84,72,114,131,60,321,60,356,270,159,874,496,840,92,0,0,1,5,5,4,6,8,7,10,4,7,7,16,26,24,33,20,22,36,49,15,53,65,71,79,80,112,127,63,320,49,359,292,141,837,455,900,105,0,0,1,2,5,4,2,15,8,13,8,6,7,19,24,21,30,22,17,35,53,13,52,61,45,93,74,87,120,60,302,41,331,272,131,877,513,931,117,0,0,0,3,5,3,11,23,24,10,5,7,6,8,13,12,40,18,18,40,41,12,45,57,72,86,71,75,125,68,299,55,302,264,154,874,464,973,120,0,1,0,7,3,4,9,13,19,8,5,3,10,17,25,13,19,18,23,33,49,25,41,51,72,74,56,95,112,60,291,58,281,267,145,916,463,993,89,0,0,1,4,9,13,7,8,7,8,6,8,8,18,20,12,34,26,14,31,50,17,45,65,58,68,77,84,110,66,289,54,284,282,164,871,489,1003,162,0,0,1,3,4,4,14,15,24,17,2,6,9,16,15,20,37,20,12,34,49,12,42,50,54,66,62,81,121,56,265,50,292,258,127,878,506,1015,79,0,0,0,5,1,3,3,13,8,6,0,7,11,15,19,11,17,25,16,34,49,16,37,45,69,72,76,79,101,48,303,38,326,254,140,811,619,1043,78,0,0,0,3,0,4,3,8,5,6,8,6,5,13,18,18,32,19,22,39,43,17,39,45,68,77,74,69,118,47,272,47,332,262,139,833,562,1068,96,0,0,1,3,1,5,5,6,6,8,4,7,3,12,9,18,35,15,24,27,57,20,40,53,70,81,89,91,117,46,262,44,298,251,130,817,588,1059,102,0,0,0,5,0,5,4,10,11,12,3,3,7,8,18,15,22,20,17,20,50,21,46,43,71,70,80,91,110,51,239,34,339,258,119,820,614,1058,100,0,0,0,3,5,3,6,10,12,12,5,5,10,6,21,18,28,14,16,33,38,18,45,56,58,71,65,79,109,57,253,47,310,263,129,854,616,1017,97,0,0,1,4,3,1,5,14,7,11,2,5,2,9,6,19,21,18,21,30,37,22,37,64,40,69,53,89,104,66,281,42,355,233,137,771,615,1095,130,0,0,0,5,2,6,10,10,19,20,5,5,4,12,16,17,28,14,12,25,42,16,42,39,57,61,73,84,110,49,261,48,315,254,125,761,643,1028,108,0,2,1,2,1,5,4,12,13,7,6,7,3,6,14,19,20,22,15,22,52,14,50,45,57,67,72,78,119,51,272,45,284,226,127,831,604,1054,124,0,2,2,0,1,2,5,13,17,10,1,6,4,14,11,19,31,14,14,24,30,12,42,41,54,64,74,82,112,68,250,49,308,261,142,775,557,1060,106,0,1,0,1,4,4,10,9,9,7,0,9,6,8,8,16,21,12,18,24,50,14,43,43,56,55,100,87,109,51,261,51,308,217,139,759,562,1041,120,0,0,0,3,3,2,9,7,12,9,6,4,1,10,9,15,26,11,16,22,35,16,26,45,50,60,56,67,74,62,247,50,282,243,123,747,618,1061,116,0,0,0,1,2,3,2,10,15,10,1,2,6,6,10,9,13,8,14,29,26,12,31,42,59,41,57,88,92,58,257,43,304,236,133,707,612,1016,130,0,0,1,2,4,2,6,8,18,21,3,5,5,7,12,15,17,7,7,23,43,9,28,32,44,42,56,68,83,54,225,38,289,181,133,713,594,991,105,0,1,0,0,5,2,6,9,10,23,1,5,3,3,9,9,30,13,7,18,27,12,28,24,49,42,63,75,81,45,226,43,274,217,147,676,571,925,99,0,0,0,0,3,1,3,5,5,16,3,3,6,7,4,13,15,11,3,10,34,16,20,37,46,41,52,66,85,35,201,45,253,201,119,685,497,913,82,0,0,0,0,0,0,0,0,0,2,0,3,5,3,4,5,13,9,5,11,14,3,35,17,21,41,34,67,67,31,184,49,241,167,93,639,515,797)
 mat=matrix(qual,ncol=51,byrow=F)
 Lab.palette <- colorRampPalette(c("blue", "orange", "red3","red2","red1","red"), space = "rgb",interpolate=c('spline'))
 heatmap(mat,Rowv=NA,Colv=NA,xlab="Position of Read",ylab="Phred Quality Score",labRow=seq(from=33,to=71),col = Lab.palette(256),scale="none" )
--- a/test-data/output.rawCount.xls	Thu Jul 16 17:43:43 2015 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-#chr	start	end	name	score	strand	5%	10%	15%	20%	25%	30%	35%	40%	45%	50%	55%	60%	65%	70%	75%	80%	85%	90%	95%	100%
-chr1	17368	17436	NR_106918	0	-	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
-chr1	17368	17436	NR_107062	0	-	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
-chr1	34610	36081	NR_026818	0	-	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
-chr1	69090	70008	NM_001005484	0	+	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
-chr1	14361	29370	NR_024540	0	-	1	1	1	2	2	2	2	2	2	2	2	3	3	3	3	3	3	4	4	4
-chr1	34610	36081	NR_026820	0	-	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
-chr1	11873	14409	NR_046018	0	+	0	0	0	0	0	0	0	0	1	1	1	1	2	2	2	2	2	3	3	3
--- a/test-data/output.saturation.r	Thu Jul 16 17:43:43 2015 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-pdf('output.saturation.pdf')
-par(mfrow=c(2,2))
-name=c(5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95)
-S5=c()
-S10=c()
-S15=c()
-S20=c()
-S25=c()
-S30=c()
-S35=c()
-S40=c()
-S45=c()
-S50=c()
-S55=c()
-S60=c()
-S65=c()
-S70=c()
-S75=c()
-S80=c()
-S85=c()
-S90=c()
-S95=c()
-boxplot(100*S5,100*S10,100*S15,100*S20,100*S25,100*S30,100*S35,100*S40,100*S45,100*S50,100*S55,100*S60,100*S65,100*S70,100*S75,100*S80,100*S85,100*S90,100*S95,names=name,outline=F,ylab='Percent Relative Error',main='Q1',xlab='Resampling percentage')
-name=c(5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95)
-S5=c(1.0)
-S10=c(1.0)
-S15=c(1.0)
-S20=c(1.0)
-S25=c(1.0)
-S30=c(1.0)
-S35=c(1.0)
-S40=c(1.0)
-S45=c(0.259259259259)
-S50=c(0.333333333334)
-S55=c(0.39393939394)
-S60=c(0.444444444444)
-S65=c(0.0256410256403)
-S70=c(0.0476190476199)
-S75=c(0.111111111112)
-S80=c(0.166666666666)
-S85=c(0.21568627451)
-S90=c(0.111111111112)
-S95=c(0.0526315789469)
-boxplot(100*S5,100*S10,100*S15,100*S20,100*S25,100*S30,100*S35,100*S40,100*S45,100*S50,100*S55,100*S60,100*S65,100*S70,100*S75,100*S80,100*S85,100*S90,100*S95,names=name,outline=F,ylab='Percent Relative Error',main='Q2',xlab='Resampling percentage')
-name=c(5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95)
-S5=c()
-S10=c()
-S15=c()
-S20=c()
-S25=c()
-S30=c()
-S35=c()
-S40=c()
-S45=c()
-S50=c()
-S55=c()
-S60=c()
-S65=c()
-S70=c()
-S75=c()
-S80=c()
-S85=c()
-S90=c()
-S95=c()
-boxplot(100*S5,100*S10,100*S15,100*S20,100*S25,100*S30,100*S35,100*S40,100*S45,100*S50,100*S55,100*S60,100*S65,100*S70,100*S75,100*S80,100*S85,100*S90,100*S95,names=name,outline=F,ylab='Percent Relative Error',main='Q3',xlab='Resampling percentage')
-name=c(5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95)
-S5=c(4.00000000001)
-S10=c(1.5)
-S15=c(0.666666666666)
-S20=c(1.5)
-S25=c(1.00000000001)
-S30=c(0.666666666666)
-S35=c(0.428571428571)
-S40=c(0.25)
-S45=c(0.111111111111)
-S50=c(0.0)
-S55=c(0.09090909091)
-S60=c(0.25)
-S65=c(0.153846153846)
-S70=c(0.0714285714295)
-S75=c(0.0)
-S80=c(0.0624999999991)
-S85=c(0.117647058824)
-S90=c(0.111111111111)
-S95=c(0.0526315789465)
-boxplot(100*S5,100*S10,100*S15,100*S20,100*S25,100*S30,100*S35,100*S40,100*S45,100*S50,100*S55,100*S60,100*S65,100*S70,100*S75,100*S80,100*S85,100*S90,100*S95,names=name,outline=F,ylab='Percent Relative Error',main='Q4',xlab='Resampling percentage')
-dev.off()
Binary file test-data/output2.geneBodyCoverage.curves.pdf has changed
Binary file test-data/output2.geneBodyCoverage.heatMap.pdf has changed
--- a/test-data/output2.geneBodyCoverage.r	Thu Jul 16 17:43:43 2015 -0400
+++ b/test-data/output2.geneBodyCoverage.r	Tue May 03 16:36:57 2016 -0400
@@ -1,8 +1,21 @@
 d1_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam <- c(0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)
+d2_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam <- c(0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)
+d3_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam <- c(0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)
+data_matrix <- matrix(c(d1_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam,d2_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam,d3_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam), byrow=T, ncol=100)
+rowLabel <- c("d1_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam","d2_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam","d3_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam")
+
+
+pdf("output.geneBodyCoverage.heatMap.pdf")
+rc <- cm.colors(ncol(data_matrix))
+heatmap(data_matrix, scale=c("none"),keep.dendro=F, labRow = rowLabel ,Colv = NA,Rowv = NA,labCol=NA,col=cm.colors(256),margins = c(6, 8),ColSideColors = rc,cexRow=1,cexCol=1,xlab="Gene body percentile (5'->3')", add.expr=x_axis_expr <- axis(side=1,at=c(1,10,20,30,40,50,60,70,80,90,100),labels=c("1","10","20","30","40","50","60","70","80","90","100")))
+dev.off()
 
 
 pdf("output.geneBodyCoverage.curves.pdf")
 x=1:100
-icolor = colorRampPalette(c("#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f"))(1)
+icolor = colorRampPalette(c("#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f"))(3)
 plot(x,d1_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam,type='l',xlab="Gene body percentile (5'->3')", ylab="Coverage",lwd=0.8,col=icolor[1])
+lines(x,d2_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam,type='l',col=icolor[2])
+lines(x,d3_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam,type='l',col=icolor[3])
+legend(0,1,fill=icolor[1:3], legend=c('d1_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam','d2_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam','d3_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam'))
 dev.off()
--- a/test-data/output2.geneBodyCoverage.txt	Thu Jul 16 17:43:43 2015 -0400
+++ b/test-data/output2.geneBodyCoverage.txt	Tue May 03 16:36:57 2016 -0400
@@ -1,2 +1,4 @@
 Percentile	1	2	3	4	5	6	7	8	9	10	11	12	13	14	15	16	17	18	19	20	21	22	23	24	25	26	27	28	29	30	31	32	33	34	35	36	37	38	39	40	41	42	43	44	45	46	47	48	49	50	51	52	53	54	55	56	57	58	59	60	61	62	63	64	65	66	67	68	69	70	71	72	73	74	75	76	77	78	79	80	81	82	83	84	85	86	87	88	89	90	91	92	93	94	95	96	97	98	99	100
 d1_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	1.0	0.0	0.0	1.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	1.0	1.0	1.0	0.0	1.0	1.0	1.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	1.0	1.0	1.0	0.0	0.0	1.0	1.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
+d2_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	1.0	0.0	0.0	1.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	1.0	1.0	1.0	0.0	1.0	1.0	1.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	1.0	1.0	1.0	0.0	0.0	1.0	1.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
+d3_pairend_strandspecific_51mer_hg19_chr1_1_100000_bam	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	1.0	0.0	0.0	1.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	1.0	1.0	1.0	0.0	1.0	1.0	1.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	1.0	1.0	1.0	0.0	0.0	1.0	1.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0
Binary file test-data/pairend_strandspecific_51mer_hg19_chr1_1-100000.bigwig has changed
Binary file test-data/pairend_strandspecific_51mer_hg19_random.bam has changed
--- a/tool_dependencies.xml	Thu Jul 16 17:43:43 2015 -0400
+++ b/tool_dependencies.xml	Tue May 03 16:36:57 2016 -0400
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <tool_dependency>
     <package name="R" version="3.0.3">
-        <repository changeset_revision="f386d7431fe0" name="package_r_3_0_3" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" />
+        <repository changeset_revision="afc48696ee5c" name="package_r_3_0_3" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" />
     </package>
     <package name="numpy" version="1.7.1">
         <repository changeset_revision="300877695495" name="package_numpy_1_7" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" />