Repository 'cuffquant'
hg clone https://toolshed.g2.bx.psu.edu/repos/devteam/cuffquant

Changeset 0:5d8b9dcaf17d (2014-12-19)
Next changeset 1:986b63735a5e (2015-11-11)
Commit message:
Uploaded
added:
cuff_macros.xml
cuffquant_wrapper.xml
test-data/cuffquant_in.gtf
test-data/cuffquant_in1.sam
test-data/cuffquant_in2.sam
test-data/cuffquant_out1.cxb
tool-data/fasta_indexes.loc.sample
tool_data_table_conf.xml.sample
tool_dependencies.xml
b
diff -r 000000000000 -r 5d8b9dcaf17d cuff_macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cuff_macros.xml Fri Dec 19 12:01:59 2014 -0500
[
@@ -0,0 +1,91 @@
+<macros>
+  <token name="@VERSION@">2.2.1</token>
+  <xml name="requirements">
+    <requirements>
+      <requirement type="package" version="2.2.1">cufflinks</requirement>
+      <yield />
+    </requirements>
+  </xml>
+  <xml name="stdio">
+    <stdio>
+        <exit_code range="1:" />
+        <exit_code range=":-1" />
+        <regex match="Error:" />
+        <regex match="Exception:" />
+    </stdio>
+  </xml>
+  <xml name="condition_inputs">
+    <!-- DEFAULT : use BAM/SAM files -->
+    <conditional name="in_type">
+        <param name="set_in_type" type="select" label="Input data type"
+            help="CuffNorm supports either CXB (from cuffquant) or SAM/BAM input files. Mixing is not supported. Default: SAM/BAM">
+            <option value="BAM">SAM/BAM</option>
+            <option value="CXB">Cuffquant (CXB)</option>
+            <option value="CONDITION_LIST">List of single replicate conditions</option>
+            <option value="CONDITION_REPLICATE_LIST">List of multiple replicate conditions</option>
+        </param>
+        <when value="BAM">
+            <repeat name="conditions" title="Condition" min="2">
+                <param name="name" title="Condition name" type="text" label="Name"/>
+                <param name="samples" label="Replicates" type="data" format="sam,bam" multiple="true"/>
+            </repeat>
+        </when>
+        <when value="CXB">
+            <repeat name="conditions" title="Condition" min="2">
+                <param name="name" title="Condition name" type="text" label="Name"/>
+                <param name="samples" label="Replicates" type="data" format="cxb" multiple="true"/>
+            </repeat>
+        </when>
+        <when value="CONDITION_LIST">
+            <param name="conditions" title="List of Conditions" type="data_collection" collection_type="list" />
+        </when>
+        <when value="CONDITION_REPLICATE_LIST">
+            <param name="conditions" title="List of Conditions" type="data_collection" collection_type="list:list" />
+        </when>
+    </conditional>
+  </xml>
+  <token name="@CONDITION_SAMPLES@">
+            #if $in_type.set_in_type in ['BAM', 'CXB']
+                #for $condition in $in_type.conditions:
+                    #set samples = ','.join( [ str( $sample ) for $sample in $condition.samples ] )
+                    $samples
+                #end for
+            #elif $in_type.set_in_type == 'CONDITION_LIST'
+                #for $sample in $in_type.conditions:
+                    $sample
+                #end for
+            #elif $in_type.set_in_type == 'CONDITION_REPLICATE_LIST'
+                #for $condition_list in $in_type.conditions:
+                    #set samples = ','.join( [ str( $sample ) for $sample in $condition_list ] )
+                    $samples
+                #end for
+            #end if
+  </token>
+  <token name="@CONDITION_LABELS@">
+            #import re
+            #if $in_type.set_in_type in ['BAM', 'CXB']
+                #set labels = '\'' + '\',\''.join( [ str( $condition.name ) for $condition in $in_type.conditions ] ) + '\''
+            #elif $in_type.set_in_type in ['CONDITION_LIST', 'CONDITION_REPLICATE_LIST']
+                #set labels = '\'' + '\',\''.join( map(lambda x: re.sub('[^\w\-_]', '_', x), $in_type.conditions.keys() ) ) + '\''
+            #end if
+            --labels $labels
+  </token>
+  <xml name="cufflinks_gtf_inputs">
+    <param format="gtf" name="inputs" type="data" label="GTF file(s) produced by Cufflinks" help="" multiple="true" />
+    <repeat name="additional_inputs" title="Additional GTF Inputs (Lists)">
+      <param format="gtf" name="additional_inputs" type="data_collection" label="GTF file(s) produced by Cufflinks" help="" />
+    </repeat>
+  </xml>
+  <token name="@CUFFLINKS_GTF_INPUTS@">
+            ## Inputs.
+            #for $input_file in $inputs:
+                "${input_file}"
+            #end for
+            #for $additional_input in $additional_inputs:
+                #for $input_file in $additional_input.additional_inputs:
+                  "${input_file}"
+                #end for
+            #end for
+  </token>
+  <token name="@HAS_MULTIPLE_INPUTS@">getattr(inputs, "__len__", [].__len__)() >= 2</token>
+</macros>
\ No newline at end of file
b
diff -r 000000000000 -r 5d8b9dcaf17d cuffquant_wrapper.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cuffquant_wrapper.xml Fri Dec 19 12:01:59 2014 -0500
[
b'@@ -0,0 +1,218 @@\n+<tool id="cuffquant" name="Cuffquant" version="@VERSION@.0">\n+    <!-- Wrapper supports Cuffdiff versions 2.2.1 -->\n+    <description>Precompute gene expression levels</description>\n+    <expand macro="requirements" />\n+    <expand macro="stdio" />\n+    <macros>\n+      <import>cuff_macros.xml</import>\n+    </macros>\n+    <version_command>cuffquant 2>&amp;1 | head -n 1</version_command>\n+    <command>\n+        cuffquant\n+            --no-update-check\n+            --num-threads=\\${GALAXY_SLOTS:-4}\n+            ## Set advanced SE data parameters?\n+            #if $additional.sAdditional == "Yes":\n+                -m $additional.frag_mean_len\n+                -s $additional.frag_len_std_dev\n+            #end if\n+\n+            ## Multi-read correct?\n+            #if $multiread_correct :\n+            -u\n+            #end if\n+\n+            ## Bias correction?\n+            #if $bias_correction.do_bias_correction == "Yes":\n+               -b\n+                #if $bias_correction.seq_source.index_source == "history":\n+                    ## Custom genome from history.\n+                    $bias_correction.seq_source.ref_file\n+                #else:\n+                    ## Built-in genome.\n+                     "${ bias_correction.seq_source.index.fields.path }"\n+                #end if\n+            #end if\n+\n+            $length_correction\n+\n+            ## Set advanced parameters for cufflinks\n+            #if $advanced_settings.sAdvanced == "Yes":\n+                #if str($advanced_settings.library_type) != \'auto\':\n+                    --library-type=$advanced_settings.library_type\n+                #end if\n+                #if $advanced_settings.mask_file:\n+                    --mask-file=$advanced_settings.mask_file\n+                #end if\n+                --max-mle-iterations=$advanced_settings.max_mle_iterations\n+                --max-bundle-frags=$advanced_settings.max_bundle_frags\n+            #end if\n+            ## Inputs.\n+            $gtf_input\n+            #set samplestring = \',\'.join( [ str( $sample.sample ) for $sample in $samples ] )\n+            $samplestring\n+    </command>\n+    <inputs>\n+        <param format="gtf,gff3" name="gtf_input" type="data" label="Transcripts"\n+            help="A transcript annotation (GFF3 or GTF) file produced by cufflinks, cuffcompare, or other source."/>\n+\n+        <repeat name="samples" title="Replicate" min="1">\n+            <param name="sample" label="Add replicate" type="data" format="sam,bam"/>\n+        </repeat>\n+\n+        <param name="multiread_correct" type="boolean" label="Use multi-read correct"\n+            help="Tells Cufflinks to do an initial estimation procedure to more accurately weight reads mapping to multiple locations in the genome." />\n+\n+        <conditional name="bias_correction">\n+            <param name="do_bias_correction" type="select" label="Perform Bias Correction"\n+                help="Bias detection and correction can significantly improve accuracy of transcript abundance estimates.">\n+                <option value="No">No</option>\n+                <option value="Yes">Yes</option>\n+            </param>\n+            <when value="Yes">\n+                <conditional name="seq_source">\n+                  <param name="index_source" type="select" label="Reference sequence data">\n+                    <option value="cached">Locally cached</option>\n+                    <option value="history">History</option>\n+                  </param>\n+                  <when value="cached">\n+                    <param name="index" type="select" label="Using reference genome">\n+                      <options from_data_table="fasta_indexes">\n+                        <filter type="data_meta" ref="gtf_input" key="dbkey" column="1" />\n+                        <validator type="no_options" message="No reference genome is available for the build associated with the selected input dataset" />\n+                      </options>\n+                    </param>\n+            '..b'- Standard datasets. -->\n+        <data format="cxb" name="out_file" label="${tool.name} on ${on_string}: Abundances.cxb" from_work_dir="abundances.cxb" />\n+    </outputs>\n+    <tests>\n+        <test>\n+            <!--\n+                cuffquant cuffcompare_out5.gtf cuffdiff_in1.sam,cuffdiff_in2.sam \n+            -->\n+            <param name="gtf_input" value="cuffquant_in.gtf" ftype="gtf" />\n+            <repeat name="samples">\n+                <param name="sample" value="cuffquant_in1.sam" ftype="sam" />\n+            </repeat>\n+            <repeat name="samples">\n+                <param name="sample" value="cuffquant_in2.sam" ftype="sam" />\n+            </repeat>\n+            <param name="length_correction" value="" />\n+            <param name="do_bias_correction" value="No" />\n+            <param name="multiread_correct" value="No"/>\n+            <param name="sAdditional" value="No"/>\n+            <param name="sAdvanced" value="No" />\n+            <output name="out_file" file="cuffquant_out1.cxb" compare="sim_size" />\n+        </test>\n+    </tests>\n+\n+    <help>\n+**Cuffquant Overview**\n+\n+Cuffquant is part of Cufflinks_. Cuffquant provides pre-calculation of gene expression levels. The resulting file can be provided to cuffdiff or cuffnorm for further processing.  Please cite: Trapnell C, Williams BA, Pertea G, Mortazavi AM, Kwan G, van Baren MJ, Salzberg SL, Wold B, Pachter L. Transcript assembly and abundance estimation from RNA-Seq reveals thousands of new transcripts and switching among isoforms. Nature Biotechnology doi:10.1038/nbt.1621\n+\n+.. _Cufflinks: http://cole-trapnell-lab.github.io/cufflinks/\n+\n+------\n+\n+**Know what you are doing**\n+\n+.. class:: warningmark\n+\n+There is no such thing (yet) as an automated gearshift in expression analysis. It is all like stick-shift driving in San Francisco. In other words, running this tool with default parameters will probably not give you meaningful results. A way to deal with this is to **understand** the parameters by carefully reading the `documentation`__ and experimenting. Fortunately, Galaxy makes experimenting easy.\n+\n+.. __: http://cole-trapnell-lab.github.io/cufflinks/cuffquant/\n+\n+------\n+\n+**Input format**\n+\n+Cuffquant takes Cufflinks or Cuffcompare GTF files as input along with two or more SAM files containing the fragment alignments for two or more samples.\n+\n+------\n+\n+**Outputs**\n+\n+Cuffquant produces one output file:\n+\n+1. Transcript expression values in binary format.\n+    \n+-------\n+\n+**Settings**\n+\n+All of the options have a default value. You can change any of them. Most of the options in Cuffdiff have been implemented here.\n+\n+------\n+\n+**Cuffdiff parameter list**\n+\n+This is a list of implemented Cuffdiff options::\n+\n+  -m INT                         Average fragment length (SE reads); default 200\n+  -s INT                         Fragment legnth standard deviation (SE reads); default 80\n+  --max-mle-iterations INT       Sets the number of iterations allowed during maximum likelihood estimation of abundances. Default: 5000\n+  -u                             Multi read correction tells Cufflinks to do an initial estimation procedure to more accurately weight reads mapping to multiple locations in the genome.\n+  -b ref.fasta             bias correction. Bias detection and correction can significantly improve accuracy of transcript abundance estimates.\n+  --no-effective-length-correction  Use standard length correction\n+  --no-length-correction         Disable all length correction.\n+  --library-type                 ff-firststrand,ff-secondstrand,ff-unstranded,fr-firstrand,fr-secondstrand,fr-unstranded,transfrags\n+  --mask-file (gff3/gtf)         Ignore all alignment within transcripts in this file\n+  --max-bundle-frags             Sets the maximum number of fragments a locus may have before being skipped. Skipped loci are listed in skipped.gtf.\n+    </help>\n+    <citations>\n+        <citation type="doi">10.1038/nbt.1621</citation>\n+    </citations>\n+</tool>\n'
b
diff -r 000000000000 -r 5d8b9dcaf17d test-data/cuffquant_in.gtf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cuffquant_in.gtf Fri Dec 19 12:01:59 2014 -0500
b
b'@@ -0,0 +1,90 @@\n+chr1\tCufflinks\texon\t3204755\t3204833\t.\t-\t.\tgene_id "XLOC_000001"; transcript_id "TCONS_00000001"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.13.1"; nearest_ref "Xkr4"; class_code "c"; tss_id "TSS1";\n+chr1\tCufflinks\texon\t3111450\t3111490\t.\t.\t.\tgene_id "XLOC_000002"; transcript_id "TCONS_00000002"; exon_number "1"; oId "CUFF.1.1"; class_code "u"; tss_id "TSS2";\n+chr1\tCufflinks\texon\t3111546\t3111576\t.\t.\t.\tgene_id "XLOC_000003"; transcript_id "TCONS_00000003"; exon_number "1"; oId "CUFF.3.1"; class_code "u"; tss_id "TSS3";\n+chr1\tCufflinks\texon\t3174766\t3174792\t.\t.\t.\tgene_id "XLOC_000004"; transcript_id "TCONS_00000051"; exon_number "1"; oId "CUFF.1.1"; class_code "u"; tss_id "TSS4";\n+chr1\tCufflinks\texon\t3187402\t3187428\t.\t.\t.\tgene_id "XLOC_000005"; transcript_id "TCONS_00000052"; exon_number "1"; oId "CUFF.3.1"; class_code "u"; tss_id "TSS5";\n+chr1\tCufflinks\texon\t3188522\t3188548\t.\t.\t.\tgene_id "XLOC_000006"; transcript_id "TCONS_00000053"; exon_number "1"; oId "CUFF.5.1"; class_code "u"; tss_id "TSS6";\n+chr1\tCufflinks\texon\t3189811\t3190789\t.\t.\t.\tgene_id "XLOC_000007"; transcript_id "TCONS_00000054"; exon_number "1"; oId "CUFF.11.1"; class_code "u"; tss_id "TSS7";\n+chr1\tCufflinks\texon\t3190859\t3191434\t.\t.\t.\tgene_id "XLOC_000008"; transcript_id "TCONS_00000055"; exon_number "1"; oId "CUFF.7.1"; class_code "u"; tss_id "TSS10";\n+chr1\tCufflinks\texon\t3191513\t3192077\t.\t.\t.\tgene_id "XLOC_000009"; transcript_id "TCONS_00000056"; exon_number "1"; oId "CUFF.9.1"; class_code "u"; tss_id "TSS11";\n+chr1\tCufflinks\texon\t3192251\t3192336\t.\t.\t.\tgene_id "XLOC_000010"; transcript_id "TCONS_00000057"; exon_number "1"; oId "CUFF.13.1"; class_code "u"; tss_id "TSS13";\n+chr1\tCufflinks\texon\t3192442\t3192494\t.\t.\t.\tgene_id "XLOC_000011"; transcript_id "TCONS_00000009"; exon_number "1"; oId "CUFF.39.1"; class_code "u"; tss_id "TSS14";\n+chr1\tCufflinks\texon\t3192551\t3192629\t.\t.\t.\tgene_id "XLOC_000012"; transcript_id "TCONS_00000010"; exon_number "1"; oId "CUFF.41.1"; class_code "u"; tss_id "TSS15";\n+chr1\tCufflinks\texon\t3192650\t3192676\t.\t.\t.\tgene_id "XLOC_000013"; transcript_id "TCONS_00000058"; exon_number "1"; oId "CUFF.15.1"; class_code "u"; tss_id "TSS16";\n+chr1\tCufflinks\texon\t3192732\t3192811\t.\t.\t.\tgene_id "XLOC_000014"; transcript_id "TCONS_00000011"; exon_number "1"; oId "CUFF.43.1"; class_code "u"; tss_id "TSS17";\n+chr1\tCufflinks\texon\t3192941\t3193042\t.\t.\t.\tgene_id "XLOC_000015"; transcript_id "TCONS_00000012"; exon_number "1"; oId "CUFF.45.1"; class_code "u"; tss_id "TSS18";\n+chr1\tCufflinks\texon\t3194186\t3194226\t.\t.\t.\tgene_id "XLOC_000016"; transcript_id "TCONS_00000013"; exon_number "1"; oId "CUFF.47.1"; class_code "u"; tss_id "TSS19";\n+chr1\tCufflinks\texon\t3194303\t3194329\t.\t.\t.\tgene_id "XLOC_000017"; transcript_id "TCONS_00000014"; exon_number "1"; oId "CUFF.49.1"; class_code "u"; tss_id "TSS20";\n+chr1\tCufflinks\texon\t3194707\t3194733\t.\t.\t.\tgene_id "XLOC_000018"; transcript_id "TCONS_00000059"; exon_number "1"; oId "CUFF.17.1"; class_code "u"; tss_id "TSS21";\n+chr1\tCufflinks\texon\t3195084\t3195110\t.\t.\t.\tgene_id "XLOC_000019"; transcript_id "TCONS_00000015"; exon_number "1"; oId "CUFF.51.1"; class_code "u"; tss_id "TSS22";\n+chr1\tCufflinks\texon\t3195451\t3195477\t.\t.\t.\tgene_id "XLOC_000020"; transcript_id "TCONS_00000016"; exon_number "1"; oId "CUFF.53.1"; class_code "u"; tss_id "TSS23";\n+chr1\tCufflinks\texon\t3197090\t3197116\t.\t.\t.\tgene_id "XLOC_000021"; transcript_id "TCONS_00000017"; exon_number "1"; oId "CUFF.55.1"; class_code "u"; tss_id "TSS24";\n+chr1\tCufflinks\texon\t3197247\t3197273\t.\t.\t.\tgene_id "XLOC_000022"; transcript_id "TCONS_00000018"; exon_number "1"; oId "CUFF.57.1"; class_code "u"; tss_id "TSS25";\n+chr1\tCufflinks\texon\t3197347\t3197373\t.\t.\t.\tgene_id "XLOC_000023"; transcript_id "TCONS_00000019"; exon_number "1"; oId "CUFF.59.1"; class_code "u"; tss_id "TSS26";\n+chr1\tCufflinks\texon\t3197426\t3197452\t.\t.\t.\tgene_id "XLOC_000024"; transcript_id "TCONS_00000060"; exon_number "1"; oId "CUFF.19.1"; class_code "u"; tss_id "TSS27";\n+chr1\tCufflinks\texon\t3'..b'.\tgene_id "XLOC_000068"; transcript_id "TCONS_00000091"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.81.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS74";\n+chr1\tCufflinks\texon\t3356181\t3356225\t.\t.\t.\tgene_id "XLOC_000069"; transcript_id "TCONS_00000092"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.83.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS75";\n+chr1\tCufflinks\texon\t3363077\t3363176\t.\t.\t.\tgene_id "XLOC_000070"; transcript_id "TCONS_00000093"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.85.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS76";\n+chr1\tCufflinks\texon\t3363215\t3363278\t.\t.\t.\tgene_id "XLOC_000071"; transcript_id "TCONS_00000041"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.81.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS77";\n+chr1\tCufflinks\texon\t3363388\t3363446\t.\t.\t.\tgene_id "XLOC_000072"; transcript_id "TCONS_00000094"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.87.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS78";\n+chr1\tCufflinks\texon\t3363754\t3363849\t.\t.\t.\tgene_id "XLOC_000073"; transcript_id "TCONS_00000042"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.83.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS79";\n+chr1\tCufflinks\texon\t3364872\t3364919\t.\t.\t.\tgene_id "XLOC_000074"; transcript_id "TCONS_00000095"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.89.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS80";\n+chr1\tCufflinks\texon\t3367136\t3367162\t.\t.\t.\tgene_id "XLOC_000075"; transcript_id "TCONS_00000043"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.85.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS81";\n+chr1\tCufflinks\texon\t3367211\t3367237\t.\t.\t.\tgene_id "XLOC_000076"; transcript_id "TCONS_00000096"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.91.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS82";\n+chr1\tCufflinks\texon\t3367334\t3367382\t.\t.\t.\tgene_id "XLOC_000077"; transcript_id "TCONS_00000044"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.87.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS83";\n+chr1\tCufflinks\texon\t3369581\t3369607\t.\t.\t.\tgene_id "XLOC_000078"; transcript_id "TCONS_00000097"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.93.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS84";\n+chr1\tCufflinks\texon\t3375002\t3375028\t.\t.\t.\tgene_id "XLOC_000079"; transcript_id "TCONS_00000098"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.95.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS85";\n+chr1\tCufflinks\texon\t3377212\t3377262\t.\t.\t.\tgene_id "XLOC_000080"; transcript_id "TCONS_00000045"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.89.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS86";\n+chr1\tCufflinks\texon\t3379889\t3379915\t.\t.\t.\tgene_id "XLOC_000081"; transcript_id "TCONS_00000099"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.97.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS87";\n+chr1\tCufflinks\texon\t3386740\t3386836\t.\t.\t.\tgene_id "XLOC_000082"; transcript_id "TCONS_00000100"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.99.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS88";\n+chr1\tCufflinks\texon\t3391326\t3391352\t.\t.\t.\tgene_id "XLOC_000083"; transcript_id "TCONS_00000046"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.91.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS89";\n+chr1\tCufflinks\texon\t3435842\t3435880\t.\t.\t.\tgene_id "XLOC_000084"; transcript_id "TCONS_00000047"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.93.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS90";\n+chr1\tCufflinks\texon\t3447762\t3447788\t.\t.\t.\tgene_id "XLOC_000085"; transcript_id "TCONS_00000048"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.95.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS91";\n+chr1\tCufflinks\texon\t3450907\t3450965\t.\t.\t.\tgene_id "XLOC_000086"; transcript_id "TCONS_00000049"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.97.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS92";\n+chr1\tCufflinks\texon\t3451052\t3451109\t.\t.\t.\tgene_id "XLOC_000087"; transcript_id "TCONS_00000050"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.99.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS93";\n'
b
diff -r 000000000000 -r 5d8b9dcaf17d test-data/cuffquant_in1.sam
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cuffquant_in1.sam Fri Dec 19 12:01:59 2014 -0500
[
b'@@ -0,0 +1,400 @@\n+EAS38_8_212_338_985\t0\tchr1\t3004981\t0\t35M\t*\t0\t0\tCCAATGGGCCTCTATTTGCAGTGATGGGCGAGTAG\thhhhhhhhhhhhhEhhhhYhhhhUhhh@Ih?BZ?e\tNM:i:2\n+EAS38_8_8_215_414\t0\tchr1\t3035356\t0\t35M\t*\t0\t0\tTACCCCATAAAAGCCCCTGGCTTTCGCGCCTCGTG\thhhhhhhhhhhhhhhhhhhhhhh`GI>PPIQPBOH\tNM:i:1\n+EAS38_8_8_622_393\t16\tchr1\t3065512\t0\t35M\t*\t0\t0\tAAAAAAAAAAAAACAAAAAAAAAAAAAACAGCGAG\thhHhhhhhhhhhhMhhhhhhhhhhhhhhhhhhhhh\tNM:i:2\n+EAS38_8_53_557_326\t16\tchr1\t3075162\t0\t35M\t*\t0\t0\tTAGAGAAATGGATACAGAAAGTGTGGTAATTTACA\tIhehhhhh]hhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:2\n+EAS38_8_259_911_538\t0\tchr1\t3099409\t0\t35M\t*\t0\t0\tTTTGGCTGGGAGACAATTAATGACTGCTTTTTTTT\thhhhhhhhhhhh_hhhhhNhhP\\hhaEhhHhNhhh\tNM:i:2\n+EAS38_8_284_729_569\t16\tchr1\t3113004\t255\t35M\t*\t0\t0\tCTATCTGTTGCAAAGAGAACTTTCCTTGGTGTAAG\tEIIEKhRh@K_hahhhhhhh`ehhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_27_537_242\t0\tchr1\t3118613\t255\t35M\t*\t0\t0\tAGGACTCACATTCCCTTACTTTGTTTACAAAATGA\thhh`hhhhhhhhhhhhhhhhhhhhhh]hhYXOhD`\tNM:i:0\n+EAS38_8_38_947_12\t0\tchr1\t3131368\t0\t35M\t*\t0\t0\tTATTAGTCCCCTATCANATTTAGGATTGTTAATAA\thhhhhhh_bchhhhUh;\\hhhhh`EXcIVhNJZ]P\tNM:i:2\n+EAS38_8_205_433_879\t16\tchr1\t3136988\t0\t35M\t*\t0\t0\tCATATCAATTGAACGGAACTAAAGTCTGTGACAGT\thhhhchhhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_155_191_162\t16\tchr1\t3136999\t0\t35M\t*\t0\t0\tAACGGAACTAAAGTCTGTGACAGTGGACATAGCTG\thh_h\\hhYhhhhhMhfhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_216_635_828\t0\tchr1\t3137063\t0\t35M\t*\t0\t0\tATCTGGAATTATGTGATTATAATTTTCTTAGCATT\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_317_949_784\t0\tchr1\t3137063\t0\t35M\t*\t0\t0\tATCTGGAATTATGTGATTATAATTTTCTTAGCATT\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhNchh\tNM:i:0\n+EAS38_8_278_281_786\t16\tchr1\t3137078\t0\t35M\t*\t0\t0\tATTATAATTTTCTTAGCATTTTCTTTGTAAAAAAA\tAhhhQhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_228_462_705\t0\tchr1\t3137133\t0\t35M\t*\t0\t0\tGTTGGTGTATAGTAAAAAGTAAAGAAATTCTGAGA\thhhhhhhhhhhhhhhhhhh_hghhWhYh`LhhKbY\tNM:i:0\n+EAS38_8_299_582_840\t0\tchr1\t3137133\t0\t35M\t*\t0\t0\tGTTGGTGTATAGTAAAAAGTAAAGAAATTCTGAGA\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhWhhhhh\tNM:i:0\n+EAS38_8_125_742_683\t16\tchr1\t3137135\t0\t35M\t*\t0\t0\tTGGTGTATAGTAAAAAGTAAAGAAATTCTGAGAGG\tGJCZSShchhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_208_212_874\t0\tchr1\t3137137\t0\t35M\t*\t0\t0\tGTGTATAGTAAAAAGTAAAGAAATTCTGAGAGGAG\thhhhhhhhhhhhhhhhhhhhhhhhh[hhhhhhh`h\tNM:i:0\n+EAS38_8_241_424_62\t16\tchr1\t3137137\t0\t35M\t*\t0\t0\tGTGTATAGTAAAAAGTAAAGAAATTCTGAGAGGAG\thhhhhhhhehhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_245_195_910\t16\tchr1\t3137137\t0\t35M\t*\t0\t0\tGTGTATAGTAAAAAGTAAAGAAATTCTGAGAGGAG\tBhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_234_890_706\t0\tchr1\t3137138\t0\t35M\t*\t0\t0\tTGTATAGTAAAAAGTAAAGAAATTCTGAGAGGAGT\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhUhh\tNM:i:0\n+EAS38_8_317_909_810\t16\tchr1\t3137175\t0\t35M\t*\t0\t0\tTATTTTAGGATAATACATATATACATATGCAGTGT\thhhhhhhaThhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_111_444_456\t0\tchr1\t3137180\t0\t35M\t*\t0\t0\tTAGGTTAATACATATATACATATGCAGTGTGTGTG\thhhhhhhhhhhhhhhhhhhahhhhhhhhgehhhhH\tNM:i:1\n+EAS38_8_134_193_731\t0\tchr1\t3137180\t0\t35M\t*\t0\t0\tTAGGATAATACATATATACATATGCAGTGTGTGTG\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_138_869_374\t0\tchr1\t3137180\t0\t35M\t*\t0\t0\tTAGGATAATACATATATACATATGCAGTGTGTGTG\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_36_257_907\t0\tchr1\t3137192\t0\t35M\t*\t0\t0\tTATATACATATGCAGTGTGTGTGCCAGTGGTGTTA\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhNJDhS\tNM:i:0\n+EAS38_8_50_322_852\t0\tchr1\t3137192\t0\t35M\t*\t0\t0\tTATATACATATGCAGTGTGTGTGCCAGTGGTGTTA\thhhhhhhhhhhhhhhhhhhhhhhRcZhhhhVhShY\tNM:i:0\n+EAS38_8_207_430_640\t16\tchr1\t3146524\t0\t35M\t*\t0\t0\tAAAAAACATCGGCACAACAATCAAAAAAAAAAAAA\tVE_AhhhhFhhhhh]hhhhhhhhhhhhhhhhhhhh\tNM:i:2\n+EAS38_8_289_914_684\t0\tchr1\t3154024\t255\t35M\t*\t0\t0\tTCACAGAAGGCTCACTTCCTTTCTGTCTGTGTCAA\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhdhhMGT\tNM:i:0\n+EAS38_8_35_737_747\t16\tchr1\t3174758\t255\t35M\t*\t0\t0\tTTTTGGGTGAGATGGAATCTCAGAGTAGTTATTTT\t[hghdhMhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_75_492_572\t16\tchr1\t3174758\t255\t35M\t*\t0\t0\tTTTTGGGTGAGATGGAATCTCAGAGTAGTTATTTT\t[Vhhh^hhhhhhhhhhhdhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_187_160_172\t16\tchr1\t3175562\t255\t35M\t*\t0\t0\tTAGTCTGGTCTGTGGCTTCAGCGGTAGGATGGCCT\tBT\\JAGMQVRN[QhYZGchhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_56_600_894\t0\tchr1\t3175'..b'8_117_306_426\t16\tchr1\t3359531\t255\t35M\t*\t0\t0\tTCAGAGTGTCCACCTCATTCCTCTGGGTCAGTCTT\t@EN_DgWhhhh_hhhhhhdhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_120_120_744\t16\tchr1\t3361583\t255\t35M\t*\t0\t0\tCAAAGACAAGTAGGATAATGCTGAAAGCCCAAGCA\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_307_422_12\t0\tchr1\t3362018\t255\t35M\t*\t0\t0\tCTGAAAAATTACAGTGTTCTTGTACTGGACACTAC\thhhhhhhhhhhhhhhdhSahhKDYGhECFJF@TI?\tNM:i:2\n+EAS38_8_101_691_200\t0\tchr1\t3363077\t255\t35M\t*\t0\t0\tCTTTTTTCCATTTTAATGTTTGCATGCAAATCTTA\thhhhhhhhhhhhhhhhhXhNhh`hhhhhMhhChhI\tNM:i:2\n+EAS38_8_205_648_802\t0\tchr1\t3363077\t255\t35M\t*\t0\t0\tCTTTTTTCCATTTTAATGTGTGCATGCAAATGTTA\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhZ\tNM:i:0\n+EAS38_8_265_441_688\t0\tchr1\t3363150\t255\t35M\t*\t0\t0\tCAGGAATCAATCTCAACCACTTTTCATCTTACTCA\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhOhhch\tNM:i:0\n+EAS38_8_53_996_162\t0\tchr1\t3363150\t255\t35M\t*\t0\t0\tCAGGAATCAATCTCAACCACTTTTCATCTTACTCA\thhhhUhh_hYhUhc^LEHALV^]]MIVE_MMB[MO\tNM:i:0\n+EAS38_8_28_805_359\t0\tchr1\t3363388\t255\t35M\t*\t0\t0\tCCAACACCTTATTATCACTTATTTTTGTCATTCTA\thhhhhhhhhhhhhhhhhhhhhhhhhhIhhhh@hhZ\tNM:i:1\n+EAS38_8_229_300_432\t16\tchr1\t3363412\t255\t35M\t*\t0\t0\tTTGTGATGCTATATATGTGTGCATTAACCACTGCC\tRObh>QWGShUahhhhBUhNhPhhhhhhhhhhhhh\tNM:i:2\n+EAS38_8_247_121_676\t16\tchr1\t3363412\t255\t35M\t*\t0\t0\tTTGTCATGCTATATATTTGTGCATTAACCACTGCC\tQQMhgLRNfhh[hhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_180_822_42\t16\tchr1\t3363658\t255\t35M\t*\t0\t0\tGAGTAACTGCTGCATGTTAATCTATGTCATCCCTA\tMXE@dhhIP__Xhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_83_317_544\t0\tchr1\t3364348\t255\t35M\t*\t0\t0\tGCATTTCTGAGCCTGGGTGATCTTACTTTATATTC\thhhhhhhhhhhhhhhhhhhhhhhhchhhhhhhhhb\tNM:i:0\n+EAS38_8_194_299_688\t16\tchr1\t3364585\t255\t35M\t*\t0\t0\tAAGGATGTTATAATTGAATCATATGGAAGTTCTTT\t^hh_h_hhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_42_578_279\t0\tchr1\t3364694\t255\t35M\t*\t0\t0\tAAGATGTATTTTTATTTGTTTACTGTATAATTTCC\thhhhhhhhhhhhhhhhhhhhhhhhChhhh_hhCP\\\tNM:i:2\n+EAS38_8_309_762_904\t16\tchr1\t3364864\t255\t35M\t*\t0\t0\tAAAAGGACATCTGAATTACCTACTTGTTTTTATCA\thhhhhFhhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_236_498_116\t16\tchr1\t3364885\t255\t35M\t*\t0\t0\tACTTGTTTTTATCAGGTTGGTCTGTAAGCATATCT\tLI_hhQhhMahh\\hhbhFhhh\\hhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_184_968_83\t0\tchr1\t3365051\t255\t35M\t*\t0\t0\tTAATTGCCAGGAGTTCATTGTTTTCCATATTGTCT\thhhhhhhhhhhhhhhhfhhhhhhhh]EhVhhHhUh\tNM:i:0\n+EAS38_8_194_34_599\t16\tchr1\t3367203\t255\t35M\t*\t0\t0\tATTGTGGATATAAGTGGAGAAAGAGCAAGAAAAAA\thhHhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_73_896_111\t16\tchr1\t3367203\t255\t35M\t*\t0\t0\tATTGTGGATATAAGTGGAGAAAGAGCAAGAAAAAA\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_115_579_578\t16\tchr1\t3369573\t255\t35M\t*\t0\t0\tTCAGAGCATTTGGATTTTGGTCTTTAGATTAAGGT\t^hhhhhhhhXhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_260_546_322\t16\tchr1\t3369573\t255\t35M\t*\t0\t0\tTCAGAGCATTGGGATTTTGGTCTTTAGATTAAGGT\t>>NELH=IJ@@@QIMBDDKOS\\KJfhhh[Phhhhh\tNM:i:1\n+EAS38_8_168_10_541\t16\tchr1\t3375680\t255\t35M\t*\t0\t0\tCCGTGCAGACATTCTGATGTTGGGTAATATCAAAT\tLT>IKNhhhWhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:1\n+EAS38_8_316_251_752\t0\tchr1\t3377312\t255\t35M\t*\t0\t0\tTCACAATATTGTCTATACTTCTAAACATCCTCAGA\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhchhh\tNM:i:0\n+EAS38_8_127_130_231\t0\tchr1\t3379889\t255\t35M\t*\t0\t0\tAATAAATTTCTCTTGTTTGCAAGCTATCTACTCTA\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhbhhhhe\tNM:i:1\n+EAS38_8_262_614_438\t0\tchr1\t3379889\t255\t35M\t*\t0\t0\tAATAAATTTCTCTTGTTTGCAAGCTATCTACTCTA\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhA\tNM:i:1\n+EAS38_8_152_675_620\t0\tchr1\t3379983\t255\t35M\t*\t0\t0\tATCACACTTCAATTTTCATTTTCCAGCAAAAGCTT\thhhhhhhhhhhhhhhhhhhhhhhhhhhghZhhhhh\tNM:i:2\n+EAS38_8_315_641_621\t16\tchr1\t3380977\t255\t35M\t*\t0\t0\tCATTTATTCTATGTCAATTTATCTTTTGAGTATAA\thhhhhhahhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_223_839_518\t16\tchr1\t3381656\t255\t35M\t*\t0\t0\tGTCCTTTTTCTAGTGTCGTGTTTAAGCTCCCGTGA\tPVLMUG`YLSVhaNhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_189_893_589\t16\tchr1\t3382043\t255\t35M\t*\t0\t0\tGCAGAGCCTCTGTGTCATTGCCTGGCAGGTAGGAG\t=L`KeShhhhdhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_8_228_882_739\t0\tchr1\t3383793\t255\t35M\t*\t0\t0\tTGGTGAGTATTGGAACGACTAAATCAGTGTATTAA\thhhhhhhhhhhhhhh]hhfhhhh]^]hehbghNHO\tNM:i:0\n+EAS38_8_290_281_824\t16\tchr1\t3386732\t255\t35M\t*\t0\t0\tGTAGAAAACTGGATTTTTTTTTTTTGGTGATATAG\t`GUEhEhhhd\\hhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:1\n'
b
diff -r 000000000000 -r 5d8b9dcaf17d test-data/cuffquant_in2.sam
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cuffquant_in2.sam Fri Dec 19 12:01:59 2014 -0500
[
b'@@ -0,0 +1,400 @@\n+EAS38_1_126_860_867\t16\tchr1\t3009675\t0\t35M\t*\t0\t0\tATAGTCCCTTACTGCTTTTAGTATTCTATCTTTAT\tWFGAeC\\gVShhhLh`hhPbPhhhhhhhhhhhhhh\tNM:i:2\n+EAS38_1_125_842_97\t0\tchr1\t3023056\t0\t35M\t*\t0\t0\tATCTTCTTCAATTTGTTTCTTCAGAGACTTTAATT\thhhhhhhhhhhhhhhhhhhhhhhJhhNhhh_KINh\tNM:i:2\n+EAS38_1_261_52_728\t16\tchr1\t3035247\t0\t35M\t*\t0\t0\tAATCCCCCACCCCACAGGAACAAAGTCCTGATGCA\t@???GIH@C?HXINLQJ=VVhhgTFHfhYhhJLhb\tNM:i:2\n+EAS38_1_71_500_217\t16\tchr1\t3081731\t0\t35M\t*\t0\t0\tAGGAGATAAATAACTAATAAAAAATGAAAAAAAAA\th?DhLhFhfhKhRFhhhShhhhhhThhhhhhhhhh\tNM:i:2\n+EAS38_1_2_666_566\t0\tchr1\t3111450\t255\t35M\t*\t0\t0\tCCACTCACAAGACAAGACCAGGATCCTGGAGAGAT\thhhhhhhhhhhhhhNh^Yh]d]GRNVYURK^JU>I\tNM:i:0\n+EAS38_1_220_990_991\t0\tchr1\t3111546\t255\t35M\t*\t0\t0\tAAAAGCTGAGAGTCAGCATGAATCAAGAGATAGAA\thhchhMabNhP_>BKXQSNKDRD?@@TBJJ=GL@G\tNM:i:1\n+EAS38_1_133_518_728\t0\tchr1\t3111550\t255\t35M\t*\t0\t0\tGCTGAGAGTCAGCATGAATCCAGAGATAGAAAAAG\thhhhhhhhhhhhhhhhhhhOhQhhhNL^ZT[PLNN\tNM:i:0\n+EAS38_1_219_471_934\t0\tchr1\t3117684\t255\t35M\t*\t0\t0\tTGTCCTTTGGCTTACAGAAGTTTTATAATTTTATG\thhhhhhhhhhhhhhhhhhhhhhhhRhhehhhh]hH\tNM:i:0\n+EAS38_1_180_265_430\t16\tchr1\t3131249\t0\t35M\t*\t0\t0\tTGATCAGCCCTTTGGCATTCCTCAGTTGAGAATTC\tGICHVhhCY`\\TYhhhh[fdhhhhhhhhhhhhhhh\tNM:i:2\n+EAS38_1_155_516_677\t0\tchr1\t3137065\t0\t35M\t*\t0\t0\tCTGGAATTATGTGATTATAATTTTCTTATCATTTT\thhhhhhhhhhhhhhhhhhhhhhhhhhh`Dhhhhhh\tNM:i:1\n+EAS38_1_156_788_924\t0\tchr1\t3137065\t0\t35M\t*\t0\t0\tCTGGAATTATGTGATTATAATTTTCTTAGCATTTT\thhhhhhhhhhhhhhhhhhhhhhhhbhhhh]Shhhh\tNM:i:0\n+EAS38_1_219_907_956\t0\tchr1\t3137065\t0\t35M\t*\t0\t0\tCTGGAATTATGTGATTATAATTTTCTTAGCATTTT\thhhhhhhhhhh\\hhhhhhhhRhhh^hhg`h\\hhhh\tNM:i:0\n+EAS38_1_224_924_816\t0\tchr1\t3137074\t0\t35M\t*\t0\t0\tTGTGATTATAATTTTNTTAGCATTTTCTTCGTAAA\thhhhhhhhhhhhhhh;hhhhh`hhhhhhhXhhhg]\tNM:i:2\n+EAS38_1_128_932_926\t16\tchr1\t3137133\t0\t35M\t*\t0\t0\tGTTGGTGTATAGTAAAAAGTAAAGAAATTCTGAGA\tXYV[Lhfhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_1_146_271_903\t16\tchr1\t3137133\t0\t35M\t*\t0\t0\tTTTGGTGTATAGTAAAAAGTAAAGAAATTCTGAGA\tHVhT[`hhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:1\n+EAS38_1_127_823_362\t0\tchr1\t3137183\t0\t35M\t*\t0\t0\tGATAATACATATATACATATGCAGTGTGTGTGCCA\thhhhhhhhhhhhhhhhhhhhhhhXhhhhhhhNU[H\tNM:i:0\n+EAS38_1_282_34_255\t16\tchr1\t3137183\t0\t35M\t*\t0\t0\tGATAATACATATATAAATATGCAGTGTGTGTGCCA\tKhNhhLhQh\\h`hJhCh`h^hLhhdhhhhhhhheh\tNM:i:1\n+EAS38_1_215_971_567\t0\tchr1\t3137204\t0\t35M\t*\t0\t0\tCAGTGTGTGTGCCAGTGGTGTTAACAATACTAATA\thhhhh[hhhhhhhhh\\hSQeLYcVFKGAKH]XD^H\tNM:i:1\n+EAS38_1_143_6_639\t16\tchr1\t3137450\t0\t35M\t*\t0\t0\tATGTTCCCACACGGTCTATCTCCCTGACAAATCCC\tRH?>EJUcHhhILIhFhhYShb`hhhhhhhhchhh\tNM:i:2\n+EAS38_1_132_603_749\t0\tchr1\t3154107\t255\t35M\t*\t0\t0\tTATATTTGGAAAAAAAAAGAAAGGAGTGTAGAGTC\thhhhhhhhhhhhhhhhhhhhhhhhhhehhhhPhSS\tNM:i:0\n+EAS38_1_238_595_598\t0\tchr1\t3178632\t0\t35M\t*\t0\t0\tGCTTTTTGCTTTTTGCTTTTTGCTTTTTGCTTTTT\thhhhhhhhhhhhhhdhhhhhhOhhhhhhLXhhhhh\tNM:i:0\n+EAS38_1_238_595_598\t0\tchr1\t3178639\t0\t35M\t*\t0\t0\tGCTTTTTGCTTTTTGCTTTTTGCTTTTTGCTTTTT\thhhhhhhhhhhhhhdhhhhhhOhhhhhhLXhhhhh\tNM:i:0\n+EAS38_1_238_595_598\t0\tchr1\t3178646\t0\t35M\t*\t0\t0\tGCTTTTTGCTTTTTGCTTTTTGCTTTTTGCTTTTT\thhhhhhhhhhhhhhdhhhhhhOhhhhhhLXhhhhh\tNM:i:0\n+EAS38_1_238_595_598\t0\tchr1\t3178653\t0\t35M\t*\t0\t0\tGCTTTTTGCTTTTTGCTTTTTGCTTTTTGCTTTTT\thhhhhhhhhhhhhhdhhhhhhOhhhhhhLXhhhhh\tNM:i:0\n+EAS38_1_118_1000_212\t0\tchr1\t3179061\t0\t35M\t*\t0\t0\tATGTGATTTTAAATCATAGTCTTGCTTTTCCATTG\thhhhhhhhhhhhghhhEMDPKhhLNh[hhMPNETJ\tNM:i:2\n+EAS38_1_311_90_296\t16\tchr1\t3179539\t255\t35M\t*\t0\t0\tACATAGGAAATGGAAGAGTACTTTATTATTATTAT\tbEhIhhhhTCNhhhhhhhVhRQhhhhhhhhhhhhh\tNM:i:1\n+EAS38_1_221_489_194\t16\tchr1\t3183282\t3\t35M\t*\t0\t0\tACTGACAGAAAAGAGACAGAGGTAGGACTTCTAGG\t>>FL[@RL@^WSRYUP@`UZeSLhhRQbOGWThhh\tNM:i:2\n+EAS38_1_221_489_194\t16\tchr1\t3183945\t3\t35M\t*\t0\t0\tACTGACAGAAAAGAGACAGAGGTAGGACTTCTAGG\t>>FL[@RL@^WSRYUP@`UZeSLhhRQbOGWThhh\tNM:i:2\n+EAS38_1_205_642_159\t16\tchr1\t3186543\t255\t35M\t*\t0\t0\tCACATGCCTTTTTCATTTTTTCCAAGTGCCATCTG\tKhUhSHT]VS]_hFhhMhDbheHhhhhhhhhhhhh\tNM:i:0\n+EAS38_1_26_282_635\t16\tchr1\t3188051\t255\t35M\t*\t0\t0\tTTCTGATCCTCAGGATCTGGAGTTACAGATGGTTG\tECaSghKhh]ZhhhhdhVhhhh]hhhhhhhhhhhh\tNM:i:0\n+EAS38_1_221_487_440\t16\tchr1\t3188179\t255\t35M\t*\t0\t0\tTTACTAAATTTTGTAATACTACTTAGTCTGGAAAA\tOge[WhhhTKRShhhhbhhYhhchhh]hhhhhhhh\tNM:i:0\n+EAS38_1_7_602_714\t16'..b'_481_788\t16\tchr1\t3268974\t255\t35M\t*\t0\t0\tGCCCGAAAAAATCTGCTTTATATTGGCCACATACG\tDhGaahhhhhhhhhchhhhhhhhhhhhhhhhhhhh\tNM:i:1\n+EAS38_1_16_282_422\t16\tchr1\t3273908\t255\t35M\t*\t0\t0\tCAAATGGGACACCATTGTCTACATTTATGGTAAGT\tAOBNCFVEVCWFM_PCdOFGhRhXLahhhhehhhh\tNM:i:2\n+EAS38_1_283_187_798\t0\tchr1\t3274213\t255\t35M\t*\t0\t0\tTTAGTGAGCCTGAACCAACCAACCAATGAATATAC\thhhhhhhhhhhhhhVhhhPhhhLhhXhhZOhhhhY\tNM:i:0\n+EAS38_1_329_178_196\t0\tchr1\t3274786\t255\t35M\t*\t0\t0\tGGAAGGCAGATCAGTATAGGTTACCAATAAAATTG\thhhhhhhdhhhhhhhchh_@ERhhhEhhCgUWhha\tNM:i:1\n+EAS38_1_300_318_77\t16\tchr1\t3276576\t255\t35M\t*\t0\t0\tGAAGAAGAAATATAAGCAGTCCAAGCAGGTTTCAG\thhhhMhhhhhhhZKhhghhhARhhhhhhhhhhhhh\tNM:i:2\n+EAS38_1_118_479_935\t0\tchr1\t3276843\t255\t35M\t*\t0\t0\tTTTTATCCTCTAGCATGTCAGTCAGGTACAGGGAT\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh?O\tNM:i:0\n+EAS38_1_41_971_61\t0\tchr1\t3277038\t255\t35M\t*\t0\t0\tTGATAAAACAAAAATGTAGACCTTTTAACAGACCC\thhhhh\\`Z^NhV[]hO[ODJJHW`TbIE?GDBDE>\tNM:i:2\n+EAS38_1_183_306_813\t16\tchr1\t3277183\t255\t35M\t*\t0\t0\tCCCATATTATCTTGGAGGTAGGATGATAGTGGTTT\tehhhhhdhVNhZhhhhh[hhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_1_288_251_841\t16\tchr1\t3277184\t255\t35M\t*\t0\t0\tCCATATTATCTTGGAGGTAGGATGATAGTGGTTTC\tU[h^hNhh]hehhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_1_40_672_870\t16\tchr1\t3277184\t255\t35M\t*\t0\t0\tCCATATTATCTTGGAGGTAGGATGATAGTGGTTTC\tUhh]hMhhNhhgQ[h_Nhh_fhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_1_325_652_299\t0\tchr1\t3278086\t255\t35M\t*\t0\t0\tTTTCTGTTTTAAATTAATTACCTTTATTCCATGTC\thhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhPhh\tNM:i:0\n+EAS38_1_188_971_708\t16\tchr1\t3278146\t255\t35M\t*\t0\t0\tTCTTCCTCTTCGTTAGTTTGAATTTATTTCGTTCT\tP_QOhhWhhhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_1_295_186_302\t16\tchr1\t3278229\t255\t35M\t*\t0\t0\tCTTGTTGAGTGTTCTGCATGGAATAGAGGCATTTT\tCDG@ENd`[KQF@J?TEOBXYXaR\\`V`hRhLhPh\tNM:i:1\n+EAS38_1_314_975_553\t16\tchr1\t3279235\t255\t35M\t*\t0\t0\tATTTGATAGGGACAGAATAAAAAGTGATAATTCTG\thNJaVhahQDLhhhhhhRhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_1_220_655_831\t16\tchr1\t3279355\t255\t35M\t*\t0\t0\tAGAAAATACTTGCTTATTGCTGGAACACGTGACAT\thShchXMRhK]Rhahhhhhhh^QhhhShhhhhhhh\tNM:i:0\n+EAS38_1_267_333_743\t16\tchr1\t3280494\t255\t35M\t*\t0\t0\tCGTGATGCATCACCAGGGTATCCATGTATAGACTA\tFQNFhGVHhPfehVehKhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_1_165_158_507\t16\tchr1\t3280679\t255\t35M\t*\t0\t0\tGGGAACGTTATTTGGTGTCTATTGTGATTATTTCC\thhbU`ZhhhhdX`hhYhhNhhhghhhhhhhhhchh\tNM:i:0\n+EAS38_1_218_851_888\t16\tchr1\t3280707\t255\t35M\t*\t0\t0\tTATTTCCTAAATGCCCCTCNGTTTTTGTATGTTCT\tMPDILT_PI[`OLhc]hCh;hhh\\VhKhhhdhhhh\tNM:i:1\n+EAS38_1_144_853_896\t16\tchr1\t3282690\t255\t35M\t*\t0\t0\tGTATCACAAAGGCTCTTTTAACTCAAGAGTTTCTG\tMhhhhhhhhhXhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_1_232_504_623\t0\tchr1\t3290489\t255\t35M\t*\t0\t0\tTCCCTACATCTCTCCATGTTACTGTAAATGATAGT\thhhhhhhhhhhhhhhhhhhhhhhh\\Oee_PK`OV@\tNM:i:1\n+EAS38_1_238_304_582\t0\tchr1\t3290527\t255\t35M\t*\t0\t0\tTCATTCTTATTTAGCACTGAAATAATAACCGCCTA\thhhhhhhhhhhhhMhhhhhhK]hRehha\\DCGWhK\tNM:i:0\n+EAS38_1_125_161_809\t0\tchr1\t3290844\t255\t35M\t*\t0\t0\tGCTACTGGGTGGTCTGCATAGCTTAGTGATACACT\thh`bhhhhSYhhTE[QH@RFT>RJEVDCFLMCCBI\tNM:i:0\n+EAS38_1_155_358_888\t16\tchr1\t3290932\t255\t35M\t*\t0\t0\tGTGGAATTGTAGGGGTGAAAAAAGACATTTCTGAG\tghhRhhhhfhhhhhhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_1_157_904_203\t0\tchr1\t3291089\t255\t35M\t*\t0\t0\tACAGCCCTGGATGATTTTTGAATGGGAATAATCCC\thhhhhhhhhhLhh]hhhhhM^hhNI_@hhQ^hUMW\tNM:i:0\n+EAS38_1_180_814_759\t16\tchr1\t3291152\t255\t35M\t*\t0\t0\tAACACCTAGTCATTGTTGGTGGCACTGTCTGTAAG\tNNWAgXVhhVh_RYhhSeYJh_hhhhhhhhhhhhh\tNM:i:0\n+EAS38_1_170_391_724\t16\tchr1\t3291373\t255\t35M\t*\t0\t0\tAAGTAAACCCTTTCTCCTGTAAGTTTCCTTTGGTC\t_hhWhgQhhhUbchhhhhhhhhhhhhhhhhhhXhh\tNM:i:0\n+EAS38_1_315_950_278\t16\tchr1\t3291611\t255\t35M\t*\t0\t0\tTCCATGCCCAGTTTCAGGTGGGAAAACAACTAAGT\tQAchLb^ChhhhhYhhhhhhhhhhhhhhhhhhhhh\tNM:i:0\n+EAS38_1_330_167_763\t16\tchr1\t3299360\t255\t35M\t*\t0\t0\tAAAAATCTTTTTTCTTCTTCTTTCTTTCTTTCTAT\thhhhhhhhLh__hhhhhhhhhhhhhhhhhhhhh=h\tNM:i:1\n+EAS38_1_7_984_851\t16\tchr1\t3299360\t255\t35M\t*\t0\t0\tAAAAATCTTTTTTCTTCTTNTTTCTTTCTTTCTTT\tNLPMNN`LEdULNhVhhhh;Phhhhhhhhhhhhhh\tNM:i:1\n+EAS38_1_133_814_850\t0\tchr1\t3299443\t1\t35M\t*\t0\t0\tTTTGAGACAGGGTTTCTTTATATAGCCATGGTTGG\thhhhhhhhhhhhEhhChhhhhhhhhOTUhhf?SSG\tNM:i:2\n+EAS38_1_303_411_338\t16\tchr1\t3299602\t255\t35M\t*\t0\t0\tGAGATGAATACTGGGTAGAAAATAAAAAAATTTAC\tThYhFHhhI_JXh_XhhhhhhhYhhhhhhhhhhhh\tNM:i:0\n'
b
diff -r 000000000000 -r 5d8b9dcaf17d test-data/cuffquant_out1.cxb
b
Binary file test-data/cuffquant_out1.cxb has changed
b
diff -r 000000000000 -r 5d8b9dcaf17d tool-data/fasta_indexes.loc.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/fasta_indexes.loc.sample Fri Dec 19 12:01:59 2014 -0500
b
@@ -0,0 +1,29 @@
+#This is a sample file distributed with Galaxy that enables tools
+#to use a directory of Samtools indexed sequences data files.  You will need
+#to create these data files and then create a fasta_indexes.loc file
+#similar to this one (store it in this directory) that points to
+#the directories in which those files are stored. The fasta_indexes.loc
+#file has this format (white space characters are TAB characters):
+#
+# <unique_build_id> <dbkey> <display_name> <file_base_path>
+#
+#So, for example, if you had hg19 Canonical indexed stored in
+#
+# /depot/data2/galaxy/hg19/sam/,
+#
+#then the fasta_indexes.loc entry would look like this:
+#
+#hg19canon hg19 Human (Homo sapiens): hg19 Canonical /depot/data2/galaxy/hg19/sam/hg19canon.fa
+#
+#and your /depot/data2/galaxy/hg19/sam/ directory
+#would contain hg19canon.fa and hg19canon.fa.fai files.
+#
+#Your fasta_indexes.loc file should include an entry per line for
+#each index set you have stored.  The file in the path does actually
+#exist, but it should never be directly used. Instead, the name serves
+#as a prefix for the index file.  For example:
+#
+#hg18canon hg18 Human (Homo sapiens): hg18 Canonical /depot/data2/galaxy/hg18/sam/hg18canon.fa
+#hg18full hg18 Human (Homo sapiens): hg18 Full /depot/data2/galaxy/hg18/sam/hg18full.fa
+#hg19canon hg19 Human (Homo sapiens): hg19 Canonical /depot/data2/galaxy/hg19/sam/hg19canon.fa
+#hg19full hg19 Human (Homo sapiens): hg19 Full /depot/data2/galaxy/hg19/sam/hg19full.fa
b
diff -r 000000000000 -r 5d8b9dcaf17d tool_data_table_conf.xml.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample Fri Dec 19 12:01:59 2014 -0500
b
@@ -0,0 +1,6 @@
+<tables>
+    <table name="fasta_indexes" comment_char="#">
+        <columns>value, dbkey, name, path</columns>
+        <file path="tool-data/fasta_indexes.loc" />
+    </table>
+</tables>
b
diff -r 000000000000 -r 5d8b9dcaf17d tool_dependencies.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml Fri Dec 19 12:01:59 2014 -0500
b
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<tool_dependency>
+    <package name="cufflinks" version="2.2.1">
+        <repository changeset_revision="899067a260d1" name="package_cufflinks_2_2_1" owner="devteam" toolshed="https://toolshed.g2.bx.psu.edu" />
+    </package>
+</tool_dependency>