Repository 'ctat_edger_differential_expression'
hg clone https://toolshed.g2.bx.psu.edu/repos/trinity_ctat/ctat_edger_differential_expression

Changeset 0:f36264827fb4 (2018-07-17)
Commit message:
Upload ctat tools.
added:
ctat_edger_differential_expression.py
ctat_edger_differential_expression.xml
test-data/Sp.Trinity.fasta
test-data/Sp.counts.matrix
b
diff -r 000000000000 -r f36264827fb4 ctat_edger_differential_expression.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ctat_edger_differential_expression.py Tue Jul 17 11:52:09 2018 -0400
[
@@ -0,0 +1,87 @@
+import sys, os, subprocess
+
+TRINITY_BASE_DIR = ""
+if os.environ.has_key('TRINITY_HOME'):
+    TRINITY_BASE_DIR = os.environ['TRINITY_HOME'];
+elif hasattr(os, 'symlink'): # symlink was implemented to always return false when it was not implemented in earlier versions of python.
+    # 2017-09-26
+    # Cicada Dennis added looking for the location of the Trinity program using the Unix "which" utility.
+    # I tried using "command -v Trinity" but for some reason, I was getting a OS permission error with that.
+    # I also found distutils.spawn.find_executable() which might work, but already implemented the below.
+    try:
+        pipe1 = subprocess.Popen(["which", "Trinity"], stdout=subprocess.PIPE)
+    except:
+        msg = "You must set the environmental variable TRINITY_HOME to the base installation directory of Trinity before running {:s}.\n".format(sys.argv[0])
+        sys.stderr.write(msg)
+        # t, v, tb = sys.exc_info()
+        # raise t, v, tb
+        # For some reason the above was giving a syntax error. 
+        # A simple raise should reraise the existing exception.
+        raise
+    else:
+        TrinityPath, err_info = pipe1.communicate()
+        # FIX - probably should be checking err_info for errors...
+        # Determine the TRINITY_BASE_DIR from output1.
+        # If TrinityPath is a link, we need to dereference the link.
+        TrinityPath = TrinityPath.rstrip() # Need to strip off a newline.
+        # print "Trinity that was found is: {:s}".format(repr(TrinityPath))
+        # print os.path.islink(TrinityPath)
+        TrinityPath = os.path.abspath(TrinityPath)
+        # msg = "The Absolute Trinity path that was found is: {:s}".format(TrinityPath)
+        # print msg
+        # print os.path.islink(TrinityPath)
+        while os.path.islink(TrinityPath):
+            # print "That path is a link."
+            TrinityPath = os.path.join(os.path.dirname(TrinityPath),os.readlink(TrinityPath))
+            # print "The new path is: {:s}".format(TrinityPath)
+        # Take off the last part of the path (which is the Trinity command)
+        TRINITY_BASE_DIR = "/".join(TrinityPath.split("/")[0:-1])
+else:
+    sys.stderr.write("Either set TRINITY_HOME to the trinity base directory, " + \
+        "or ensure that directory is in the PATH before running.")
+    sys.exit(1)
+
+usage= "usage: " + " $counts_matrix" + " $dispersion"
+
+if len(sys.argv)<2:
+    print "Require at least two parameters, " + usage
+else:
+    print "All good- command going ahead"
+print " "
+
+def run_command(cmd):
+    # 2017-10-02
+    # Cicada Dennis put the subprocess command in a try/except statement.
+    # Errors were going undetected the way it was written previously.
+    print "Running command:\n\t" + cmd
+    try:
+        pipe = subprocess.Popen(cmd, shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
+        cmd_stdout, cmd_stderr = pipe.communicate()
+    except:
+        msg = "ERROR while running command:\n\t" + cmd
+        sys.stderr.write(msg)
+        raise
+    
+    sys.stdout.write(cmd_stdout)
+    ret = pipe.returncode
+    if ret:
+        print "command died: " + str(ret)
+        sys.stderr.write(cmd_stderr)
+        sys.exit(ret)
+    else:
+        # Any error output is written to stdout instead of stderr, since no error has occurred.
+        sys.stderr.write(cmd_stderr) 
+        return
+
+print ""
+
+countmatrix= "counts_matrix"
+
+cmd= "cp " + sys.argv[1] + " " + countmatrix 
+run_command(cmd)
+
+cmd= TRINITY_BASE_DIR + "/Analysis/DifferentialExpression/run_DE_analysis.pl "+ " --matrix "+ countmatrix + " --method edgeR " + " --output edgeR_results "+ " --dispersion " + sys.argv[2] + " --tar_gz_outdir"
+
+run_command(cmd)
+
+sys.exit(0)
b
diff -r 000000000000 -r f36264827fb4 ctat_edger_differential_expression.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ctat_edger_differential_expression.xml Tue Jul 17 11:52:09 2018 -0400
[
@@ -0,0 +1,76 @@
+<tool id="ctat_edger_differential_expression" name="ctat_edger_differential_expression" version="1.0.0" profile="17.05">
+
+    <description>Identify Differentially Expressed Transcripts Using EdgeR</description>
+    <requirements>
+        <requirement type="package" version="2.7">python</requirement>
+        <requirement type="package">subprocess32</requirement>
+        <requirement type="package">bzip2</requirement>
+        <requirement type="package" version="1.3.0">rsem</requirement>
+        <requirement type="package" version="3">bioconductor-edger</requirement>
+        <requirement type="package" version="2">bioconductor-qvalue</requirement>
+        <requirement type="package" version="2.6.6">trinity</requirement>
+    </requirements>
+    <command detect_errors="exit_code">
+        <![CDATA[
+  python $__tool_directory__/ctat_edger_differential_expression.py 
+ $counts_matrix 
+ $dispersion
+        ]]>
+    </command>
+    <inputs>
+
+ <param type="data" format="txt" name="counts_matrix" label="Matrix of RNA-Seq fragment counts for transcripts per condition" />
+ <param type="data" format="fasta" name="transcripts_fasta_file" label="Transcripts fasta file corresponding to matrix" />
+ <param type="float" name="dispersion" value="0.1" min="0" label="dispersion value" help="Dispersion value to be used in the negative binomial" />
+
+    </inputs>
+    <outputs>
+        <!--
+        <data format="tar.gz" name="EdgeR_Archive" label="${tool.name} on ${on_string}: EdgeR_Results.tar.gz" from_work_dir="edgeR_results.tar.gz" />
+       -->
+        <data format="txt" name="EdgeR_Archive" label="${tool.name} on ${on_string}: EdgeR_Results.tar.gz" from_work_dir="edgeR_results.tar.gz" />
+
+    </outputs>
+    <tests>
+ <test>
+     <param name="counts_matrix" value="Sp.counts.matrix" />
+            <!-- The transcripts_fasta_file does not seem to be used for anything. -->
+     <param name="transcripts_fasta_file" value="Sp.Trinity.fasta" />
+     <param name="dispersion" value="0.1" />
+
+            <!-- One could create more detailed tests if the output files were explicitly
+                 saved rather than placed into an archive. We had a case where the archive
+                 was being created, but it was missing one of the files, or one of the
+                 files was empty. There is no easy way to look into the archive file to
+                 test this.
+            -->
+     <output name="EdgeR_Archive" >
+                <assert_contents>
+                    <has_line_matching expression=".+" />
+                    <!-- The following is the magic number for all gzip files. -->
+                    <has_text_matching expression="\x1F\x8B" />
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+    <help>
+.. class:: infomark
+
+edgeR is a Bioconductor package focusing on the analysis of digital gene expression data derived from RNA-Seq sequencing technologies.
+
+To learn more about edgeR read their paper_, visit their website_ , or read this user_ guide_ .
+If you are following the Trinity RNA-seq protocol please go here_ for a galaxy tool walk through or the Nature Protocols publication_ .
+
+.. _paper: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2796818/
+.. _publication: http://www.nature.com/nprot/journal/v8/n8/full/nprot.2013.084.html
+.. _user: https://bioconductor.org/packages/devel/bioc/vignettes/edgeR/inst/doc/edgeRUsersGuide.pdf
+.. _guide: https://bioconductor.org/packages/devel/bioc/vignettes/edgeR/inst/doc/edgeRUsersGuide.pdf
+.. _website: http://bioinf.wehi.edu.au/edgeR/
+.. _here: https://github.com/trinityrnaseq/GalaxyTrinityProtocol/wiki
+    </help>
+
+    <citations>
+        <citation type="doi">10.1038/nbt.1883</citation>
+    </citations>
+
+</tool>
b
diff -r 000000000000 -r f36264827fb4 test-data/Sp.Trinity.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Sp.Trinity.fasta Tue Jul 17 11:52:09 2018 -0400
[
b'@@ -0,0 +1,5256 @@\n+>TRINITY_DN75_c0_g1_i1 len=570 path=[548:0-569] [-1, 548, -2]\n+AAGGTTTAAGCAAAGTCCCGTTGCTAGCAATATGCCTACTTATGGAAGCTCTAACCGTAC\n+GGTTCAATCCCAAAAGCGCTCGATTCGGGACAAATATATACAAATGCCAAATGATTCTAC\n+GCAAGCTTCCCTTATGCCTTCTTATACCAGAAAAACTAGCAATGCATCAAAGAAACTTAC\n+TACTGAAGAAGATGAATTTTATGACTCAGAAGAAGAGCCTGAAGCCATAGTTCACAGGGA\n+TACATCGGCGTTAGAGAGAACTGTACTCAATTTTATAAACAGCAGTACTGCTAAGGAACT\n+CTCTGATACTGCTAGTTGCCCTTTGTCCCACTCGAAACTCCTTTTAGAGCATCGTCCTTT\n+CCAGACACTTGCCGAAGCTTGTATCATCAAACATCCTGATGACGTTCCTAGCAAACCTGG\n+TAGACGTGGAAGGCGTCGTGAAAAAAATCCTATGGGCCAAAAAATCGTCAATGCTTGTAT\n+GGAAACCATGGAAGGATATTATGCAATTGATAATCTAATTGCCAAATGCGAGTTTCTTGG\n+TAATCGTATATCTAAAGGTATGGCCTCGTG\n+>TRINITY_DN55_c0_g1_i1 len=2583 path=[2561:0-393 5289:394-417 2956:418-1586 5290:1587-1610 4149:1611-1646 5292:1647-1670 4209:1671-2169 5291:2170-2193 4732:2194-2582] [-1, 2561, 5289, 2956, 5290, 4149, 5292, 4209, 5291, 4732, -2]\n+GTTATTTATAACCCATTTCCCACTAAGTTCCTTTGTTGAACGCTTAAAAGATTGTTCATA\n+CGTTTGAACATATTTAAAATCACGTTATAGCTGAGAAGAAAACCCCTTTTCAAGTAATAA\n+AAGTATATTTAATTACTTATTTTACCCTTTATATTACGAACTGTACGACTTAACCGGTTT\n+TATCTATAAATTCCTTCATTTTTCTTTGTTTTCGTTTTCAATTTGATTTCATTACAAAAT\n+GTCGAACACAGAAACTTTCAAGTTTGAGGCTGAAATCAGCCAGTTGATGTCTTTAATCAT\n+CAACACTGTTTATTCTAACAAGGAAATTTTCCTTCGTGAGCTTATTTCCAACGCTTCCGA\n+TGCCTTGGACAAAATTCGTTATCAAAGCCTTTCCGATCCTCATGCCTTAGACGCTGAGAA\n+GGATCTTTTCATTCGCATTACTCCTGACAAGGAGAACAAAATCCTTAGCATTCGCGATAC\n+CGGTATTGGTATGACCAAGAATGACCTTATCAACAACCTTGGTGTTATCGCCAAGTCTGG\n+TACTAAGCAGTTTATGGAAGCTGCTGCTTCTGGTGCTGATATCTCCATGATTGGTCAATT\n+CGGTGTTGGTTTCTACTCTGCATACTTGGTTGCCGACAAGGTCCAAGTCGTAAGTAAGCA\n+TAATGACGATGAGCAATACATCTGGGAATCCTCTGCTGGTGGTAGCTTCACCGTCACTTT\n+GGACACCGATGGACCTCGCTTGTTACGTGGTACCGAGATTCGTCTCTTCATGAAAGAAGA\n+CCAACTTCAATACCTCGAGGAAAAGACTATCAAAGATACCGTCAAGAAACATAGTGAGTT\n+CATCTCTTACCCCATTCAATTAGTTGTTACCCGTGAGGTTGAGAAGGAGGTCCCTGAAGA\n+AGAAGAGACCGAAGAAGTTAAGAATGAAGAAGACGATAAGGCTCCTAAGATTGAGGAGGT\n+TGATGATGAATCTGAGAAGAAGGAGAAGAAGACCAAGAAGGTCAAGGAGACCACCACTGA\n+GACTGAGGAGTTGAACAAGACCAAGCCCATTTGGACTCGCAACCCCAGTGAAGTTACCAA\n+GGAAGAGTATGCCTCTTTCTACAAGTCTTTGACTAACGACTGGGAAGACCATTTGGCCGT\n+CAAGCACTTCAGCGTTGAAGGTCAATTGGAATTCCGTGCCATTCTTTTCGTCCCCCGCCG\n+CGCTCCTATGGACCTTTTTGAGGCCAAGCGTAAGAAGAACAACATCAAGCTCTATGTTCG\n+CCGTGTTTTCATTACCGACGACTGTGAAGAGTTGATTCCTGAATGGTTGGGTTTCATTAA\n+GGGTGTTGTTGATTCTGAGGACTTGCCCTTGAACTTGTCTCGTGAGATGCTTCAACAAAA\n+CAAGATCATGAAGGTTATTCGTAAGAACCTTGTCCGTCGTTGTCTTGATATGTTCAACGA\n+GATTGCCGAGGACAAGGAGAACTTCAAGACTTTCTACGATGCTTTCAGCAAGAATTTGAA\n+GCTTGGTATCCATGAGGATGCTGCTAACCGCCCTGCTTTAGCCAAGCTTTTGCGTTACAA\n+CTCCCTTAACTCCCCTGATGATCTTATCAGTCTTGAGGACTACATCACTAAGATGCCCGA\n+ACATCAAAAGAACATTTATTTCATCACTGGTGAATCTAAGCAAGCCGTTGAGAACTCTCC\n+CTTCTTGGAAATCTTCCGTGCCAAGAAGTTTGATGTTCTCTTCATGGTTGACCCCATTGA\n+TGAGTACGCTGTCACTCAACTCAAGGAATTCGAGGGCAAGAAATTGGTTAACATTACTAA\n+GGATGGTCTTGAGTTGGAAGAGACTGACGAGGAGAAGGCTGCTCGCGAGAAGCTCGAAAA\n+AGAGTATGAGGAGTTTGCTAAGCAACTTAAGACCATTTTGGGTGACAAGGTTGAAAAGGT\n+TGTTGTTTCTAACAAGATTGTTGGTTCTCCTTGCTTGTTAACTACCGGTCAATATGGTTG\n+GTCTGCTAACATGGAACGTATCATGAAGGCTCAAGCCCTTCGTGATACTTCTATGAGTGC\n+CTATATGTCTAGCCGCAAGACTTTTGAGATTAACCCCAAGTCTCCCATCATTGCTGAGCT\n+CAAGAAGAAGGTTGAGGAGAATGGTGCCGAAGACCGCTCTGTGAAGGATCTTGCTACTAT\n+TTTGTATGAGACCGCCTTGTTGTCCTCTGGTTTCACTCTTGATGACCCTAGTGCTTATGC\n+TCAACGTATCAACCGTCTTATTTCTCTTGGTCTTAGCATTGACGAAGAGGAGGAGGCTCC\n+TATTGAGGAAATTTCTACCGAATCCGTCGCTGCTGAAAACAATGCTGAGAGCAAGATGGA\n+GGAAGTCGATTAAATCAAATGCATCTAATGTGTCTTTCCAAAATTTATGCATATAATGTT\n+TTTCTTGGATTAAAGCAAGTTATCCTATACATTGTTAACGATTCTAGTGTCTGTTGTCAT\n+TCAAAAATTTCTTTCTACACGATTTTTCTTAATACACACTAGATTACAGGTTGTTTGGAA\n+GTTGTTATAATATGGAATGTTGATTAGTAATATTAAAGTTTATGGATACTTATTAGTACA\n+TCA\n+>TRINITY_DN72_c0_g1_i1 len=381 path=[551:0-380] [-1, 551, -2]\n+TTCCAGTCCTGTCTTATGAGAACCGTACTTTGAATTCTGAAGTCCATTTCTTAAAATTTG\n+TTTTACCGGTGAAGACGGTAAACTCAAATCAGGATTACTAACGACCCTTTGCTTTTTATG\n+CAGTCGTTTAGACACGGTCTGTCCTGGCGAGCGCTTTTGCTTGTTTAACTCTGAAACTGT\n+CACGTCTAAAAAGTTCCAAACTTCCGATTCCGAAGAAATTCTCTTCAAACCATTATCTTT\n+TTCCTTACATTTTCCTCTTTTCATTTCAAGGTTTCTTCAATCCGCCTGGCTTGACATCGA\n+TTCTTTACAAAAATGGAGGAACACGGTCGTACCAACTCACAATGTAGCTTG'..b'GCTTTCCAATGGATTGAACG\n+AATTGCTTGACAGTCTCCTTGGGACTCTCAGTGCTACCACTGTATACAAAAAGGTCGATA\n+ACACCACCGATCATTCGATACTGAAGATAATCTTGGCGCAAAAGAACATCCATTCCATTA\n+GCTGTAAGCATAAGAACACCATGAGAAGAAGAAGTATAAGTGGTTTCGTTCAAAGTTGAA\n+TTTATACCATCCGCCTTGTATCTTTGTTCTAAATAGTATGGATGACTTCCGTACATGTTT\n+TGGTCCACGGGGCTAGGTTCATCATTAGCCCAAAAGGTACGGGTTAAGTTATTTCCCAGA\n+CGTAAACCATGGATGGTTTCAGCGAGACCATAAAGATTATAATTTTCAACCATATTAGTA\n+GTTAACTCAATATACTGATCTTCGAAAACCAATTTCTGTCCGCGTGTATCAAATAAAACT\n+TCACCATCGCTCTTACGTGTAACCCAAAATTCGAAAGGATTGGCATTGTACGAAAAGTTG\n+TACAGAAGGTTTGTGTTATTGTAAGAAGGTGAATATAAGGGAGCATCCCAAAGATCTTTC\n+CTACTGGTAAATTGGAATTGAGTGTTATTAGCGTCTTTGATTGATATATGAACTCGGTCG\n+GCTTCCTCATATGTGACGTTGAGGAACAACAATGGGTAATCAGTACCATAGGCATAGCAA\n+GGCTCGCCGAGTAGTGCGAGATAGGCAGTAACGCCATTTTGTGACTCAGATATGTTAACA\n+GCTTGATATCCTTGACAATTTACACCGCGATATGGGTCATATACGGATAAGCGTTGAGGG\n+ATACCATTGGTAGGGATAGTGACATTGCGATCACCAATGACATTGAAAGTTTGGTAGACG\n+TTACCGACAGCAATCGAGATTGCTGAAAACAGAGCAGTTAAAAATAGAGATTGGTAGGCA\n+GTAGAAATCATCATCGTTAAAAAAAAACAAAAAAGAGATCAAAAAGTTTTAAGAAAAATC\n+AAAGTACCAACTAAAAAGAATCGTAGAGAAAAAGAATGGAAAAGATTAACCAAAAAGGCA\n+ATTTGGCAATAGAAGGGCGGTTTAAAGAGGCGAAATCGTAAAGAAAAGGAGGGTTTTAAG\n+AGACAGACAAAAAATTAAGCAAGAACTACAACAATAGAATTGTAGACTTTCTTGTCCAAG\n+TTTTTTTTTCAATATAAATAAAAAGTTATATATATATATGTGTGTGTGTATGTATATATA\n+TAGTAAGTTAGGAAAGAAAAGCTCTTTCACGAAAAGCTTGAAAGGGTTTGTTTAAACGCG\n+CGTTTTAAAAAGGAGCGAAACCCAAAAAAAGGTAAGAGGTAGGATTAACCAATCAAGTCC\n+AAAACGACGTAATTAAGAGCGGCTAAGCGAACCTTATAAAAGTGGGGGAGAAACTTTTGT\n+AGCTTGTGTTACTTAGCACTTTTTGCAAAACGAAGTGTATGTTCGCTTGAAGGTGCAAAG\n+AACGAGGAGGAAGCGAAAAGCCTTGATTAATTGATTTGATGGGTAAAGCCTTTGAAAGCC\n+AAGTCGAATCGAATCAATCTAAAAGCAAAAAAAAAGATAATCAAACCCAACGTTTAGTAA\n+CTTTTTTGTAAAAAAAGTAGGGCGATAGGTTGGAAAATGGATCGATTTTCTCGTGGGGAT\n+GGAATCAATCGACTCGTTTCTTTTGCAATGTGGGGAGACTTACTAAGGCGGATGTGGGGG\n+GAGGACAAAAAAACAAGTAGCAAAGAATCAAAACTTAACAAAATAAATTAAAGGTGTGGA\n+AGGTTTGAGAGCACTTCTGTTCTAGTGGAACAGATATTGCTTGGTTTTAATAAAGGGAGT\n+GGTGTAATCACAGGAGAAAACAGTAGGAAAACTATTGAGTTATACCCAACTGTGTTACCA\n+ATAGAGTACAGACACTGGAAGATTTCGGATCAAAAAAGTTGATGAAAACTTAGAACCAAA\n+AAGGCGCGAGGTATTCACTTGACTTATG\n+>TRINITY_DN217_c0_g1_i1 len=1840 path=[1:0-1839] [-1, 1, -2]\n+AAGAAATCTGCAGCTTAATTTGAAAACACTAAAAAAACCTGCATTCTTCTTTTTTCCACG\n+AAAGATCTGTTGCTGCTTACGCTATTATTTGTTATTATTATAAATAATAATAACATTTCT\n+ATCGATAACTTCGTTTCATATAGTTTTTAACATTTACTCCTTCCCACTTTTTTGTATAAT\n+ACTCTTCAAAAATGGCCCCTCAATTCAAACGCCCTGAGCTCTTTGGCTTTGATAAGTCTC\n+ATGCTCAATCTTTTGTTCAAGGAAAATGGATTTCTTCTCCTAACAACAAAACTTTTGAGG\n+TTGATAACCCAGCTACTGGTGAAATAATCGGTAAAGTGGCCGATGTCTCAGTAGAGGAAA\n+CAAAAAAAGCCATCAGTGCCGCTAACGAGGCCTTCAAAACTTATAAAAATTTTACTCATG\n+TCCAACGTAGTCAGTTATTGGAACGCTGGGCAGAGCTTATTATGGAGAACAAAGACGACT\n+TGGTCAAGATGCTTACCTTAGAAAACGGCAAGCCTTTGAGCCAAGCTGAGATGGAGGTCA\n+CCACATGTAGCGGATATCTTAAATGGTATGCTGCTGAAGCCGTTCGTACCTTTGGCGATG\n+TAGCTCCTTCCAGCTTACAAAGTCAAAACTTTCTCATCTCCATCAAACAGCCAGTTGGTG\n+TCAGTGCCTTGATTACTCCTTGGAACTTCCCCGCCGCCATGATTGCTCGTAAAGGTGGTG\n+CCGCTTTGGCTGCTGGTTGTACCGCTATTTTCTTGCCTGCTTTCCGCACTCCCTACGTTT\n+GCTTAGGTTTAGTCAGGTTGGCGCAAGAGGCCGGTTTCCCTGACGGTGTCTTAAATGTGA\n+TCACTTCTTCTGATGCATCTGCTCATGGTAAAGAACTGACTACCAACCCTATCGTTCGTA\n+AGGTTTCCTTCACTGGTAGTACTAATGTCGGTAAAATTCTTATGGGACAAAGTGCCAGCA\n+CAATCAAGAAGGTTTCAATGGAGTTAGGAGGTAATGCCCCTTTCATTGTATTCCCTGACT\n+TCCCCATTGATCAGGCTGTCGAATCTTTCTGCACTATCAAGTTTAACTCTTGTGGTCAAG\n+TTTGTGTCTGCCCTAACAGAGTTTACGTTCACAAGAATGTTTACGACGAATTCGTCAGCA\n+AGCTTACCGAAAAAGTCAAGACCATTAAAGTAGGAGATGGATTTGACTCTTCTTCTGCTG\n+TTGGCCCTTTGATTTCTCAAGATGGATGCAAAAAGGTCAGCAAGCACATTGAAGATGCTG\n+TTTCAAAGGGTGCCAAAATCACTGTTGGTGGAAAGGAGATTTCCTCAAGCAAAGGTTATT\n+TTTTTGAACCAACCGTGCTCTCCGGTGTAACTCAAGACATGTTGGTTGCTAGCGAGGAAA\n+CATTCGGCCCACTCGCCTCTGTCTTCAAGTTCGACGACACCGAAGAGGTGATCGAATGGG\n+CTAACGACAGTGATGTTGGCTTGGCCGGTTACGTCTTTACCAATAACTTGTCCACAATGA\n+TCCACGTTGCCAAAGAACTAGAGGTGGGTCTTGTAGGTGCCAATATCGAAATGGTTGACG\n+AACCATTTATTTCCTTTGGCGGCATCAAACAGAGCGGTTTTGGCAAGGAAGCCGGTCGTT\n+TGGGCGTTCAAGAATTTATGGTGGTTAAGGAAATCAATCTCAAGACTCTTTAAGGATTTT\n+CGCTTTAGAAAGCTGCATATTATTGAACAAGCAATGATGTCCTCTTTTGGTTAATGACTA\n+AAAAATCCTGATGTTATGACTGTTTTACATGTTTGCGATACAAATCGTATTTTAGTTTAA\n+TGATATCAAAAAAATTTAATACCTGAAAAAAAAAAAAAAA\n'
b
diff -r 000000000000 -r f36264827fb4 test-data/Sp.counts.matrix
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Sp.counts.matrix Tue Jul 17 11:52:09 2018 -0400
b
b'@@ -0,0 +1,353 @@\n+\tSp_ds\tSp_hs\n+TRINITY_DN126_c0_g2\t7.00\t16.00\n+TRINITY_DN173_c0_g3\t19.00\t22.00\n+TRINITY_DN16_c0_g1\t285.00\t48.00\n+TRINITY_DN107_c0_g1\t13.00\t7.00\n+TRINITY_DN165_c0_g1\t14.00\t13.00\n+TRINITY_DN192_c0_g1\t9932.00\t3646.00\n+TRINITY_DN9_c0_g1\t1.00\t1.00\n+TRINITY_DN85_c0_g2\t46.00\t40.00\n+TRINITY_DN175_c0_g2\t3.00\t0.00\n+TRINITY_DN170_c0_g2\t0.00\t0.00\n+TRINITY_DN226_c0_g1\t636.00\t151.00\n+TRINITY_DN135_c0_g2\t6.00\t2.00\n+TRINITY_DN176_c0_g3\t4.00\t1.00\n+TRINITY_DN80_c0_g1\t1.00\t1.00\n+TRINITY_DN119_c0_g2\t5.00\t12.00\n+TRINITY_DN134_c0_g1\t8.00\t3.00\n+TRINITY_DN150_c0_g1\t89.00\t141.00\n+TRINITY_DN149_c0_g2\t22.00\t11.00\n+TRINITY_DN188_c0_g1\t217.00\t444.00\n+TRINITY_DN122_c0_g1\t32.00\t16.00\n+TRINITY_DN118_c0_g2\t2.00\t0.00\n+TRINITY_DN173_c0_g1\t0.00\t1.00\n+TRINITY_DN219_c0_g1\t74.00\t38.00\n+TRINITY_DN141_c0_g2\t6.00\t6.00\n+TRINITY_DN81_c0_g1\t143.00\t63.00\n+TRINITY_DN178_c0_g4\t1.00\t1.00\n+TRINITY_DN117_c0_g1\t0.00\t0.00\n+TRINITY_DN125_c0_g1\t3.00\t0.00\n+TRINITY_DN158_c0_g2\t22.00\t11.00\n+TRINITY_DN128_c1_g1\t5325.00\t24.00\n+TRINITY_DN177_c1_g1\t0.00\t1.00\n+TRINITY_DN180_c0_g2\t5.00\t7.00\n+TRINITY_DN32_c0_g1\t181.00\t130.00\n+TRINITY_DN113_c0_g1\t12.00\t6.00\n+TRINITY_DN201_c0_g1\t11.00\t5.00\n+TRINITY_DN60_c0_g2\t0.00\t0.00\n+TRINITY_DN50_c0_g1\t10195.00\t1914.00\n+TRINITY_DN112_c0_g1\t2.00\t1.00\n+TRINITY_DN87_c0_g1\t2.00\t1.00\n+TRINITY_DN179_c0_g1\t7.00\t4.00\n+TRINITY_DN170_c0_g4\t11.00\t3.00\n+TRINITY_DN74_c0_g1\t25.00\t17.00\n+TRINITY_DN199_c0_g1\t1561.00\t22.00\n+TRINITY_DN89_c0_g2\t15.00\t8.00\n+TRINITY_DN49_c0_g1\t58.00\t44.00\n+TRINITY_DN116_c0_g2\t2.00\t0.00\n+TRINITY_DN215_c0_g1\t29.00\t13.00\n+TRINITY_DN129_c0_g1\t146.00\t215.00\n+TRINITY_DN143_c0_g1\t5.00\t1.00\n+TRINITY_DN176_c0_g2\t5.00\t1.00\n+TRINITY_DN162_c0_g1\t4.00\t5.00\n+TRINITY_DN77_c0_g1\t0.00\t1.00\n+TRINITY_DN84_c0_g1\t1.00\t1.00\n+TRINITY_DN104_c0_g1\t1.00\t5.00\n+TRINITY_DN18_c0_g1\t1.00\t1.00\n+TRINITY_DN102_c0_g1\t2.00\t0.00\n+TRINITY_DN183_c0_g2\t6.00\t8.00\n+TRINITY_DN10_c0_g1\t97.00\t36.00\n+TRINITY_DN158_c0_g3\t2.00\t1.00\n+TRINITY_DN36_c0_g1\t2.00\t1.00\n+TRINITY_DN104_c0_g2\t3.00\t9.00\n+TRINITY_DN144_c0_g3\t0.00\t0.00\n+TRINITY_DN152_c0_g1\t17.00\t1.00\n+TRINITY_DN97_c0_g1\t31.00\t8.00\n+TRINITY_DN53_c0_g1\t43.00\t16.00\n+TRINITY_DN140_c0_g1\t3.00\t0.00\n+TRINITY_DN75_c0_g1\t2.00\t0.00\n+TRINITY_DN195_c0_g1\t121.00\t133.00\n+TRINITY_DN128_c0_g1\t1724.00\t10165.00\n+TRINITY_DN24_c0_g1\t1.00\t0.00\n+TRINITY_DN149_c0_g1\t1.00\t2.00\n+TRINITY_DN178_c0_g2\t22.00\t22.00\n+TRINITY_DN24_c0_g2\t7.00\t1.00\n+TRINITY_DN174_c0_g4\t24.00\t17.00\n+TRINITY_DN68_c0_g1\t50.00\t15.00\n+TRINITY_DN25_c0_g1\t99.00\t66.00\n+TRINITY_DN227_c0_g1\t44.00\t57.00\n+TRINITY_DN176_c0_g1\t1.00\t2.00\n+TRINITY_DN194_c0_g1\t0.00\t0.00\n+TRINITY_DN213_c0_g1\t95.00\t129.00\n+TRINITY_DN211_c0_g1\t53.00\t65.00\n+TRINITY_DN127_c0_g1\t47.00\t33.00\n+TRINITY_DN108_c0_g2\t8.00\t18.00\n+TRINITY_DN162_c0_g6\t0.00\t2.00\n+TRINITY_DN4_c0_g1\t11.00\t10.00\n+TRINITY_DN207_c0_g1\t107.00\t151.00\n+TRINITY_DN172_c0_g1\t1.00\t1.00\n+TRINITY_DN178_c0_g3\t2.00\t0.00\n+TRINITY_DN35_c0_g1\t292.00\t411.00\n+TRINITY_DN11_c0_g1\t6.00\t10.00\n+TRINITY_DN38_c0_g1\t161.00\t69.00\n+TRINITY_DN85_c0_g1\t23.00\t17.00\n+TRINITY_DN197_c0_g1\t160.00\t160.00\n+TRINITY_DN162_c0_g4\t25.00\t15.00\n+TRINITY_DN206_c0_g1\t309.00\t74.00\n+TRINITY_DN143_c0_g5\t1.00\t0.00\n+TRINITY_DN186_c0_g1\t7103.00\t12968.00\n+TRINITY_DN145_c0_g1\t6.00\t5.00\n+TRINITY_DN120_c0_g3\t20.00\t15.00\n+TRINITY_DN212_c0_g1\t59.00\t38.00\n+TRINITY_DN117_c0_g5\t9.00\t11.00\n+TRINITY_DN30_c0_g1\t0.00\t0.00\n+TRINITY_DN216_c0_g1\t3763.00\t344.00\n+TRINITY_DN180_c0_g1\t1.00\t0.00\n+TRINITY_DN133_c0_g2\t4.00\t0.00\n+TRINITY_DN13_c0_g1\t495.00\t2317.00\n+TRINITY_DN146_c0_g2\t13.00\t11.00\n+TRINITY_DN162_c0_g5\t1.00\t0.00\n+TRINITY_DN91_c0_g1\t40.00\t92.00\n+TRINITY_DN75_c0_g2\t0.00\t0.00\n+TRINITY_DN69_c0_g1\t5.00\t4.00\n+TRINITY_DN183_c0_g1\t42.00\t24.00\n+TRINITY_DN205_c0_g1\t2394.00\t57.00\n+TRINITY_DN157_c0_g1\t6.00\t2.00\n+TRINITY_DN132_c0_g1\t0.00\t0.00\n+TRINITY_DN191_c0_g1\t261.00\t669.00\n+TRINITY_DN106_c0_g1\t29.00\t19.00\n+TRINITY_DN224_c0_g1\t100.00\t66.00\n+TRINITY_DN31_c0_g1\t406.00\t155.00\n+TRINITY_DN79_c0_g1\t7.00\t12.00\n+TRINITY_DN149_c0_g5\t2.00\t0.00\n+TRINITY_DN144_c0_g2\t4.00\t2.00\n+TRINITY_DN47_c0_g1\t94.00\t49.00\n+TRINITY_DN2'..b'8_c0_g1\t0.00\t0.00\n+TRINITY_DN170_c0_g1\t9.00\t3.00\n+TRINITY_DN48_c0_g1\t174.00\t9.00\n+TRINITY_DN169_c0_g2\t1.00\t0.00\n+TRINITY_DN26_c0_g2\t12.00\t11.00\n+TRINITY_DN66_c0_g2\t272.00\t462.00\n+TRINITY_DN98_c0_g1\t10.00\t6.00\n+TRINITY_DN163_c0_g2\t1.00\t0.00\n+TRINITY_DN41_c0_g1\t15.00\t4.00\n+TRINITY_DN143_c0_g3\t5.00\t1.00\n+TRINITY_DN175_c0_g4\t1.00\t0.00\n+TRINITY_DN189_c0_g2\t7034.00\t2409.00\n+TRINITY_DN223_c0_g1\t341.00\t925.00\n+TRINITY_DN89_c0_g1\t0.00\t1.00\n+TRINITY_DN121_c0_g1\t196.00\t234.00\n+TRINITY_DN117_c0_g2\t0.00\t2.00\n+TRINITY_DN124_c0_g3\t93.00\t28.00\n+TRINITY_DN40_c0_g1\t72.00\t50.00\n+TRINITY_DN86_c0_g2\t1.00\t3.00\n+TRINITY_DN167_c0_g1\t58.00\t22.00\n+TRINITY_DN95_c0_g1\t4.00\t6.00\n+TRINITY_DN76_c0_g3\t55.00\t31.00\n+TRINITY_DN209_c0_g1\t1.00\t0.00\n+TRINITY_DN228_c0_g1\t1686.00\t456.00\n+TRINITY_DN86_c0_g1\t0.00\t2.00\n+TRINITY_DN72_c0_g1\t7.00\t1.00\n+TRINITY_DN165_c0_g2\t1.00\t0.00\n+TRINITY_DN146_c0_g4\t31.00\t19.00\n+TRINITY_DN179_c0_g3\t35.00\t9.00\n+TRINITY_DN154_c0_g1\t8.00\t0.00\n+TRINITY_DN54_c0_g1\t20.00\t15.00\n+TRINITY_DN115_c0_g1\t28.00\t25.00\n+TRINITY_DN152_c0_g2\t42.00\t15.00\n+TRINITY_DN126_c0_g3\t14.00\t24.00\n+TRINITY_DN17_c0_g1\t19.00\t15.00\n+TRINITY_DN154_c0_g2\t0.00\t0.00\n+TRINITY_DN17_c0_g2\t19.00\t6.00\n+TRINITY_DN105_c0_g1\t7.00\t8.00\n+TRINITY_DN124_c0_g1\t19.00\t7.00\n+TRINITY_DN14_c0_g1\t15.00\t29.00\n+TRINITY_DN101_c0_g1\t64.00\t56.00\n+TRINITY_DN21_c0_g1\t109.00\t24.00\n+TRINITY_DN77_c0_g2\t0.00\t2.00\n+TRINITY_DN130_c0_g1\t43.00\t9.00\n+TRINITY_DN204_c0_g1\t109.00\t63.00\n+TRINITY_DN64_c0_g1\t379.00\t327.00\n+TRINITY_DN171_c0_g3\t7.00\t2.00\n+TRINITY_DN182_c0_g1\t0.00\t0.00\n+TRINITY_DN83_c0_g1\t0.00\t0.00\n+TRINITY_DN169_c0_g1\t1.00\t0.00\n+TRINITY_DN162_c0_g3\t0.00\t1.00\n+TRINITY_DN124_c0_g2\t13.00\t4.00\n+TRINITY_DN157_c0_g2\t2.00\t3.00\n+TRINITY_DN189_c0_g1\t77.00\t323.00\n+TRINITY_DN101_c0_g3\t30.00\t19.00\n+TRINITY_DN142_c0_g1\t100.00\t62.00\n+TRINITY_DN70_c0_g2\t9.00\t3.00\n+TRINITY_DN100_c0_g2\t13.00\t21.00\n+TRINITY_DN178_c0_g7\t10.00\t9.00\n+TRINITY_DN70_c0_g1\t0.00\t0.00\n+TRINITY_DN155_c0_g2\t15.00\t10.00\n+TRINITY_DN149_c0_g3\t8.00\t3.00\n+TRINITY_DN162_c0_g2\t10.00\t4.00\n+TRINITY_DN120_c0_g1\t1.00\t0.00\n+TRINITY_DN160_c0_g2\t2.00\t6.00\n+TRINITY_DN196_c0_g1\t153.00\t63.00\n+TRINITY_DN173_c0_g4\t3.00\t5.00\n+TRINITY_DN45_c0_g1\t199.00\t3.00\n+TRINITY_DN58_c0_g1\t90.00\t68.00\n+TRINITY_DN99_c0_g1\t32.00\t19.00\n+TRINITY_DN187_c0_g1\t80.00\t24.00\n+TRINITY_DN78_c0_g2\t77.00\t59.00\n+TRINITY_DN119_c0_g3\t0.00\t1.00\n+TRINITY_DN141_c0_g1\t0.00\t1.00\n+TRINITY_DN135_c0_g1\t3.00\t0.00\n+TRINITY_DN117_c0_g4\t1.00\t1.00\n+TRINITY_DN118_c0_g5\t2.00\t0.00\n+TRINITY_DN177_c1_g2\t2.00\t1.00\n+TRINITY_DN157_c0_g3\t2.00\t2.00\n+TRINITY_DN62_c0_g1\t10.00\t8.00\n+TRINITY_DN171_c0_g2\t29.00\t13.00\n+TRINITY_DN28_c0_g1\t217.00\t179.00\n+TRINITY_DN105_c0_g2\t16.00\t26.00\n+TRINITY_DN168_c0_g3\t11.00\t4.00\n+TRINITY_DN181_c0_g1\t8.00\t2.00\n+TRINITY_DN163_c0_g3\t0.00\t0.00\n+TRINITY_DN217_c0_g1\t7.00\t30.00\n+TRINITY_DN89_c0_g3\t0.00\t0.00\n+TRINITY_DN86_c0_g3\t1.00\t2.00\n+TRINITY_DN101_c0_g2\t0.00\t0.00\n+TRINITY_DN95_c0_g3\t2.00\t2.00\n+TRINITY_DN190_c0_g1\t9814.00\t36357.00\n+TRINITY_DN93_c0_g3\t18.00\t7.00\n+TRINITY_DN83_c0_g2\t2.00\t0.00\n+TRINITY_DN59_c0_g1\t1.00\t0.00\n+TRINITY_DN46_c0_g2\t2.00\t2.00\n+TRINITY_DN225_c0_g1\t892.00\t269.00\n+TRINITY_DN133_c0_g1\t12.00\t10.00\n+TRINITY_DN166_c0_g1\t10.00\t10.00\n+TRINITY_DN52_c0_g1\t140.00\t92.00\n+TRINITY_DN149_c0_g4\t1.00\t0.00\n+TRINITY_DN177_c0_g1\t0.00\t1.00\n+TRINITY_DN46_c0_g1\t2.00\t1.00\n+TRINITY_DN117_c0_g3\t4.00\t2.00\n+TRINITY_DN93_c0_g2\t0.00\t0.00\n+TRINITY_DN153_c0_g1\t1166.00\t156.00\n+TRINITY_DN100_c0_g1\t1.00\t1.00\n+TRINITY_DN29_c0_g1\t9.00\t25.00\n+TRINITY_DN126_c0_g1\t4.00\t10.00\n+TRINITY_DN66_c0_g1\t0.00\t0.00\n+TRINITY_DN90_c0_g1\t5.00\t9.00\n+TRINITY_DN4_c0_g2\t97.00\t92.00\n+TRINITY_DN158_c0_g1\t28.00\t22.00\n+TRINITY_DN138_c0_g1\t4.00\t2.00\n+TRINITY_DN119_c0_g1\t0.00\t4.00\n+TRINITY_DN132_c0_g2\t3.00\t1.00\n+TRINITY_DN123_c0_g1\t0.00\t0.00\n+TRINITY_DN178_c0_g1\t0.00\t0.00\n+TRINITY_DN118_c0_g4\t0.00\t0.00\n+TRINITY_DN210_c0_g1\t1300.00\t18.00\n+TRINITY_DN173_c0_g2\t19.00\t10.00\n+TRINITY_DN178_c0_g8\t0.00\t2.00\n+TRINITY_DN232_c0_g1\t275.00\t283.00\n+TRINITY_DN174_c0_g6\t3.00\t1.00\n+TRINITY_DN170_c0_g3\t38.00\t15.00\n+TRINITY_DN82_c0_g1\t86.00\t57.00\n'