changeset 18:258d696dbd7e draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/stringtie commit 999b45e8bcf810f871cda58cb66573f7d6ae37f3"
author iuc
date Sat, 25 Sep 2021 18:20:22 +0000
parents 1ebd14235b92
children 333a6e13b622
files macros.xml stringtie.xml stringtie_merge.xml test-data/long_reads.bam test-data/short_reads.bam test-data/stringtie_merge_out1.gtf test-data/stringtie_merge_out2.gtf test-data/stringtie_out1.gtf test-data/stringtie_out10.gtf test-data/stringtie_out11.gtf test-data/stringtie_out12.gtf test-data/stringtie_out2.gtf test-data/stringtie_out3.gtf test-data/stringtie_out4.gtf test-data/stringtie_out5.gtf test-data/stringtie_out6.gtf test-data/stringtie_out8.gtf test-data/stringtie_out9.gtf
diffstat 18 files changed, 292 insertions(+), 47 deletions(-) [+]
line wrap: on
line diff
--- a/macros.xml	Tue Feb 25 18:07:47 2020 -0500
+++ b/macros.xml	Sat Sep 25 18:20:22 2021 +0000
@@ -1,9 +1,9 @@
 <macros>
-    <token name="@TOOL_VERSION@">2.1.1</token>
+    <token name="@TOOL_VERSION@">2.1.7</token>
     <xml name="requirements">
         <requirements>
         <requirement type="package" version="@TOOL_VERSION@">stringtie</requirement>
-        <requirement type="package" version="1.9">samtools</requirement>
+        <requirement type="package" version="1.13">samtools</requirement>
             <yield/>
         </requirements>
     </xml>
--- a/stringtie.xml	Tue Feb 25 18:07:47 2020 -0500
+++ b/stringtie.xml	Sat Sep 25 18:20:22 2021 +0000
@@ -1,5 +1,8 @@
 <tool id="stringtie" name="StringTie" version="@TOOL_VERSION@">
     <description>transcript assembly and quantification</description>
+    <xrefs>
+        <xref type="bio.tools">stringtie</xref>
+    </xrefs>
     <macros>
         <import>macros.xml</import>
     </macros>
@@ -20,14 +23,33 @@
     #end if
 #end if
 
-#if $input_bam.metadata.ftype == 'sam':
-    samtools sort -@ \${GALAXY_SLOTS:-1} '$input_bam' -T "\${TMPDIR:-.}" | stringtie
+#if $input_options.input_mode in ['short_reads','long_reads']:
+    #if $input_options.input_bam.metadata.ftype == 'sam':
+        samtools sort -@ \${GALAXY_SLOTS:-1} '$input_options.input_bam' -T "\${TMPDIR:-.}" | stringtie
+    #else
+        stringtie '$input_options.input_bam'
+    #end if
+    #if $input_options.input_mode == 'long_reads'
+        -L
+        -E $input_options.error_splice
+    #end if
 #else
-    stringtie '$input_bam'
+    #if $input_options.input_bam_short.metadata.ftype == 'bam' and $input_options.input_bam_long.metadata.ftype == 'bam':
+        strigtie '$input_options.input_bam_short' '$input_options.input_bam_long'
+    #else if $input_options.input_bam_short.metadata.ftype == 'sam' and $input_options.input_bam_long.metadata.ftype == 'bam':
+        samtools sort -@ \${GALAXY_SLOTS:-1} '$input_options.input_bam_short' -T "\${TMPDIR:-.}" -o short_sorted.sam
+        && stringtie short_sorted.sam '$input_options.input_bam_long'
+    #else if $input_options.input_bam_short.metadata.ftype == 'bam' and $input_options.input_bam_long.metadata.ftype == 'sam':
+        samtools sort -@ \${GALAXY_SLOTS:-1} '$input_options.input_bam_long' -T "\${TMPDIR:-.}" -o long_sorted.sam
+        && stringtie'$input_options.input_bam_short' long_sorted.sam
+    #else
+        samtools sort -@ \${GALAXY_SLOTS:-1} '$input_options.input_bam_short' -T "\${TMPDIR:-.}" -o short_sorted.sam
+        && samtools sort -@ \${GALAXY_SLOTS:-1} '$input_options.input_bam_long' -T "\${TMPDIR:-.}" -o long_sorted.sam
+        && stringtie short_sorted.sam long_sorted.sam
+    #end if
+    -E $input_options.error_splice
 #end if
 
-$long_reads
-
 -o '$output_gtf'
 -p "\${GALAXY_SLOTS:-1}"
 
@@ -111,8 +133,25 @@
 #end if
     ]]></command>
     <inputs>
-        <param name="input_bam" type="data" format="sam,bam" label="Input mapped reads" help="Input BAM/SAM file containing reads you want to assemble into transcripts"/>
-        <param name="long_reads" argument="-L" type="boolean" truevalue="-L" falsevalue="" checked="false" label="Input contains long reads?" help="Select if the input contains long error-prone reads, e.g. from Oxford Nanopore or PacBio sequencing."/>
+        <conditional name="input_options">
+            <param name="input_mode" type="select" label="Input options">
+                <option value="short_reads">Short reads</option>
+                <option value="long_reads">Long reads</option>
+                <option value="mixed_reads">Mixed mode: short and long reads</option>
+            </param>
+            <when value="short_reads">
+                <param name="input_bam" type="data" format="sam,bam" label="Input short mapped reads" help="Input BAM/SAM file containing the short reads you want to assemble into transcripts"/>
+            </when>
+            <when value="long_reads">
+                <param name="input_bam" type="data" format="sam,bam" label="Input long mapped reads" help="Input BAM/SAM file containing the long reads you want to assemble into transcripts"/>
+                <param name="error_splice" argument="-E" type="integer" min="0" max="50" value="25" label="Window around possibly erroneous splice sites" help="This option allows to define window around possibly erroneous splice sites from long reads to look out for correct splice sites. Default: 25" />
+            </when>
+            <when value="mixed_reads">
+                <param name="input_bam_short" type="data" format="sam,bam" label="Input short mapped reads" help="Input BAM/SAM file containing the short reads you want to assemble into transcripts"/>
+                <param name="input_bam_long" type="data" format="sam,bam" label="Input long mapped reads" help="Input BAM/SAM file containing the long reads you want to assemble into transcripts"/>
+                <param name="error_splice" argument="-E" type="integer" min="0" max="50" value="25" label="Window around possibly erroneous splice sites" help="This option allows to define window around possibly erroneous splice sites from long reads to look out for correct splice sites. Default: 25" />
+            </when>
+        </conditional>
         <param name="rna_strandness" type="select" label="Specify strand information"
             help="Select 'Forward (FR)' if your reads are from a forward-stranded library, 'Reverse (RF)' if your reads are from a reverse-stranded library, or 'Unstranded' if your reads are not from a stranded library. See Help section below for more information. Default: Unstranded">
                 <option value="" selected="true">Unstranded</option>
@@ -187,6 +226,7 @@
             <param name="bundle_fraction" argument="-M" type="float" min="0.0" max="1.0" value="0.95" label="Fraction of bundle allowed to be covered by multi-hit reads"  help="Sets the maximum fraction of muliple-location-mapped reads that are allowed to be present at a given locus. Default: 0.95"/>
             <param name="disable_trimming" argument="-t" type="boolean" truevalue="-t" falsevalue="" checked="false" label="Disable trimming of predicted transcripts based on coverage" help="This parameter disables trimming at the ends of the assembled transcripts. By default StringTie adjusts the predicted transcript's start and/or stop coordinates based on sudden drops in coverage of the assembled transcript. Default: No" />
             <param name="multi_mapping" argument="-u" type="boolean" truevalue="-u" falsevalue="" checked="false" label="Disable multi-mapping correction" help="Default: No"/>
+            <param name="point_features" type="data" format="tabular" optional="True" label="Input point-features dataset" help="Loads a list of point-features from a text feature file to guide the transcriptome assembly. Accepted point features are transcription start sites (TSS) and polyadenylation sites (CPAS). There are four tab-delimited columns in the feature file. The first three define the location of the point feature on the cromosome (sequence name, coordinate and strand), and the last is the type of the feature (TSS or CPAS)."/>
         </section>
     </inputs>
     <outputs>
@@ -230,18 +270,27 @@
     <tests>
          <!--Ensure default GTF output works -->
         <test expect_num_outputs="1">
-            <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            <conditional name="input_options">
+                <param name="input_mode" value="short_reads"/>
+                <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            </conditional>
             <output name="output_gtf" file="stringtie_out1.gtf" ftype="gtf" lines_diff="4" />
         </test>
         <!--Ensure fraction option works -->
         <test expect_num_outputs="1">
-            <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            <conditional name="input_options">
+                <param name="input_mode" value="short_reads"/>
+                <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            </conditional>            
             <param name="fraction" value="0.17" />
             <output name="output_gtf" file="stringtie_out2.gtf" ftype="gtf" lines_diff="4" />
         </test>
         <!--Ensure guide option works -->
         <test expect_num_outputs="1">
-            <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            <conditional name="input_options">
+                <param name="input_mode" value="short_reads"/>
+                <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            </conditional>            
             <param name="use_guide" value="yes" />
             <param name="guide_gff_select" value="history" />
             <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" />
@@ -249,7 +298,10 @@
         </test>
         <!--Ensure guide with fraction works -->
         <test expect_num_outputs="1">
-            <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            <conditional name="input_options">
+                <param name="input_mode" value="short_reads"/>
+                <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            </conditional>            
             <param name="use_guide" value="yes" />
             <param name="guide_gff_select" value="history" />
             <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" />
@@ -258,7 +310,10 @@
         </test>
         <!--Ensure coverage and output for Ballgown works -->
         <test expect_num_outputs="7">
-            <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            <conditional name="input_options">
+                <param name="input_mode" value="short_reads"/>
+                <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            </conditional>            
             <param name="use_guide" value="yes" />
             <param name="guide_gff_select" value="history" />
             <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" />
@@ -274,7 +329,10 @@
         </test>
         <!--Ensure output for edgeR works -->
         <test expect_num_outputs="5">
-            <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            <conditional name="input_options">
+                <param name="input_mode" value="short_reads"/>
+                <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            </conditional>            
             <param name="use_guide" value="yes" />
             <param name="special_outputs_select" value="deseq2" />
             <param name="input_estimation" value="true" />
@@ -290,7 +348,10 @@
         </test>
         <!--Ensure gene abundances output works -->
         <test expect_num_outputs="2">
-            <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            <conditional name="input_options">
+                <param name="input_mode" value="short_reads"/>
+                <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            </conditional>            
             <param name="use_guide" value="yes" />
             <param name="guide_gff_select" value="history" />
             <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" />
@@ -301,7 +362,10 @@
         </test>
         <!--Ensure another fraction value works -->
         <test expect_num_outputs="1">
-            <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            <conditional name="input_options">
+                <param name="input_mode" value="short_reads"/>
+                <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            </conditional>            
             <param name="use_guide" value="yes" />
             <param name="guide_gff_select" value="history" />
             <param name="ref_hist" ftype="gtf" value="stringtie_in.gtf" />
@@ -310,11 +374,46 @@
         </test>
         <!--Ensure built-in GTFs work -->
         <test expect_num_outputs="1">
-            <param name="input_bam" ftype="bam" dbkey="hg38" value="stringtie_in1.bam" />
+            <conditional name="input_options">
+                <param name="input_mode" value="short_reads"/>
+                <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            </conditional>            
+            <param name="use_guide" value="yes" />
+            <param name="guide_gff_select" value="cached" />
+            <param name="fraction" value="0.15" />
+            <output name="output_gtf" file="stringtie_out9.gtf" ftype="gtf" lines_diff="4" />
+        </test>
+        <!-- Test long reads input -->
+        <test expect_num_outputs="1">
+            <conditional name="input_options">
+                <param name="input_mode" value="long_reads"/>
+                <param name="input_bam" ftype="bam" value="stringtie_in1.bam" />
+            </conditional>            
             <param name="use_guide" value="yes" />
             <param name="guide_gff_select" value="cached" />
             <param name="fraction" value="0.15" />
-            <output name="output_gtf" file="stringtie_out8.gtf" ftype="gtf" lines_diff="4" />
+            <output name="output_gtf" file="stringtie_out10.gtf" ftype="gtf" lines_diff="4" />
+        </test>
+        <!-- Test error splice option -->
+        <test expect_num_outputs="1">
+            <conditional name="input_options">
+                <param name="input_mode" value="long_reads"/>
+                <param name="input_bam" ftype="bam" value="long_reads.bam" />
+                <param name="error_splice" value="30" />
+            </conditional>            
+            <param name="use_guide" value="yes" />
+            <param name="guide_gff_select" value="cached" />
+            <param name="fraction" value="0.15" />
+            <output name="output_gtf" file="stringtie_out11.gtf" ftype="gtf" lines_diff="4" />
+        </test>
+        <!-- Test mixed reads input -->
+        <test expect_num_outputs="1">
+            <conditional name="input_options">
+                <param name="input_mode" value="mixed_reads"/>
+                <param name="input_bam_short" ftype="bam" value="short_reads.bam" />
+                <param name="input_bam_long" ftype="bam" value="long_reads.bam" />
+            </conditional>            
+            <output name="output_gtf" file="stringtie_out12.gtf" ftype="gtf" lines_diff="4" />
         </test>
     </tests>
     <help><![CDATA[
@@ -476,14 +575,14 @@
 .. _Bioconductor: https://www.bioconductor.org/
 .. _SAM: http://samtools.github.io/hts-specs/SAMv1.pdf
 .. _HISAT2: http://ccb.jhu.edu/software/hisat2
-.. _`GTF/GFF3`: https://ccb.jhu.edu/software/stringtie/gff.shtml
+.. _`GTF/GFF3`: http://ccb.jhu.edu/software/stringtie/gff.shtml
 .. _`this link`: https://github.com/alyssafrazee/ballgown#ballgown-readable-expression-output
 .. _`Ensembl site here`: http://useast.ensembl.org/info/website/upload/gff.html
 .. _here: http://www.rna-seqblog.com/rpkm-fpkm-and-tpm-clearly-explained/
 .. _`by B. Li and C. Dewey here`: http://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-12-323
-.. _`GFF utilities page`: https://ccb.jhu.edu/software/stringtie/gff.shtml#gffcompare
+.. _`GFF utilities page`: http://ccb.jhu.edu/software/stringtie/gff.shtml#gffcompare
 .. _`protocol paper`: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5032908/
-.. _`StringTie manual here`: https://ccb.jhu.edu/software/stringtie/index.shtml?t=manual
+.. _`StringTie manual here`: http://ccb.jhu.edu/software/stringtie/index.shtml?t=manual
 
     ]]></help>
     <expand macro="citations" />
--- a/stringtie_merge.xml	Tue Feb 25 18:07:47 2020 -0500
+++ b/stringtie_merge.xml	Sat Sep 25 18:20:22 2021 +0000
@@ -1,5 +1,8 @@
 <tool id="stringtie_merge" name="StringTie merge" version="@TOOL_VERSION@">
     <description>transcripts</description>
+    <xrefs>
+        <xref type="bio.tools">stringtie</xref>
+    </xrefs>
     <macros>
         <import>macros.xml</import>
     </macros>
Binary file test-data/long_reads.bam has changed
Binary file test-data/short_reads.bam has changed
--- a/test-data/stringtie_merge_out1.gtf	Tue Feb 25 18:07:47 2020 -0500
+++ b/test-data/stringtie_merge_out1.gtf	Sat Sep 25 18:20:22 2021 +0000
@@ -1,5 +1,5 @@
-# stringtie --merge -p 1 -G /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/1/0/e/dataset_10e968ed-4fcb-4799-864f-4a845aefd7c6.dat -m 50 -c 0 -F 1.0 -T 1.0 -f 0.01 -g 250 -o /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/d/4/7/dataset_d47ec42c-d204-4b1a-b863-c54d1f0f8aba.dat /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/b/4/9/dataset_b496e60c-ee18-4c69-99eb-70f9445725f5.dat /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/4/b/a/dataset_4bac764c-1632-4ba8-bf86-dbeda729238e.dat /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/9/3/3/dataset_933d8dbf-024c-4bad-b90f-05f847a7406f.dat /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/f/a/2/dataset_fa27d83d-cfd4-4910-abdb-b83cf2668486.dat
-# StringTie version 2.1.1
+# stringtie --merge -p 1 -G /tmp/tmp9cgbzsli/files/f/8/0/dataset_f808ceaa-08fb-4e16-8d00-3af3bd707ede.dat -m 50 -c 0 -F 1.0 -T 1.0 -f 0.01 -g 250 -o /tmp/tmp9cgbzsli/files/1/2/f/dataset_12ff3ea2-5306-479a-915b-9af32e1defa1.dat /tmp/tmp9cgbzsli/files/5/e/0/dataset_5e0ac785-035b-41ca-acb3-1276d358574d.dat /tmp/tmp9cgbzsli/files/b/3/1/dataset_b3195d2c-e25d-4c21-a9f8-14c79961b98b.dat /tmp/tmp9cgbzsli/files/a/5/f/dataset_a5f7edd6-3748-4854-bd0d-68c03c3ba68e.dat /tmp/tmp9cgbzsli/files/4/5/d/dataset_45d17dfd-c663-43fd-a2ef-e41dd94caa53.dat
+# StringTie version 2.1.7
 test_chromosome	StringTie	transcript	53	550	1000	+	.	gene_id "MSTRG.1"; transcript_id "CUFF.1.1"; ref_gene_id "CUFF.1"; 
 test_chromosome	StringTie	exon	53	250	1000	+	.	gene_id "MSTRG.1"; transcript_id "CUFF.1.1"; exon_number "1"; ref_gene_id "CUFF.1"; 
 test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "MSTRG.1"; transcript_id "CUFF.1.1"; exon_number "2"; ref_gene_id "CUFF.1"; 
--- a/test-data/stringtie_merge_out2.gtf	Tue Feb 25 18:07:47 2020 -0500
+++ b/test-data/stringtie_merge_out2.gtf	Sat Sep 25 18:20:22 2021 +0000
@@ -1,5 +1,5 @@
-# stringtie --merge -p 1 -G /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/e/3/7/dataset_e372bcb2-3b02-4fa2-8e9a-e5f9fb2ddd1a.dat -m 50 -c 0 -F 1.0 -T 1.0 -f 0.01 -g 250 -o /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/b/d/4/dataset_bd4ebf5e-a629-4b3e-ab7c-bba17f0e7651.dat /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/c/4/8/dataset_c480ac0d-da44-4477-a115-43d849c4e0fb.dat /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/1/b/a/dataset_1ba088e7-52b5-4783-a7a5-b023862e36e2.dat
-# StringTie version 2.1.1
+# stringtie --merge -p 1 -G /tmp/tmp9cgbzsli/files/d/3/d/dataset_d3debef6-0cc0-44aa-898c-086d4fa8adb0.dat -m 50 -c 0 -F 1.0 -T 1.0 -f 0.01 -g 250 -o /tmp/tmp9cgbzsli/files/b/4/d/dataset_b4dd908f-5f52-428f-bc2c-ba62cd00a83e.dat /tmp/tmp9cgbzsli/files/8/1/a/dataset_81a6719e-2f36-40ca-9d63-325d6eadd1d3.dat /tmp/tmp9cgbzsli/files/2/2/f/dataset_22f857ec-0df8-40d8-ba00-28b709b98b03.dat
+# StringTie version 2.1.7
 chr1	StringTie	transcript	3189811	3193042	1000	.	.	gene_id "MSTRG.1"; transcript_id "MSTRG.1.1"; 
 chr1	StringTie	exon	3189811	3193042	1000	.	.	gene_id "MSTRG.1"; transcript_id "MSTRG.1.1"; exon_number "1"; 
 chr1	StringTie	transcript	3200023	3200191	1000	.	.	gene_id "MSTRG.2"; transcript_id "MSTRG.2.1"; 
--- a/test-data/stringtie_out1.gtf	Tue Feb 25 18:07:47 2020 -0500
+++ b/test-data/stringtie_out1.gtf	Sat Sep 25 18:20:22 2021 +0000
@@ -1,6 +1,6 @@
-# stringtie /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/c/7/a/dataset_c7af8b5d-2e42-4fea-b8d6-7fad0726e917.dat -o /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/3/5/7/dataset_357301ba-858d-44ea-9ead-8160748e75fc.dat -p 1 -f 0.15 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
-# StringTie version 2.1.1
+# stringtie /tmp/tmpgqe071sy/files/8/a/5/dataset_8a57065f-d332-4a26-8aa0-9d511312d8a6.dat -o /tmp/tmpgqe071sy/files/b/4/6/dataset_b46e6244-1199-4c7b-946c-111d2b3c98c7.dat -p 1 -f 0.15 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
+# StringTie version 2.1.7
 test_chromosome	StringTie	transcript	53	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; cov "45.241611"; FPKM "3314403.750000"; TPM "1000000.000000";
 test_chromosome	StringTie	exon	53	250	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "1"; cov "49.237373";
-test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; cov "53.000000";
+test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; cov "53.000004";
 test_chromosome	StringTie	exon	501	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "3"; cov "21.660000";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/stringtie_out10.gtf	Sat Sep 25 18:20:22 2021 +0000
@@ -0,0 +1,6 @@
+# stringtie /tmp/tmpgqe071sy/files/8/8/6/dataset_886a7110-225b-4286-8de0-3e630fa369da.dat -L -E 25 -o /tmp/tmpgqe071sy/files/d/5/4/dataset_d54d1211-a9e6-4f03-b0b6-58182b101e8b.dat -p 1 -G guide.gff -b ./special_de_output/sample1/ -f 0.15 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
+# StringTie version 2.1.7
+test_chromosome	StringTie	transcript	53	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "45.795303"; FPKM "3354967.250000"; TPM "1000000.000000";
+test_chromosome	StringTie	exon	53	250	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "1"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "49.777779";
+test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "54.160000";
+test_chromosome	StringTie	exon	501	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "3"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "21.660000";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/stringtie_out11.gtf	Sat Sep 25 18:20:22 2021 +0000
@@ -0,0 +1,58 @@
+# stringtie /tmp/tmpgqe071sy/files/5/f/e/dataset_5feb7af0-84a3-4590-975e-97b02b89c256.dat -L -E 30 -o /tmp/tmpgqe071sy/files/d/9/c/dataset_d9c60f6e-5062-4d09-a7e3-05b74adcebca.dat -p 1 -G guide.gff -b ./special_de_output/sample1/ -f 0.15 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
+# StringTie version 2.1.7
+chr19	StringTie	transcript	567221	571736	1000	-	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; cov "5.617600"; FPKM "37220.644531"; TPM "77823.132812";
+chr19	StringTie	exon	567221	567648	1000	-	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "1"; cov "5.815421";
+chr19	StringTie	exon	571440	571596	1000	-	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; cov "5.859873";
+chr19	StringTie	exon	571697	571736	1000	-	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "3"; cov "2.550000";
+chr19	StringTie	transcript	571310	583493	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.1"; cov "5.416068"; FPKM "35885.347656"; TPM "75031.218750";
+chr19	StringTie	exon	571310	571579	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.1"; exon_number "1"; cov "4.559259";
+chr19	StringTie	exon	580379	580461	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.1"; exon_number "2"; cov "5.556142";
+chr19	StringTie	exon	580646	580782	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.1"; exon_number "3"; cov "5.689962";
+chr19	StringTie	exon	581315	581610	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.1"; exon_number "4"; cov "5.556142";
+chr19	StringTie	exon	582514	582582	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.1"; exon_number "5"; cov "5.556142";
+chr19	StringTie	exon	582750	583493	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.1"; exon_number "6"; cov "5.592226";
+chr19	StringTie	transcript	572567	583493	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; cov "6.175826"; FPKM "40919.292969"; TPM "85556.492188";
+chr19	StringTie	exon	572567	572701	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "1"; cov "3.325926";
+chr19	StringTie	exon	577774	578121	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "2"; cov "6.436781";
+chr19	StringTie	exon	579500	579656	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "3"; cov "7.000000";
+chr19	StringTie	exon	580379	580461	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "4"; cov "7.443858";
+chr19	StringTie	exon	580646	580782	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "5"; cov "6.631207";
+chr19	StringTie	exon	581315	581610	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "6"; cov "6.443858";
+chr19	StringTie	exon	582514	582582	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "7"; cov "6.443858";
+chr19	StringTie	exon	582750	583493	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "8"; cov "6.040156";
+chr19	StringTie	transcript	589891	617159	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; cov "19.938414"; FPKM "132106.343750"; TPM "276215.781250";
+chr19	StringTie	exon	589891	590577	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "1"; cov "18.537119";
+chr19	StringTie	exon	603544	603967	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "2"; cov "21.000000";
+chr19	StringTie	exon	605061	605222	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "3"; cov "21.000000";
+chr19	StringTie	exon	607964	608182	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "4"; cov "21.000000";
+chr19	StringTie	exon	610259	610405	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "5"; cov "21.000000";
+chr19	StringTie	exon	613248	613488	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "6"; cov "21.000000";
+chr19	StringTie	exon	613852	614016	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "7"; cov "21.000000";
+chr19	StringTie	exon	615795	617159	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "8"; cov "19.587545";
+chr19	StringTie	transcript	617224	618760	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.1"; cov "29.150192"; FPKM "193141.000000"; TPM "403830.687500";
+chr19	StringTie	exon	617224	617323	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.1"; exon_number "1"; cov "20.289286";
+chr19	StringTie	exon	617419	617480	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.1"; exon_number "2"; cov "28.788761";
+chr19	StringTie	exon	617570	618586	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.1"; exon_number "3"; cov "30.891500";
+chr19	StringTie	exon	618705	618760	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.1"; exon_number "4"; cov "13.750000";
+chr19	StringTie	transcript	617224	633601	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; cov "5.886094"; FPKM "38999.609375"; TPM "81542.703125";
+chr19	StringTie	exon	617224	617323	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "1"; cov "1.560714";
+chr19	StringTie	exon	617419	617480	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "2"; cov "1.985432";
+chr19	StringTie	exon	617570	617655	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "3"; cov "4.996770";
+chr19	StringTie	exon	617777	617849	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "4"; cov "5.994817";
+chr19	StringTie	exon	618488	618586	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "5"; cov "5.525252";
+chr19	StringTie	exon	618705	618760	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "6"; cov "6.875000";
+chr19	StringTie	exon	618997	619110	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "7"; cov "6.000000";
+chr19	StringTie	exon	619210	619296	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "8"; cov "6.000000";
+chr19	StringTie	exon	619586	619765	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "9"; cov "6.000000";
+chr19	StringTie	exon	619958	620080	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "10"; cov "7.000000";
+chr19	StringTie	exon	620365	620487	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "11"; cov "7.000000";
+chr19	StringTie	exon	621058	621846	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "12"; cov "6.751584";
+chr19	StringTie	exon	622149	622373	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "13"; cov "6.000000";
+chr19	StringTie	exon	622582	622752	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "14"; cov "6.000000";
+chr19	StringTie	exon	622821	622985	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "15"; cov "6.000000";
+chr19	StringTie	exon	623454	623603	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "16"; cov "6.000000";
+chr19	StringTie	exon	624719	624905	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "17"; cov "6.000000";
+chr19	StringTie	exon	625124	625254	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "18"; cov "6.000000";
+chr19	StringTie	exon	629540	630168	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "19"; cov "5.941176";
+chr19	StringTie	exon	632834	632938	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "20"; cov "5.000000";
+chr19	StringTie	exon	633425	633601	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.2"; exon_number "21"; cov "3.988701";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/stringtie_out12.gtf	Sat Sep 25 18:20:22 2021 +0000
@@ -0,0 +1,73 @@
+# stringtie short_sorted.sam long_sorted.sam -E 25 -o /tmp/tmpgqe071sy/files/9/5/b/dataset_95b1ec38-2151-43e7-8584-aa4aff72e957.dat -p 1 -f 0.15 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
+# StringTie version 2.1.7
+chr19	StringTie	transcript	567221	571736	1000	-	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; cov "5.043160"; FPKM "15396.282227"; TPM "50141.804688";
+chr19	StringTie	exon	567221	567648	1000	-	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "1"; cov "5.815421";
+chr19	StringTie	exon	571440	571596	1000	-	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; cov "3.573089";
+chr19	StringTie	exon	571697	571736	1000	-	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "3"; cov "2.550000";
+chr19	StringTie	transcript	571310	583493	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.1"; cov "4.701019"; FPKM "14351.757812"; TPM "46740.058594";
+chr19	StringTie	exon	571310	571579	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.1"; exon_number "1"; cov "5.888981";
+chr19	StringTie	exon	580379	580461	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.1"; exon_number "2"; cov "4.879346";
+chr19	StringTie	exon	580646	580782	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.1"; exon_number "3"; cov "4.616338";
+chr19	StringTie	exon	581315	581610	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.1"; exon_number "4"; cov "4.479919";
+chr19	StringTie	exon	582514	582582	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.1"; exon_number "5"; cov "4.504012";
+chr19	StringTie	exon	582750	583493	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.1"; exon_number "6"; cov "4.371838";
+chr19	StringTie	transcript	572567	583493	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; cov "6.933517"; FPKM "21167.359375"; TPM "68936.750000";
+chr19	StringTie	exon	572567	572701	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "1"; cov "3.325926";
+chr19	StringTie	exon	577774	578121	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "2"; cov "6.436781";
+chr19	StringTie	exon	579500	579656	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "3"; cov "7.000000";
+chr19	StringTie	exon	580379	580461	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "4"; cov "8.120653";
+chr19	StringTie	exon	580646	580782	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "5"; cov "7.682931";
+chr19	StringTie	exon	581315	581610	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "6"; cov "7.455892";
+chr19	StringTie	exon	582514	582582	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "7"; cov "7.495987";
+chr19	StringTie	exon	582750	583493	1000	+	.	gene_id "STRG.2"; transcript_id "STRG.2.2"; exon_number "8"; cov "7.276011";
+chr19	StringTie	transcript	589891	617159	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; cov "19.937536"; FPKM "60867.378906"; TPM "198229.687500";
+chr19	StringTie	exon	589891	590577	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "1"; cov "18.537117";
+chr19	StringTie	exon	603544	603967	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "2"; cov "21.000000";
+chr19	StringTie	exon	605061	605222	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "3"; cov "20.981482";
+chr19	StringTie	exon	607964	608182	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "4"; cov "21.000000";
+chr19	StringTie	exon	610259	610405	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "5"; cov "21.000000";
+chr19	StringTie	exon	613248	613488	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "6"; cov "21.000000";
+chr19	StringTie	exon	613852	614016	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "7"; cov "21.000000";
+chr19	StringTie	exon	615795	617159	1000	+	.	gene_id "STRG.3"; transcript_id "STRG.3.1"; exon_number "8"; cov "19.587545";
+chr16	StringTie	transcript	784986	788300	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.1"; cov "30.393349"; FPKM "92787.968750"; TPM "302187.000000";
+chr16	StringTie	exon	784986	786377	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.1"; exon_number "1"; cov "33.698273";
+chr16	StringTie	exon	786827	786928	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.1"; exon_number "2"; cov "24.970589";
+chr16	StringTie	exon	787077	787179	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.1"; exon_number "3"; cov "24.747572";
+chr16	StringTie	exon	787354	787477	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.1"; exon_number "4"; cov "25.967739";
+chr16	StringTie	exon	787556	787744	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.1"; exon_number "5"; cov "21.576719";
+chr16	StringTie	exon	788256	788300	1000	-	.	gene_id "STRG.4"; transcript_id "STRG.4.1"; exon_number "6"; cov "2.600000";
+chr16	StringTie	transcript	789075	798048	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; cov "24.152929"; FPKM "73736.570312"; TPM "240141.406250";
+chr16	StringTie	exon	789075	789125	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "1"; cov "2.764706";
+chr16	StringTie	exon	789210	789360	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "2"; cov "12.516557";
+chr16	StringTie	exon	789547	789715	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "3"; cov "20.360947";
+chr16	StringTie	exon	790177	790269	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "4"; cov "18.048386";
+chr16	StringTie	exon	790347	790399	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "5"; cov "21.396227";
+chr16	StringTie	exon	790525	790666	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "6"; cov "19.359156";
+chr16	StringTie	exon	791161	791370	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "7"; cov "22.309525";
+chr16	StringTie	exon	791851	791948	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "8"; cov "16.336735";
+chr16	StringTie	exon	792224	792347	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "9"; cov "19.322580";
+chr16	StringTie	exon	792439	792590	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "10"; cov "8.835526";
+chr16	StringTie	exon	792718	792811	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "11"; cov "21.244680";
+chr16	StringTie	exon	792966	793064	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "12"; cov "19.494951";
+chr16	StringTie	exon	793144	793274	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "13"; cov "16.229008";
+chr16	StringTie	exon	794054	794201	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "14"; cov "22.121622";
+chr16	StringTie	exon	795132	795356	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "15"; cov "30.586666";
+chr16	StringTie	exon	795685	795834	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "16"; cov "14.393333";
+chr16	StringTie	exon	795947	796077	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "17"; cov "27.061069";
+chr16	StringTie	exon	796717	796861	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "18"; cov "39.082760";
+chr16	StringTie	exon	796961	797092	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "19"; cov "43.295456";
+chr16	StringTie	exon	797694	797751	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "20"; cov "53.689655";
+chr16	StringTie	exon	797839	798048	1000	+	.	gene_id "STRG.5"; transcript_id "STRG.5.1"; exon_number "21"; cov "44.473808";
+chr16	StringTie	transcript	854482	911074	1000	-	.	gene_id "STRG.6"; transcript_id "STRG.6.1"; cov "5.773279"; FPKM "17625.265625"; TPM "57401.042969";
+chr16	StringTie	exon	854482	854706	1000	-	.	gene_id "STRG.6"; transcript_id "STRG.6.1"; exon_number "1"; cov "3.262222";
+chr16	StringTie	exon	868944	869056	1000	-	.	gene_id "STRG.6"; transcript_id "STRG.6.1"; exon_number "2"; cov "9.176991";
+chr16	StringTie	exon	869883	870066	1000	-	.	gene_id "STRG.6"; transcript_id "STRG.6.1"; exon_number "3"; cov "11.130435";
+chr16	StringTie	exon	870729	870882	1000	-	.	gene_id "STRG.6"; transcript_id "STRG.6.1"; exon_number "4"; cov "10.467532";
+chr16	StringTie	exon	871161	871341	1000	-	.	gene_id "STRG.6"; transcript_id "STRG.6.1"; exon_number "5"; cov "3.563536";
+chr16	StringTie	exon	879570	879737	1000	-	.	gene_id "STRG.6"; transcript_id "STRG.6.1"; exon_number "6"; cov "2.625000";
+chr16	StringTie	exon	893007	893072	1000	-	.	gene_id "STRG.6"; transcript_id "STRG.6.1"; exon_number "7"; cov "3.242424";
+chr16	StringTie	exon	910931	911074	1000	-	.	gene_id "STRG.6"; transcript_id "STRG.6.1"; exon_number "8"; cov "2.770833";
+chr16	StringTie	transcript	934126	970901	1000	-	.	gene_id "STRG.7"; transcript_id "STRG.7.1"; cov "3.068716"; FPKM "9368.495117"; TPM "30510.824219";
+chr16	StringTie	exon	934126	934254	1000	-	.	gene_id "STRG.7"; transcript_id "STRG.7.1"; exon_number "1"; cov "1.131783";
+chr16	StringTie	exon	954357	954666	1000	-	.	gene_id "STRG.7"; transcript_id "STRG.7.1"; exon_number "2"; cov "4.341936";
+chr16	StringTie	exon	970788	970901	1000	-	.	gene_id "STRG.7"; transcript_id "STRG.7.1"; exon_number "3"; cov "1.798246";
--- a/test-data/stringtie_out2.gtf	Tue Feb 25 18:07:47 2020 -0500
+++ b/test-data/stringtie_out2.gtf	Sat Sep 25 18:20:22 2021 +0000
@@ -1,6 +1,6 @@
-# stringtie /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/0/b/d/dataset_0bdef9bb-4df2-495e-96e5-172272d8d091.dat -o /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/e/a/2/dataset_ea28bbaf-b541-4047-a923-87fad9958466.dat -p 1 -f 0.17 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
-# StringTie version 2.1.1
+# stringtie /tmp/tmpgqe071sy/files/c/e/6/dataset_ce6d871e-dc50-4710-8c21-385b1a4fcd2e.dat -o /tmp/tmpgqe071sy/files/e/8/2/dataset_e82c3d81-e413-4566-a538-1ef066ef2348.dat -p 1 -f 0.17 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
+# StringTie version 2.1.7
 test_chromosome	StringTie	transcript	53	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; cov "45.241611"; FPKM "3314403.750000"; TPM "1000000.000000";
 test_chromosome	StringTie	exon	53	250	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "1"; cov "49.237373";
-test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; cov "53.000000";
+test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; cov "53.000004";
 test_chromosome	StringTie	exon	501	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "3"; cov "21.660000";
--- a/test-data/stringtie_out3.gtf	Tue Feb 25 18:07:47 2020 -0500
+++ b/test-data/stringtie_out3.gtf	Sat Sep 25 18:20:22 2021 +0000
@@ -1,6 +1,6 @@
-# stringtie /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/3/8/4/dataset_384eded7-d60c-439d-be66-1b9963159f17.dat -o /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/b/4/8/dataset_b482f931-c707-4535-b3e0-500c8d8e871b.dat -p 1 -G guide.gff -b ./special_de_output/sample1/ -f 0.15 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
-# StringTie version 2.1.1
+# stringtie /tmp/tmpgqe071sy/files/8/6/e/dataset_86e4ed94-6458-4fd6-b8ae-dc5f7acd75ac.dat -o /tmp/tmpgqe071sy/files/5/7/7/dataset_57773891-c25a-4102-a817-04fa6e876cf3.dat -p 1 -G guide.gff -b ./special_de_output/sample1/ -f 0.15 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
+# StringTie version 2.1.7
 test_chromosome	StringTie	transcript	53	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "45.241611"; FPKM "3314403.750000"; TPM "1000000.000000";
 test_chromosome	StringTie	exon	53	250	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "1"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "49.237373";
-test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "53.000000";
+test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "53.000004";
 test_chromosome	StringTie	exon	501	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "3"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "21.660000";
--- a/test-data/stringtie_out4.gtf	Tue Feb 25 18:07:47 2020 -0500
+++ b/test-data/stringtie_out4.gtf	Sat Sep 25 18:20:22 2021 +0000
@@ -1,6 +1,6 @@
-# stringtie /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/0/6/f/dataset_06f2148a-c2bc-4d89-a2d7-e3e1a8afa1c6.dat -o /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/1/1/c/dataset_11c0064f-b50b-4810-b856-1b16030c6a6b.dat -p 1 -G guide.gff -b ./special_de_output/sample1/ -f 0.17 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
-# StringTie version 2.1.1
+# stringtie /tmp/tmpgqe071sy/files/5/8/5/dataset_5851f244-d011-47e4-b6ac-bb6119b6497b.dat -o /tmp/tmpgqe071sy/files/d/a/6/dataset_da695139-3493-41cc-9409-8085cad59f40.dat -p 1 -G guide.gff -b ./special_de_output/sample1/ -f 0.17 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95 -A /tmp/tmpgqe071sy/files/8/7/d/dataset_87d1ffdf-8041-4fc6-b9d7-7cd794f69cd8.dat
+# StringTie version 2.1.7
 test_chromosome	StringTie	transcript	53	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "45.241611"; FPKM "3314403.750000"; TPM "1000000.000000";
 test_chromosome	StringTie	exon	53	250	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "1"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "49.237373";
-test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "53.000000";
+test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "53.000004";
 test_chromosome	StringTie	exon	501	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "3"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "21.660000";
--- a/test-data/stringtie_out5.gtf	Tue Feb 25 18:07:47 2020 -0500
+++ b/test-data/stringtie_out5.gtf	Sat Sep 25 18:20:22 2021 +0000
@@ -1,6 +1,6 @@
-# stringtie /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/7/d/b/dataset_7db84341-79f0-4976-93ae-077d5bc204fe.dat -o /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/9/c/0/dataset_9c0876b6-2850-4467-9983-65e7e1e60147.dat -p 1 -G guide.gff -C /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/7/0/f/dataset_70fc75f5-d3a9-4f0e-b3e5-ae748f5ea145.dat -b ./special_de_output/sample1/ -f 0.15 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
-# StringTie version 2.1.1
+# stringtie /tmp/tmpgqe071sy/files/0/e/1/dataset_0e10eba1-035e-4481-9311-22277f50cd38.dat -o /tmp/tmpgqe071sy/files/d/a/a/dataset_daa0c96d-9176-476d-82fc-e2b7ef2dcd8e.dat -p 1 -G guide.gff -C /tmp/tmpgqe071sy/files/9/6/1/dataset_9614085c-99c8-4957-9b89-2391d231ddb8.dat -b ./special_de_output/sample1/ -f 0.15 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
+# StringTie version 2.1.7
 test_chromosome	StringTie	transcript	53	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "45.241611"; FPKM "3314403.750000"; TPM "1000000.000000";
 test_chromosome	StringTie	exon	53	250	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "1"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "49.237373";
-test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "53.000000";
+test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "53.000004";
 test_chromosome	StringTie	exon	501	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "3"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "21.660000";
--- a/test-data/stringtie_out6.gtf	Tue Feb 25 18:07:47 2020 -0500
+++ b/test-data/stringtie_out6.gtf	Sat Sep 25 18:20:22 2021 +0000
@@ -1,6 +1,6 @@
-# stringtie /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/9/7/9/dataset_979811c5-c516-4209-bd38-3677704d573f.dat -o /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/2/5/6/dataset_256d374e-00c0-40ba-979b-0a65edd889e2.dat -p 1 -G guide.gff -C /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmplvw3jqqu/files/e/4/f/dataset_e4fa5924-6856-4ba9-97d7-99aa2b3cff62.dat -e -b ./special_de_output/sample1/ -f 0.15 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
-# StringTie version 2.1.1
+# stringtie /tmp/tmpgqe071sy/files/a/7/3/dataset_a739b50f-5870-4fab-becb-e667dfdfd00e.dat -o /tmp/tmpgqe071sy/files/8/3/6/dataset_8365f524-36d5-4bce-89dd-0c362b90be45.dat -p 1 -G guide.gff -C /tmp/tmpgqe071sy/files/3/9/6/dataset_39649d2b-5fe0-4cbe-8d5a-cd4c8b2663c9.dat -e -b ./special_de_output/sample1/ -f 0.15 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
+# StringTie version 2.1.7
 test_chromosome	StringTie	transcript	53	550	1000	+	.	gene_id "CUFF.1"; transcript_id "CUFF.1.1"; cov "45.241611"; FPKM "3314403.750000"; TPM "1000000.000000";
 test_chromosome	StringTie	exon	53	250	1000	+	.	gene_id "CUFF.1"; transcript_id "CUFF.1.1"; exon_number "1"; cov "49.237373";
-test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "CUFF.1"; transcript_id "CUFF.1.1"; exon_number "2"; cov "53.000000";
+test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "CUFF.1"; transcript_id "CUFF.1.1"; exon_number "2"; cov "53.000004";
 test_chromosome	StringTie	exon	501	550	1000	+	.	gene_id "CUFF.1"; transcript_id "CUFF.1.1"; exon_number "3"; cov "21.660000";
--- a/test-data/stringtie_out8.gtf	Tue Feb 25 18:07:47 2020 -0500
+++ b/test-data/stringtie_out8.gtf	Sat Sep 25 18:20:22 2021 +0000
@@ -1,6 +1,6 @@
-# stringtie /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmp6o9_xiyd/files/4/4/4/dataset_444ed4bd-2499-449b-b9d9-22d1704cea80.dat -o /private/var/folders/68/qbzdmjy16z56csxjly83cgy00000gn/T/tmp6o9_xiyd/files/d/5/e/dataset_d5e42756-7a1f-4cdc-8cc7-7b9cb62ffb3a.dat -p 1 -G guide.gff -b ./special_de_output/sample1/ -f 0.15 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
-# StringTie version 2.1.1
+# stringtie /tmp/tmpgqe071sy/files/d/e/8/dataset_de884427-d510-47bf-acb3-4375c0ce2337.dat -o /tmp/tmpgqe071sy/files/2/7/e/dataset_27e677d1-ed55-49db-bfb2-a38c2c6bf911.dat -p 1 -G guide.gff -b ./special_de_output/sample1/ -f 0.15 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
+# StringTie version 2.1.7
 test_chromosome	StringTie	transcript	53	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "45.241611"; FPKM "3314403.750000"; TPM "1000000.000000";
 test_chromosome	StringTie	exon	53	250	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "1"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "49.237373";
-test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "53.000000";
+test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "53.000004";
 test_chromosome	StringTie	exon	501	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "3"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "21.660000";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/stringtie_out9.gtf	Sat Sep 25 18:20:22 2021 +0000
@@ -0,0 +1,6 @@
+# stringtie /tmp/tmpgqe071sy/files/a/3/b/dataset_a3ba39e7-c812-41eb-a15c-e039ad42a33a.dat -o /tmp/tmpgqe071sy/files/7/4/7/dataset_74713e40-e879-4efa-b57e-f3d95a82284f.dat -p 1 -G guide.gff -b ./special_de_output/sample1/ -f 0.15 -m 200 -a 10 -j 1 -c 2 -g 50 -M 0.95
+# StringTie version 2.1.7
+test_chromosome	StringTie	transcript	53	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "45.241611"; FPKM "3314403.750000"; TPM "1000000.000000";
+test_chromosome	StringTie	exon	53	250	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "1"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "49.237373";
+test_chromosome	StringTie	exon	351	400	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "2"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "53.000004";
+test_chromosome	StringTie	exon	501	550	1000	+	.	gene_id "STRG.1"; transcript_id "STRG.1.1"; exon_number "3"; reference_id "CUFF.1.1"; ref_gene_id "CUFF.1"; cov "21.660000";