Repository 'rseqc'
hg clone https://toolshed.g2.bx.psu.edu/repos/nilesh/rseqc

Changeset 49:6b33e31bda10 (2015-07-16)
Previous changeset 48:2e6190c29c54 (2015-04-21) Next changeset 50:f242ee103277 (2016-05-03)
Commit message:
Uploaded tar based on https://github.com/lparsons/galaxy_tools/tree/master/tools/rseqc 1a3c419bc0ded7c40cb2bc3e7c87bfb01ddfeba2
modified:
RPKM_count.xml
RPKM_saturation.xml
bam2wig.xml
bam_stat.xml
clipping_profile.xml
geneBody_coverage.xml
geneBody_coverage2.xml
infer_experiment.xml
inner_distance.xml
junction_annotation.xml
junction_saturation.xml
read_GC.xml
read_NVC.xml
read_distribution.xml
read_duplication.xml
read_quality.xml
tool_dependencies.xml
added:
rseqc_macros.xml
test-data/bamstats.txt
test-data/hg19.chrom.sizes
test-data/hg19_RefSeq_chr1_1-100000.bed
test-data/output.DupRate_plot.r
test-data/output.GC.xls
test-data/output.GC_plot.r
test-data/output.NVC.xls
test-data/output.NVC_plot.r
test-data/output.clipping_profile.pdf
test-data/output.clipping_profile.r
test-data/output.clipping_profile.xls
test-data/output.eRPKM.xls
test-data/output.geneBodyCoverage.curves.pdf
test-data/output.geneBodyCoverage.r
test-data/output.geneBodyCoverage.txt
test-data/output.infer_experiment.txt
test-data/output.inner_distance.txt
test-data/output.inner_distance_freq.txt
test-data/output.inner_distance_plot.pdf
test-data/output.inner_distance_plot.r
test-data/output.junction.xls
test-data/output.junctionSaturation_plot.r
test-data/output.junction_plot.r
test-data/output.pos.DupRate.xls
test-data/output.qual.r
test-data/output.rawCount.xls
test-data/output.read_distribution.txt
test-data/output.saturation.r
test-data/output.seq.DupRate.xls
test-data/output.splice_events.pdf
test-data/output.splice_junction.pdf
test-data/output2.geneBodyCoverage.curves.pdf
test-data/output2.geneBodyCoverage.heatMap.pdf
test-data/output2.geneBodyCoverage.r
test-data/output2.geneBodyCoverage.txt
test-data/output_read_count.xls
test-data/pairend_strandspecific_51mer_hg19_chr1_1-100000.bam
test-data/testwig.Forward.wig
test-data/testwig.Reverse.wig
test-data/testwig.wig
b
diff -r 2e6190c29c54 -r 6b33e31bda10 RPKM_count.xml
--- a/RPKM_count.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/RPKM_count.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,12 +1,22 @@
-<tool id="rseqc_RPKM_count" name="RPKM Count" version="2.4">
+<tool id="rseqc_RPKM_count" name="RPKM Count" version="2.4galaxy1">
     <description>calculates raw count and RPKM values for transcript at exon, intron, and mRNA level</description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
     </requirements>
-    <command>
-        ln -s "${input}" "local_input.bam" &amp;&amp;
-        ln -s "${input.metadata.bam_index}" "local_input.bam.bai" &amp;&amp;
+
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[RPKM_count.py --version]]></version_command>
+
+    <command><![CDATA[
+        ln -s "${input}" "local_input.bam" &&
+        ln -s "${input.metadata.bam_index}" "local_input.bam.bai" &&
         RPKM_count.py -i "local_input.bam" -o output -r $refgene
 
         #if str($strand_type.strand_specific) == "pair"
@@ -27,22 +37,18 @@
             #end if
         #end if
 
-        #if $skiphits
-            -u
-        #end if
-
-        #if $onlyexonic
-            -e
+        #if $multihits.skipmultihits
+            --skip-multi-hits
+            --mapq=$multihits.mapq
         #end if
 
+        $onlyexonic
+        ]]>
     </command>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
+
     <inputs>
-        <param name="input" type="data" format="bam" label="input bam/sam file" />
-        <param name="refgene" type="data" format="bed" label="Reference gene model" />
+        <param name="input" type="data" label="Input .bam File" format="bam" help="(--input-file)"/>
+        <param name="refgene" type="data" format="bed" label="reference gene model" help="(--refgene)"/>
         <conditional name="strand_type">
             <param name="strand_specific" type="select" label="Strand-specific?" value="None">
                 <option value="none">None</option>
@@ -50,26 +56,44 @@
                 <option value="single">Single-End RNA-seq</option>
             </param>
             <when value="pair">
-                <param name="pair_type" type="select" display="radio" label="Pair-End Read Type (format: mapped --> parent)" value="sd">
+                <param name="pair_type" type="select" display="radio" label="Pair-End Read Type (format: mapped --> parent)" value="sd" help="(--strand)">
                     <option value="sd"> read1 (positive --> positive; negative --> negative), read2 (positive --> negative; negative --> positive)</option>
                     <option value="ds">read1 (positive --> negative; negative --> positive), read2 (positive --> positive; negative --> negative)</option>
                 </param>
             </when>
             <when value="single">
-                <param name="single_type" type="select" display="radio" label="Single-End Read Type (format: mapped --> parent)" value="s">
+                <param name="single_type" type="select" display="radio" label="Single-End Read Type (format: mapped --> parent)" value="s" help="(--strand)">
                     <option value="s">positive --> positive; negative --> negative</option>
                     <option value="d">positive --> negative; negative --> positive</option>
                 </param>
             </when>
             <when value="none"></when>
         </conditional>
-        <param name="skiphits" type="boolean" value="false" label="Skip Multiple Hit Reads" />
-        <param name="onlyexonic" type="boolean" value="false" label="Only use exonic (UTR exons and CDS exons) reads, otherwise use all reads" />
+
+        <conditional name="multihits">
+            <param name="skipmultihits" type="boolean" label="Skip Multiple Hit Reads/Only Use Uniquely Mapped Reads" value="false" help="(--skip-multi-hits)" />
+            <when value="true">
+                <param name="mapq" value="30" type="integer" label="Minimum mapping quality for an alignment to be called 'uniquly mapped'" help="(--mapq)" />
+            </when>
+            <when value="false" />
+        </conditional>
+
+        <param name="onlyexonic" type="boolean" value="false" truevalue="--only-exonic" falsevalue="" label="Only use exonic (UTR exons and CDS exons) reads, otherwise use all reads" help="(--only-exonic)"/>
     </inputs>
+
     <outputs>
         <data format="xls" name="outputxls" from_work_dir="output_read_count.xls"/>
     </outputs>
-    <help>
+
+    <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_read_count.xls"/>
+        </test>
+    </tests>
+
+    <help><![CDATA[
 RPKM_count.py
 +++++++++++++
 
@@ -77,7 +101,7 @@
 values for transcript at exon, intron and mRNA level. For strand specific RNA-seq data,
 program will assign read to its parental gene according to strand rule, if you don't know the
 strand rule, run infer_experiment.py. Please note that chromosome ID, genome cooridinates
-should be concordant between BAM and BED files. 
+should be concordant between BAM and BED files.
 
 Inputs
 ++++++++++++++
@@ -97,7 +121,7 @@
 Skip Multiple Hit Reads
     Use Multiple hit reads or use only uniquely mapped reads.
 
-Only use exonic reads 
+Only use exonic reads
     Renders program only used exonic (UTR exons and CDS exons) reads, otherwise use all reads.
 
 Sample Output
@@ -113,10 +137,10 @@
 chr1    29313959   29314417   NM_001166007_exon_2      0      '+'            1699            4               74.158    0.175
 chr1    29319841   29320054   NM_001166007_exon_3      0      '+'             528             1               49.554    0.094
 =====   ========   ========   =====================    =====  ===========   =============   =============   ========  =========
-    
+
 -----
 
-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.
@@ -126,7 +150,9 @@
 .. image:: http://rseqc.sourceforge.net/_static/logo.png
 
 .. _RSeQC: http://rseqc.sourceforge.net/
-
+]]>
+    </help>
 
-    </help>
+    <expand macro="citations" />
+
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 RPKM_saturation.xml
--- a/RPKM_saturation.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/RPKM_saturation.xml Thu Jul 16 17:43:43 2015 -0400
[
b'@@ -1,11 +1,22 @@\n-<tool id="rseqc_RPKM_saturation" name="RPKM Saturation" version="2.4">\n+<tool id="rseqc_RPKM_saturation" name="RPKM Saturation" version="2.4galaxy1">\n     <description>calculates raw count and RPKM values for transcript at exon, intron, and mRNA level</description>\n+\n+    <macros>\n+        <import>rseqc_macros.xml</import>\n+    </macros>\n+\n     <requirements>\n-        <requirement type="package" version="3.0.3">R</requirement>\n-        <requirement type="package" version="1.7.1">numpy</requirement>\n-        <requirement type="package" version="2.4">rseqc</requirement>\n+        <expand macro="requirement_package_r" />\n+        <expand macro="requirement_package_numpy" />\n+        <expand macro="requirement_package_rseqc" />\n     </requirements>\n-    <command> RPKM_saturation.py -i $input -o output -r $refgene\n+\n+    <expand macro="stdio" />\n+\n+    <version_command><![CDATA[RPKM_saturation.py --version]]></version_command>\n+\n+    <command><![CDATA[\n+        RPKM_saturation.py -i $input -o output -r $refgene\n \n         #if str($strand_type.strand_specific) == "pair"\n             -d\n@@ -26,15 +37,12 @@\n         #end if\n \n         -l $percentileFloor -u $percentileCeiling -s $percentileStep -c $rpkmCutoff\n-\n+        ]]>\n     </command>\n-    <stdio>\n-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />\n-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />\n-    </stdio>\n+\n     <inputs>\n-        <param name="input" type="data" format="bam" label="input bam/sam file" />\n-        <param name="refgene" type="data" format="bed" label="Reference gene model" />\n+        <param name="input" type="data" label="Input .bam File" format="bam" help="(--input-file)"/>\n+        <param name="refgene" type="data" format="bed" label="reference gene model" help="(--refgene)"/>\n         <conditional name="strand_type">\n             <param name="strand_specific" type="select" label="Strand-specific?" value="None">\n                 <option value="none">None</option>\n@@ -42,31 +50,46 @@\n                 <option value="single">Single-End RNA-seq</option>\n             </param>\n             <when value="pair">\n-                <param name="pair_type" type="select" display="radio" label="Pair-End Read Type (format: mapped --> parent)" value="sd">\n+                <param name="pair_type" type="select" display="radio" label="Pair-End Read Type (format: mapped --> parent)" value="sd" help="(--strand)">\n                     <option value="sd"> read1 (positive --> positive; negative --> negative), read2 (positive --> negative; negative --> positive)</option>\n                     <option value="ds">read1 (positive --> negative; negative --> positive), read2 (positive --> positive; negative --> negative)</option>\n                 </param>\n             </when>\n             <when value="single">\n-                <param name="single_type" type="select" display="radio" label="Single-End Read Type (format: mapped --> parent)" value="s">\n+                <param name="single_type" type="select" display="radio" label="Single-End Read Type (format: mapped --> parent)" value="s" help="(--strand)">\n                     <option value="s">positive --> positive; negative --> negative</option>\n                     <option value="d">positive --> negative; negative --> positive</option>\n                 </param>\n             </when>\n             <when value="none"></when>\n         </conditional>\n-        <param name="percentileFloor" type="integer" value="5" label="Begin sampling from this percentile (default=5)" />\n-        <param name="percentileCeiling" type="integer" value="100" label="End sampling at this percentile (default=100)" />\n-        <param name="percentileStep" type="integer" value="5" label="Sampling step size (default=5)" />\n-        <param name="rpkmCutoff" type="text" value='..b'r)"/>\n+        <param name="percentileCeiling" type="integer" value="100" label="End sampling at this percentile (default=100)" help="(--percentile-ceiling)" />\n+        <param name="percentileStep" type="integer" value="5" label="Sampling step size (default=5)" help="(--percentile-step)" />\n+        <param name="rpkmCutoff" type="text" value="0.01" label="Ignore transcripts with RPKM smaller than this number (default=0.01)" help="(--rpkm-cutoff)" />\n+        <param name="mapq" value="30" type="integer" label="Minimum mapping quality for an alignment to be called \'uniquly mapped\'" help="(--mapq)" />\n     </inputs>\n+\n     <outputs>\n         <data format="xls" name="outputxls" from_work_dir="output.eRPKM.xls" label="${tool.name} on ${on_string} (RPKM XLS)"/>\n         <data format="xls" name="outputrawxls" from_work_dir="output.rawCount.xls" label="${tool.name} on ${on_string} (Raw Count XLS)"/>\n         <data format="txt" name="outputr" from_work_dir="output.saturation.r" label="${tool.name} on ${on_string} (R Script)"/>\n         <data format="pdf" name="outputpdf" from_work_dir="output.saturation.pdf" label="${tool.name} on ${on_string} (PDF)"/>\n     </outputs>\n-    <help>\n+\n+    <!-- Unable to succefully run this script with test data\n+    <tests>\n+        <test>\n+            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>\n+            <param name="refgene" value="hg19_RefSeq_chr1_1-100000.bed"/>\n+            <output name="outputxls" file="output.eRPKM.xls"/>\n+            <output name="outputrawxls" file="output.rawCount.xls"/>\n+            <output name="outputr" file="output.saturation.r"/>\n+        </test>\n+    </tests>\n+    -->\n+\n+    <help><![CDATA[\n RPKM_saturation.py\n ++++++++++++++++++\n \n@@ -77,7 +100,7 @@\n the current sequencing depth was saturated or not (or if the RPKM values were stable or not)\n in terms of genes\' expression estimation. If sequencing depth was saturated, the estimated\n RPKM value will be stationary or reproducible. By default, this module will calculate 20\n-RPKM values (using 5%, 10%, ... , 95%,100% of total reads) for each transcripts. \n+RPKM values (using 5%, 10%, ... , 95%,100% of total reads) for each transcripts.\n \n In the output figure, Y axis is "Percent Relative Error" or "Percent Error" which is used\n to measures how the RPKM estimated from subset of reads (i.e. RPKMobs) deviates from real\n@@ -107,7 +130,7 @@\n Skip Multiple Hit Reads\n     Use Multiple hit reads or use only uniquely mapped reads.\n \n-Only use exonic reads \n+Only use exonic reads\n     Renders program only used exonic (UTR exons and CDS exons) reads, otherwise use all reads.\n \n Output\n@@ -121,7 +144,7 @@\n .. image:: http://rseqc.sourceforge.net/_images/saturation.png\n    :height: 600 px\n    :width: 600 px\n-   :scale: 80 %     \n+   :scale: 80 %\n \n - All transcripts were sorted in ascending order according to expression level (RPKM). Then they are divided into 4 groups:\n     1. Q1 (0-25%): Transcripts with expression level ranked below 25 percentile.\n@@ -140,11 +163,11 @@\n .. image:: http://rseqc.sourceforge.net/_images/saturation_eg.png\n    :height: 600 px\n    :width: 600 px\n-   :scale: 80 % \n+   :scale: 80 %\n \n -----\n \n-About RSeQC \n+About RSeQC\n +++++++++++\n \n 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.\n@@ -154,7 +177,9 @@\n .. image:: http://rseqc.sourceforge.net/_static/logo.png\n \n .. _RSeQC: http://rseqc.sourceforge.net/\n-\n+]]>\n+    </help>\n \n-    </help>\n+    <expand macro="citations" />\n+\n </tool>\n'
b
diff -r 2e6190c29c54 -r 6b33e31bda10 bam2wig.xml
--- a/bam2wig.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/bam2wig.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,19 +1,26 @@
-<tool id="rseqc_bam2wig" name="BAM to Wiggle" version="2.4">
-    <description> 
-        converts all types of RNA-seq data from .bam to .wig 
+<tool id="rseqc_bam2wig" name="BAM to Wiggle" version="2.4galaxy1">
+    <description>
+        converts all types of RNA-seq data from .bam to .wig
     </description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="3.0.3">R</requirement>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
+        <expand macro="requirement_package_r" />
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
     </requirements>
-    <command>
-        tmp_input_name=\$(mktemp -u);
-        bai='.bai';
+
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[bam2wig.py --version]]></version_command>
 
-        ln -s "${input}" \$tmp_input_name &amp;&amp;
-        ln -s "${input.metadata.bam_index}" \$tmp_input_name\$bai &amp;&amp;
-        bam2wig.py -i \$tmp_input_name -s $chromsize -o outfile
+    <command><![CDATA[
+        ln -sfn '${input}' 'input.bam' &&
+        ln -sfn '${input.metadata.bam_index}' 'input.bam.bai' &&
+        bam2wig.py -i input.bam -s $chromsize -o outfile
 
         #if str($strand_type.strand_specific) == "pair"
             -d
@@ -36,26 +43,34 @@
         #if $wigsum.wigsum_type
             -t $wigsum.totalwig
         #end if
-
-        #if $skipmultihits
-            -u
+        #if $multihits.skipmultihits
+            --skip-multi-hits
+            --mapq=$multihits.mapq
         #end if
-        ;
-        rm "\$tmp_input_name\$bai";
-        rm \$tmp_input_name
+        2>&1
+        ]]>
     </command>
     <inputs>
-        <param name="input" type="data" label="Input .bam File" format="bam" />
-        <param name="chromsize" type="data" label="Chromosome size file (tab or space separated)" format="txt,tabular" />
-        <param name="skipmultihits" type="boolean" label="Skip Multiple Hit Reads/Only Use Uniquely Mapped Reads" value="false" />
+        <param name="input" type="data" label="Input .bam File" format="bam" help="(--input-file)"/>
+        <param name="chromsize" type="data" label="Chromosome size file (tab or space separated)" format="txt,tabular" help="(--chromSize)"/>
+
+        <conditional name="multihits">
+            <param name="skipmultihits" type="boolean" label="Skip Multiple Hit Reads/Only Use Uniquely Mapped Reads" value="false" help="(--skip-multi-hits)" />
+            <when value="true">
+                <param name="mapq" value="30" type="integer" label="Minimum mapping quality for an alignment to be called 'uniquly mapped'" help="(--mapq)" />
+            </when>
+            <when value="false" />
+        </conditional>
+
         <conditional name="wigsum">
             <param name="wigsum_type" type="boolean" label="Specify wigsum?" value="false">
             </param>
             <when value="true">
-                <param name="totalwig" value="0" type="integer" label="specified wigsum" />
+                <param name="totalwig" value="0" type="integer" label="specified wigsum" help="(--wigsum)"/>
             </when>
             <when value="false"/>
         </conditional>
+
         <conditional name="strand_type">
             <param name="strand_specific" type="select" label="Strand-specific?" value="none">
                 <option value="none">none</option>
@@ -63,13 +78,13 @@
                 <option value="single">Single-End RNA-seq</option>
             </param>
             <when value="pair">
-                <param name="pair_type" type="select" display="radio" label="Pair-End Read Type (format: mapped --> parent)" value="sd">
+                <param name="pair_type" type="select" display="radio" label="Pair-End Read Type (format: mapped --> parent)" value="sd" help="(--strand)">
                     <option value="sd"> read1 (positive --> positive; negative --> negative), read2 (positive --> negative; negative --> positive)</option>
                     <option value="ds">read1 (positive --> negative; negative --> positive), read2 (positive --> positive; negative --> negative)</option>
                 </param>
             </when>
             <when value="single">
-                <param name="single_type" type="select" display="radio" label="Single-End Read Type (format: mapped --> parent)" value="s">
+                <param name="single_type" type="select" display="radio" label="Single-End Read Type (format: mapped --> parent)" value="s" help="(--strand)">
                     <option value="s">positive --> positive; negative --> negative</option>
                     <option value="d">positive --> negative; negative --> positive</option>
                 </param>
@@ -77,7 +92,8 @@
             <when value="none"></when>
         </conditional>
     </inputs>
-    <outputs> 
+
+    <outputs>
         <data format="wig" name="output" from_work_dir="outfile.wig">
             <filter>strand_type['strand_specific'] == 'none'</filter>
         </data>
@@ -88,11 +104,31 @@
             <filter>strand_type['strand_specific'] != 'none'</filter>
         </data>
     </outputs>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
-    <help>
+
+    <tests>
+        <test>
+            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
+            <param name="chromsize" value="hg19.chrom.sizes"/>
+            <output name="output" file="testwig.wig"/>
+        </test>
+        <test>
+            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
+            <param name="chromsize" value="hg19.chrom.sizes"/>
+            <param name="skipmultihits" value="True"/>
+            <param name="mapq" value="20"/>
+            <output name="output" file="testwig.wig"/>
+        </test>
+        <test>
+            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
+            <param name="chromsize" value="hg19.chrom.sizes"/>
+            <param name="strand_specific" value="pair"/>
+            <param name="pair_type" value="sd"/>
+            <output name="outputfwd" file="testwig.Forward.wig"/>
+            <output name="outputrv" file="testwig.Reverse.wig"/>
+        </test>
+    </tests>
+
+    <help><![CDATA[
 bam2wig.py
 ++++++++++
 
@@ -131,10 +167,9 @@
 
 -----
 
-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 is licensed under the GNU GPL v3 license.
@@ -142,12 +177,16 @@
 .. image:: http://rseqc.sourceforge.net/_static/logo.png
 
 .. _RSeQC: http://rseqc.sourceforge.net/
+
 .. _UCSC: http://genome.ucsc.edu/index.html
 .. _IGB: http://bioviz.org/igb/
 .. _IGV: http://www.broadinstitute.org/igv/home
 .. _BAM: http://genome.ucsc.edu/goldenPath/help/bam.html
 .. _wiggle: http://genome.ucsc.edu/goldenPath/help/wiggle.html
 .. _bigwig: http://genome.ucsc.edu/FAQ/FAQformat.html#format6.1
-
+]]>
     </help>
+
+    <expand macro="citations" />
+
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 bam_stat.xml
--- a/bam_stat.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/bam_stat.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,31 +1,49 @@
-<tool id="rseqc_bam_stat" name="BAM/SAM Mapping Stats" version="2.4">
+<tool id="rseqc_bam_stat" name="BAM/SAM Mapping Stats" version="2.4galaxy1">
     <description>
         reads mapping statistics for a provided BAM or SAM file.
     </description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
-    </requirements>s
-    <command>
-        bam_stat.py -i $input -q $mapqual 2> $output
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
+    </requirements>
+
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[bam_stat.py --version]]></version_command>
+
+    <command><![CDATA[
+        bam_stat.py -i $input -q $mapq 2> $output
+        ]]>
     </command>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
+
     <inputs>
-        <param name="input" type="data" label="Input .bam/.sam File" format="bam,sam" />
-        <param label="Minimum mapping quality (default=30" type="integer" value="30" name="mapqual" />
+        <param name="input" type="data" label="Input .bam File" format="bam" help="(--input-file)"/>
+        <param name="mapq" value="30" type="integer" label="Minimum mapping quality for an alignment to be called 'uniquly mapped'" help="(--mapq)" />
     </inputs>
+
     <outputs>
         <data format="txt" name="output" />
     </outputs>
-    <help>
+
+    <tests>
+        <test>
+            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
+            <output name="output" file="bamstats.txt"/>
+        </test>
+    </tests>
+
+    <help><![CDATA[
 bam_stat.py
 +++++++++++
 
 This program is used to calculate reads mapping statistics from provided BAM
-file.  This script determines "uniquely mapped reads" from `mapping quality`_,
+file.  This script determines "uniquely mapped reads" from `mapping quality
+<http://genome.sph.umich.edu/wiki/Mapping_Quality_Scores>`_,
 which quality the probability that a read is misplaced (Do NOT confused with
 sequence quality, sequence quality measures the probability that a base-calling
 was wrong) .
@@ -37,7 +55,7 @@
  Alignment file in BAM/SAM format.
 
 Minimum mapping quality
- Minimum mapping quality for an alignment to be called “uniquely mapped” (default=30)
+ Minimum mapping quality for an alignment to be called "uniquely mapped" (default=30)
 
 Output
 ++++++++++++++
@@ -49,9 +67,10 @@
 
 -----
 
-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 is licensed under the GNU GPL v3 license.
@@ -59,7 +78,9 @@
 .. image:: http://rseqc.sourceforge.net/_static/logo.png
 
 .. _RSeQC: http://rseqc.sourceforge.net/
-.. _`mapping quality`: http://genome.sph.umich.edu/wiki/Mapping_Quality_Scores
 
+]]>
     </help>
+
+    <expand macro="citations" />
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 clipping_profile.xml
--- a/clipping_profile.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/clipping_profile.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,27 +1,47 @@
-<tool id="rseqc_clipping_profile" name="Clipping Profile" version="2.4">
+<tool id="rseqc_clipping_profile" name="Clipping Profile" version="2.4galaxy1">
     <description>
      estimates clipping profile of RNA-seq reads from BAM or SAM file
     </description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="3.0.3">R</requirement>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
+        <expand macro="requirement_package_r" />
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
     </requirements>
-    <command>
+
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[clipping_profile.py --version]]></version_command>
+
+    <command><![CDATA[
         clipping_profile.py -i $input -o output
+        ]]>
     </command>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
+
     <inputs>
-        <param name="input" type="data" label="Input .bam/.sam File" format="bam,sam" />
+        <param name="input" type="data" label="Input .bam File" format="bam" help="(--input-file)"/>
     </inputs>
+
     <outputs>
+        <data format="pdf" name="outputpdf" from_work_dir="output.clipping_profile.pdf" />
         <data format="xls" name="outputxls" from_work_dir="output.clipping_profile.xls" />
         <data format="txt" name="outputr" from_work_dir="output.clipping_profile.r" />
     </outputs>
-    <help>
+
+    <tests>
+        <test>
+            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
+            <output name="outputpdf" file="output.clipping_profile.pdf"/>
+            <output name="outputxls" file="output.clipping_profile.xls"/>
+            <output name="outputr" file="output.clipping_profile.r"/>
+        </test>
+    </tests>
+
+    <help><![CDATA[
 clipping_profile.py
 +++++++++++++++++++
 
@@ -46,7 +66,7 @@
 
 -----
 
-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.
@@ -56,6 +76,9 @@
 .. image:: http://rseqc.sourceforge.net/_static/logo.png
 
 .. _RSeQC: http://rseqc.sourceforge.net/
-
+]]>
     </help>
+
+    <expand macro="citations" />
+
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 geneBody_coverage.xml
--- a/geneBody_coverage.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/geneBody_coverage.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,40 +1,49 @@
-<tool id="rseqc_geneBody_coverage" name="Gene Body Converage (BAM)" version="2.4">
+<tool id="rseqc_geneBody_coverage" name="Gene Body Converage (BAM)" version="2.4galaxy1">
     <description>
         Read coverage over gene body.
     </description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="3.0.3">R</requirement>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
+        <expand macro="requirement_package_r" />
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
     </requirements>
-    <command>
+
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[geneBody_coverage.py --version]]></version_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}' &amp;&amp;
-        ln -s '${input.metadata.bam_index}' '${fname}.bai' &amp;&amp;
-        echo '${fname}' > input_list.txt &amp;&amp;
+        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}' &amp;&amp;
-            ln -s '$additional_input.file.metadata.bam_index' '${fname}.bai' &amp;&amp;
-            echo '${fname}' >> input_list.txt &amp;&amp;
+            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>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
+
     <inputs>
-        <param name="input" type="data" label="Additional input .bam files" format="bam" />
-        <repeat name="additionalinputs" title="Input .bam file">
-            <param name="file" type="data" label="Input .bam file" format="bam" />
+        <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" label="Reference Genome" format="bed" />
-        <param name="minimum_length" type="integer" value="100" label="Minimum mRNA length" help="Minimum mRNA length (bp). mRNA that are shorter than this value will be skipped (default is 100)." />
+        <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)">
@@ -43,7 +52,29 @@
         <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>
-    <help>
+
+    <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>
+
+    </tests>
+
+    <help><![CDATA[
 geneBody_coverage.py
 ++++++++++++++++++++
 
@@ -52,7 +83,12 @@
 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 &lt;http://en.wikipedia.org/wiki/Skewness#Pearson.27s_skewness_coefficients>`_
+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 %
+
 
 Inputs
 ++++++++++++++
@@ -100,8 +136,9 @@
 .. image:: http://rseqc.sourceforge.net/_static/logo.png
 
 .. _RSeQC: http://rseqc.sourceforge.net/
-
-
+]]>
+    </help>
 
- </help>
+    <expand macro="citations" />
+
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 geneBody_coverage2.xml
--- a/geneBody_coverage2.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/geneBody_coverage2.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,29 +1,51 @@
-<tool id="rseqc_geneBody_coverage2" name="Gene Body Converage (Bigwig)" version="2.4">
+<tool id="rseqc_geneBody_coverage2" name="Gene Body Converage (Bigwig)" version="2.4galaxy1">
     <description>
         Read coverage over gene body
     </description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="3.0.3">R</requirement>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
+        <expand macro="requirement_package_r" />
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
     </requirements>
-    <command>
+
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[geneBody_coverage2.py --version]]></version_command>
+
+    <command><![CDATA[
         geneBody_coverage2.py -i $input -r $refgene -o output
+        ]]>
     </command>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
+
     <inputs>
         <param name="input" type="data" label="Input bigwig file" format="bigwig" />
         <param name="refgene" type="data" label="Reference Genome" format="bed" />
     </inputs>
+
     <outputs>
         <data name="outputpdf" format="pdf" from_work_dir="output.geneBodyCoverage.pdf" label="${tool.name} on ${on_string} (PDF)" />
         <data name="outputr" format="txt" from_work_dir="output.geneBodyCoverage_plot.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>
-    <help>
+
+    <!-- Unable to succefully run this script, it seems deprecated and should probably be dropped
+    <tests>
+        <test>
+            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bigwig"/>
+            <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>
+    </tests>
+    -->
+
+    <help><![CDATA[
 geneBody_coverage2.py
 +++++++++++++++++++++
 
@@ -50,11 +72,11 @@
     .. image:: http://dldcc-web.brc.bcm.edu/lilab/liguow/RSeQC/figure/geneBody_coverage.png
         :height: 600 px
         :width: 600 px
-        :scale: 80 %    
+        :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.
@@ -65,7 +87,9 @@
 
 .. _RSeQC: http://rseqc.sourceforge.net/
 
-
+]]>
+    </help>
 
-    </help>
+    <expand macro="citations" />
+
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 infer_experiment.xml
--- a/infer_experiment.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/infer_experiment.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,41 +1,53 @@
-<tool id="rseqc_infer_experiment" name="Infer Experiment" version="2.4">
+<tool id="rseqc_infer_experiment" name="Infer Experiment" version="2.4galaxy1">
     <description>speculates how RNA-seq were configured</description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
     </requirements>
-    <command>
-        infer_experiment.py -i $input -r $refgene 
-            #if $sample_size.boolean
-                -s $sample_size.size
-            #end if
+
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[infer_experiment.py --version]]></version_command>
 
+    <command><![CDATA[
+        infer_experiment.py -i $input -r $refgene
+            --sample-size $sample_size
+            --mapq $mapq
             > $output
+            ]]>
     </command>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
+
     <inputs>
-        <param name="input" type="data" format="bam,sam" label="Input BAM/SAM file" />
-        <param name="refgene" type="data" format="bed" label="Reference gene model in bed format" />
-        <conditional name="sample_size">
-            <param name="boolean" type="boolean" label="Modify usable sampled reads" value="false" />
-            <when value="true">
-                <param name="size" type="integer" label="Number of usable sampled reads (default = 200000)" value="200000" />
-            </when>
-        </conditional>
+        <param name="input" type="data" format="bam,sam" label="Input BAM/SAM file" help="(--input-file)"/>
+        <param name="refgene" type="data" format="bed" label="Reference gene model in bed format" help="(--refgene)" />
+        <param name="sample_size" type="integer" label="Number of reads sampled from SAM/BAM file (default = 200000)" value="200000" help="(--sample-size)"/>
+        <param name="mapq" type="integer" label="Minimum mapping quality (default=30)" help="Minimum phred scale mapping quality to consider a read 'uniquely mapped' (--mapq)" value="30" />
     </inputs>
+
     <outputs>
         <data format="txt" name="output" />
     </outputs>
-    <help>
+
+    <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="output" file="output.infer_experiment.txt"/>
+        </test>
+    </tests>
+
+    <help><![CDATA[
 infer_experiment.py
 +++++++++++++++++++
 
 This program is used to speculate how RNA-seq sequencing were configured, especially how
 reads were stranded for strand-specific RNA-seq data, through comparing reads' mapping
-information to the underneath gene model. 
+information to the underneath gene model.
 
 
 Inputs
@@ -101,13 +113,13 @@
 **Example2** ::
 
     ============================================================
-    This is PairEnd Data 
+    This is PairEnd Data
 
     Fraction of reads explained by "1++,1--,2+-,2-+": 0.9644 ::
-    Fraction of reads explained by "1+-,1-+,2++,2--": 0.0356    
+    Fraction of reads explained by "1+-,1-+,2++,2--": 0.0356
     Fraction of reads explained by other combinations: 0.0000
     ============================================================
-    
+
 *Conclusion*: We can infer that this is a strand-specific RNA-seq data. strandness of read1 is consistent with that of gene model, while strandness of read2 is opposite to the strand of reference gene model.
 
 **Example3** ::
@@ -125,7 +137,7 @@
 
 -----
 
-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.
@@ -136,6 +148,9 @@
 
 .. _RSeQC: http://rseqc.sourceforge.net/
 
-
+]]>
     </help>
+
+    <expand macro="citations" />
+
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 inner_distance.xml
--- a/inner_distance.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/inner_distance.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,58 +1,59 @@
-<tool id="rseqc_inner_distance" name="Inner Distance" version="2.4">
+<tool id="rseqc_inner_distance" name="Inner Distance" version="2.4galaxy1">
     <description>calculate the inner distance (or insert size) between two paired RNA reads</description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="3.0.3">R</requirement>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
+        <expand macro="requirement_package_r" />
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
     </requirements>
-    <command>
-        inner_distance.py -i $input -o output -r $refgene
 
-            #if $bounds.hasLowerBound
-                -l $bounds.lowerBound
-            #end if
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[inner_distance.py --version]]></version_command>
 
-            #if $bounds2.hasUpperBound
-                -u $bounds2.upperBound
-            #end if
-
-            #if $steps.step
-                -s $steps.stepSize
-            #end if
+    <command><![CDATA[
+        inner_distance.py -i $input -o output -r $refgene
+            --sample-size $sample_size
+            --lower-bound $lowerBound
+            --upper-bound $upperBound
+            --step $step
+            --mapq $mapq
+        ]]>
     </command>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
+
     <inputs>
-        <param name="input" type="data" format="bam,sam" label="input bam/sam file" />
-        <param name="refgene" type="data" format="bed" label="reference gene model" />
-        <conditional name="bounds">
-            <param name="hasLowerBound" type="boolean" label="Specify lower bound" value="false"/>
-            <when value="true">
-                <param name="lowerBound" type="integer" value="-250" label="Estimated Lower Bound (bp, default=-250)" />
-            </when>
-        </conditional>
-        <conditional name="bounds2">
-            <param name="hasUpperBound" type="boolean" label="Specify upper bound" value="false" />
-            <when value="true">
-                <param name="upperBound" type="integer" value="250" label="Estimated Upper Bound (bp, default=250)" />
-            </when>
-        </conditional>
-        <conditional name="steps">
-            <param name="step" type="boolean" label="Specify step size" value="false" />
-            <when value="true">
-                <param name="stepSize" type="integer" value="5" label="Step size (bp, default=5)" />
-            </when>
-        </conditional>
+        <param name="input" type="data" format="bam,sam" label="input bam/sam file" help="(--input-file)" />
+        <param name="refgene" type="data" format="bed" label="reference gene model" help="(--refgene)" />
+        <param name="sample_size" type="integer" label="Number of read-pairs used to estimate inner distance (default = 1000000)" value="1000000" help="(--sample-size)"/>
+        <param name="lowerBound" type="integer" value="-250" label="Lower bound (bp, default=-250)" help="Used for plotting histogram (--lower-bound)"/>
+        <param name="upperBound" type="integer" value="250" label="Upper bound (bp, default=250)" help="Used for plotting histogram (--upper-bound)"/>
+        <param name="step" type="integer" value="5" label="Step size of histogram (bp, default=5)" help="(--step)"/>
+        <param name="mapq" type="integer" label="Minimum mapping quality (default=30)" help="Minimum phred scale mapping quality to consider a read 'uniquely mapped' (--mapq)" value="30" />
     </inputs>
+
     <outputs>
         <data format="txt" name="outputtxt" from_work_dir="output.inner_distance.txt" label="${tool.name} on ${on_string} (Text)"/>
         <data format="txt" name="outputfreqtxt" from_work_dir="output.inner_distance_freq.txt" label="${tool.name} on ${on_string} (Freq Text)" />
         <data format="pdf" name="outputpdf" from_work_dir="output.inner_distance_plot.pdf" label="${tool.name} on ${on_string} (PDF)" />
         <data format="txt" name="outputr" from_work_dir="output.inner_distance_plot.r" label="${tool.name} on ${on_string} (R Script)" />
     </outputs>
-    <help>
+
+    <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="outputtxt" file="output.inner_distance.txt"/>
+            <output name="outputfreqtxt" file="output.inner_distance_freq.txt"/>
+            <output name="outputpdf" file="output.inner_distance_plot.pdf"/>
+            <output name="outputr" file="output.inner_distance_plot.r"/>
+        </test>
+    </tests>
+
+    <help><![CDATA[
 inner_distance.py
 +++++++++++++++++
 
@@ -63,10 +64,10 @@
 * if two paired reads map to the same exon: inner distance = D_size
 * if two paired reads map to different exons:inner distance = D_size - intron_size
 * if two paired reads map non-exonic region (such as intron and intergenic region): inner distance = D_size
-* The inner_distance might be a negative value if two fragments were overlapped. 
+* The inner_distance might be a negative value if two fragments were overlapped.
 
 NOTE: Not all read pairs were used to estimate the inner distance distribution. Those low
-quality, PCR duplication, multiple mapped reads were skipped. 
+quality, PCR duplication, multiple mapped reads were skipped.
 
 Inputs
 ++++++++++++++
@@ -102,12 +103,12 @@
 .. image:: http://rseqc.sourceforge.net/_images/inner_distance.png
    :height: 600 px
    :width: 600 px
-   :scale: 80 %                        
+   :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.
@@ -118,6 +119,9 @@
 
 .. _RSeQC: http://rseqc.sourceforge.net/
 
-
+]]>
     </help>
+
+    <expand macro="citations" />
+
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 junction_annotation.xml
--- a/junction_annotation.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/junction_annotation.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,38 +1,56 @@
-<tool id="rseqc_junction_annotation" name="Junction Annotation" version="2.4">
+<tool id="rseqc_junction_annotation" name="Junction Annotation" version="2.4galaxy1">
     <description>compares detected splice junctions to reference gene model</description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="3.0.3">R</requirement>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
+        <expand macro="requirement_package_r" />
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
     </requirements>
-    <command>
-        junction_annotation.py 
-            -i $input -o output -r $refgene
-            #if $intron.hasIntron
-                -m $intron.min_Intron
-            #end if
+
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[junction_annotation.py --version]]></version_command>
+
+    <command><![CDATA[
+        junction_annotation.py
+            --input-file $input
+            --refgene $refgene
+            --out-prefix output
+            --min-intron $min_intron
+            --mapq $mapq
+        ]]>
     </command>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
+
     <inputs>
-        <param name="input" type="data" format="bam,sam" label="input bam/sam file" />
-        <param name="refgene" type="data" format="bed" label="reference gene model" />
-        <conditional name="intron">
-            <param name="hasIntron" type="boolean" label="Specify minimum intron length" value="false"/>
-            <when value="true">
-                <param name="min_Intron" type="integer" value="50" label="Minimum intron length (bp, default=50)" />
-            </when>
-        </conditional>
+        <param name="input" type="data" format="bam,sam" label="input bam/sam file" help="(--input-file)"/>
+        <param name="refgene" type="data" format="bed" label="reference gene model" help="(--refgene)"/>
+        <param name="min_intron" type="integer" value="50" label="Minimum intron length (bp, default=50)" help="(--min-intron)" />
+        <param name="mapq" type="integer" label="Minimum mapping quality (default=30)" help="Minimum phred scale mapping quality to consider a read 'uniquely mapped' (--mapq)" value="30" />
     </inputs>
+
     <outputs>
         <data format="xls" name="outputxls" from_work_dir="output.junction.xls" label="${tool.name} on ${on_string} (XLS)"/>
         <data format="txt" name="outputr" from_work_dir="output.junction_plot.r" label="${tool.name} on ${on_string} (R Script)" />
         <data format="pdf" name="outputpdf" from_work_dir="output.splice_events.pdf" label="${tool.name} on ${on_string} (Splice Events PDF)"/>
         <data format="pdf" name="outputjpdf" from_work_dir="output.splice_junction.pdf" label="${tool.name} on ${on_string} (Splice Junction PDF)" />
     </outputs>
-    <help>
+
+    <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.junction.xls"/>
+            <output name="outputr" file="output.junction_plot.r"/>
+            <output name="outputpdf" file="output.splice_events.pdf"/>
+            <output name="outputjpdf" file="output.splice_junction.pdf"/>
+        </test>
+    </tests>
+
+    <help><![CDATA[
 junction_annotation.py
 ++++++++++++++++++++++
 
@@ -40,15 +58,15 @@
 format, this program will compare detected splice junctions to reference gene model. splicing
 annotation is performed in two levels: splice event level and splice junction level.
 
-* splice event: An RNA read, especially long read, can be spliced 2 or more times, each time is called a splicing event; In this sense, 100 spliced reads can produce >= 100 splicing events. 
-* splice junction: multiple splicing events spanning the same intron can be consolidated into one splicing junction. 
+* splice event: An RNA read, especially long read, can be spliced 2 or more times, each time is called a splicing event; In this sense, 100 spliced reads can produce >= 100 splicing events.
+* splice junction: multiple splicing events spanning the same intron can be consolidated into one splicing junction.
 
 All detected junctions can be grouped to 3 exclusive categories:
 
-1. Annotated: The junction is part of the gene model. Both splice sites, 5' splice site 
-   (5'SS) and 3'splice site (3'SS) can be annotated by reference gene model. 
-2. complete_novel: Complete new junction. Neither of the two splice sites cannot be annotated by gene model 
-3. partial_novel: One of the splice site (5'SS or 3'SS) is new, while the other splice site is annotated (known) 
+1. Annotated: The junction is part of the gene model. Both splice sites, 5' splice site
+   (5'SS) and 3'splice site (3'SS) can be annotated by reference gene model.
+2. complete_novel: Complete new junction. Neither of the two splice sites cannot be annotated by gene model
+3. partial_novel: One of the splice site (5'SS or 3'SS) is new, while the other splice site is annotated (known)
 
 Inputs
 ++++++++++++++
@@ -79,11 +97,11 @@
 .. image:: http://rseqc.sourceforge.net/_images/junction.png
    :height: 400 px
    :width: 850 px
-   :scale: 80 %      
+   :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.
@@ -93,9 +111,9 @@
 .. image:: http://rseqc.sourceforge.net/_static/logo.png
 
 .. _RSeQC: http://rseqc.sourceforge.net/
-
-
+]]>
+    </help>
 
+    <expand macro="citations" />
 
-    </help>
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 junction_saturation.xml
--- a/junction_saturation.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/junction_saturation.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,40 +1,72 @@
-<tool id="rseqc_junction_saturation" name="Junction Saturation" version="2.4">
+<tool id="rseqc_junction_saturation" name="Junction Saturation" version="2.4galaxy1">
     <description>detects splice junctions from each subset and compares them to reference gene model</description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="3.0.3">R</requirement>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
+        <expand macro="requirement_package_r" />
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
     </requirements>
-    <command> junction_saturation.py -i $input -o output -r $refgene -m $intronSize -v $minSplice
+
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[junction_saturation.py --version]]></version_command>
 
+    <command><![CDATA[
+        junction_saturation.py
+            --input-file $input
+            --refgene $refgene
+            --out-prefix output
+            --min-intron $min_intron
+            --min-coverage $min_coverage
+            --mapq $mapq
         #if $percentiles.specifyPercentiles
-            -l $percentiles.lowBound -u $percentiles.upBound -s $percentiles.percentileStep
+            --percentile-floor $percentiles.lowBound
+            --percentile-ceiling $percentiles.upBound
+            --percentile-step $percentiles.percentileStep
         #end if
-
+        ]]>
     </command>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
+
     <inputs>
-        <param name="input" type="data" format="bam,sam" label="input bam/sam file" />
-        <param name="refgene" type="data" format="bed" label="reference gene model" />
-        <param name="intronSize" type="integer" label="Minimum intron size (bp, default=50)" value="50"/>
-        <param name="minSplice" type="integer" label="Minimum coverage (default=1)" value="1" />
+        <param name="input" type="data" format="bam,sam" label="input bam/sam file" help="(--input-file)"/>
+        <param name="refgene" type="data" format="bed" label="reference gene model" help="(--refgene)"/>
+        <param name="min_intron" type="integer" value="50" label="Minimum intron length (bp, default=50)" help="(--min-intron)" />
+        <param name="min_coverage" type="integer" label="Minimum number of supporting reads to call a junction (default=1)" value="1" help="(--min-coverage)" />
+        <param name="mapq" type="integer" label="Minimum mapping quality (default=30)" help="Minimum phred scale mapping quality to consider a read 'uniquely mapped' (--mapq)" value="30" />
         <conditional name="percentiles">
             <param name="specifyPercentiles" type="boolean" label="Specify sampling bounds and frequency" value="false"/>
             <when value="true">
-                <param name="lowBound" type="integer" value="5" label="Lower Bound Sampling Frequency (bp, default=5)" />
-                <param name="upBound" type="integer" value="100" label="Upper Bound Sampling Frequency (bp, default=100)" />
-                <param name="percentileStep" type="integer" value="5" label="Sampling increment (default=5)" />
+                <param name="lowBound" type="integer" value="5" label="Lower Bound Sampling Frequency (bp, default=5)" help="(--percentile-floor)">
+                    <validator type="in_range" min="0" max="100" />
+                </param>
+                <param name="upBound" type="integer" value="100" label="Upper Bound Sampling Frequency (bp, default=100)" help="(--percentile-ceiling)">
+                    <validator type="in_range" min="0" max="100" />
+                </param>
+                <param name="percentileStep" type="integer" value="5" label="Sampling increment (default=5)" help="(--percentile-step)">
+                    <validator type="in_range" min="0" max="100" />
+                </param>
             </when>
         </conditional>
     </inputs>
+
     <outputs>
         <data format="txt" name="outputr" from_work_dir="output.junctionSaturation_plot.r" label="${tool.name} on ${on_string} (R Script)"/>
         <data format="pdf" name="outputpdf" from_work_dir="output.junctionSaturation_plot.pdf" label="${tool.name} on ${on_string} (PDF)"/>
     </outputs>
-    <help>
+
+    <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="outputr" file="output.junctionSaturation_plot.r"/>
+        </test>
+    </tests>
+
+    <help><![CDATA[
 junction_saturation.py
 ++++++++++++++++++++++
 
@@ -46,7 +78,7 @@
 alternative splicing analysis is problematic because low abundance splice junctions are
 missing. This module checks for saturation by resampling 5%, 10%, 15%, ..., 95% of total
 alignments from BAM or SAM file, and then detects splice junctions from each subset and
-compares them to reference gene model. 
+compares them to reference gene model.
 
 Inputs
 ++++++++++++++
@@ -75,14 +107,14 @@
 .. image:: http://rseqc.sourceforge.net/_images/junction_saturation.png
    :height: 600 px
    :width: 600 px
-   :scale: 80 %    
+   :scale: 80 %
 
 In this example, current sequencing depth is almost saturated for "known junction" (red line) detection because the number of "known junction" reaches a plateau. In other words, nearly all "known junctions" (expressed in this particular tissue) have already been detected, and continue sequencing will not detect additional "known junction" and will only increase junction coverage (i.e. junction covered by more reads). While current sequencing depth is not saturated for novel junctions (green).
 
 
 -----
 
-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.
@@ -92,8 +124,9 @@
 .. image:: http://rseqc.sourceforge.net/_static/logo.png
 
 .. _RSeQC: http://rseqc.sourceforge.net/
-
-
+]]>
+    </help>
 
-    </help>
+    <expand macro="citations" />
+
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 read_GC.xml
--- a/read_GC.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/read_GC.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,26 +1,48 @@
-<tool id="rseqc_read_GC" name="Read GC" version="2.4">
+<tool id="rseqc_read_GC" name="Read GC" version="2.4galaxy1">
     <description>determines GC% and read count</description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="3.0.3">R</requirement>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
+        <expand macro="requirement_package_r" />
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
     </requirements>
-    <command>
-        read_GC.py -i $input -o output
+
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[read_GC.py --version]]></version_command>
+
+    <command><![CDATA[
+        read_GC.py
+            --input-file $input
+            --out-prefix output
+            --mapq $mapq
+        ]]>
     </command>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
+
     <inputs>
-        <param name="input" type="data" format="bam,sam" label="input bam/sam file" />
+        <param name="input" type="data" format="bam,sam" label="input bam/sam file" help="(--input-file)"/>
+        <param name="mapq" type="integer" label="Minimum mapping quality (default=30)" help="Minimum phred scale mapping quality to consider a read 'uniquely mapped' (--mapq)" value="30" />
     </inputs>
+
     <outputs>
         <data format="xls" name="outputxls" from_work_dir="output.GC.xls" label="${tool.name} on ${on_string} (XLS)"/>
         <data format="txt" name="outputr" from_work_dir="output.GC_plot.r" label="${tool.name} on ${on_string} (R Script)" />
         <data format="pdf" name="outputpdf" from_work_dir="output.GC_plot.pdf" label="${tool.name} on ${on_string} (PDF)" />
     </outputs>
-    <help>
+
+    <tests>
+        <test>
+            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
+            <output name="outputxls" file="output.GC.xls"/>
+            <output name="outputr" file="output.GC_plot.r"/>
+        </test>
+    </tests>
+
+    <help><![CDATA[
 read_GC.py
 ++++++++++
 
@@ -36,16 +58,16 @@
 
 1. output.GC.xls: Two column, plain text file, first column is GC%, second column is read count
 2. output.GC_plot.r: R script to generate pdf file.
-3. output.GC_plot.pdf: graphical output generated from R script. 
+3. output.GC_plot.pdf: graphical output generated from R script.
 
-.. image:: http://rseqc.sourceforge.net/_images/read_gc.png 
+.. image:: http://rseqc.sourceforge.net/_images/read_gc.png
    :height: 600 px
    :width: 600 px
-   :scale: 80 %    
+   :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.
@@ -55,7 +77,9 @@
 .. image:: http://rseqc.sourceforge.net/_static/logo.png
 
 .. _RSeQC: http://rseqc.sourceforge.net/
-
+]]>
+    </help>
 
-    </help>
+    <expand macro="citations" />
+
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 read_NVC.xml
--- a/read_NVC.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/read_NVC.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,27 +1,49 @@
-<tool id="rseqc_read_NVC" name="Read NVC" version="2.4">
+<tool id="rseqc_read_NVC" name="Read NVC" version="2.4galaxy1">
     <description>to check the nucleotide composition bias</description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="3.0.3">R</requirement>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
+        <expand macro="requirement_package_r" />
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
     </requirements>
+
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[read_NVC.py --version]]></version_command>
+
     <command>
-        read_NVC.py -i $input -o output $nx
+        read_NVC.py
+            --input-file $input
+            --out-prefix output
+            $nx
+            --mapq $mapq
     </command>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
+
     <inputs>
-        <param name="input" type="data" format="bam,sam" label="input bam/sam file" />
-        <param name="nx" type="boolean" value="false" truevalue="-x" falsevalue="" label="Include N,X in NVC plot"/>
+        <param name="input" type="data" format="bam,sam" label="input bam/sam file" help="(--input-file)"/>
+        <param name="nx" type="boolean" value="false" truevalue="--nx" falsevalue="" label="Include N,X in NVC plot" help="(--nx)"/>
+        <param name="mapq" type="integer" label="Minimum mapping quality (default=30)" help="Minimum phred scale mapping quality to consider a read 'uniquely mapped' (--mapq)" value="30" />
     </inputs>
+
     <outputs>
         <data format="xls" name="outputxls" from_work_dir="output.NVC.xls" label="${tool.name} on ${on_string} (XLS)" />
         <data format="txt" name="outputr" from_work_dir="output.NVC_plot.r" label="${tool.name} on ${on_string} (R Script)" />
         <data format="pdf" name="outputpdf" from_work_dir="output.NVC_plot.pdf" label="${tool.name} on ${on_string} (PDF)" />
     </outputs>
-    <help>
+
+    <tests>
+        <test>
+            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
+            <output name="outputxls" file="output.NVC.xls"/>
+            <output name="outputr" file="output.NVC_plot.r"/>
+        </test>
+    </tests>
+
+    <help><![CDATA[
 read_NVC.py
 +++++++++++
 
@@ -30,7 +52,7 @@
 examined by NVC (Nucleotide versus cycle) plot. NVC plot is generated by overlaying all
 reads together, then calculating nucleotide composition for each position of read
 (or each sequencing cycle). In ideal condition (genome is random and RNA-seq reads is
-randomly sampled from genome), we expect A%=C%=G%=T%=25% at each position of reads. 
+randomly sampled from genome), we expect A%=C%=G%=T%=25% at each position of reads.
 
 NOTE: this program expect a fixed read length
 
@@ -57,11 +79,11 @@
 .. image:: http://rseqc.sourceforge.net/_images/NVC_plot.png
    :height: 600 px
    :width: 600 px
-   :scale: 80 %    
+   :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.
@@ -71,7 +93,9 @@
 .. image:: http://rseqc.sourceforge.net/_static/logo.png
 
 .. _RSeQC: http://rseqc.sourceforge.net/
-
+]]>
+    </help>
 
-    </help>
+    <expand macro="citations" />
+
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 read_distribution.xml
--- a/read_distribution.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/read_distribution.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,24 +1,42 @@
-<tool id="rseqc_read_distribution" name="Read Distribution" version="2.4">
+<tool id="rseqc_read_distribution" name="Read Distribution" version="2.4galaxy1">
     <description>calculates how mapped reads were distributed over genome feature</description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
     </requirements>
-    <command>
+
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[read_distribution.py --version]]></version_command>
+
+    <command><![CDATA[
         read_distribution.py -i $input -r $refgene > $output
+        ]]>
     </command>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
+
     <inputs>
-        <param name="input" type="data" format="bam,sam" label="input bam/sam file" />
-        <param name="refgene" type="data" format="bed" label="reference gene model" />
+        <param name="input" type="data" format="bam,sam" label="input bam/sam file" help="(--input-file)"/>
+        <param name="refgene" type="data" format="bed" label="reference gene model" help="(--refgene)"/>
     </inputs>
+
     <outputs>
         <data format="txt" name="output" />
     </outputs>
-    <help>
+
+    <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="output" file="output.read_distribution.txt"/>
+        </test>
+    </tests>
+
+    <help><![CDATA[
 read_distribution.py
 ++++++++++++++++++++
 
@@ -39,7 +57,7 @@
 
 * hit to intergenic regions that beyond region starting from TSS upstream 10Kb to TES downstream 10Kb.
 * hit to regions covered by both 5'UTR and 3' UTR. This is possible when two head-to-tail transcripts are overlapped in UTR regions.
-* hit to regions covered by both TSS upstream 10Kb and TES downstream 10Kb. 
+* hit to regions covered by both TSS upstream 10Kb and TES downstream 10Kb.
 
 
 Inputs
@@ -57,23 +75,23 @@
 Output:
 
 ===============     ============        ===========         ===========
-Group               Total_bases         Tag_count           Tags/Kb    
+Group               Total_bases         Tag_count           Tags/Kb
 ===============     ============        ===========         ===========
-CDS_Exons           33302033            20002271            600.63     
-5'UTR_Exons         21717577            4408991             203.01     
-3'UTR_Exons         15347845            3643326             237.38     
-Introns             1132597354          6325392             5.58       
-TSS_up_1kb          17957047            215331              11.99      
-TSS_up_5kb          81621382            392296              4.81       
-TSS_up_10kb         149730983           769231              5.14       
-TES_down_1kb        18298543            266161              14.55      
-TES_down_5kb        78900674            729997              9.25       
-TES_down_10kb       140361190           896882              6.39       
+CDS_Exons           33302033            20002271            600.63
+5'UTR_Exons         21717577            4408991             203.01
+3'UTR_Exons         15347845            3643326             237.38
+Introns             1132597354          6325392             5.58
+TSS_up_1kb          17957047            215331              11.99
+TSS_up_5kb          81621382            392296              4.81
+TSS_up_10kb         149730983           769231              5.14
+TES_down_1kb        18298543            266161              14.55
+TES_down_5kb        78900674            729997              9.25
+TES_down_10kb       140361190           896882              6.39
 ===============     ============        ===========         ===========
 
 -----
 
-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.
@@ -83,8 +101,9 @@
 .. image:: http://rseqc.sourceforge.net/_static/logo.png
 
 .. _RSeQC: http://rseqc.sourceforge.net/
-
-
+]]>
+    </help>
 
-    </help>
+    <expand macro="citations" />
+
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 read_duplication.xml
--- a/read_duplication.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/read_duplication.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,35 +1,54 @@
-<tool id="rseqc_read_duplication" name="Read Duplication" version="2.4">
+<tool id="rseqc_read_duplication" name="Read Duplication" version="2.4galaxy1">
     <description>determines reads duplication rate with sequence-based and mapping-based strategies</description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="3.0.3">R</requirement>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
+        <expand macro="requirement_package_r" />
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
     </requirements>
-    <command>
+
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[read_duplication.py --version]]></version_command>
+
+    <command><![CDATA[
         read_duplication.py -i $input -o output -u $upLimit
+        ]]>
     </command>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
+
     <inputs>
-        <param name="input" type="data" format="bam,sam" label="input bam/sam file" />
-        <param name="upLimit" type="integer" label="Upper Limit of Plotted Duplicated Times (default=500)" value="500" />
+        <param name="input" type="data" format="bam,sam" label="input bam/sam file" help="(--input-file)"/>
+        <param name="upLimit" type="integer" label="Upper Limit of Plotted Duplicated Times (default=500)" value="500" help="(--up-limit)"/>
     </inputs>
+
     <outputs>
-        <data format="xls" name="outputxls" from_work_dir="output.dup.pos.DupRate.xls" label="${tool.name} on ${on_string} (Position XLS)"/>
-        <data format="xls" name="outputseqxls" from_work_dir="output.dup.seq.DupRate.xls" label="${tool.name} on ${on_string} (Sequence XLS)"/>
+        <data format="xls" name="outputxls" from_work_dir="output.pos.DupRate.xls" label="${tool.name} on ${on_string} (Position XLS)"/>
+        <data format="xls" name="outputseqxls" from_work_dir="output.seq.DupRate.xls" label="${tool.name} on ${on_string} (Sequence XLS)"/>
         <data format="txt" name="outputr" from_work_dir="output.DupRate_plot.r" label="${tool.name} on ${on_string} (R Script)" />
         <data format="pdf" name="outputpdf" from_work_dir="output.DupRate_plot.pdf" label="${tool.name} on ${on_string} (PDF)" />
     </outputs>
-    <help>
+
+    <tests>
+        <test>
+            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bam"/>
+            <output name="outputxls" file="output.pos.DupRate.xls"/>
+            <output name="outputseqxls" file="output.seq.DupRate.xls"/>
+            <output name="outputr" file="output.DupRate_plot.r"/>
+        </test>
+    </tests>
+
+    <help><![CDATA[
 read_duplication.py
 +++++++++++++++++++
 
-Two strategies were used to determine reads duplication rate: 
+Two strategies were used to determine reads duplication rate:
 
-* Sequence based: reads with exactly the same sequence content are regarded as duplicated reads. 
-* Mapping based: reads mapped to the same genomic location are regarded as duplicated reads. For splice reads, reads mapped to the same starting position and splice the same way are regarded as duplicated reads. 
+* Sequence based: reads with exactly the same sequence content are regarded as duplicated reads.
+* Mapping based: reads mapped to the same genomic location are regarded as duplicated reads. For splice reads, reads mapped to the same starting position and splice the same way are regarded as duplicated reads.
 
 Inputs
 ++++++++++++++
@@ -51,11 +70,11 @@
 .. image:: http://rseqc.sourceforge.net/_images/duplicate.png
    :height: 600 px
    :width: 600 px
-   :scale: 80 %    
+   :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.
@@ -65,7 +84,9 @@
 .. image:: http://rseqc.sourceforge.net/_static/logo.png
 
 .. _RSeQC: http://rseqc.sourceforge.net/
-
+]]>
+    </help>
 
-    </help>
+    <expand macro="citations" />
+
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 read_quality.xml
--- a/read_quality.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/read_quality.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -1,27 +1,53 @@
-<tool id="rseqc_read_quality" name="Read Quality" version="2.4">
+<tool id="rseqc_read_quality" name="Read Quality" version="2.4galaxy1">
     <description>determines Phred quality score</description>
+
+    <macros>
+        <import>rseqc_macros.xml</import>
+    </macros>
+
     <requirements>
-        <requirement type="package" version="3.0.3">R</requirement>
-        <requirement type="package" version="1.7.1">numpy</requirement>
-        <requirement type="package" version="2.4">rseqc</requirement>
+        <expand macro="requirement_package_r" />
+        <expand macro="requirement_package_numpy" />
+        <expand macro="requirement_package_rseqc" />
     </requirements>
-    <command>
-        read_quality.py -i $input -o output -r $reduce
+
+    <expand macro="stdio" />
+
+    <version_command><![CDATA[read_quality.py --version]]></version_command>
+
+    <command><![CDATA[
+        read_quality.py
+            --input-file $input
+            --out-prefix output
+            -r $reduce
+            --mapq $mapq
+        ]]>
     </command>
-    <stdio>
-        <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
-        <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
-    </stdio>
+
     <inputs>
-        <param name="input" type="data" format="bam,sam" label="input bam/sam file" />
-        <param name="reduce" type="integer" label="Ignore Phred scores less than this amount (only applies to 'boxplot', default=1000)" value="1000" />
+        <param name="input" type="data" format="bam,sam" label="input bam/sam file" help="(--input-file)"/>
+        <param name="reduce" type="integer" label="Ignore Phred scores less than this amount (only applies to 'boxplot', default=1000)" value="1000" help="(--reduce)"/>
+        <param name="mapq" type="integer" label="Minimum mapping quality (default=30)" help="Minimum phred scale mapping quality to consider a read 'uniquely mapped' (--mapq)" value="30" />
     </inputs>
+
     <outputs>
         <data format="txt" name="outputr" from_work_dir="output.qual.r" label="${tool.name} on ${on_string} (R Script)" />
-        <data format="pdf" name="outputpdf" from_work_dir="output.qual.heatmap.pdf" label="${tool.name} on ${on_string} (Heatmap PDF)" />
-        <data format="pdf" name="outputpdf" from_work_dir="output.qual.boxplot.pdf" label="${tool.name} on ${on_string} (Boxplot PDF)" />
+        <data format="pdf" name="outputheatpdf" from_work_dir="output.qual.heatmap.pdf" label="${tool.name} on ${on_string} (Heatmap PDF)" />
+        <data format="pdf" name="outputboxpdf" from_work_dir="output.qual.boxplot.pdf" label="${tool.name} on ${on_string} (Boxplot PDF)" />
     </outputs>
-    <help>
+
+    <!-- Unable to succefully run this script with test data
+    <tests>
+        <test>
+            <param name="input" value="pairend_strandspecific_51mer_hg19_chr1_1-100000.bigwig"/>
+            <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
 +++++++++++++++
 
@@ -30,7 +56,7 @@
 returns an integer representing the Unicode code point of the character when the argument
 is a unicode object, for example, ord('a') returns 97. Phred quality score is widely used
 to measure "reliability" of base-calling, for example, phred quality score of 20 means
-there is 1/100 chance that the base-calling is wrong, phred quality score of 30 means there 
+there is 1/100 chance that the base-calling is wrong, phred quality score of 30 means there
 is 1/1000 chance that the base-calling is wrong. In general: Phred quality score = -10xlog(10)P,
 here P is probability that base-calling is wrong.
 
@@ -51,18 +77,18 @@
     .. image:: http://rseqc.sourceforge.net/_images/36mer.qual.plot.png
         :height: 600 px
         :width: 600 px
-        :scale: 80 %    
+        :scale: 80 %
 3. output.qual.heatmap.pdf
     .. image:: http://rseqc.sourceforge.net/_images/36mer.qual.heatmap.png
         :height: 600 px
         :width: 600 px
-        :scale: 80 %    
+        :scale: 80 %
 
 Heatmap: use different color to represent nucleotide density ("blue"=low density,"orange"=median density,"red"=high density")
 
 -----
 
-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.
@@ -72,7 +98,9 @@
 .. image:: http://rseqc.sourceforge.net/_static/logo.png
 
 .. _RSeQC: http://rseqc.sourceforge.net/
-
+]]>
+    </help>
 
-    </help>
+    <expand macro="citations" />
+
 </tool>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 rseqc_macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rseqc_macros.xml Thu Jul 16 17:43:43 2015 -0400
[
@@ -0,0 +1,42 @@
+<macros>
+
+    <xml name="requirement_package_r"><requirement type="package" version="3.0.3">R</requirement></xml>
+    <xml name="requirement_package_numpy"><requirement type="package" version="1.7.1">numpy</requirement></xml>
+    <xml name="requirement_package_rseqc"><requirement type="package" version="2.4">rseqc</requirement></xml>
+
+    <xml name="stdio">
+        <stdio>
+            <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
+            <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
+        </stdio>
+    </xml>
+
+    <xml name="citations">
+        <citations>
+            <citation type="bibtex">
+    @article{wang_rseqc:_2012,
+        title = {{RSeQC}: quality control of {RNA}-seq experiments},
+        volume = {28},
+        issn = {1367-4803, 1460-2059},
+        shorttitle = {{RSeQC}},
+        url = {http://bioinformatics.oxfordjournals.org/content/28/16/2184},
+        doi = {10.1093/bioinformatics/bts356},
+        abstract = {Motivation: RNA-seq has been extensively used for transcriptome study. Quality control (QC) is critical to ensure that RNA-seq data are of high quality and suitable for subsequent analyses. However, QC is a time-consuming and complex task, due to the massive size and versatile nature of RNA-seq data. Therefore, a convenient and comprehensive QC tool to assess RNA-seq quality is sorely needed.
+    Results: We developed the RSeQC package to comprehensively evaluate different aspects of RNA-seq experiments, such as sequence quality, GC bias, polymerase chain reaction bias, nucleotide composition bias, sequencing depth, strand specificity, coverage uniformity and read distribution over the genome structure. RSeQC takes both SAM and BAM files as input, which can be produced by most RNA-seq mapping tools as well as BED files, which are widely used for gene models. Most modules in RSeQC take advantage of R scripts for visualization, and they are notably efficient in dealing with large BAM/SAM files containing hundreds of millions of alignments.
+    Availability and implementation: RSeQC is written in Python and C. Source code and a comprehensive user's manual are freely available at: http://code.google.com/p/rseqc/.
+    Contact: WL1\{at\}bcm.edu
+    Supplementary Information: Supplementary data are available at Bioinformatics online.},
+        language = {en},
+        number = {16},
+        urldate = {2015-06-30},
+        journal = {Bioinformatics},
+        author = {Wang, Liguo and Wang, Shengqin and Li, Wei},
+        month = aug,
+        year = {2012},
+        pmid = {22743226},
+        pages = {2184--2185},
+    }
+            </citation>
+        </citations>
+    </xml>
+</macros>
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/bamstats.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bamstats.txt Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,23 @@
+Load BAM file ...  Done
+
+#==================================================
+#All numbers are READ count
+#==================================================
+
+Total records:                          40
+
+QC failed:                              0
+Optical/PCR duplicate:                  0
+Non primary hits                        0
+Unmapped reads:                         0
+mapq < mapq_cut (non-unique):           0
+
+mapq >= mapq_cut (unique):              40
+Read-1:                                 20
+Read-2:                                 20
+Reads map to '+':                       20
+Reads map to '-':                       20
+Non-splice reads:                       36
+Splice reads:                           4
+Reads mapped in proper pairs:           39
+Proper-paired reads map to different chrom:0
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/hg19.chrom.sizes
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/hg19.chrom.sizes Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,93 @@
+chr1 249250621
+chr2 243199373
+chr3 198022430
+chr4 191154276
+chr5 180915260
+chr6 171115067
+chr7 159138663
+chrX 155270560
+chr8 146364022
+chr9 141213431
+chr10 135534747
+chr11 135006516
+chr12 133851895
+chr13 115169878
+chr14 107349540
+chr15 102531392
+chr16 90354753
+chr17 81195210
+chr18 78077248
+chr20 63025520
+chrY 59373566
+chr19 59128983
+chr22 51304566
+chr21 48129895
+chr6_ssto_hap7 4928567
+chr6_mcf_hap5 4833398
+chr6_cox_hap2 4795371
+chr6_mann_hap4 4683263
+chr6_apd_hap1 4622290
+chr6_qbl_hap6 4611984
+chr6_dbb_hap3 4610396
+chr17_ctg5_hap1 1680828
+chr4_ctg9_hap1 590426
+chr1_gl000192_random 547496
+chrUn_gl000225 211173
+chr4_gl000194_random 191469
+chr4_gl000193_random 189789
+chr9_gl000200_random 187035
+chrUn_gl000222 186861
+chrUn_gl000212 186858
+chr7_gl000195_random 182896
+chrUn_gl000223 180455
+chrUn_gl000224 179693
+chrUn_gl000219 179198
+chr17_gl000205_random 174588
+chrUn_gl000215 172545
+chrUn_gl000216 172294
+chrUn_gl000217 172149
+chr9_gl000199_random 169874
+chrUn_gl000211 166566
+chrUn_gl000213 164239
+chrUn_gl000220 161802
+chrUn_gl000218 161147
+chr19_gl000209_random 159169
+chrUn_gl000221 155397
+chrUn_gl000214 137718
+chrUn_gl000228 129120
+chrUn_gl000227 128374
+chr1_gl000191_random 106433
+chr19_gl000208_random 92689
+chr9_gl000198_random 90085
+chr17_gl000204_random 81310
+chrUn_gl000233 45941
+chrUn_gl000237 45867
+chrUn_gl000230 43691
+chrUn_gl000242 43523
+chrUn_gl000243 43341
+chrUn_gl000241 42152
+chrUn_gl000236 41934
+chrUn_gl000240 41933
+chr17_gl000206_random 41001
+chrUn_gl000232 40652
+chrUn_gl000234 40531
+chr11_gl000202_random 40103
+chrUn_gl000238 39939
+chrUn_gl000244 39929
+chrUn_gl000248 39786
+chr8_gl000196_random 38914
+chrUn_gl000249 38502
+chrUn_gl000246 38154
+chr17_gl000203_random 37498
+chr8_gl000197_random 37175
+chrUn_gl000245 36651
+chrUn_gl000247 36422
+chr9_gl000201_random 36148
+chrUn_gl000235 34474
+chrUn_gl000239 33824
+chr21_gl000210_random 27682
+chrUn_gl000231 27386
+chrUn_gl000229 19913
+chrM 16571
+chrUn_gl000226 15008
+chr18_gl000207_random 4262
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/hg19_RefSeq_chr1_1-100000.bed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/hg19_RefSeq_chr1_1-100000.bed Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,7 @@
+chr1 11873 14409 NR_046018 0 + 14409 14409 0 3 354,109,1189, 0,739,1347,
+chr1 14361 29370 NR_024540 0 - 29370 29370 0 11 468,69,152,159,198,136,137,147,99,154,50, 0,608,1434,2245,2496,2871,3244,3553,3906,10376,14959,
+chr1 17368 17436 NR_106918 0 - 17436 17436 0 1 68, 0,
+chr1 17368 17436 NR_107062 0 - 17436 17436 0 1 68, 0,
+chr1 34610 36081 NR_026818 0 - 36081 36081 0 3 564,205,361, 0,666,1110,
+chr1 34610 36081 NR_026820 0 - 36081 36081 0 3 564,205,361, 0,666,1110,
+chr1 69090 70008 NM_001005484 0 + 69090 70008 0 1 918, 0,
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.DupRate_plot.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.DupRate_plot.r Thu Jul 16 17:43:43 2015 -0400
[
@@ -0,0 +1,14 @@
+pdf('output.DupRate_plot.pdf')
+par(mar=c(5,4,4,5),las=0)
+seq_occ=c(1)
+seq_uniqRead=c(40)
+pos_occ=c(1)
+pos_uniqRead=c(40)
+plot(pos_occ,log10(pos_uniqRead),ylab='Number of Reads (log10)',xlab='Frequency',pch=4,cex=0.8,col='blue',xlim=c(1,500),yaxt='n')
+points(seq_occ,log10(seq_uniqRead),pch=20,cex=0.8,col='red')
+ym=floor(max(log10(pos_uniqRead)))
+legend(300,ym,legend=c('Sequence-base','Mapping-base'),col=c('blue','red'),pch=c(4,20))
+axis(side=2,at=0:ym,labels=0:ym)
+axis(side=4,at=c(log10(pos_uniqRead[1]),log10(pos_uniqRead[2]),log10(pos_uniqRead[3]),log10(pos_uniqRead[4])), labels=c(round(pos_uniqRead[1]*100/sum(pos_uniqRead)),round(pos_uniqRead[2]*100/sum(pos_uniqRead)),round(pos_uniqRead[3]*100/sum(pos_uniqRead)),round(pos_uniqRead[4]*100/sum(pos_uniqRead))))
+mtext(4, text = "Reads %", line = 2)
+dev.off()
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.GC.xls
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.GC.xls Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,19 @@
+GC% read_count
+60.78 3
+41.18 3
+47.06 5
+56.86 7
+29.41 1
+27.45 2
+37.25 2
+78.43 1
+58.82 1
+50.98 3
+49.02 2
+62.75 1
+68.63 1
+54.90 1
+52.94 3
+35.29 1
+43.14 2
+39.22 1
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.GC_plot.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.GC_plot.r Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,4 @@
+pdf("output.GC_plot.pdf")
+gc=rep(c(60.78,41.18,47.06,56.86,29.41,27.45,37.25,78.43,58.82,50.98,49.02,62.75,68.63,54.90,52.94,35.29,43.14,39.22),times=c(3,3,5,7,1,2,2,1,1,3,2,1,1,1,3,1,2,1))
+hist(gc,probability=T,breaks=100,xlab="GC content (%)",ylab="Density of Reads",border="blue",main="")
+dev.off()
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.NVC.xls
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.NVC.xls Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,52 @@
+Position A C G T N X
+0 5 7 18 10 0 0
+1 6 7 15 8 4 0
+2 5 9 18 5 3 0
+3 11 9 14 4 2 0
+4 5 9 12 14 0 0
+5 4 11 19 6 0 0
+6 11 7 12 10 0 0
+7 9 8 12 9 2 0
+8 12 9 11 8 0 0
+9 8 9 8 10 5 0
+10 9 8 9 14 0 0
+11 9 6 11 14 0 0
+12 14 8 12 6 0 0
+13 10 6 9 15 0 0
+14 9 9 7 15 0 0
+15 10 10 9 9 2 0
+16 8 4 6 14 8 0
+17 9 9 10 9 3 0
+18 7 5 11 12 5 0
+19 12 8 4 10 6 0
+20 10 6 9 15 0 0
+21 9 9 15 7 0 0
+22 14 6 11 9 0 0
+23 13 11 11 5 0 0
+24 12 8 7 10 3 0
+25 9 13 4 8 6 0
+26 11 16 7 6 0 0
+27 11 8 13 8 0 0
+28 13 6 9 12 0 0
+29 9 9 12 10 0 0
+30 8 6 15 11 0 0
+31 7 9 11 13 0 0
+32 7 8 14 11 0 0
+33 11 11 10 8 0 0
+34 6 12 13 9 0 0
+35 8 17 11 4 0 0
+36 9 8 7 16 0 0
+37 11 9 12 8 0 0
+38 8 9 10 13 0 0
+39 8 12 11 9 0 0
+40 12 9 10 9 0 0
+41 9 13 11 7 0 0
+42 10 12 9 9 0 0
+43 7 13 11 9 0 0
+44 10 12 6 12 0 0
+45 10 10 9 11 0 0
+46 7 10 10 13 0 0
+47 9 9 12 10 0 0
+48 10 6 14 10 0 0
+49 8 10 13 9 0 0
+50 7 8 9 16 0 0
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.NVC_plot.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.NVC_plot.r Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,17 @@
+position=c(0,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)
+A_count=c(5,6,5,11,5,4,11,9,12,8,9,9,14,10,9,10,8,9,7,12,10,9,14,13,12,9,11,11,13,9,8,7,7,11,6,8,9,11,8,8,12,9,10,7,10,10,7,9,10,8,7)
+C_count=c(7,7,9,9,9,11,7,8,9,9,8,6,8,6,9,10,4,9,5,8,6,9,6,11,8,13,16,8,6,9,6,9,8,11,12,17,8,9,9,12,9,13,12,13,12,10,10,9,6,10,8)
+G_count=c(18,15,18,14,12,19,12,12,11,8,9,11,12,9,7,9,6,10,11,4,9,15,11,11,7,4,7,13,9,12,15,11,14,10,13,11,7,12,10,11,10,11,9,11,6,9,10,12,14,13,9)
+T_count=c(10,8,5,4,14,6,10,9,8,10,14,14,6,15,15,9,14,9,12,10,15,7,9,5,10,8,6,8,12,10,11,13,11,8,9,4,16,8,13,9,9,7,9,9,12,11,13,10,10,9,16)
+N_count=c(0,4,3,2,0,0,0,2,0,5,0,0,0,0,0,2,8,3,5,6,0,0,0,0,3,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
+X_count=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,0)
+total= A_count + C_count + G_count + T_count
+ym=max(A_count/total,C_count/total,G_count/total,T_count/total) + 0.05
+yn=min(A_count/total,C_count/total,G_count/total,T_count/total)
+pdf("output.NVC_plot.pdf")
+plot(position,A_count/total,type="o",pch=20,ylim=c(yn,ym),col="dark green",xlab="Position of Read",ylab="Nucleotide Frequency")
+lines(position,T_count/total,type="o",pch=20,col="red")
+lines(position,G_count/total,type="o",pch=20,col="blue")
+lines(position,C_count/total,type="o",pch=20,col="cyan")
+legend(41,ym,legend=c("A","T","G","C"),col=c("dark green","red","blue","cyan"),lwd=2,pch=20,text.col=c("dark green","red","blue","cyan"))
+dev.off()
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.clipping_profile.pdf
b
Binary file test-data/output.clipping_profile.pdf has changed
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.clipping_profile.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.clipping_profile.r Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,5 @@
+pdf("output.clipping_profile.pdf")
+read_pos=c(0,1,2,3,4,5,6,7,8,9,44,45,46,47,48,49,50)
+count=c(16,12,11,8,6,5,1,1,1,1,1,2,2,2,3,4,4)
+plot(read_pos,1-(count/40),col="blue",main="clipping profile",xlab="Position of reads",ylab="Mappability",type="b")
+dev.off()
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.clipping_profile.xls
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.clipping_profile.xls Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,18 @@
+Position Read_Total Read_clipped
+0 40 16
+1 40 12
+2 40 11
+3 40 8
+4 40 6
+5 40 5
+6 40 1
+7 40 1
+8 40 1
+9 40 1
+44 40 1
+45 40 2
+46 40 2
+47 40 2
+48 40 3
+49 40 4
+50 40 4
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.eRPKM.xls
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.eRPKM.xls Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,8 @@
+#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
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.geneBodyCoverage.curves.pdf
b
Binary file test-data/output.geneBodyCoverage.curves.pdf has changed
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.geneBodyCoverage.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.geneBodyCoverage.r Thu Jul 16 17:43:43 2015 -0400
[
@@ -0,0 +1,8 @@
+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)
+
+
+pdf("output.geneBodyCoverage.curves.pdf")
+x=1:100
+icolor = colorRampPalette(c("#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f"))(1)
+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])
+dev.off()
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.geneBodyCoverage.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.geneBodyCoverage.txt Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,2 @@
+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
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.infer_experiment.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.infer_experiment.txt Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,6 @@
+
+
+This is PairEnd Data
+Fraction of reads explained by "1++,1--,2+-,2-+": 1.0000
+Fraction of reads explained by "1+-,1-+,2++,2--": 0.0000
+Fraction of reads explained by other combinations: 0.0000
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.inner_distance.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.inner_distance.txt Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,20 @@
+seq.11990047 235 sameTranscript=No,dist=genomic
+seq.14614493 31 sameTranscript=Yes,sameExon=Yes,dist=mRNA
+seq.24018133 2 sameTranscript=Yes,nonExonic=Yes,dist=genomic
+seq.10608403 158 sameTranscript=Yes,sameExon=No,dist=mRNA
+seq.10820209 146 sameTranscript=Yes,nonExonic=Yes,dist=genomic
+seq.1537155 33 sameTranscript=Yes,nonExonic=Yes,dist=genomic
+seq.25274725 17 sameTranscript=Yes,nonExonic=Yes,dist=genomic
+seq.26326595 211 sameTranscript=Yes,nonExonic=Yes,dist=genomic
+seq.28833653 55 sameTranscript=Yes,nonExonic=Yes,dist=genomic
+seq.25049090 61 sameTranscript=Yes,nonExonic=Yes,dist=genomic
+seq.23476912 69 sameTranscript=Yes,nonExonic=Yes,dist=genomic
+seq.28059536 225 sameTranscript=Yes,nonExonic=Yes,dist=genomic
+seq.13270875 200 sameTranscript=Yes,nonExonic=Yes,dist=genomic
+seq.2214586 132 sameTranscript=Yes,nonExonic=Yes,dist=genomic
+seq.31061198 -31 readPairOverlap
+seq.13539256 208 sameTranscript=No,dist=genomic
+seq.13835843 -7 sameTranscript=No,dist=genomic
+seq.5556605 88 sameTranscript=No,dist=genomic
+seq.20367385 17 sameTranscript=No,dist=genomic
+seq.17373919 146394 sameTranscript=No,dist=genomic
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.inner_distance_freq.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.inner_distance_freq.txt Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,100 @@
+-250 -245 0
+-245 -240 0
+-240 -235 0
+-235 -230 0
+-230 -225 0
+-225 -220 0
+-220 -215 0
+-215 -210 0
+-210 -205 0
+-205 -200 0
+-200 -195 0
+-195 -190 0
+-190 -185 0
+-185 -180 0
+-180 -175 0
+-175 -170 0
+-170 -165 0
+-165 -160 0
+-160 -155 0
+-155 -150 0
+-150 -145 0
+-145 -140 0
+-140 -135 0
+-135 -130 0
+-130 -125 0
+-125 -120 0
+-120 -115 0
+-115 -110 0
+-110 -105 0
+-105 -100 0
+-100 -95 0
+-95 -90 0
+-90 -85 0
+-85 -80 0
+-80 -75 0
+-75 -70 0
+-70 -65 0
+-65 -60 0
+-60 -55 0
+-55 -50 0
+-50 -45 0
+-45 -40 0
+-40 -35 0
+-35 -30 1
+-30 -25 0
+-25 -20 0
+-20 -15 0
+-15 -10 0
+-10 -5 1
+-5 0 0
+0 5 1
+5 10 0
+10 15 0
+15 20 2
+20 25 0
+25 30 0
+30 35 2
+35 40 0
+40 45 0
+45 50 0
+50 55 1
+55 60 0
+60 65 1
+65 70 1
+70 75 0
+75 80 0
+80 85 0
+85 90 1
+90 95 0
+95 100 0
+100 105 0
+105 110 0
+110 115 0
+115 120 0
+120 125 0
+125 130 0
+130 135 1
+135 140 0
+140 145 0
+145 150 1
+150 155 0
+155 160 1
+160 165 0
+165 170 0
+170 175 0
+175 180 0
+180 185 0
+185 190 0
+190 195 0
+195 200 1
+200 205 0
+205 210 1
+210 215 1
+215 220 0
+220 225 1
+225 230 0
+230 235 1
+235 240 0
+240 245 0
+245 250 0
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.inner_distance_plot.pdf
b
Binary file test-data/output.inner_distance_plot.pdf has changed
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.inner_distance_plot.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.inner_distance_plot.r Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,11 @@
+pdf('output.inner_distance_plot.pdf')
+fragsize=rep(c(-248,-243,-238,-233,-228,-223,-218,-213,-208,-203,-198,-193,-188,-183,-178,-173,-168,-163,-158,-153,-148,-143,-138,-133,-128,-123,-118,-113,-108,-103,-98,-93,-88,-83,-78,-73,-68,-63,-58,-53,-48,-43,-38,-33,-28,-23,-18,-13,-8,-3,2,7,12,17,22,27,32,37,42,47,52,57,62,67,72,77,82,87,92,97,102,107,112,117,122,127,132,137,142,147,152,157,162,167,172,177,182,187,192,197,202,207,212,217,222,227,232,237,242,247),times=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,1,0,0,0,0,1,0,1,0,0,2,0,0,2,0,0,0,1,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,1,0,1,1,0,1,0,1,0,0,0))
+frag_sd = sd(fragsize)
+frag_mean = mean(fragsize)
+frag_median = median(fragsize)
+write(c("Mean insert size",frag_mean), stdout())
+write(c("Median insert size",frag_median), stdout())
+write(c("Standard deviation",frag_sd), stdout())
+hist(fragsize,probability=T,breaks=100,xlab="mRNA insert size (bp)",main=paste(c("Mean=",frag_mean,";","SD=",frag_sd),collapse=""),border="blue")
+lines(density(fragsize,bw=10),col='red')
+dev.off()
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.junction.xls
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.junction.xls Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,4 @@
+chrom intron_st(0-based) intron_end(1-based) read_count annotation
+chr1 17055 17232 1 annotated
+chr1 21768 22000 1 complete_novel
+chr1 12697 13220 1 partial_novel
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.junctionSaturation_plot.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.junctionSaturation_plot.r Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,12 @@
+pdf('output.junctionSaturation_plot.pdf')
+x=c(5,10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100)
+y=c(0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1)
+z=c(0,0,0,0,0,0,1,1,1,1,1,1,1,2,2,2,2,2,2,3)
+w=c(0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,2)
+m=max(0,0,0)
+n=min(0,0,0)
+plot(x,z/1000,xlab='percent of total reads',ylab='Number of splicing junctions (x1000)',type='o',col='blue',ylim=c(n,m))
+points(x,y/1000,type='o',col='red')
+points(x,w/1000,type='o',col='green')
+legend(5,0, legend=c("All junctions","known junctions", "novel junctions"),col=c("blue","red","green"),lwd=1,pch=1)
+dev.off()
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.junction_plot.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.junction_plot.r Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,8 @@
+pdf("output.splice_events.pdf")
+events=c(25.0,25.0,25.0)
+pie(events,col=c(2,3,4),init.angle=30,angle=c(60,120,150),density=c(70,70,70),main="splicing events",labels=c("partial_novel 25%","complete_novel 25%","known 25%"))
+dev.off()
+pdf("output.splice_junction.pdf")
+junction=c(33.3333333333,33.3333333333,33.3333333333)
+pie(junction,col=c(2,3,4),init.angle=30,angle=c(60,120,150),density=c(70,70,70),main="splicing junctions",labels=c("partial_novel 33%","complete_novel 33%","known 33%"))
+dev.off()
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.pos.DupRate.xls
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.pos.DupRate.xls Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,2 @@
+Occurrence UniqReadNumber
+1 40
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.qual.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.qual.r Thu Jul 16 17:43:43 2015 -0400
b
b"@@ -0,0 +1,62 @@\n+pdf('output.qual.boxplot.pdf')\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+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)\n+p37<-rep(c(53,56,60,63,64,66,68,69,70,71"..b',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)\n+mat=matrix(qual,ncol=51,byrow=F)\n+Lab.palette <- colorRampPalette(c("blue", "orange", "red3","red2","red1","red"), space = "rgb",interpolate=c(\'spline\'))\n+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" )\n+dev.off()\n'
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.rawCount.xls
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.rawCount.xls Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,8 @@
+#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
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.read_distribution.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.read_distribution.txt Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,16 @@
+Total Reads                   40
+Total Tags                    44
+Total Assigned Tags           38
+=====================================================================
+Group               Total_bases         Tag_count           Tags/Kb             
+CDS_Exons           918                 0                   0.00              
+5'UTR_Exons         1652                3                   1.81              
+3'UTR_Exons         2967                4                   1.35              
+Introns             14397               27                  1.88              
+TSS_up_1kb          4000                0                   0.00              
+TSS_up_5kb          20000               4                   0.20              
+TSS_up_10kb         35240               4                   0.11              
+TES_down_1kb        2000                0                   0.00              
+TES_down_5kb        12512               0                   0.00              
+TES_down_10kb       22752               0                   0.00              
+=====================================================================
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.saturation.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.saturation.r Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,87 @@
+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()
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.seq.DupRate.xls
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.seq.DupRate.xls Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,2 @@
+Occurrence UniqReadNumber
+1 40
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.splice_events.pdf
b
Binary file test-data/output.splice_events.pdf has changed
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output.splice_junction.pdf
b
Binary file test-data/output.splice_junction.pdf has changed
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output2.geneBodyCoverage.curves.pdf
b
Binary file test-data/output2.geneBodyCoverage.curves.pdf has changed
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output2.geneBodyCoverage.heatMap.pdf
b
Binary file test-data/output2.geneBodyCoverage.heatMap.pdf has changed
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output2.geneBodyCoverage.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output2.geneBodyCoverage.r Thu Jul 16 17:43:43 2015 -0400
[
@@ -0,0 +1,8 @@
+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)
+
+
+pdf("output.geneBodyCoverage.curves.pdf")
+x=1:100
+icolor = colorRampPalette(c("#7fc97f","#beaed4","#fdc086","#ffff99","#386cb0","#f0027f"))(1)
+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])
+dev.off()
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output2.geneBodyCoverage.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output2.geneBodyCoverage.txt Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,2 @@
+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
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/output_read_count.xls
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output_read_count.xls Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,47 @@
+#chrom st end accession score gene_strand tag_count RPKM
+chr1 12227 12612 NR_046018_intron_1 0 + 0 0.000
+chr1 12721 13220 NR_046018_intron_2 0 + 0 0.000
+chr1 11873 12227 NR_046018_exon_1 0 + 0 0.000
+chr1 12612 12721 NR_046018_exon_2 0 + 1 208507.089
+chr1 13220 14409 NR_046018_exon_3 0 + 2 38229.222
+chr1 11873 14409 NR_046018_mRNA 0 + 3 41272.287
+chr1 14829 14969 NR_024540_intron_10 0 - 0 0.000
+chr1 15038 15795 NR_024540_intron_9 0 - 0 0.000
+chr1 15947 16606 NR_024540_intron_8 0 - 2 68975.031
+chr1 16765 16857 NR_024540_intron_7 0 - 0 0.000
+chr1 17055 17232 NR_024540_intron_6 0 - 0 0.000
+chr1 17368 17605 NR_024540_intron_5 0 - 1 95895.666
+chr1 17742 17914 NR_024540_intron_4 0 - 0 0.000
+chr1 18061 18267 NR_024540_intron_3 0 - 0 0.000
+chr1 18366 24737 NR_024540_intron_2 0 - 22 78480.615
+chr1 24891 29320 NR_024540_intron_1 0 - 2 10262.936
+chr1 14361 14829 NR_024540_exon_11 0 - 2 97125.097
+chr1 14969 15038 NR_024540_exon_10 0 - 0 0.000
+chr1 15795 15947 NR_024540_exon_9 0 - 0 0.000
+chr1 16606 16765 NR_024540_exon_8 0 - 0 0.000
+chr1 16857 17055 NR_024540_exon_7 0 - 1 114784.206
+chr1 17232 17368 NR_024540_exon_6 0 - 1 167112.299
+chr1 17605 17742 NR_024540_exon_5 0 - 0 0.000
+chr1 17914 18061 NR_024540_exon_4 0 - 0 0.000
+chr1 18267 18366 NR_024540_exon_3 0 - 0 0.000
+chr1 24737 24891 NR_024540_exon_2 0 - 0 0.000
+chr1 29320 29370 NR_024540_exon_1 0 - 0 0.000
+chr1 14361 29370 NR_024540_mRNA 0 - 4 51390.102
+chr1 17368 17436 NR_106918_exon_1 0 - 0 0.000
+chr1 17368 17436 NR_106918_mRNA 0 - 0 0.000
+chr1 17368 17436 NR_107062_exon_1 0 - 0 0.000
+chr1 17368 17436 NR_107062_mRNA 0 - 0 0.000
+chr1 35174 35276 NR_026818_intron_2 0 - 0 0.000
+chr1 35481 35720 NR_026818_intron_1 0 - 0 0.000
+chr1 34610 35174 NR_026818_exon_3 0 - 0 0.000
+chr1 35276 35481 NR_026818_exon_2 0 - 0 0.000
+chr1 35720 36081 NR_026818_exon_1 0 - 0 0.000
+chr1 34610 36081 NR_026818_mRNA 0 - 0 0.000
+chr1 35174 35276 NR_026820_intron_2 0 - 0 0.000
+chr1 35481 35720 NR_026820_intron_1 0 - 0 0.000
+chr1 34610 35174 NR_026820_exon_3 0 - 0 0.000
+chr1 35276 35481 NR_026820_exon_2 0 - 0 0.000
+chr1 35720 36081 NR_026820_exon_1 0 - 0 0.000
+chr1 34610 36081 NR_026820_mRNA 0 - 0 0.000
+chr1 69090 70008 NM_001005484_exon_1 0 + 0 0.000
+chr1 69090 70008 NM_001005484_mRNA 0 + 0 0.000
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/pairend_strandspecific_51mer_hg19_chr1_1-100000.bam
b
Binary file test-data/pairend_strandspecific_51mer_hg19_chr1_1-100000.bam has changed
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/testwig.Forward.wig
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/testwig.Forward.wig Thu Jul 16 17:43:43 2015 -0400
b
@@ -0,0 +1,127 @@
+variableStep chrom=chr13
+variableStep chrom=chr12
+variableStep chrom=chr11
+variableStep chrom=chr10
+variableStep chrom=chr17
+variableStep chrom=chr16
+variableStep chrom=chr15
+variableStep chrom=chr14
+variableStep chrom=chr19
+variableStep chrom=chr18
+variableStep chrom=chr8
+variableStep chrom=chr3
+variableStep chrom=chr1
+12674 1.00
+12675 1.00
+12676 1.00
+12677 1.00
+12678 1.00
+12679 1.00
+12680 1.00
+12681 1.00
+12682 1.00
+12683 1.00
+12684 1.00
+12685 1.00
+12686 1.00
+12687 1.00
+12688 1.00
+12689 1.00
+12690 1.00
+12691 1.00
+12692 1.00
+12693 1.00
+12694 1.00
+12695 1.00
+12696 1.00
+12697 1.00
+13221 1.00
+13222 1.00
+13223 1.00
+13224 1.00
+13225 1.00
+13226 1.00
+13227 1.00
+13228 1.00
+13229 1.00
+13230 1.00
+13231 1.00
+13232 1.00
+13233 1.00
+13234 1.00
+13235 1.00
+13236 1.00
+13237 1.00
+13238 1.00
+13239 1.00
+13240 1.00
+13241 1.00
+13242 1.00
+13243 1.00
+13244 1.00
+13245 1.00
+13246 1.00
+13247 1.00
+13483 1.00
+13484 1.00
+13485 1.00
+13486 1.00
+13487 1.00
+13488 1.00
+13489 1.00
+13490 1.00
+13491 1.00
+13492 1.00
+13493 1.00
+13494 1.00
+13495 1.00
+13496 1.00
+13497 1.00
+13498 1.00
+13499 1.00
+13500 1.00
+13501 1.00
+13502 1.00
+13503 1.00
+13504 1.00
+13505 1.00
+13506 1.00
+13507 1.00
+13508 1.00
+13509 1.00
+13510 1.00
+13511 1.00
+13512 1.00
+13513 1.00
+13514 1.00
+13515 1.00
+13516 1.00
+13517 1.00
+13518 1.00
+13519 1.00
+13520 1.00
+13521 1.00
+13522 1.00
+13523 1.00
+13524 1.00
+13525 1.00
+13526 1.00
+13527 1.00
+13528 1.00
+13529 1.00
+13530 1.00
+13531 1.00
+13532 1.00
+13533 1.00
+variableStep chrom=chrY
+variableStep chrom=chrX
+variableStep chrom=chr9
+variableStep chrom=chrM
+variableStep chrom=chr22
+variableStep chrom=chr20
+variableStep chrom=chr21
+variableStep chrom=chr7
+variableStep chrom=chr6
+variableStep chrom=chr5
+variableStep chrom=chr4
+variableStep chrom=chr2
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/testwig.Reverse.wig
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/testwig.Reverse.wig Thu Jul 16 17:43:43 2015 -0400
b
b'@@ -0,0 +1,1686 @@\n+variableStep chrom=chr13\n+variableStep chrom=chr12\n+variableStep chrom=chr11\n+variableStep chrom=chr10\n+variableStep chrom=chr17\n+variableStep chrom=chr16\n+variableStep chrom=chr15\n+variableStep chrom=chr14\n+variableStep chrom=chr19\n+variableStep chrom=chr18\n+variableStep chrom=chr8\n+variableStep chrom=chr3\n+variableStep chrom=chr1\n+14596\t-1.00\n+14597\t-1.00\n+14598\t-1.00\n+14599\t-1.00\n+14600\t-1.00\n+14601\t-1.00\n+14602\t-1.00\n+14603\t-1.00\n+14604\t-1.00\n+14605\t-1.00\n+14606\t-1.00\n+14607\t-1.00\n+14608\t-1.00\n+14609\t-1.00\n+14610\t-1.00\n+14611\t-1.00\n+14612\t-1.00\n+14613\t-1.00\n+14614\t-1.00\n+14615\t-1.00\n+14616\t-1.00\n+14617\t-1.00\n+14618\t-1.00\n+14619\t-1.00\n+14620\t-1.00\n+14621\t-1.00\n+14622\t-1.00\n+14623\t-1.00\n+14624\t-1.00\n+14625\t-1.00\n+14626\t-1.00\n+14627\t-1.00\n+14628\t-1.00\n+14629\t-1.00\n+14630\t-1.00\n+14631\t-1.00\n+14632\t-1.00\n+14633\t-1.00\n+14634\t-1.00\n+14635\t-1.00\n+14636\t-1.00\n+14637\t-1.00\n+14638\t-1.00\n+14639\t-1.00\n+14640\t-1.00\n+14641\t-1.00\n+14642\t-1.00\n+14643\t-1.00\n+14644\t-1.00\n+14645\t-1.00\n+14676\t-1.00\n+14677\t-1.00\n+14678\t-1.00\n+14679\t-1.00\n+14680\t-1.00\n+14681\t-1.00\n+14682\t-1.00\n+14683\t-1.00\n+14684\t-1.00\n+14685\t-1.00\n+14686\t-1.00\n+14687\t-1.00\n+14688\t-1.00\n+14689\t-1.00\n+14690\t-1.00\n+14691\t-1.00\n+14692\t-1.00\n+14693\t-1.00\n+14694\t-1.00\n+14695\t-1.00\n+14696\t-1.00\n+14697\t-1.00\n+14698\t-1.00\n+14699\t-1.00\n+14700\t-1.00\n+14701\t-1.00\n+14702\t-1.00\n+14703\t-1.00\n+14704\t-1.00\n+14705\t-1.00\n+14706\t-1.00\n+14707\t-1.00\n+14708\t-1.00\n+14709\t-1.00\n+14710\t-1.00\n+14711\t-1.00\n+14712\t-1.00\n+14713\t-1.00\n+14714\t-1.00\n+14715\t-1.00\n+14716\t-1.00\n+14717\t-1.00\n+14718\t-1.00\n+14719\t-1.00\n+14720\t-1.00\n+14721\t-1.00\n+14722\t-1.00\n+14723\t-1.00\n+14724\t-1.00\n+14725\t-1.00\n+14726\t-1.00\n+16455\t-1.00\n+16456\t-1.00\n+16457\t-1.00\n+16458\t-1.00\n+16459\t-1.00\n+16460\t-1.00\n+16461\t-1.00\n+16462\t-1.00\n+16463\t-1.00\n+16464\t-1.00\n+16465\t-1.00\n+16466\t-1.00\n+16467\t-1.00\n+16468\t-1.00\n+16469\t-1.00\n+16470\t-1.00\n+16471\t-1.00\n+16472\t-1.00\n+16473\t-1.00\n+16474\t-1.00\n+16475\t-1.00\n+16476\t-1.00\n+16477\t-1.00\n+16478\t-1.00\n+16479\t-1.00\n+16480\t-1.00\n+16481\t-1.00\n+16482\t-1.00\n+16483\t-1.00\n+16484\t-1.00\n+16485\t-1.00\n+16486\t-1.00\n+16487\t-1.00\n+16488\t-1.00\n+16489\t-1.00\n+16490\t-1.00\n+16491\t-1.00\n+16492\t-1.00\n+16493\t-1.00\n+16494\t-1.00\n+16495\t-1.00\n+16496\t-1.00\n+16497\t-1.00\n+16498\t-1.00\n+16499\t-1.00\n+16500\t-1.00\n+16501\t-1.00\n+16502\t-1.00\n+16503\t-1.00\n+16504\t-1.00\n+16506\t-1.00\n+16507\t-1.00\n+16508\t-1.00\n+16509\t-1.00\n+16510\t-1.00\n+16511\t-1.00\n+16512\t-1.00\n+16513\t-1.00\n+16514\t-1.00\n+16515\t-1.00\n+16516\t-1.00\n+16517\t-1.00\n+16518\t-1.00\n+16519\t-1.00\n+16520\t-1.00\n+16521\t-1.00\n+16522\t-1.00\n+16523\t-1.00\n+16524\t-1.00\n+16525\t-1.00\n+16526\t-1.00\n+16527\t-1.00\n+16528\t-1.00\n+16529\t-1.00\n+16530\t-1.00\n+16531\t-1.00\n+16532\t-1.00\n+16533\t-1.00\n+16534\t-1.00\n+16535\t-1.00\n+16536\t-1.00\n+16537\t-1.00\n+16538\t-1.00\n+16539\t-1.00\n+16540\t-1.00\n+16541\t-1.00\n+16542\t-1.00\n+16543\t-1.00\n+16544\t-1.00\n+16545\t-1.00\n+16546\t-1.00\n+16547\t-1.00\n+16548\t-1.00\n+16549\t-1.00\n+16550\t-1.00\n+16551\t-1.00\n+16552\t-1.00\n+16553\t-1.00\n+16554\t-1.00\n+16555\t-1.00\n+16556\t-1.00\n+17051\t-1.00\n+17052\t-1.00\n+17053\t-1.00\n+17054\t-1.00\n+17055\t-1.00\n+17233\t-1.00\n+17234\t-1.00\n+17235\t-1.00\n+17236\t-1.00\n+17237\t-1.00\n+17238\t-1.00\n+17239\t-1.00\n+17240\t-1.00\n+17241\t-1.00\n+17242\t-1.00\n+17243\t-1.00\n+17244\t-1.00\n+17245\t-1.00\n+17246\t-1.00\n+17247\t-1.00\n+17248\t-1.00\n+17249\t-1.00\n+17250\t-1.00\n+17251\t-1.00\n+17252\t-1.00\n+17253\t-1.00\n+17254\t-1.00\n+17255\t-1.00\n+17256\t-1.00\n+17257\t-1.00\n+17258\t-1.00\n+17259\t-1.00\n+17260\t-1.00\n+17261\t-1.00\n+17262\t-1.00\n+17263\t-1.00\n+17264\t-1.00\n+17265\t-1.00\n+17266\t-1.00\n+17267\t-1.00\n+17268\t-1.00\n+17269\t-1.00\n+17270\t-1.00\n+17271\t-1.00\n+17272\t-1.00\n+17273\t-1.00\n+17274\t-1.00\n+17275\t-1.00\n+17276\t-1.00\n+17277\t-1.00\n+17278\t-1.00\n+17555\t-1.00\n+17556\t-1.00\n+17557\t-1.00\n+17558\t-1.00\n+17559\t-1.00\n+17560\t-1.00\n+17561\t-1.00\n+17562\t-1.00\n+17563\t-1.00\n+17564\t-1.00\n+17565\t-1.00\n+17566\t-1.00\n+17567\t-1.00\n+17568\t-1.00\n+17569\t-1.00\n+17570\t-1.00\n+17571\t-1.00\n+17572\t-1.00\n+17573\t-1.00\n+17574\t-1.00\n+17575\t-1.00\n+17576\t-1.00\n+17577\t-1.00\n+17578\t-1.00\n+17579\t-1.00\n+17580\t-1.00\n+17581\t-1.00\n+1758'..b'.00\n+58007\t-1.00\n+58008\t-1.00\n+58009\t-1.00\n+58010\t-1.00\n+58011\t-1.00\n+58012\t-1.00\n+58013\t-1.00\n+58014\t-1.00\n+58015\t-1.00\n+58016\t-1.00\n+58017\t-1.00\n+58018\t-1.00\n+58019\t-1.00\n+58020\t-1.00\n+58021\t-1.00\n+58022\t-1.00\n+58023\t-1.00\n+58024\t-1.00\n+58025\t-1.00\n+58026\t-1.00\n+58027\t-1.00\n+58028\t-1.00\n+58029\t-1.00\n+58030\t-1.00\n+58031\t-1.00\n+58032\t-1.00\n+58033\t-1.00\n+58034\t-1.00\n+58035\t-1.00\n+58036\t-1.00\n+58037\t-1.00\n+58038\t-1.00\n+58039\t-1.00\n+58040\t-1.00\n+58041\t-1.00\n+58042\t-1.00\n+58043\t-1.00\n+58044\t-1.00\n+58045\t-1.00\n+58046\t-1.00\n+58047\t-1.00\n+58135\t-1.00\n+58136\t-1.00\n+58137\t-1.00\n+58138\t-1.00\n+58139\t-1.00\n+58140\t-1.00\n+58141\t-1.00\n+58142\t-1.00\n+58143\t-1.00\n+58144\t-1.00\n+58145\t-1.00\n+58146\t-1.00\n+58147\t-1.00\n+58148\t-1.00\n+58149\t-1.00\n+58150\t-1.00\n+58151\t-1.00\n+58152\t-1.00\n+58153\t-1.00\n+58154\t-1.00\n+58155\t-1.00\n+58156\t-1.00\n+58157\t-1.00\n+58158\t-1.00\n+58159\t-1.00\n+58160\t-1.00\n+58161\t-1.00\n+58162\t-1.00\n+58163\t-1.00\n+58164\t-1.00\n+58165\t-1.00\n+58166\t-1.00\n+58167\t-1.00\n+58168\t-1.00\n+58169\t-1.00\n+58170\t-1.00\n+58171\t-1.00\n+58172\t-1.00\n+58173\t-1.00\n+58174\t-1.00\n+58175\t-1.00\n+58176\t-1.00\n+58177\t-1.00\n+58178\t-1.00\n+58179\t-1.00\n+58180\t-1.00\n+58181\t-1.00\n+58182\t-1.00\n+58183\t-1.00\n+58184\t-1.00\n+58185\t-1.00\n+80866\t-1.00\n+80867\t-1.00\n+80868\t-1.00\n+80869\t-1.00\n+80870\t-1.00\n+80871\t-1.00\n+80872\t-1.00\n+80873\t-1.00\n+80874\t-1.00\n+80875\t-1.00\n+80876\t-1.00\n+80877\t-1.00\n+80878\t-1.00\n+80879\t-1.00\n+80880\t-1.00\n+80881\t-1.00\n+80882\t-1.00\n+80883\t-1.00\n+80884\t-1.00\n+80885\t-1.00\n+80886\t-1.00\n+80887\t-1.00\n+80888\t-1.00\n+80889\t-1.00\n+80890\t-1.00\n+80891\t-1.00\n+80892\t-1.00\n+80893\t-1.00\n+80894\t-1.00\n+80895\t-1.00\n+80896\t-1.00\n+80897\t-1.00\n+80898\t-1.00\n+80899\t-1.00\n+80900\t-1.00\n+80901\t-1.00\n+80902\t-1.00\n+80903\t-1.00\n+80904\t-1.00\n+80905\t-1.00\n+80906\t-1.00\n+80907\t-1.00\n+80908\t-1.00\n+80909\t-1.00\n+80910\t-1.00\n+80911\t-1.00\n+80912\t-1.00\n+80913\t-1.00\n+80914\t-1.00\n+80915\t-1.00\n+80916\t-1.00\n+87735\t-1.00\n+87736\t-1.00\n+87737\t-1.00\n+87738\t-1.00\n+87739\t-1.00\n+87740\t-1.00\n+87741\t-1.00\n+87742\t-1.00\n+87743\t-1.00\n+87744\t-1.00\n+87745\t-1.00\n+87746\t-1.00\n+87747\t-1.00\n+87748\t-1.00\n+87749\t-1.00\n+87750\t-1.00\n+87751\t-1.00\n+87752\t-1.00\n+87753\t-1.00\n+87754\t-1.00\n+87755\t-1.00\n+87756\t-1.00\n+87757\t-1.00\n+87758\t-1.00\n+87759\t-1.00\n+87760\t-1.00\n+87761\t-1.00\n+87762\t-1.00\n+87763\t-1.00\n+87764\t-1.00\n+87765\t-1.00\n+87766\t-1.00\n+87767\t-1.00\n+87768\t-1.00\n+87769\t-1.00\n+87770\t-1.00\n+87771\t-1.00\n+87772\t-1.00\n+87773\t-1.00\n+87774\t-1.00\n+87775\t-1.00\n+87776\t-1.00\n+87777\t-1.00\n+87778\t-1.00\n+87779\t-1.00\n+87780\t-1.00\n+87781\t-1.00\n+87782\t-1.00\n+87800\t-1.00\n+87801\t-1.00\n+87802\t-1.00\n+87803\t-1.00\n+87804\t-1.00\n+87805\t-1.00\n+87806\t-1.00\n+87807\t-1.00\n+87808\t-1.00\n+87809\t-1.00\n+87810\t-1.00\n+87811\t-1.00\n+87812\t-1.00\n+87813\t-1.00\n+87814\t-1.00\n+87815\t-1.00\n+87816\t-1.00\n+87817\t-1.00\n+87818\t-1.00\n+87819\t-1.00\n+87820\t-1.00\n+87821\t-1.00\n+87822\t-1.00\n+87823\t-1.00\n+87824\t-1.00\n+87825\t-1.00\n+87826\t-1.00\n+87827\t-1.00\n+87828\t-1.00\n+87829\t-1.00\n+87830\t-1.00\n+87831\t-1.00\n+87832\t-1.00\n+87833\t-1.00\n+87834\t-1.00\n+87835\t-1.00\n+87836\t-1.00\n+87837\t-1.00\n+87838\t-1.00\n+87839\t-1.00\n+87840\t-1.00\n+87841\t-1.00\n+94827\t-1.00\n+94828\t-1.00\n+94829\t-1.00\n+94830\t-1.00\n+94831\t-1.00\n+94832\t-1.00\n+94833\t-1.00\n+94834\t-1.00\n+94835\t-1.00\n+94836\t-1.00\n+94837\t-1.00\n+94838\t-1.00\n+94839\t-1.00\n+94840\t-1.00\n+94841\t-1.00\n+94842\t-1.00\n+94843\t-1.00\n+94844\t-1.00\n+94845\t-1.00\n+94846\t-1.00\n+94847\t-1.00\n+94848\t-1.00\n+94849\t-1.00\n+94850\t-1.00\n+94851\t-1.00\n+94852\t-1.00\n+94853\t-1.00\n+94854\t-1.00\n+94855\t-1.00\n+94856\t-1.00\n+94857\t-1.00\n+94858\t-1.00\n+94859\t-1.00\n+94860\t-1.00\n+94861\t-1.00\n+94862\t-1.00\n+94863\t-1.00\n+94864\t-1.00\n+94865\t-1.00\n+94866\t-1.00\n+94867\t-1.00\n+94868\t-1.00\n+94869\t-1.00\n+94870\t-1.00\n+94871\t-1.00\n+94872\t-1.00\n+94873\t-1.00\n+94874\t-1.00\n+94875\t-1.00\n+94876\t-1.00\n+94877\t-1.00\n+variableStep chrom=chrY\n+variableStep chrom=chrX\n+variableStep chrom=chr9\n+variableStep chrom=chrM\n+variableStep chrom=chr22\n+variableStep chrom=chr20\n+variableStep chrom=chr21\n+variableStep chrom=chr7\n+variableStep chrom=chr6\n+variableStep chrom=chr5\n+variableStep chrom=chr4\n+variableStep chrom=chr2\n'
b
diff -r 2e6190c29c54 -r 6b33e31bda10 test-data/testwig.wig
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/testwig.wig Thu Jul 16 17:43:43 2015 -0400
b
b'@@ -0,0 +1,1788 @@\n+variableStep chrom=chr13\n+variableStep chrom=chr12\n+variableStep chrom=chr11\n+variableStep chrom=chr10\n+variableStep chrom=chr17\n+variableStep chrom=chr16\n+variableStep chrom=chr15\n+variableStep chrom=chr14\n+variableStep chrom=chr19\n+variableStep chrom=chr18\n+variableStep chrom=chr8\n+variableStep chrom=chr3\n+variableStep chrom=chr1\n+12674\t1.00\n+12675\t1.00\n+12676\t1.00\n+12677\t1.00\n+12678\t1.00\n+12679\t1.00\n+12680\t1.00\n+12681\t1.00\n+12682\t1.00\n+12683\t1.00\n+12684\t1.00\n+12685\t1.00\n+12686\t1.00\n+12687\t1.00\n+12688\t1.00\n+12689\t1.00\n+12690\t1.00\n+12691\t1.00\n+12692\t1.00\n+12693\t1.00\n+12694\t1.00\n+12695\t1.00\n+12696\t1.00\n+12697\t1.00\n+13221\t1.00\n+13222\t1.00\n+13223\t1.00\n+13224\t1.00\n+13225\t1.00\n+13226\t1.00\n+13227\t1.00\n+13228\t1.00\n+13229\t1.00\n+13230\t1.00\n+13231\t1.00\n+13232\t1.00\n+13233\t1.00\n+13234\t1.00\n+13235\t1.00\n+13236\t1.00\n+13237\t1.00\n+13238\t1.00\n+13239\t1.00\n+13240\t1.00\n+13241\t1.00\n+13242\t1.00\n+13243\t1.00\n+13244\t1.00\n+13245\t1.00\n+13246\t1.00\n+13247\t1.00\n+13483\t1.00\n+13484\t1.00\n+13485\t1.00\n+13486\t1.00\n+13487\t1.00\n+13488\t1.00\n+13489\t1.00\n+13490\t1.00\n+13491\t1.00\n+13492\t1.00\n+13493\t1.00\n+13494\t1.00\n+13495\t1.00\n+13496\t1.00\n+13497\t1.00\n+13498\t1.00\n+13499\t1.00\n+13500\t1.00\n+13501\t1.00\n+13502\t1.00\n+13503\t1.00\n+13504\t1.00\n+13505\t1.00\n+13506\t1.00\n+13507\t1.00\n+13508\t1.00\n+13509\t1.00\n+13510\t1.00\n+13511\t1.00\n+13512\t1.00\n+13513\t1.00\n+13514\t1.00\n+13515\t1.00\n+13516\t1.00\n+13517\t1.00\n+13518\t1.00\n+13519\t1.00\n+13520\t1.00\n+13521\t1.00\n+13522\t1.00\n+13523\t1.00\n+13524\t1.00\n+13525\t1.00\n+13526\t1.00\n+13527\t1.00\n+13528\t1.00\n+13529\t1.00\n+13530\t1.00\n+13531\t1.00\n+13532\t1.00\n+13533\t1.00\n+14596\t1.00\n+14597\t1.00\n+14598\t1.00\n+14599\t1.00\n+14600\t1.00\n+14601\t1.00\n+14602\t1.00\n+14603\t1.00\n+14604\t1.00\n+14605\t1.00\n+14606\t1.00\n+14607\t1.00\n+14608\t1.00\n+14609\t1.00\n+14610\t1.00\n+14611\t1.00\n+14612\t1.00\n+14613\t1.00\n+14614\t1.00\n+14615\t1.00\n+14616\t1.00\n+14617\t1.00\n+14618\t1.00\n+14619\t1.00\n+14620\t1.00\n+14621\t1.00\n+14622\t1.00\n+14623\t1.00\n+14624\t1.00\n+14625\t1.00\n+14626\t1.00\n+14627\t1.00\n+14628\t1.00\n+14629\t1.00\n+14630\t1.00\n+14631\t1.00\n+14632\t1.00\n+14633\t1.00\n+14634\t1.00\n+14635\t1.00\n+14636\t1.00\n+14637\t1.00\n+14638\t1.00\n+14639\t1.00\n+14640\t1.00\n+14641\t1.00\n+14642\t1.00\n+14643\t1.00\n+14644\t1.00\n+14645\t1.00\n+14676\t1.00\n+14677\t1.00\n+14678\t1.00\n+14679\t1.00\n+14680\t1.00\n+14681\t1.00\n+14682\t1.00\n+14683\t1.00\n+14684\t1.00\n+14685\t1.00\n+14686\t1.00\n+14687\t1.00\n+14688\t1.00\n+14689\t1.00\n+14690\t1.00\n+14691\t1.00\n+14692\t1.00\n+14693\t1.00\n+14694\t1.00\n+14695\t1.00\n+14696\t1.00\n+14697\t1.00\n+14698\t1.00\n+14699\t1.00\n+14700\t1.00\n+14701\t1.00\n+14702\t1.00\n+14703\t1.00\n+14704\t1.00\n+14705\t1.00\n+14706\t1.00\n+14707\t1.00\n+14708\t1.00\n+14709\t1.00\n+14710\t1.00\n+14711\t1.00\n+14712\t1.00\n+14713\t1.00\n+14714\t1.00\n+14715\t1.00\n+14716\t1.00\n+14717\t1.00\n+14718\t1.00\n+14719\t1.00\n+14720\t1.00\n+14721\t1.00\n+14722\t1.00\n+14723\t1.00\n+14724\t1.00\n+14725\t1.00\n+14726\t1.00\n+16455\t1.00\n+16456\t1.00\n+16457\t1.00\n+16458\t1.00\n+16459\t1.00\n+16460\t1.00\n+16461\t1.00\n+16462\t1.00\n+16463\t1.00\n+16464\t1.00\n+16465\t1.00\n+16466\t1.00\n+16467\t1.00\n+16468\t1.00\n+16469\t1.00\n+16470\t1.00\n+16471\t1.00\n+16472\t1.00\n+16473\t1.00\n+16474\t1.00\n+16475\t1.00\n+16476\t1.00\n+16477\t1.00\n+16478\t1.00\n+16479\t1.00\n+16480\t1.00\n+16481\t1.00\n+16482\t1.00\n+16483\t1.00\n+16484\t1.00\n+16485\t1.00\n+16486\t1.00\n+16487\t1.00\n+16488\t1.00\n+16489\t1.00\n+16490\t1.00\n+16491\t1.00\n+16492\t1.00\n+16493\t1.00\n+16494\t1.00\n+16495\t1.00\n+16496\t1.00\n+16497\t1.00\n+16498\t1.00\n+16499\t1.00\n+16500\t1.00\n+16501\t1.00\n+16502\t1.00\n+16503\t1.00\n+16504\t1.00\n+16506\t1.00\n+16507\t1.00\n+16508\t1.00\n+16509\t1.00\n+16510\t1.00\n+16511\t1.00\n+16512\t1.00\n+16513\t1.00\n+16514\t1.00\n+16515\t1.00\n+16516\t1.00\n+16517\t1.00\n+16518\t1.00\n+16519\t1.00\n+16520\t1.00\n+16521\t1.00\n+16522\t1.00\n+16523\t1.00\n+16524\t1.00\n+16525\t1.00\n+16526\t1.00\n+16527\t1.00\n+16528\t1.00\n+16529\t1.00\n+16530\t1.00\n+16531\t1.00\n+16532\t1.00\n+16533\t1.00\n+16534\t1.00\n+16535\t1.00\n+16536\t1.00\n+16537\t1.00\n+16538\t1.00\n+16539\t1.00\n+16540\t1.00\n+16541\t1.00\n+16542\t1.00\n+16543\t1.00\n+16544\t1.00\n+16545\t1.00\n+16546\t1.00\n+16547\t1.00\n+16548\t1.00\n+16549\t1.00\n+16550\t1.00\n+16551\t1.00\n+16552\t1.00\n+16553\t1.00\n+16554\t1.00\n+16555\t1.00\n+16556\t1.'..b'+40931\t1.00\n+40932\t1.00\n+40933\t1.00\n+40934\t1.00\n+40935\t1.00\n+40936\t1.00\n+40937\t1.00\n+40938\t1.00\n+40939\t1.00\n+40940\t1.00\n+40941\t1.00\n+40942\t1.00\n+40943\t1.00\n+40944\t1.00\n+40945\t1.00\n+57998\t1.00\n+57999\t1.00\n+58000\t1.00\n+58001\t1.00\n+58002\t1.00\n+58003\t1.00\n+58004\t1.00\n+58005\t1.00\n+58006\t1.00\n+58007\t1.00\n+58008\t1.00\n+58009\t1.00\n+58010\t1.00\n+58011\t1.00\n+58012\t1.00\n+58013\t1.00\n+58014\t1.00\n+58015\t1.00\n+58016\t1.00\n+58017\t1.00\n+58018\t1.00\n+58019\t1.00\n+58020\t1.00\n+58021\t1.00\n+58022\t1.00\n+58023\t1.00\n+58024\t1.00\n+58025\t1.00\n+58026\t1.00\n+58027\t1.00\n+58028\t1.00\n+58029\t1.00\n+58030\t1.00\n+58031\t1.00\n+58032\t1.00\n+58033\t1.00\n+58034\t1.00\n+58035\t1.00\n+58036\t1.00\n+58037\t1.00\n+58038\t1.00\n+58039\t1.00\n+58040\t1.00\n+58041\t1.00\n+58042\t1.00\n+58043\t1.00\n+58044\t1.00\n+58045\t1.00\n+58046\t1.00\n+58047\t1.00\n+58135\t1.00\n+58136\t1.00\n+58137\t1.00\n+58138\t1.00\n+58139\t1.00\n+58140\t1.00\n+58141\t1.00\n+58142\t1.00\n+58143\t1.00\n+58144\t1.00\n+58145\t1.00\n+58146\t1.00\n+58147\t1.00\n+58148\t1.00\n+58149\t1.00\n+58150\t1.00\n+58151\t1.00\n+58152\t1.00\n+58153\t1.00\n+58154\t1.00\n+58155\t1.00\n+58156\t1.00\n+58157\t1.00\n+58158\t1.00\n+58159\t1.00\n+58160\t1.00\n+58161\t1.00\n+58162\t1.00\n+58163\t1.00\n+58164\t1.00\n+58165\t1.00\n+58166\t1.00\n+58167\t1.00\n+58168\t1.00\n+58169\t1.00\n+58170\t1.00\n+58171\t1.00\n+58172\t1.00\n+58173\t1.00\n+58174\t1.00\n+58175\t1.00\n+58176\t1.00\n+58177\t1.00\n+58178\t1.00\n+58179\t1.00\n+58180\t1.00\n+58181\t1.00\n+58182\t1.00\n+58183\t1.00\n+58184\t1.00\n+58185\t1.00\n+80866\t1.00\n+80867\t1.00\n+80868\t1.00\n+80869\t1.00\n+80870\t1.00\n+80871\t1.00\n+80872\t1.00\n+80873\t1.00\n+80874\t1.00\n+80875\t1.00\n+80876\t1.00\n+80877\t1.00\n+80878\t1.00\n+80879\t1.00\n+80880\t1.00\n+80881\t1.00\n+80882\t1.00\n+80883\t1.00\n+80884\t1.00\n+80885\t1.00\n+80886\t1.00\n+80887\t1.00\n+80888\t1.00\n+80889\t1.00\n+80890\t1.00\n+80891\t1.00\n+80892\t1.00\n+80893\t1.00\n+80894\t1.00\n+80895\t1.00\n+80896\t1.00\n+80897\t1.00\n+80898\t1.00\n+80899\t1.00\n+80900\t1.00\n+80901\t1.00\n+80902\t1.00\n+80903\t1.00\n+80904\t1.00\n+80905\t1.00\n+80906\t1.00\n+80907\t1.00\n+80908\t1.00\n+80909\t1.00\n+80910\t1.00\n+80911\t1.00\n+80912\t1.00\n+80913\t1.00\n+80914\t1.00\n+80915\t1.00\n+80916\t1.00\n+87735\t1.00\n+87736\t1.00\n+87737\t1.00\n+87738\t1.00\n+87739\t1.00\n+87740\t1.00\n+87741\t1.00\n+87742\t1.00\n+87743\t1.00\n+87744\t1.00\n+87745\t1.00\n+87746\t1.00\n+87747\t1.00\n+87748\t1.00\n+87749\t1.00\n+87750\t1.00\n+87751\t1.00\n+87752\t1.00\n+87753\t1.00\n+87754\t1.00\n+87755\t1.00\n+87756\t1.00\n+87757\t1.00\n+87758\t1.00\n+87759\t1.00\n+87760\t1.00\n+87761\t1.00\n+87762\t1.00\n+87763\t1.00\n+87764\t1.00\n+87765\t1.00\n+87766\t1.00\n+87767\t1.00\n+87768\t1.00\n+87769\t1.00\n+87770\t1.00\n+87771\t1.00\n+87772\t1.00\n+87773\t1.00\n+87774\t1.00\n+87775\t1.00\n+87776\t1.00\n+87777\t1.00\n+87778\t1.00\n+87779\t1.00\n+87780\t1.00\n+87781\t1.00\n+87782\t1.00\n+87800\t1.00\n+87801\t1.00\n+87802\t1.00\n+87803\t1.00\n+87804\t1.00\n+87805\t1.00\n+87806\t1.00\n+87807\t1.00\n+87808\t1.00\n+87809\t1.00\n+87810\t1.00\n+87811\t1.00\n+87812\t1.00\n+87813\t1.00\n+87814\t1.00\n+87815\t1.00\n+87816\t1.00\n+87817\t1.00\n+87818\t1.00\n+87819\t1.00\n+87820\t1.00\n+87821\t1.00\n+87822\t1.00\n+87823\t1.00\n+87824\t1.00\n+87825\t1.00\n+87826\t1.00\n+87827\t1.00\n+87828\t1.00\n+87829\t1.00\n+87830\t1.00\n+87831\t1.00\n+87832\t1.00\n+87833\t1.00\n+87834\t1.00\n+87835\t1.00\n+87836\t1.00\n+87837\t1.00\n+87838\t1.00\n+87839\t1.00\n+87840\t1.00\n+87841\t1.00\n+94827\t1.00\n+94828\t1.00\n+94829\t1.00\n+94830\t1.00\n+94831\t1.00\n+94832\t1.00\n+94833\t1.00\n+94834\t1.00\n+94835\t1.00\n+94836\t1.00\n+94837\t1.00\n+94838\t1.00\n+94839\t1.00\n+94840\t1.00\n+94841\t1.00\n+94842\t1.00\n+94843\t1.00\n+94844\t1.00\n+94845\t1.00\n+94846\t1.00\n+94847\t1.00\n+94848\t1.00\n+94849\t1.00\n+94850\t1.00\n+94851\t1.00\n+94852\t1.00\n+94853\t1.00\n+94854\t1.00\n+94855\t1.00\n+94856\t1.00\n+94857\t1.00\n+94858\t1.00\n+94859\t1.00\n+94860\t1.00\n+94861\t1.00\n+94862\t1.00\n+94863\t1.00\n+94864\t1.00\n+94865\t1.00\n+94866\t1.00\n+94867\t1.00\n+94868\t1.00\n+94869\t1.00\n+94870\t1.00\n+94871\t1.00\n+94872\t1.00\n+94873\t1.00\n+94874\t1.00\n+94875\t1.00\n+94876\t1.00\n+94877\t1.00\n+variableStep chrom=chrY\n+variableStep chrom=chrX\n+variableStep chrom=chr9\n+variableStep chrom=chrM\n+variableStep chrom=chr22\n+variableStep chrom=chr20\n+variableStep chrom=chr21\n+variableStep chrom=chr7\n+variableStep chrom=chr6\n+variableStep chrom=chr5\n+variableStep chrom=chr4\n+variableStep chrom=chr2\n'
b
diff -r 2e6190c29c54 -r 6b33e31bda10 tool_dependencies.xml
--- a/tool_dependencies.xml Tue Apr 21 10:27:06 2015 -0400
+++ b/tool_dependencies.xml Thu Jul 16 17:43:43 2015 -0400
b
@@ -4,7 +4,7 @@
         <repository changeset_revision="f386d7431fe0" 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="c7ae57300a77" name="package_numpy_1_7" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" />
+        <repository changeset_revision="300877695495" name="package_numpy_1_7" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" />
     </package>
     <package name="rseqc" version="2.4">
         <repository changeset_revision="8e7baa602cec" name="package_rseqc_2_4" owner="lparsons" toolshed="https://toolshed.g2.bx.psu.edu" />