Repository 'aegean_canongff3'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/aegean_canongff3

Changeset 0:3f438bf5475d (2021-01-03)
Next changeset 1:c45c9dd066e2 (2024-02-11)
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/aegean commit e6c01517075cab35e620fe1bbdb5fd68e4d1359f"
added:
canongff3.xml
macros.xml
test-data/TAIR10_GFF3_alignment.gff
test-data/TAIR10_GFF3_genes.gff
test-data/TAIR9_GFF3_genes.gff
test-data/canon-output_test1.gff3
test-data/canon-output_test2.gff3
test-data/canon-output_test3.gff3
test-data/gaeval_output_test1.txt
test-data/gaeval_output_test2.txt
test-data/gaeval_output_test3.txt
test-data/locuspocus_genemap_test7.txt
test-data/locuspocus_genemap_test8.txt
test-data/locuspocus_lenght_test7.txt
test-data/locuspocus_lenght_test8.txt
test-data/locuspocus_output_test1.txt
test-data/locuspocus_output_test2.txt
test-data/locuspocus_output_test3.txt
test-data/locuspocus_output_test4.txt
test-data/locuspocus_output_test5.txt
test-data/locuspocus_output_test6.txt
test-data/locuspocus_output_test7.txt
test-data/locuspocus_output_test8.txt
test-data/locuspocus_transmap_test7.txt
test-data/locuspocus_transmap_test8.txt
test-data/parseval_output_test1.txt
test-data/parseval_output_test2.txt
test-data/parseval_output_test3.txt
test-data/parseval_output_test4.html
test-data/parseval_output_test5.html
test-data/parseval_output_test6.txt
b
diff -r 000000000000 -r 3f438bf5475d canongff3.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/canongff3.xml Sun Jan 03 14:58:31 2021 +0000
[
@@ -0,0 +1,82 @@
+<tool id='aegean_canongff3' name=' AEGeAn CanonGFF3' version='@TOOL_VERSION@' profile='20.01'>
+    <description> pre-process GFF3 files, removing all features not directly related to protein-coding genes</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <expand macro='xrefs'/>
+    <expand macro='edam_ontology'/>
+    <expand macro='requirements'/>
+    <version_command>canon-gff3 --version</version_command>
+    <command detect_errors='exit_code'>
+        <![CDATA[
+            canon-gff3 '$gff3file'
+            $infer
+            #if $source
+                -s '$source'
+            #end if
+            -o '$output'
+            ]]>
+    </command>
+    <inputs>
+        <param name='gff3file' type='data' format='gff3' label='GFF3 File'
+            help="GFF3 annotation file" multiple='true' />
+        <param argument='--infer' type='boolean'
+            truevalue='--infer' falsevalue=''
+            label='Infer gene feature for transcripts lacking it'            
+            help='For transcript features lacking an explicitly declared gene feature as a parent, create this feature on-they-fly'/>
+        <param argument='--source' type='text'
+            value='' optional='true' 
+            label='Reset the source of each feature'
+            help='Reset the source of each feature to the given value. Source keywords can be a program (e.g. RepeatMasker) or an organization (like TAIR)'>
+          <validator type="regex" message="Please only use letters, numbers or underscores in sample label">^[\w]+$</validator>
+        </param>
+    </inputs>
+    <outputs>
+        <data name='output' format='gff3' />
+    </outputs>
+    <tests>
+        <test>
+            <param name='gff3file' value='TAIR10_GFF3_genes.gff'/>
+            <output name='output' file='canon-output_test1.gff3'/>
+        </test>
+        <test>
+            <param name='gff3file' value='TAIR10_GFF3_genes.gff'/>
+            <param name='source' value='test_source'/>
+            <output name='output' file='canon-output_test2.gff3'/>
+        </test>
+        <test>
+            <param name='gff3file' value='TAIR10_GFF3_genes.gff'/>
+            <param name='infer' value='true'/>
+            <output name='output' file='canon-output_test3.gff3'/>
+        </test>
+    </tests>
+    <help>
+        <![CDATA[        
+.. class:: infomark
+            
+**Purpose**
+            
+CanonGFF3 is a program for pre-processing GFF3 data encoding canonical protein-coding genes. It will clean up a GFF3 file, removing all features not directly related to protein-coding genes and inferring features that are not explicitly declared, such as inrons and UTRs. Under the hood, CanonGFF3 essentially applies the same procedure used by ParsEval when it inspects its GFF3 input.
+            
+-----
+            
+.. class:: infomark
+            
+**Input**
+            
+Input for CanonGFF3 is one or more files in GFF3 forma. Aside from compliance to GFF3 syntax, CanonGFF3 requires only that protein coding genes be described in enough detail that the entire gene structure can be interpreted. 
+            
+For example, one common convention is to use exon and CDS features to describe the structure. No intron, UTR, or start/stop features are explicitly provided, but these can be inferred from the other features. An alternative convention is to only declare exon and start & stop codon features, which requires the introns, UTRs, and CDS to be inferred. CanonGFF3 is pretty flexible in its handling of these various conventions, assuming the gene structure is described in sufficient detail.
+            
+-----
+            
+.. class:: infomark
+            
+**Output**
+            
+CanonGFF3 output is a GFF3 file containing protein-coding genes from the provided input file(s).
+            
+]]>
+    </help>
+    <expand macro='citations'/>
+</tool>
b
diff -r 000000000000 -r 3f438bf5475d macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,36 @@
+<macros>
+    <xml name="edam_ontology">
+        <edam_topics>
+            <edam_topic>topic_3511</edam_topic>
+        </edam_topics>
+        <edam_operations>
+            <edam_operation>operation_0362</edam_operation>
+        </edam_operations>
+    </xml>
+    <xml name="xrefs">
+      <xrefs>
+        <xref type='bio.tools'>gaeval</xref>
+      </xrefs>
+    </xml>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="0.16.0">aegean</requirement>
+        </requirements>
+    </xml>
+    <xml name="citations">
+        <citations>
+            <citation type="bibtex">                                                                   
+                @misc{githubAEGeAn,                                                                   
+                author = {Standage, Daniel S.},                                                    
+                year = {2015},                                                                 
+                title = {AEGeAn},                                                        
+                publisher = {GitHub},
+                journal = {GitHub repository},                                               
+                url = {https://github.com/BrendelGroup/AEGeAn},                        
+                }                                                                    
+            </citation>
+        </citations>
+    </xml>
+    <token name="@TOOL_VERSION@">0.16.0</token>
+
+</macros>   
b
diff -r 000000000000 -r 3f438bf5475d test-data/TAIR10_GFF3_alignment.gff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/TAIR10_GFF3_alignment.gff Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,100 @@
+##gff-version 3
+##sequence-region   4 4174 18579887
+##sequence-region   Pt 11940 153877
+##sequence-region   3 9604 23458280
+##sequence-region   Mt 11727 332944
+##sequence-region   2 1089 19696461
+##sequence-region   1 3915 30423724
+##sequence-region   5 1227 26970443
+Pt . BED_feature 11940 12653 0 + . Name=region_0
+Pt . BED_feature 21863 22652 0 + . Name=region_1
+Pt . BED_feature 47925 48082 0 + . Name=region_2
+Pt . BED_feature 70139 70652 0 + . Name=region_3
+Pt . BED_feature 70946 71811 0 + . Name=region_4
+Pt . BED_feature 74848 75650 0 + . Name=region_5
+Pt . BED_feature 76490 77197 0 + . Name=region_6
+Pt . BED_feature 81589 82643 0 + . Name=region_7
+Pt . BED_feature 84773 85453 0 + . Name=region_8
+Pt . BED_feature 95704 96387 0 + . Name=region_9
+Pt . BED_feature 98026 98561 0 + . Name=region_10
+Pt . BED_feature 102404 136227 0 + . Name=region_11
+Pt . BED_feature 104306 105441 0 + . Name=region_12
+Pt . BED_feature 106980 131646 0 + . Name=region_13
+Pt . BED_feature 107004 131670 0 + . Name=region_14
+Pt . BED_feature 120378 121456 0 + . Name=region_15
+Pt . BED_feature 133209 134344 0 + . Name=region_16
+Pt . BED_feature 140089 140624 0 + . Name=region_17
+Pt . BED_feature 142263 142946 0 + . Name=region_18
+Pt . BED_feature 153197 153877 0 + . Name=region_19
+Mt . BED_feature 11727 188840 0 + . Name=region_20
+Mt . BED_feature 20719 21691 0 + . Name=region_21
+Mt . BED_feature 80134 81112 0 + . Name=region_22
+Mt . BED_feature 108929 108982 0 + . Name=region_23
+Mt . BED_feature 132215 133176 0 + . Name=region_24
+Mt . BED_feature 136074 137891 0 + . Name=region_25
+Mt . BED_feature 141941 142768 0 + . Name=region_26
+Mt . BED_feature 143479 146989 0 + . Name=region_27
+Mt . BED_feature 162155 163624 0 + . Name=region_28
+Mt . BED_feature 239003 260663 0 + . Name=region_29
+Mt . BED_feature 242068 260713 0 + . Name=region_30
+Mt . BED_feature 288110 289002 0 + . Name=region_31
+Mt . BED_feature 328080 329734 0 + . Name=region_32
+Mt . BED_feature 330308 332944 0 + . Name=region_33
+4 . BED_feature 4174 4264 0 + . Name=region_34
+4 . BED_feature 4440 4544 0 + . Name=region_35
+4 . BED_feature 4751 4838 0 + . Name=region_36
+4 . BED_feature 4903 4976 0 + . Name=region_37
+4 . BED_feature 5121 5405 0 + . Name=region_38
+4 . BED_feature 5590 5656 0 + . Name=region_39
+4 . BED_feature 5857 6604 0 + . Name=region_40
+4 . BED_feature 6678 6759 0 + . Name=region_41
+4 . BED_feature 6873 6974 0 + . Name=region_42
+4 . BED_feature 7058 7143 0 + . Name=region_43
+4 . BED_feature 7196 7293 0 + . Name=region_44
+4 . BED_feature 7640 7711 0 + . Name=region_45
+4 . BED_feature 7836 8000 0 + . Name=region_46
+4 . BED_feature 8157 8243 0 + . Name=region_47
+4 . BED_feature 8370 8462 0 + . Name=region_48
+4 . BED_feature 9439 9685 0 + . Name=region_49
+4 . BED_feature 9849 9981 0 + . Name=region_50
+4 . BED_feature 10127 10210 0 + . Name=region_51
+4 . BED_feature 11794 11896 0 + . Name=region_52
+4 . BED_feature 12018 12130 0 + . Name=region_53
+4 . BED_feature 12181 12261 0 + . Name=region_54
+4 . BED_feature 12442 12572 0 + . Name=region_55
+4 . BED_feature 12708 12790 0 + . Name=region_56
+4 . BED_feature 12811 12923 0 + . Name=region_57
+4 . BED_feature 12961 13171 0 + . Name=region_58
+4 . BED_feature 14030 14113 0 + . Name=region_59
+4 . BED_feature 14181 14257 0 + . Name=region_60
+4 . BED_feature 14835 14920 0 + . Name=region_61
+4 . BED_feature 17956 18029 0 + . Name=region_62
+4 . BED_feature 18515 18599 0 + . Name=region_63
+4 . BED_feature 18694 18804 0 + . Name=region_64
+4 . BED_feature 18872 19295 0 + . Name=region_65
+4 . BED_feature 18872 19323 0 + . Name=region_66
+4 . BED_feature 19675 19761 0 + . Name=region_67
+4 . BED_feature 22299 22686 0 + . Name=region_68
+4 . BED_feature 23201 23273 0 + . Name=region_69
+4 . BED_feature 23386 23457 0 + . Name=region_70
+4 . BED_feature 23386 23461 0 + . Name=region_71
+4 . BED_feature 23386 23470 0 + . Name=region_72
+4 . BED_feature 25220 25293 0 + . Name=region_73
+4 . BED_feature 25412 25558 0 + . Name=region_74
+4 . BED_feature 25681 25817 0 + . Name=region_75
+4 . BED_feature 25743 25817 0 + . Name=region_76
+4 . BED_feature 25882 26338 0 + . Name=region_77
+4 . BED_feature 26412 26500 0 + . Name=region_78
+4 . BED_feature 26754 26868 0 + . Name=region_79
+4 . BED_feature 26754 26883 0 + . Name=region_80
+4 . BED_feature 27005 27218 0 + . Name=region_81
+4 . BED_feature 27005 27245 0 + . Name=region_82
+4 . BED_feature 27010 27218 0 + . Name=region_83
+4 . BED_feature 27280 27382 0 + . Name=region_84
+4 . BED_feature 27425 27521 0 + . Name=region_85
+4 . BED_feature 27601 27687 0 + . Name=region_86
+4 . BED_feature 27774 27867 0 + . Name=region_87
+4 . BED_feature 28021 28155 0 + . Name=region_88
+4 . BED_feature 28078 28155 0 + . Name=region_89
+4 . BED_feature 28283 28372 0 + . Name=region_90
+4 . BED_feature 28283 28398 0 + . Name=region_91
b
diff -r 000000000000 -r 3f438bf5475d test-data/TAIR10_GFF3_genes.gff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/TAIR10_GFF3_genes.gff Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,100 @@
+Chr1 TAIR10 chromosome 1 30427671 . . . ID=Chr1;Name=Chr1
+Chr1 TAIR10 gene 3631 5899 . + . ID=AT1G01010;Note=protein_coding_gene;Name=AT1G01010
+Chr1 TAIR10 mRNA 3631 5899 . + . ID=AT1G01010.1;Parent=AT1G01010;Name=AT1G01010.1;Index=1
+Chr1 TAIR10 protein 3760 5630 . + . ID=AT1G01010.1-Protein;Name=AT1G01010.1;Derives_from=AT1G01010.1
+Chr1 TAIR10 exon 3631 3913 . + . Parent=AT1G01010.1
+Chr1 TAIR10 five_prime_UTR 3631 3759 . + . Parent=AT1G01010.1
+Chr1 TAIR10 CDS 3760 3913 . + 0 Parent=AT1G01010.1,AT1G01010.1-Protein;
+Chr1 TAIR10 exon 3996 4276 . + . Parent=AT1G01010.1
+Chr1 TAIR10 CDS 3996 4276 . + 2 Parent=AT1G01010.1,AT1G01010.1-Protein;
+Chr1 TAIR10 exon 4486 4605 . + . Parent=AT1G01010.1
+Chr1 TAIR10 CDS 4486 4605 . + 0 Parent=AT1G01010.1,AT1G01010.1-Protein;
+Chr1 TAIR10 exon 4706 5095 . + . Parent=AT1G01010.1
+Chr1 TAIR10 CDS 4706 5095 . + 0 Parent=AT1G01010.1,AT1G01010.1-Protein;
+Chr1 TAIR10 exon 5174 5326 . + . Parent=AT1G01010.1
+Chr1 TAIR10 CDS 5174 5326 . + 0 Parent=AT1G01010.1,AT1G01010.1-Protein;
+Chr1 TAIR10 exon 5439 5899 . + . Parent=AT1G01010.1
+Chr1 TAIR10 CDS 5439 5630 . + 0 Parent=AT1G01010.1,AT1G01010.1-Protein;
+Chr1 TAIR10 three_prime_UTR 5631 5899 . + . Parent=AT1G01010.1
+Chr1 TAIR10 gene 5928 8737 . - . ID=AT1G01020;Note=protein_coding_gene;Name=AT1G01020
+Chr1 TAIR10 mRNA 5928 8737 . - . ID=AT1G01020.1;Parent=AT1G01020;Name=AT1G01020.1;Index=1
+Chr1 TAIR10 protein 6915 8666 . - . ID=AT1G01020.1-Protein;Name=AT1G01020.1;Derives_from=AT1G01020.1
+Chr1 TAIR10 five_prime_UTR 8667 8737 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 8571 8666 . - 0 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR10 exon 8571 8737 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 8417 8464 . - 0 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR10 exon 8417 8464 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 8236 8325 . - 0 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR10 exon 8236 8325 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 7942 7987 . - 0 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR10 exon 7942 7987 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 7762 7835 . - 2 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR10 exon 7762 7835 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 7564 7649 . - 0 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR10 exon 7564 7649 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 7384 7450 . - 1 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR10 exon 7384 7450 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 7157 7232 . - 0 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR10 exon 7157 7232 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 6915 7069 . - 2 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR10 three_prime_UTR 6437 6914 . - . Parent=AT1G01020.1
+Chr1 TAIR10 exon 6437 7069 . - . Parent=AT1G01020.1
+Chr1 TAIR10 three_prime_UTR 5928 6263 . - . Parent=AT1G01020.1
+Chr1 TAIR10 exon 5928 6263 . - . Parent=AT1G01020.1
+Chr1 TAIR10 mRNA 6790 8737 . - . ID=AT1G01020.2;Parent=AT1G01020;Name=AT1G01020.2;Index=1
+Chr1 TAIR10 protein 7315 8666 . - . ID=AT1G01020.2-Protein;Name=AT1G01020.2;Derives_from=AT1G01020.2
+Chr1 TAIR10 five_prime_UTR 8667 8737 . - . Parent=AT1G01020.2
+Chr1 TAIR10 CDS 8571 8666 . - 0 Parent=AT1G01020.2,AT1G01020.2-Protein;
+Chr1 TAIR10 exon 8571 8737 . - . Parent=AT1G01020.2
+Chr1 TAIR10 CDS 8417 8464 . - 0 Parent=AT1G01020.2,AT1G01020.2-Protein;
+Chr1 TAIR10 exon 8417 8464 . - . Parent=AT1G01020.2
+Chr1 TAIR10 CDS 8236 8325 . - 0 Parent=AT1G01020.2,AT1G01020.2-Protein;
+Chr1 TAIR10 exon 8236 8325 . - . Parent=AT1G01020.2
+Chr1 TAIR10 CDS 7942 7987 . - 0 Parent=AT1G01020.2,AT1G01020.2-Protein;
+Chr1 TAIR10 exon 7942 7987 . - . Parent=AT1G01020.2
+Chr1 TAIR10 CDS 7762 7835 . - 2 Parent=AT1G01020.2,AT1G01020.2-Protein;
+Chr1 TAIR10 exon 7762 7835 . - . Parent=AT1G01020.2
+Chr1 TAIR10 CDS 7564 7649 . - 0 Parent=AT1G01020.2,AT1G01020.2-Protein;
+Chr1 TAIR10 exon 7564 7649 . - . Parent=AT1G01020.2
+Chr1 TAIR10 CDS 7315 7450 . - 1 Parent=AT1G01020.2,AT1G01020.2-Protein;
+Chr1 TAIR10 three_prime_UTR 7157 7314 . - . Parent=AT1G01020.2
+Chr1 TAIR10 exon 7157 7450 . - . Parent=AT1G01020.2
+Chr1 TAIR10 three_prime_UTR 6790 7069 . - . Parent=AT1G01020.2
+Chr1 TAIR10 exon 6790 7069 . - . Parent=AT1G01020.2
+Chr1 TAIR10 gene 11649 13714 . - . ID=AT1G01030;Note=protein_coding_gene;Name=AT1G01030
+Chr1 TAIR10 mRNA 11649 13714 . - . ID=AT1G01030.1;Parent=AT1G01030;Name=AT1G01030.1;Index=1
+Chr1 TAIR10 protein 11864 12940 . - . ID=AT1G01030.1-Protein;Name=AT1G01030.1;Derives_from=AT1G01030.1
+Chr1 TAIR10 five_prime_UTR 13335 13714 . - . Parent=AT1G01030.1
+Chr1 TAIR10 exon 13335 13714 . - . Parent=AT1G01030.1
+Chr1 TAIR10 five_prime_UTR 12941 13173 . - . Parent=AT1G01030.1
+Chr1 TAIR10 CDS 11864 12940 . - 0 Parent=AT1G01030.1,AT1G01030.1-Protein;
+Chr1 TAIR10 three_prime_UTR 11649 11863 . - . Parent=AT1G01030.1
+Chr1 TAIR10 exon 11649 13173 . - . Parent=AT1G01030.1
+Chr1 TAIR10 gene 23146 31227 . + . ID=AT1G01040;Note=protein_coding_gene;Name=AT1G01040
+Chr1 TAIR10 mRNA 23146 31227 . + . ID=AT1G01040.1;Parent=AT1G01040;Name=AT1G01040.1;Index=1
+Chr1 TAIR10 protein 23519 31079 . + . ID=AT1G01040.1-Protein;Name=AT1G01040.1;Derives_from=AT1G01040.1
+Chr1 TAIR10 exon 23146 24451 . + . Parent=AT1G01040.1
+Chr1 TAIR10 five_prime_UTR 23146 23518 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 23519 24451 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR10 exon 24542 24655 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 24542 24655 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR10 exon 24752 24962 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 24752 24962 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR10 exon 25041 25435 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 25041 25435 . + 2 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR10 exon 25524 25743 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 25524 25743 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR10 exon 25825 25997 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 25825 25997 . + 2 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR10 exon 26081 26203 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 26081 26203 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR10 exon 26292 26452 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 26292 26452 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR10 exon 26543 26776 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 26543 26776 . + 1 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR10 exon 26862 27012 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 26862 27012 . + 1 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR10 exon 27099 27281 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 27099 27281 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR10 exon 27372 27533 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 27372 27533 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
b
diff -r 000000000000 -r 3f438bf5475d test-data/TAIR9_GFF3_genes.gff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/TAIR9_GFF3_genes.gff Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,100 @@
+Chr1 TAIR9 chromosome 1 30427671 . . . ID=Chr1;Name=Chr1
+Chr1 TAIR9 gene 3631 5899 . + . ID=AT1G01010;Note=protein_coding_gene;Name=AT1G01010
+Chr1 TAIR9 mRNA 3631 5899 . + . ID=AT1G01010.1;Parent=AT1G01010;Name=AT1G01010.1;Index=1
+Chr1 TAIR9 protein 3760 5630 . + . ID=AT1G01010.1-Protein;Name=AT1G01010.1;Derives_from=AT1G01010.1
+Chr1 TAIR9 exon 3631 3913 . + . Parent=AT1G01010.1
+Chr1 TAIR9 five_prime_UTR 3631 3759 . + . Parent=AT1G01010.1
+Chr1 TAIR9 CDS 3760 3913 . + 0 Parent=AT1G01010.1,AT1G01010.1-Protein;
+Chr1 TAIR9 exon 3996 4276 . + . Parent=AT1G01010.1
+Chr1 TAIR9 CDS 3996 4276 . + 2 Parent=AT1G01010.1,AT1G01010.1-Protein;
+Chr1 TAIR9 exon 4486 4605 . + . Parent=AT1G01010.1
+Chr1 TAIR9 CDS 4486 4605 . + 0 Parent=AT1G01010.1,AT1G01010.1-Protein;
+Chr1 TAIR9 exon 4706 5095 . + . Parent=AT1G01010.1
+Chr1 TAIR9 CDS 4706 5095 . + 0 Parent=AT1G01010.1,AT1G01010.1-Protein;
+Chr1 TAIR9 exon 5174 5326 . + . Parent=AT1G01010.1
+Chr1 TAIR9 CDS 5174 5326 . + 0 Parent=AT1G01010.1,AT1G01010.1-Protein;
+Chr1 TAIR9 exon 5439 5899 . + . Parent=AT1G01010.1
+Chr1 TAIR9 CDS 5439 5630 . + 0 Parent=AT1G01010.1,AT1G01010.1-Protein;
+Chr1 TAIR9 three_prime_UTR 5631 5899 . + . Parent=AT1G01010.1
+Chr1 TAIR9 gene 5928 8737 . - . ID=AT1G01020;Note=protein_coding_gene;Name=AT1G01020
+Chr1 TAIR9 mRNA 5928 8737 . - . ID=AT1G01020.1;Parent=AT1G01020;Name=AT1G01020.1;Index=1
+Chr1 TAIR9 protein 6915 8666 . - . ID=AT1G01020.1-Protein;Name=AT1G01020.1;Derives_from=AT1G01020.1
+Chr1 TAIR9 five_prime_UTR 8667 8737 . - . Parent=AT1G01020.1
+Chr1 TAIR9 CDS 8571 8666 . - 0 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR9 exon 8571 8737 . - . Parent=AT1G01020.1
+Chr1 TAIR9 CDS 8417 8464 . - 0 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR9 exon 8417 8464 . - . Parent=AT1G01020.1
+Chr1 TAIR9 CDS 8236 8325 . - 0 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR9 exon 8236 8325 . - . Parent=AT1G01020.1
+Chr1 TAIR9 CDS 7942 7987 . - 0 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR9 exon 7942 7987 . - . Parent=AT1G01020.1
+Chr1 TAIR9 CDS 7762 7835 . - 2 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR9 exon 7762 7835 . - . Parent=AT1G01020.1
+Chr1 TAIR9 CDS 7564 7649 . - 0 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR9 exon 7564 7649 . - . Parent=AT1G01020.1
+Chr1 TAIR9 CDS 7384 7450 . - 1 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR9 exon 7384 7450 . - . Parent=AT1G01020.1
+Chr1 TAIR9 CDS 7157 7232 . - 0 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR9 exon 7157 7232 . - . Parent=AT1G01020.1
+Chr1 TAIR9 CDS 6915 7069 . - 2 Parent=AT1G01020.1,AT1G01020.1-Protein;
+Chr1 TAIR9 three_prime_UTR 6437 6914 . - . Parent=AT1G01020.1
+Chr1 TAIR9 exon 6437 7069 . - . Parent=AT1G01020.1
+Chr1 TAIR9 three_prime_UTR 5928 6263 . - . Parent=AT1G01020.1
+Chr1 TAIR9 exon 5928 6263 . - . Parent=AT1G01020.1
+Chr1 TAIR9 mRNA 6790 8737 . - . ID=AT1G01020.2;Parent=AT1G01020;Name=AT1G01020.2;Index=1
+Chr1 TAIR9 protein 7315 8666 . - . ID=AT1G01020.2-Protein;Name=AT1G01020.2;Derives_from=AT1G01020.2
+Chr1 TAIR9 five_prime_UTR 8667 8737 . - . Parent=AT1G01020.2
+Chr1 TAIR9 CDS 8571 8666 . - 0 Parent=AT1G01020.2,AT1G01020.2-Protein;
+Chr1 TAIR9 exon 8571 8737 . - . Parent=AT1G01020.2
+Chr1 TAIR9 CDS 8417 8464 . - 0 Parent=AT1G01020.2,AT1G01020.2-Protein;
+Chr1 TAIR9 exon 8417 8464 . - . Parent=AT1G01020.2
+Chr1 TAIR9 CDS 8236 8325 . - 0 Parent=AT1G01020.2,AT1G01020.2-Protein;
+Chr1 TAIR9 exon 8236 8325 . - . Parent=AT1G01020.2
+Chr1 TAIR9 CDS 7942 7987 . - 0 Parent=AT1G01020.2,AT1G01020.2-Protein;
+Chr1 TAIR9 exon 7942 7987 . - . Parent=AT1G01020.2
+Chr1 TAIR9 CDS 7762 7835 . - 2 Parent=AT1G01020.2,AT1G01020.2-Protein;
+Chr1 TAIR9 exon 7762 7835 . - . Parent=AT1G01020.2
+Chr1 TAIR9 CDS 7564 7649 . - 0 Parent=AT1G01020.2,AT1G01020.2-Protein;
+Chr1 TAIR9 exon 7564 7649 . - . Parent=AT1G01020.2
+Chr1 TAIR9 CDS 7315 7450 . - 1 Parent=AT1G01020.2,AT1G01020.2-Protein;
+Chr1 TAIR9 three_prime_UTR 7157 7314 . - . Parent=AT1G01020.2
+Chr1 TAIR9 exon 7157 7450 . - . Parent=AT1G01020.2
+Chr1 TAIR9 three_prime_UTR 6790 7069 . - . Parent=AT1G01020.2
+Chr1 TAIR9 exon 6790 7069 . - . Parent=AT1G01020.2
+Chr1 TAIR9 gene 11649 13714 . - . ID=AT1G01030;Note=protein_coding_gene;Name=AT1G01030
+Chr1 TAIR9 mRNA 11649 13714 . - . ID=AT1G01030.1;Parent=AT1G01030;Name=AT1G01030.1;Index=1
+Chr1 TAIR9 protein 11864 12940 . - . ID=AT1G01030.1-Protein;Name=AT1G01030.1;Derives_from=AT1G01030.1
+Chr1 TAIR9 five_prime_UTR 13335 13714 . - . Parent=AT1G01030.1
+Chr1 TAIR9 exon 13335 13714 . - . Parent=AT1G01030.1
+Chr1 TAIR9 five_prime_UTR 12941 13173 . - . Parent=AT1G01030.1
+Chr1 TAIR9 CDS 11864 12940 . - 0 Parent=AT1G01030.1,AT1G01030.1-Protein;
+Chr1 TAIR9 three_prime_UTR 11649 11863 . - . Parent=AT1G01030.1
+Chr1 TAIR9 exon 11649 13173 . - . Parent=AT1G01030.1
+Chr1 TAIR9 gene 23146 31227 . + . ID=AT1G01040;Note=protein_coding_gene;Name=AT1G01040
+Chr1 TAIR9 mRNA 23146 31227 . + . ID=AT1G01040.1;Parent=AT1G01040;Name=AT1G01040.1;Index=1
+Chr1 TAIR9 protein 23519 31079 . + . ID=AT1G01040.1-Protein;Name=AT1G01040.1;Derives_from=AT1G01040.1
+Chr1 TAIR9 exon 23146 24451 . + . Parent=AT1G01040.1
+Chr1 TAIR9 five_prime_UTR 23146 23518 . + . Parent=AT1G01040.1
+Chr1 TAIR9 CDS 23519 24451 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR9 exon 24542 24655 . + . Parent=AT1G01040.1
+Chr1 TAIR9 CDS 24542 24655 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR9 exon 24752 24962 . + . Parent=AT1G01040.1
+Chr1 TAIR9 CDS 24752 24962 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR9 exon 25041 25435 . + . Parent=AT1G01040.1
+Chr1 TAIR9 CDS 25041 25435 . + 2 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR9 exon 25524 25743 . + . Parent=AT1G01040.1
+Chr1 TAIR9 CDS 25524 25743 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR9 exon 25825 25997 . + . Parent=AT1G01040.1
+Chr1 TAIR9 CDS 25825 25997 . + 2 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR9 exon 26081 26203 . + . Parent=AT1G01040.1
+Chr1 TAIR9 CDS 26081 26203 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR9 exon 26292 26452 . + . Parent=AT1G01040.1
+Chr1 TAIR9 CDS 26292 26452 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR9 exon 26543 26776 . + . Parent=AT1G01040.1
+Chr1 TAIR9 CDS 26543 26776 . + 1 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR9 exon 26862 27012 . + . Parent=AT1G01040.1
+Chr1 TAIR9 CDS 26862 27012 . + 1 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR9 exon 27099 27281 . + . Parent=AT1G01040.1
+Chr1 TAIR9 CDS 27099 27281 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
+Chr1 TAIR9 exon 27372 27533 . + . Parent=AT1G01040.1
+Chr1 TAIR9 CDS 27372 27533 . + 0 Parent=AT1G01040.1,AT1G01040.1-Protein;
b
diff -r 000000000000 -r 3f438bf5475d test-data/canon-output_test1.gff3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/canon-output_test1.gff3 Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,136 @@
+##gff-version 3
+##sequence-region   Chr1 1 30427671
+Chr1 TAIR10 gene 3631 5899 . + . ID=AT1G01010;Note=protein_coding_gene;Name=AT1G01010
+Chr1 TAIR10 mRNA 3631 5899 . + . ID=AT1G01010.1;Parent=AT1G01010;Name=AT1G01010.1;index=1
+Chr1 TAIR10 five_prime_UTR 3631 3759 . + . Parent=AT1G01010.1
+Chr1 TAIR10 exon 3631 3913 . + . Parent=AT1G01010.1
+Chr1 . start_codon 3760 3762 . + . Parent=AT1G01010.1
+Chr1 TAIR10 CDS 3760 3913 . + 0 ID=CDS0;Parent=AT1G01010.1
+Chr1 . intron 3914 3995 . + . Parent=AT1G01010.1
+Chr1 TAIR10 exon 3996 4276 . + . Parent=AT1G01010.1
+Chr1 TAIR10 CDS 3996 4276 . + 2 ID=CDS0;Parent=AT1G01010.1
+Chr1 . intron 4277 4485 . + . Parent=AT1G01010.1
+Chr1 TAIR10 exon 4486 4605 . + . Parent=AT1G01010.1
+Chr1 TAIR10 CDS 4486 4605 . + 0 ID=CDS0;Parent=AT1G01010.1
+Chr1 . intron 4606 4705 . + . Parent=AT1G01010.1
+Chr1 TAIR10 exon 4706 5095 . + . Parent=AT1G01010.1
+Chr1 TAIR10 CDS 4706 5095 . + 0 ID=CDS0;Parent=AT1G01010.1
+Chr1 . intron 5096 5173 . + . Parent=AT1G01010.1
+Chr1 TAIR10 exon 5174 5326 . + . Parent=AT1G01010.1
+Chr1 TAIR10 CDS 5174 5326 . + 0 ID=CDS0;Parent=AT1G01010.1
+Chr1 . intron 5327 5438 . + . Parent=AT1G01010.1
+Chr1 TAIR10 CDS 5439 5630 . + 0 ID=CDS0;Parent=AT1G01010.1
+Chr1 TAIR10 exon 5439 5899 . + . Parent=AT1G01010.1
+Chr1 . stop_codon 5628 5630 . + . Parent=AT1G01010.1
+Chr1 TAIR10 three_prime_UTR 5631 5899 . + . Parent=AT1G01010.1
+###
+Chr1 TAIR10 gene 5928 8737 . - . ID=AT1G01020;Note=protein_coding_gene;Name=AT1G01020
+Chr1 TAIR10 mRNA 5928 8737 . - . ID=AT1G01020.1;Parent=AT1G01020;Name=AT1G01020.1;index=1
+Chr1 TAIR10 three_prime_UTR 5928 6263 . - . Parent=AT1G01020.1
+Chr1 TAIR10 exon 5928 6263 . - . Parent=AT1G01020.1
+Chr1 . intron 6264 6436 . - . Parent=AT1G01020.1
+Chr1 TAIR10 three_prime_UTR 6437 6914 . - . Parent=AT1G01020.1
+Chr1 TAIR10 exon 6437 7069 . - . Parent=AT1G01020.1
+Chr1 . stop_codon 6915 6917 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 6915 7069 . - 2 ID=CDS1;Parent=AT1G01020.1
+Chr1 TAIR10 CDS 7157 7232 . - 0 ID=CDS1;Parent=AT1G01020.1
+Chr1 TAIR10 exon 7157 7232 . - . Parent=AT1G01020.1
+Chr1 . intron 7233 7383 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 7384 7450 . - 1 ID=CDS1;Parent=AT1G01020.1
+Chr1 TAIR10 exon 7384 7450 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 7564 7649 . - 0 ID=CDS1;Parent=AT1G01020.1
+Chr1 TAIR10 exon 7564 7649 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 7762 7835 . - 2 ID=CDS1;Parent=AT1G01020.1
+Chr1 TAIR10 exon 7762 7835 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 7942 7987 . - 0 ID=CDS1;Parent=AT1G01020.1
+Chr1 TAIR10 exon 7942 7987 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 8236 8325 . - 0 ID=CDS1;Parent=AT1G01020.1
+Chr1 TAIR10 exon 8236 8325 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 8417 8464 . - 0 ID=CDS1;Parent=AT1G01020.1
+Chr1 TAIR10 exon 8417 8464 . - . Parent=AT1G01020.1
+Chr1 TAIR10 CDS 8571 8666 . - 0 ID=CDS1;Parent=AT1G01020.1
+Chr1 TAIR10 exon 8571 8737 . - . Parent=AT1G01020.1
+Chr1 . start_codon 8664 8666 . - . Parent=AT1G01020.1
+Chr1 TAIR10 five_prime_UTR 8667 8737 . - . Parent=AT1G01020.1
+Chr1 TAIR10 mRNA 6790 8737 . - . ID=AT1G01020.2;Parent=AT1G01020;Name=AT1G01020.2;index=1
+Chr1 TAIR10 three_prime_UTR 6790 7069 . - . Parent=AT1G01020.2
+Chr1 TAIR10 exon 6790 7069 . - . Parent=AT1G01020.2
+Chr1 . intron 7070 7156 . - . Parent=AT1G01020.1,AT1G01020.2
+Chr1 TAIR10 three_prime_UTR 7157 7314 . - . Parent=AT1G01020.2
+Chr1 TAIR10 exon 7157 7450 . - . Parent=AT1G01020.2
+Chr1 . stop_codon 7315 7317 . - . Parent=AT1G01020.2
+Chr1 TAIR10 CDS 7315 7450 . - 1 ID=CDS2;Parent=AT1G01020.2
+Chr1 . intron 7451 7563 . - . Parent=AT1G01020.1,AT1G01020.2
+Chr1 TAIR10 CDS 7564 7649 . - 0 ID=CDS2;Parent=AT1G01020.2
+Chr1 TAIR10 exon 7564 7649 . - . Parent=AT1G01020.2
+Chr1 . intron 7650 7761 . - . Parent=AT1G01020.1,AT1G01020.2
+Chr1 TAIR10 CDS 7762 7835 . - 2 ID=CDS2;Parent=AT1G01020.2
+Chr1 TAIR10 exon 7762 7835 . - . Parent=AT1G01020.2
+Chr1 . intron 7836 7941 . - . Parent=AT1G01020.1,AT1G01020.2
+Chr1 TAIR10 CDS 7942 7987 . - 0 ID=CDS2;Parent=AT1G01020.2
+Chr1 TAIR10 exon 7942 7987 . - . Parent=AT1G01020.2
+Chr1 . intron 7988 8235 . - . Parent=AT1G01020.1,AT1G01020.2
+Chr1 TAIR10 CDS 8236 8325 . - 0 ID=CDS2;Parent=AT1G01020.2
+Chr1 TAIR10 exon 8236 8325 . - . Parent=AT1G01020.2
+Chr1 . intron 8326 8416 . - . Parent=AT1G01020.1,AT1G01020.2
+Chr1 TAIR10 CDS 8417 8464 . - 0 ID=CDS2;Parent=AT1G01020.2
+Chr1 TAIR10 exon 8417 8464 . - . Parent=AT1G01020.2
+Chr1 . intron 8465 8570 . - . Parent=AT1G01020.1,AT1G01020.2
+Chr1 TAIR10 CDS 8571 8666 . - 0 ID=CDS2;Parent=AT1G01020.2
+Chr1 TAIR10 exon 8571 8737 . - . Parent=AT1G01020.2
+Chr1 . start_codon 8664 8666 . - . Parent=AT1G01020.2
+Chr1 TAIR10 five_prime_UTR 8667 8737 . - . Parent=AT1G01020.2
+###
+Chr1 TAIR10 gene 11649 13714 . - . ID=AT1G01030;Note=protein_coding_gene;Name=AT1G01030
+Chr1 TAIR10 mRNA 11649 13714 . - . ID=AT1G01030.1;Parent=AT1G01030;Name=AT1G01030.1;index=1
+Chr1 TAIR10 three_prime_UTR 11649 11863 . - . Parent=AT1G01030.1
+Chr1 TAIR10 exon 11649 13173 . - . Parent=AT1G01030.1
+Chr1 . stop_codon 11864 11866 . - . Parent=AT1G01030.1
+Chr1 TAIR10 CDS 11864 12940 . - 0 Parent=AT1G01030.1
+Chr1 . start_codon 12938 12940 . - . Parent=AT1G01030.1
+Chr1 TAIR10 five_prime_UTR 12941 13173 . - . Parent=AT1G01030.1
+Chr1 . intron 13174 13334 . - . Parent=AT1G01030.1
+Chr1 TAIR10 five_prime_UTR 13335 13714 . - . Parent=AT1G01030.1
+Chr1 TAIR10 exon 13335 13714 . - . Parent=AT1G01030.1
+###
+Chr1 TAIR10 gene 23146 31227 . + . ID=AT1G01040;Note=protein_coding_gene;Name=AT1G01040
+Chr1 TAIR10 mRNA 23146 31227 . + . ID=AT1G01040.1;Parent=AT1G01040;Name=AT1G01040.1;index=1
+Chr1 TAIR10 five_prime_UTR 23146 23518 . + . Parent=AT1G01040.1
+Chr1 TAIR10 exon 23146 24451 . + . Parent=AT1G01040.1
+Chr1 . start_codon 23519 23521 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 23519 24451 . + 0 ID=CDS3;Parent=AT1G01040.1
+Chr1 . intron 24452 24541 . + . Parent=AT1G01040.1
+Chr1 TAIR10 exon 24542 24655 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 24542 24655 . + 0 ID=CDS3;Parent=AT1G01040.1
+Chr1 . intron 24656 24751 . + . Parent=AT1G01040.1
+Chr1 TAIR10 exon 24752 24962 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 24752 24962 . + 0 ID=CDS3;Parent=AT1G01040.1
+Chr1 . intron 24963 25040 . + . Parent=AT1G01040.1
+Chr1 TAIR10 exon 25041 25435 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 25041 25435 . + 2 ID=CDS3;Parent=AT1G01040.1
+Chr1 . intron 25436 25523 . + . Parent=AT1G01040.1
+Chr1 TAIR10 exon 25524 25743 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 25524 25743 . + 0 ID=CDS3;Parent=AT1G01040.1
+Chr1 . intron 25744 25824 . + . Parent=AT1G01040.1
+Chr1 TAIR10 exon 25825 25997 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 25825 25997 . + 2 ID=CDS3;Parent=AT1G01040.1
+Chr1 . intron 25998 26080 . + . Parent=AT1G01040.1
+Chr1 TAIR10 exon 26081 26203 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 26081 26203 . + 0 ID=CDS3;Parent=AT1G01040.1
+Chr1 . intron 26204 26291 . + . Parent=AT1G01040.1
+Chr1 TAIR10 exon 26292 26452 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 26292 26452 . + 0 ID=CDS3;Parent=AT1G01040.1
+Chr1 . intron 26453 26542 . + . Parent=AT1G01040.1
+Chr1 TAIR10 exon 26543 26776 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 26543 26776 . + 1 ID=CDS3;Parent=AT1G01040.1
+Chr1 . intron 26777 26861 . + . Parent=AT1G01040.1
+Chr1 TAIR10 exon 26862 27012 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 26862 27012 . + 1 ID=CDS3;Parent=AT1G01040.1
+Chr1 . intron 27013 27098 . + . Parent=AT1G01040.1
+Chr1 TAIR10 exon 27099 27281 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 27099 27281 . + 0 ID=CDS3;Parent=AT1G01040.1
+Chr1 . intron 27282 27371 . + . Parent=AT1G01040.1
+Chr1 TAIR10 exon 27372 27533 . + . Parent=AT1G01040.1
+Chr1 TAIR10 CDS 27372 27533 . + 0 ID=CDS3;Parent=AT1G01040.1
+Chr1 . stop_codon 27531 27533 . + . Parent=AT1G01040.1
+###
b
diff -r 000000000000 -r 3f438bf5475d test-data/canon-output_test2.gff3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/canon-output_test2.gff3 Sun Jan 03 14:58:31 2021 +0000
b
b'@@ -0,0 +1,136 @@\n+##gff-version 3\n+##sequence-region   Chr1 1 30427671\n+Chr1\ttest_source\tgene\t3631\t5899\t.\t+\t.\tID=AT1G01010;Note=protein_coding_gene;Name=AT1G01010\n+Chr1\ttest_source\tmRNA\t3631\t5899\t.\t+\t.\tID=AT1G01010.1;Parent=AT1G01010;Name=AT1G01010.1;index=1\n+Chr1\ttest_source\tfive_prime_UTR\t3631\t3759\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\ttest_source\texon\t3631\t3913\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\ttest_source\tstart_codon\t3760\t3762\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\ttest_source\tCDS\t3760\t3913\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\ttest_source\tintron\t3914\t3995\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\ttest_source\texon\t3996\t4276\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\ttest_source\tCDS\t3996\t4276\t.\t+\t2\tID=CDS0;Parent=AT1G01010.1\n+Chr1\ttest_source\tintron\t4277\t4485\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\ttest_source\texon\t4486\t4605\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\ttest_source\tCDS\t4486\t4605\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\ttest_source\tintron\t4606\t4705\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\ttest_source\texon\t4706\t5095\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\ttest_source\tCDS\t4706\t5095\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\ttest_source\tintron\t5096\t5173\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\ttest_source\texon\t5174\t5326\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\ttest_source\tCDS\t5174\t5326\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\ttest_source\tintron\t5327\t5438\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\ttest_source\tCDS\t5439\t5630\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\ttest_source\texon\t5439\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\ttest_source\tstop_codon\t5628\t5630\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\ttest_source\tthree_prime_UTR\t5631\t5899\t.\t+\t.\tParent=AT1G01010.1\n+###\n+Chr1\ttest_source\tgene\t5928\t8737\t.\t-\t.\tID=AT1G01020;Note=protein_coding_gene;Name=AT1G01020\n+Chr1\ttest_source\tmRNA\t5928\t8737\t.\t-\t.\tID=AT1G01020.1;Parent=AT1G01020;Name=AT1G01020.1;index=1\n+Chr1\ttest_source\tthree_prime_UTR\t5928\t6263\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\texon\t5928\t6263\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tintron\t6264\t6436\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tthree_prime_UTR\t6437\t6914\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\texon\t6437\t7069\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tstop_codon\t6915\t6917\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tCDS\t6915\t7069\t.\t-\t2\tID=CDS1;Parent=AT1G01020.1\n+Chr1\ttest_source\tCDS\t7157\t7232\t.\t-\t0\tID=CDS1;Parent=AT1G01020.1\n+Chr1\ttest_source\texon\t7157\t7232\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tintron\t7233\t7383\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tCDS\t7384\t7450\t.\t-\t1\tID=CDS1;Parent=AT1G01020.1\n+Chr1\ttest_source\texon\t7384\t7450\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tCDS\t7564\t7649\t.\t-\t0\tID=CDS1;Parent=AT1G01020.1\n+Chr1\ttest_source\texon\t7564\t7649\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tCDS\t7762\t7835\t.\t-\t2\tID=CDS1;Parent=AT1G01020.1\n+Chr1\ttest_source\texon\t7762\t7835\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tCDS\t7942\t7987\t.\t-\t0\tID=CDS1;Parent=AT1G01020.1\n+Chr1\ttest_source\texon\t7942\t7987\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tCDS\t8236\t8325\t.\t-\t0\tID=CDS1;Parent=AT1G01020.1\n+Chr1\ttest_source\texon\t8236\t8325\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tCDS\t8417\t8464\t.\t-\t0\tID=CDS1;Parent=AT1G01020.1\n+Chr1\ttest_source\texon\t8417\t8464\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tCDS\t8571\t8666\t.\t-\t0\tID=CDS1;Parent=AT1G01020.1\n+Chr1\ttest_source\texon\t8571\t8737\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tstart_codon\t8664\t8666\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tfive_prime_UTR\t8667\t8737\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\ttest_source\tmRNA\t6790\t8737\t.\t-\t.\tID=AT1G01020.2;Parent=AT1G01020;Name=AT1G01020.2;index=1\n+Chr1\ttest_source\tthree_prime_UTR\t6790\t7069\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\ttest_source\texon\t6790\t7069\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\ttest_source\tintron\t7070\t7156\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\ttest_source\tthree_prime_UTR\t7157\t7314\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\ttest_source\texon\t7157\t7450\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\ttest_source\tstop_codon\t7315\t7317\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\ttest_source\tCDS\t7315\t7450\t.\t-\t1\tID=CDS2;Parent=AT1G01020.2\n+Chr1\ttest_source\tintron\t7451\t7563\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2'..b'=CDS2;Parent=AT1G01020.2\n+Chr1\ttest_source\texon\t8236\t8325\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\ttest_source\tintron\t8326\t8416\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\ttest_source\tCDS\t8417\t8464\t.\t-\t0\tID=CDS2;Parent=AT1G01020.2\n+Chr1\ttest_source\texon\t8417\t8464\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\ttest_source\tintron\t8465\t8570\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\ttest_source\tCDS\t8571\t8666\t.\t-\t0\tID=CDS2;Parent=AT1G01020.2\n+Chr1\ttest_source\texon\t8571\t8737\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\ttest_source\tstart_codon\t8664\t8666\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\ttest_source\tfive_prime_UTR\t8667\t8737\t.\t-\t.\tParent=AT1G01020.2\n+###\n+Chr1\ttest_source\tgene\t11649\t13714\t.\t-\t.\tID=AT1G01030;Note=protein_coding_gene;Name=AT1G01030\n+Chr1\ttest_source\tmRNA\t11649\t13714\t.\t-\t.\tID=AT1G01030.1;Parent=AT1G01030;Name=AT1G01030.1;index=1\n+Chr1\ttest_source\tthree_prime_UTR\t11649\t11863\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\ttest_source\texon\t11649\t13173\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\ttest_source\tstop_codon\t11864\t11866\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\ttest_source\tCDS\t11864\t12940\t.\t-\t0\tParent=AT1G01030.1\n+Chr1\ttest_source\tstart_codon\t12938\t12940\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\ttest_source\tfive_prime_UTR\t12941\t13173\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\ttest_source\tintron\t13174\t13334\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\ttest_source\tfive_prime_UTR\t13335\t13714\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\ttest_source\texon\t13335\t13714\t.\t-\t.\tParent=AT1G01030.1\n+###\n+Chr1\ttest_source\tgene\t23146\t31227\t.\t+\t.\tID=AT1G01040;Note=protein_coding_gene;Name=AT1G01040\n+Chr1\ttest_source\tmRNA\t23146\t31227\t.\t+\t.\tID=AT1G01040.1;Parent=AT1G01040;Name=AT1G01040.1;index=1\n+Chr1\ttest_source\tfive_prime_UTR\t23146\t23518\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\texon\t23146\t24451\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\tstart_codon\t23519\t23521\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\tCDS\t23519\t24451\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1\n+Chr1\ttest_source\tintron\t24452\t24541\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\texon\t24542\t24655\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\tCDS\t24542\t24655\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1\n+Chr1\ttest_source\tintron\t24656\t24751\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\texon\t24752\t24962\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\tCDS\t24752\t24962\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1\n+Chr1\ttest_source\tintron\t24963\t25040\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\texon\t25041\t25435\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\tCDS\t25041\t25435\t.\t+\t2\tID=CDS3;Parent=AT1G01040.1\n+Chr1\ttest_source\tintron\t25436\t25523\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\texon\t25524\t25743\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\tCDS\t25524\t25743\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1\n+Chr1\ttest_source\tintron\t25744\t25824\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\texon\t25825\t25997\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\tCDS\t25825\t25997\t.\t+\t2\tID=CDS3;Parent=AT1G01040.1\n+Chr1\ttest_source\tintron\t25998\t26080\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\texon\t26081\t26203\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\tCDS\t26081\t26203\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1\n+Chr1\ttest_source\tintron\t26204\t26291\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\texon\t26292\t26452\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\tCDS\t26292\t26452\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1\n+Chr1\ttest_source\tintron\t26453\t26542\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\texon\t26543\t26776\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\tCDS\t26543\t26776\t.\t+\t1\tID=CDS3;Parent=AT1G01040.1\n+Chr1\ttest_source\tintron\t26777\t26861\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\texon\t26862\t27012\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\tCDS\t26862\t27012\t.\t+\t1\tID=CDS3;Parent=AT1G01040.1\n+Chr1\ttest_source\tintron\t27013\t27098\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\texon\t27099\t27281\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\tCDS\t27099\t27281\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1\n+Chr1\ttest_source\tintron\t27282\t27371\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\texon\t27372\t27533\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\ttest_source\tCDS\t27372\t27533\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1\n+Chr1\ttest_source\tstop_codon\t27531\t27533\t.\t+\t.\tParent=AT1G01040.1\n+###\n'
b
diff -r 000000000000 -r 3f438bf5475d test-data/canon-output_test3.gff3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/canon-output_test3.gff3 Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,136 @@
+##gff-version 3
+##sequence-region   Chr1 1 30427671
+Chr1 TAIR10 gene 3631 5899 . + . ID=gene1;Note=protein_coding_gene;Name=AT1G01010
+Chr1 TAIR10 mRNA 3631 5899 . + . ID=mRNA1;Parent=gene1;Name=AT1G01010.1;index=1
+Chr1 TAIR10 five_prime_UTR 3631 3759 . + . Parent=mRNA1
+Chr1 TAIR10 exon 3631 3913 . + . Parent=mRNA1
+Chr1 . start_codon 3760 3762 . + . Parent=mRNA1
+Chr1 TAIR10 CDS 3760 3913 . + 0 ID=CDS1;Parent=mRNA1
+Chr1 . intron 3914 3995 . + . Parent=mRNA1
+Chr1 TAIR10 exon 3996 4276 . + . Parent=mRNA1
+Chr1 TAIR10 CDS 3996 4276 . + 2 ID=CDS1;Parent=mRNA1
+Chr1 . intron 4277 4485 . + . Parent=mRNA1
+Chr1 TAIR10 exon 4486 4605 . + . Parent=mRNA1
+Chr1 TAIR10 CDS 4486 4605 . + 0 ID=CDS1;Parent=mRNA1
+Chr1 . intron 4606 4705 . + . Parent=mRNA1
+Chr1 TAIR10 exon 4706 5095 . + . Parent=mRNA1
+Chr1 TAIR10 CDS 4706 5095 . + 0 ID=CDS1;Parent=mRNA1
+Chr1 . intron 5096 5173 . + . Parent=mRNA1
+Chr1 TAIR10 exon 5174 5326 . + . Parent=mRNA1
+Chr1 TAIR10 CDS 5174 5326 . + 0 ID=CDS1;Parent=mRNA1
+Chr1 . intron 5327 5438 . + . Parent=mRNA1
+Chr1 TAIR10 CDS 5439 5630 . + 0 ID=CDS1;Parent=mRNA1
+Chr1 TAIR10 exon 5439 5899 . + . Parent=mRNA1
+Chr1 . stop_codon 5628 5630 . + . Parent=mRNA1
+Chr1 TAIR10 three_prime_UTR 5631 5899 . + . Parent=mRNA1
+###
+Chr1 TAIR10 gene 5928 8737 . - . ID=gene2;Note=protein_coding_gene;Name=AT1G01020
+Chr1 TAIR10 mRNA 5928 8737 . - . ID=mRNA2;Parent=gene2;Name=AT1G01020.1;index=1
+Chr1 TAIR10 three_prime_UTR 5928 6263 . - . Parent=mRNA2
+Chr1 TAIR10 exon 5928 6263 . - . Parent=mRNA2
+Chr1 . intron 6264 6436 . - . Parent=mRNA2
+Chr1 TAIR10 three_prime_UTR 6437 6914 . - . Parent=mRNA2
+Chr1 TAIR10 exon 6437 7069 . - . Parent=mRNA2
+Chr1 . stop_codon 6915 6917 . - . Parent=mRNA2
+Chr1 TAIR10 CDS 6915 7069 . - 2 ID=CDS2;Parent=mRNA2
+Chr1 TAIR10 CDS 7157 7232 . - 0 ID=CDS2;Parent=mRNA2
+Chr1 TAIR10 exon 7157 7232 . - . Parent=mRNA2
+Chr1 . intron 7233 7383 . - . Parent=mRNA2
+Chr1 TAIR10 CDS 7384 7450 . - 1 ID=CDS2;Parent=mRNA2
+Chr1 TAIR10 exon 7384 7450 . - . Parent=mRNA2
+Chr1 TAIR10 CDS 7564 7649 . - 0 ID=CDS2;Parent=mRNA2
+Chr1 TAIR10 exon 7564 7649 . - . Parent=mRNA2
+Chr1 TAIR10 CDS 7762 7835 . - 2 ID=CDS2;Parent=mRNA2
+Chr1 TAIR10 exon 7762 7835 . - . Parent=mRNA2
+Chr1 TAIR10 CDS 7942 7987 . - 0 ID=CDS2;Parent=mRNA2
+Chr1 TAIR10 exon 7942 7987 . - . Parent=mRNA2
+Chr1 TAIR10 CDS 8236 8325 . - 0 ID=CDS2;Parent=mRNA2
+Chr1 TAIR10 exon 8236 8325 . - . Parent=mRNA2
+Chr1 TAIR10 CDS 8417 8464 . - 0 ID=CDS2;Parent=mRNA2
+Chr1 TAIR10 exon 8417 8464 . - . Parent=mRNA2
+Chr1 TAIR10 CDS 8571 8666 . - 0 ID=CDS2;Parent=mRNA2
+Chr1 TAIR10 exon 8571 8737 . - . Parent=mRNA2
+Chr1 . start_codon 8664 8666 . - . Parent=mRNA2
+Chr1 TAIR10 five_prime_UTR 8667 8737 . - . Parent=mRNA2
+Chr1 TAIR10 mRNA 6790 8737 . - . ID=mRNA3;Parent=gene2;Name=AT1G01020.2;index=1
+Chr1 TAIR10 three_prime_UTR 6790 7069 . - . Parent=mRNA3
+Chr1 TAIR10 exon 6790 7069 . - . Parent=mRNA3
+Chr1 . intron 7070 7156 . - . Parent=mRNA2,mRNA3
+Chr1 TAIR10 three_prime_UTR 7157 7314 . - . Parent=mRNA3
+Chr1 TAIR10 exon 7157 7450 . - . Parent=mRNA3
+Chr1 . stop_codon 7315 7317 . - . Parent=mRNA3
+Chr1 TAIR10 CDS 7315 7450 . - 1 ID=CDS3;Parent=mRNA3
+Chr1 . intron 7451 7563 . - . Parent=mRNA2,mRNA3
+Chr1 TAIR10 CDS 7564 7649 . - 0 ID=CDS3;Parent=mRNA3
+Chr1 TAIR10 exon 7564 7649 . - . Parent=mRNA3
+Chr1 . intron 7650 7761 . - . Parent=mRNA2,mRNA3
+Chr1 TAIR10 CDS 7762 7835 . - 2 ID=CDS3;Parent=mRNA3
+Chr1 TAIR10 exon 7762 7835 . - . Parent=mRNA3
+Chr1 . intron 7836 7941 . - . Parent=mRNA2,mRNA3
+Chr1 TAIR10 CDS 7942 7987 . - 0 ID=CDS3;Parent=mRNA3
+Chr1 TAIR10 exon 7942 7987 . - . Parent=mRNA3
+Chr1 . intron 7988 8235 . - . Parent=mRNA2,mRNA3
+Chr1 TAIR10 CDS 8236 8325 . - 0 ID=CDS3;Parent=mRNA3
+Chr1 TAIR10 exon 8236 8325 . - . Parent=mRNA3
+Chr1 . intron 8326 8416 . - . Parent=mRNA2,mRNA3
+Chr1 TAIR10 CDS 8417 8464 . - 0 ID=CDS3;Parent=mRNA3
+Chr1 TAIR10 exon 8417 8464 . - . Parent=mRNA3
+Chr1 . intron 8465 8570 . - . Parent=mRNA2,mRNA3
+Chr1 TAIR10 CDS 8571 8666 . - 0 ID=CDS3;Parent=mRNA3
+Chr1 TAIR10 exon 8571 8737 . - . Parent=mRNA3
+Chr1 . start_codon 8664 8666 . - . Parent=mRNA3
+Chr1 TAIR10 five_prime_UTR 8667 8737 . - . Parent=mRNA3
+###
+Chr1 TAIR10 gene 11649 13714 . - . ID=gene3;Note=protein_coding_gene;Name=AT1G01030
+Chr1 TAIR10 mRNA 11649 13714 . - . ID=mRNA4;Parent=gene3;Name=AT1G01030.1;index=1
+Chr1 TAIR10 three_prime_UTR 11649 11863 . - . Parent=mRNA4
+Chr1 TAIR10 exon 11649 13173 . - . Parent=mRNA4
+Chr1 . stop_codon 11864 11866 . - . Parent=mRNA4
+Chr1 TAIR10 CDS 11864 12940 . - 0 Parent=mRNA4
+Chr1 . start_codon 12938 12940 . - . Parent=mRNA4
+Chr1 TAIR10 five_prime_UTR 12941 13173 . - . Parent=mRNA4
+Chr1 . intron 13174 13334 . - . Parent=mRNA4
+Chr1 TAIR10 five_prime_UTR 13335 13714 . - . Parent=mRNA4
+Chr1 TAIR10 exon 13335 13714 . - . Parent=mRNA4
+###
+Chr1 TAIR10 gene 23146 31227 . + . ID=gene4;Note=protein_coding_gene;Name=AT1G01040
+Chr1 TAIR10 mRNA 23146 31227 . + . ID=mRNA5;Parent=gene4;Name=AT1G01040.1;index=1
+Chr1 TAIR10 five_prime_UTR 23146 23518 . + . Parent=mRNA5
+Chr1 TAIR10 exon 23146 24451 . + . Parent=mRNA5
+Chr1 . start_codon 23519 23521 . + . Parent=mRNA5
+Chr1 TAIR10 CDS 23519 24451 . + 0 ID=CDS4;Parent=mRNA5
+Chr1 . intron 24452 24541 . + . Parent=mRNA5
+Chr1 TAIR10 exon 24542 24655 . + . Parent=mRNA5
+Chr1 TAIR10 CDS 24542 24655 . + 0 ID=CDS4;Parent=mRNA5
+Chr1 . intron 24656 24751 . + . Parent=mRNA5
+Chr1 TAIR10 exon 24752 24962 . + . Parent=mRNA5
+Chr1 TAIR10 CDS 24752 24962 . + 0 ID=CDS4;Parent=mRNA5
+Chr1 . intron 24963 25040 . + . Parent=mRNA5
+Chr1 TAIR10 exon 25041 25435 . + . Parent=mRNA5
+Chr1 TAIR10 CDS 25041 25435 . + 2 ID=CDS4;Parent=mRNA5
+Chr1 . intron 25436 25523 . + . Parent=mRNA5
+Chr1 TAIR10 exon 25524 25743 . + . Parent=mRNA5
+Chr1 TAIR10 CDS 25524 25743 . + 0 ID=CDS4;Parent=mRNA5
+Chr1 . intron 25744 25824 . + . Parent=mRNA5
+Chr1 TAIR10 exon 25825 25997 . + . Parent=mRNA5
+Chr1 TAIR10 CDS 25825 25997 . + 2 ID=CDS4;Parent=mRNA5
+Chr1 . intron 25998 26080 . + . Parent=mRNA5
+Chr1 TAIR10 exon 26081 26203 . + . Parent=mRNA5
+Chr1 TAIR10 CDS 26081 26203 . + 0 ID=CDS4;Parent=mRNA5
+Chr1 . intron 26204 26291 . + . Parent=mRNA5
+Chr1 TAIR10 exon 26292 26452 . + . Parent=mRNA5
+Chr1 TAIR10 CDS 26292 26452 . + 0 ID=CDS4;Parent=mRNA5
+Chr1 . intron 26453 26542 . + . Parent=mRNA5
+Chr1 TAIR10 exon 26543 26776 . + . Parent=mRNA5
+Chr1 TAIR10 CDS 26543 26776 . + 1 ID=CDS4;Parent=mRNA5
+Chr1 . intron 26777 26861 . + . Parent=mRNA5
+Chr1 TAIR10 exon 26862 27012 . + . Parent=mRNA5
+Chr1 TAIR10 CDS 26862 27012 . + 1 ID=CDS4;Parent=mRNA5
+Chr1 . intron 27013 27098 . + . Parent=mRNA5
+Chr1 TAIR10 exon 27099 27281 . + . Parent=mRNA5
+Chr1 TAIR10 CDS 27099 27281 . + 0 ID=CDS4;Parent=mRNA5
+Chr1 . intron 27282 27371 . + . Parent=mRNA5
+Chr1 TAIR10 exon 27372 27533 . + . Parent=mRNA5
+Chr1 TAIR10 CDS 27372 27533 . + 0 ID=CDS4;Parent=mRNA5
+Chr1 . stop_codon 27531 27533 . + . Parent=mRNA5
+###
b
diff -r 000000000000 -r 3f438bf5475d test-data/gaeval_output_test1.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/gaeval_output_test1.txt Sun Jan 03 14:58:31 2021 +0000
b
b'@@ -0,0 +1,143 @@\n+##gff-version 3\n+##sequence-region   Chr1 1 30427671\n+Chr1\tTAIR10\tchromosome\t1\t30427671\t.\t.\t.\tID=Chr1;Name=Chr1\n+###\n+Chr1\tTAIR10\tgene\t3631\t5899\t.\t+\t.\tID=AT1G01010;Note=protein_coding_gene;Name=AT1G01010\n+Chr1\tTAIR10\tmRNA\t3631\t5899\t.\t+\t.\tID=AT1G01010.1;Parent=AT1G01010;Name=AT1G01010.1;index=1;gaeval_coverage=0.000;gaeval_integrity=0.082\n+Chr1\tTAIR10\tfive_prime_UTR\t3631\t3759\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t3631\t3913\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tstart_codon\t3760\t3762\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t3914\t3995\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t3996\t4276\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t4277\t4485\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t4486\t4605\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t4606\t4705\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t4706\t5095\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t5096\t5173\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t5174\t5326\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t5327\t5438\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t5439\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t5628\t5630\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tthree_prime_UTR\t5631\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tprotein\t3760\t5630\t.\t+\t.\tID=AT1G01010.1-Protein;Name=AT1G01010.1;Derives_from=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t3760\t3913\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t3996\t4276\t.\t+\t2\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t4486\t4605\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t4706\t5095\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t5174\t5326\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t5439\t5630\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+###\n+Chr1\tTAIR10\tgene\t5928\t8737\t.\t-\t.\tID=AT1G01020;Note=protein_coding_gene;Name=AT1G01020\n+Chr1\tTAIR10\tmRNA\t5928\t8737\t.\t-\t.\tID=AT1G01020.1;Parent=AT1G01020;Name=AT1G01020.1;index=1;gaeval_coverage=0.000;gaeval_integrity=0.068\n+Chr1\tTAIR10\tthree_prime_UTR\t5928\t6263\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t5928\t6263\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t6264\t6436\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\tthree_prime_UTR\t6437\t6914\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t6437\t7069\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t6915\t6917\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7157\t7232\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t7233\t7383\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7384\t7450\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7564\t7649\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7762\t7835\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7942\t7987\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t8236\t8325\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t8417\t8464\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t8571\t8737\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tAEGeAn::GAEVAL\tstart_codon\t8664\t8666\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\tfive_prime_UTR\t8667\t8737\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\tmRNA\t6790\t8737\t.\t-\t.\tID=AT1G01020.2;Parent=AT1G01020;Name=AT1G01020.2;index=1;gaeval_coverage=0.000;gaeval_integrity=0.068\n+Chr1\tTAIR10\tthree_prime_UTR\t6790\t7069\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tTAIR10\texon\t6790\t7069\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7070\t7156\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\tTAIR10\tthree_prime_UTR\t7157\t7314\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tTAIR10\texon\t7157\t7450\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t7315\t7317\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7451\t7563\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\tTAIR10\texon\t7564\t7649\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7650\t7761\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\tTAIR10\texon\t7762\t7835\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7836\t7941\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\tTAIR10\texon\t7942\t7987\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7988\t8235\t.\t-\t.\tParent=AT1G01'..b'1020.2-Protein\n+Chr1\tTAIR10\tCDS\t8417\t8464\t.\t-\t0\tID=CDS2;Parent=AT1G01020.2,AT1G01020.2-Protein\n+Chr1\tTAIR10\tCDS\t8571\t8666\t.\t-\t0\tID=CDS2;Parent=AT1G01020.2,AT1G01020.2-Protein\n+###\n+Chr1\tTAIR10\tgene\t11649\t13714\t.\t-\t.\tID=AT1G01030;Note=protein_coding_gene;Name=AT1G01030\n+Chr1\tTAIR10\tmRNA\t11649\t13714\t.\t-\t.\tID=AT1G01030.1;Parent=AT1G01030;Name=AT1G01030.1;index=1;gaeval_coverage=0.000;gaeval_integrity=0.100\n+Chr1\tTAIR10\tthree_prime_UTR\t11649\t11863\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\texon\t11649\t13173\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t11864\t11866\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tAEGeAn::GAEVAL\tstart_codon\t12938\t12940\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\tfive_prime_UTR\t12941\t13173\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t13174\t13334\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\tfive_prime_UTR\t13335\t13714\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\texon\t13335\t13714\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\tprotein\t11864\t12940\t.\t-\t.\tID=AT1G01030.1-Protein;Name=AT1G01030.1;Derives_from=AT1G01030.1\n+Chr1\tTAIR10\tCDS\t11864\t12940\t.\t-\t0\tParent=AT1G01030.1,AT1G01030.1-Protein\n+###\n+Chr1\tTAIR10\tgene\t23146\t31227\t.\t+\t.\tID=AT1G01040;Note=protein_coding_gene;Name=AT1G01040\n+Chr1\tTAIR10\tmRNA\t23146\t31227\t.\t+\t.\tID=AT1G01040.1;Parent=AT1G01040;Name=AT1G01040.1;index=1;gaeval_coverage=0.000;gaeval_integrity=0.050\n+Chr1\tTAIR10\tfive_prime_UTR\t23146\t23518\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t23146\t24451\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tstart_codon\t23519\t23521\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t24452\t24541\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t24542\t24655\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t24656\t24751\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t24752\t24962\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t24963\t25040\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t25041\t25435\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t25436\t25523\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t25524\t25743\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t25744\t25824\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t25825\t25997\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t25998\t26080\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t26081\t26203\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t26204\t26291\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t26292\t26452\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t26453\t26542\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t26543\t26776\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t26777\t26861\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t26862\t27012\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t27013\t27098\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t27099\t27281\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t27282\t27371\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t27372\t27533\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t27531\t27533\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\tprotein\t23519\t31079\t.\t+\t.\tID=AT1G01040.1-Protein;Name=AT1G01040.1;Derives_from=AT1G01040.1\n+Chr1\tTAIR10\tCDS\t23519\t24451\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t24542\t24655\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t24752\t24962\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t25041\t25435\t.\t+\t2\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t25524\t25743\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t25825\t25997\t.\t+\t2\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t26081\t26203\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t26292\t26452\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t26543\t26776\t.\t+\t1\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t26862\t27012\t.\t+\t1\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t27099\t27281\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t27372\t27533\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+###\n'
b
diff -r 000000000000 -r 3f438bf5475d test-data/gaeval_output_test2.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/gaeval_output_test2.txt Sun Jan 03 14:58:31 2021 +0000
b
b'@@ -0,0 +1,143 @@\n+##gff-version 3\n+##sequence-region   Chr1 1 30427671\n+Chr1\tTAIR10\tchromosome\t1\t30427671\t.\t.\t.\tID=Chr1;Name=Chr1\n+###\n+Chr1\tTAIR10\tgene\t3631\t5899\t.\t+\t.\tID=AT1G01010;Note=protein_coding_gene;Name=AT1G01010\n+Chr1\tTAIR10\tmRNA\t3631\t5899\t.\t+\t.\tID=AT1G01010.1;Parent=AT1G01010;Name=AT1G01010.1;index=1;gaeval_coverage=0.000;gaeval_integrity=0.082\n+Chr1\tTAIR10\tfive_prime_UTR\t3631\t3759\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t3631\t3913\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tstart_codon\t3760\t3762\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t3914\t3995\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t3996\t4276\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t4277\t4485\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t4486\t4605\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t4606\t4705\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t4706\t5095\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t5096\t5173\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t5174\t5326\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t5327\t5438\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t5439\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t5628\t5630\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tthree_prime_UTR\t5631\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tprotein\t3760\t5630\t.\t+\t.\tID=AT1G01010.1-Protein;Name=AT1G01010.1;Derives_from=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t3760\t3913\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t3996\t4276\t.\t+\t2\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t4486\t4605\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t4706\t5095\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t5174\t5326\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t5439\t5630\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+###\n+Chr1\tTAIR10\tgene\t5928\t8737\t.\t-\t.\tID=AT1G01020;Note=protein_coding_gene;Name=AT1G01020\n+Chr1\tTAIR10\tmRNA\t5928\t8737\t.\t-\t.\tID=AT1G01020.1;Parent=AT1G01020;Name=AT1G01020.1;index=1;gaeval_coverage=0.000;gaeval_integrity=0.068\n+Chr1\tTAIR10\tthree_prime_UTR\t5928\t6263\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t5928\t6263\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t6264\t6436\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\tthree_prime_UTR\t6437\t6914\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t6437\t7069\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t6915\t6917\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7157\t7232\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t7233\t7383\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7384\t7450\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7564\t7649\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7762\t7835\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7942\t7987\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t8236\t8325\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t8417\t8464\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t8571\t8737\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tAEGeAn::GAEVAL\tstart_codon\t8664\t8666\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\tfive_prime_UTR\t8667\t8737\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\tmRNA\t6790\t8737\t.\t-\t.\tID=AT1G01020.2;Parent=AT1G01020;Name=AT1G01020.2;index=1;gaeval_coverage=0.000;gaeval_integrity=0.068\n+Chr1\tTAIR10\tthree_prime_UTR\t6790\t7069\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tTAIR10\texon\t6790\t7069\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7070\t7156\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\tTAIR10\tthree_prime_UTR\t7157\t7314\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tTAIR10\texon\t7157\t7450\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t7315\t7317\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7451\t7563\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\tTAIR10\texon\t7564\t7649\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7650\t7761\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\tTAIR10\texon\t7762\t7835\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7836\t7941\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\tTAIR10\texon\t7942\t7987\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7988\t8235\t.\t-\t.\tParent=AT1G01'..b'1020.2-Protein\n+Chr1\tTAIR10\tCDS\t8417\t8464\t.\t-\t0\tID=CDS2;Parent=AT1G01020.2,AT1G01020.2-Protein\n+Chr1\tTAIR10\tCDS\t8571\t8666\t.\t-\t0\tID=CDS2;Parent=AT1G01020.2,AT1G01020.2-Protein\n+###\n+Chr1\tTAIR10\tgene\t11649\t13714\t.\t-\t.\tID=AT1G01030;Note=protein_coding_gene;Name=AT1G01030\n+Chr1\tTAIR10\tmRNA\t11649\t13714\t.\t-\t.\tID=AT1G01030.1;Parent=AT1G01030;Name=AT1G01030.1;index=1;gaeval_coverage=0.000;gaeval_integrity=0.100\n+Chr1\tTAIR10\tthree_prime_UTR\t11649\t11863\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\texon\t11649\t13173\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t11864\t11866\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tAEGeAn::GAEVAL\tstart_codon\t12938\t12940\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\tfive_prime_UTR\t12941\t13173\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t13174\t13334\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\tfive_prime_UTR\t13335\t13714\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\texon\t13335\t13714\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\tprotein\t11864\t12940\t.\t-\t.\tID=AT1G01030.1-Protein;Name=AT1G01030.1;Derives_from=AT1G01030.1\n+Chr1\tTAIR10\tCDS\t11864\t12940\t.\t-\t0\tParent=AT1G01030.1,AT1G01030.1-Protein\n+###\n+Chr1\tTAIR10\tgene\t23146\t31227\t.\t+\t.\tID=AT1G01040;Note=protein_coding_gene;Name=AT1G01040\n+Chr1\tTAIR10\tmRNA\t23146\t31227\t.\t+\t.\tID=AT1G01040.1;Parent=AT1G01040;Name=AT1G01040.1;index=1;gaeval_coverage=0.000;gaeval_integrity=0.050\n+Chr1\tTAIR10\tfive_prime_UTR\t23146\t23518\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t23146\t24451\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tstart_codon\t23519\t23521\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t24452\t24541\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t24542\t24655\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t24656\t24751\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t24752\t24962\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t24963\t25040\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t25041\t25435\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t25436\t25523\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t25524\t25743\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t25744\t25824\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t25825\t25997\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t25998\t26080\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t26081\t26203\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t26204\t26291\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t26292\t26452\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t26453\t26542\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t26543\t26776\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t26777\t26861\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t26862\t27012\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t27013\t27098\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t27099\t27281\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t27282\t27371\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t27372\t27533\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t27531\t27533\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\tprotein\t23519\t31079\t.\t+\t.\tID=AT1G01040.1-Protein;Name=AT1G01040.1;Derives_from=AT1G01040.1\n+Chr1\tTAIR10\tCDS\t23519\t24451\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t24542\t24655\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t24752\t24962\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t25041\t25435\t.\t+\t2\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t25524\t25743\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t25825\t25997\t.\t+\t2\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t26081\t26203\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t26292\t26452\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t26543\t26776\t.\t+\t1\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t26862\t27012\t.\t+\t1\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t27099\t27281\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t27372\t27533\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+###\n'
b
diff -r 000000000000 -r 3f438bf5475d test-data/gaeval_output_test3.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/gaeval_output_test3.txt Sun Jan 03 14:58:31 2021 +0000
b
b'@@ -0,0 +1,143 @@\n+##gff-version 3\n+##sequence-region   Chr1 1 30427671\n+Chr1\tTAIR10\tchromosome\t1\t30427671\t.\t.\t.\tID=Chr1;Name=Chr1\n+###\n+Chr1\tTAIR10\tgene\t3631\t5899\t.\t+\t.\tID=AT1G01010;Note=protein_coding_gene;Name=AT1G01010\n+Chr1\tTAIR10\tmRNA\t3631\t5899\t.\t+\t.\tID=AT1G01010.1;Parent=AT1G01010;Name=AT1G01010.1;index=1;gaeval_coverage=0.000;gaeval_integrity=0.093\n+Chr1\tTAIR10\tfive_prime_UTR\t3631\t3759\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t3631\t3913\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tstart_codon\t3760\t3762\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t3914\t3995\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t3996\t4276\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t4277\t4485\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t4486\t4605\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t4606\t4705\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t4706\t5095\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t5096\t5173\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t5174\t5326\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t5327\t5438\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t5439\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t5628\t5630\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tthree_prime_UTR\t5631\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tprotein\t3760\t5630\t.\t+\t.\tID=AT1G01010.1-Protein;Name=AT1G01010.1;Derives_from=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t3760\t3913\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t3996\t4276\t.\t+\t2\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t4486\t4605\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t4706\t5095\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t5174\t5326\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+Chr1\tTAIR10\tCDS\t5439\t5630\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1,AT1G01010.1-Protein\n+###\n+Chr1\tTAIR10\tgene\t5928\t8737\t.\t-\t.\tID=AT1G01020;Note=protein_coding_gene;Name=AT1G01020\n+Chr1\tTAIR10\tmRNA\t5928\t8737\t.\t-\t.\tID=AT1G01020.1;Parent=AT1G01020;Name=AT1G01020.1;index=1;gaeval_coverage=0.000;gaeval_integrity=0.074\n+Chr1\tTAIR10\tthree_prime_UTR\t5928\t6263\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t5928\t6263\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t6264\t6436\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\tthree_prime_UTR\t6437\t6914\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t6437\t7069\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t6915\t6917\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7157\t7232\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t7233\t7383\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7384\t7450\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7564\t7649\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7762\t7835\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t7942\t7987\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t8236\t8325\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t8417\t8464\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\texon\t8571\t8737\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tAEGeAn::GAEVAL\tstart_codon\t8664\t8666\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\tfive_prime_UTR\t8667\t8737\t.\t-\t.\tParent=AT1G01020.1\n+Chr1\tTAIR10\tmRNA\t6790\t8737\t.\t-\t.\tID=AT1G01020.2;Parent=AT1G01020;Name=AT1G01020.2;index=1;gaeval_coverage=0.000;gaeval_integrity=0.074\n+Chr1\tTAIR10\tthree_prime_UTR\t6790\t7069\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tTAIR10\texon\t6790\t7069\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7070\t7156\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\tTAIR10\tthree_prime_UTR\t7157\t7314\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tTAIR10\texon\t7157\t7450\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t7315\t7317\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7451\t7563\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\tTAIR10\texon\t7564\t7649\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7650\t7761\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\tTAIR10\texon\t7762\t7835\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7836\t7941\t.\t-\t.\tParent=AT1G01020.1,AT1G01020.2\n+Chr1\tTAIR10\texon\t7942\t7987\t.\t-\t.\tParent=AT1G01020.2\n+Chr1\tAEGeAn::GAEVAL\tintron\t7988\t8235\t.\t-\t.\tParent=AT1G01'..b'1020.2-Protein\n+Chr1\tTAIR10\tCDS\t8417\t8464\t.\t-\t0\tID=CDS2;Parent=AT1G01020.2,AT1G01020.2-Protein\n+Chr1\tTAIR10\tCDS\t8571\t8666\t.\t-\t0\tID=CDS2;Parent=AT1G01020.2,AT1G01020.2-Protein\n+###\n+Chr1\tTAIR10\tgene\t11649\t13714\t.\t-\t.\tID=AT1G01030;Note=protein_coding_gene;Name=AT1G01030\n+Chr1\tTAIR10\tmRNA\t11649\t13714\t.\t-\t.\tID=AT1G01030.1;Parent=AT1G01030;Name=AT1G01030.1;index=1;gaeval_coverage=0.000;gaeval_integrity=0.100\n+Chr1\tTAIR10\tthree_prime_UTR\t11649\t11863\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\texon\t11649\t13173\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t11864\t11866\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tAEGeAn::GAEVAL\tstart_codon\t12938\t12940\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\tfive_prime_UTR\t12941\t13173\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t13174\t13334\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\tfive_prime_UTR\t13335\t13714\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\texon\t13335\t13714\t.\t-\t.\tParent=AT1G01030.1\n+Chr1\tTAIR10\tprotein\t11864\t12940\t.\t-\t.\tID=AT1G01030.1-Protein;Name=AT1G01030.1;Derives_from=AT1G01030.1\n+Chr1\tTAIR10\tCDS\t11864\t12940\t.\t-\t0\tParent=AT1G01030.1,AT1G01030.1-Protein\n+###\n+Chr1\tTAIR10\tgene\t23146\t31227\t.\t+\t.\tID=AT1G01040;Note=protein_coding_gene;Name=AT1G01040\n+Chr1\tTAIR10\tmRNA\t23146\t31227\t.\t+\t.\tID=AT1G01040.1;Parent=AT1G01040;Name=AT1G01040.1;index=1;gaeval_coverage=0.000;gaeval_integrity=0.050\n+Chr1\tTAIR10\tfive_prime_UTR\t23146\t23518\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t23146\t24451\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tstart_codon\t23519\t23521\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t24452\t24541\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t24542\t24655\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t24656\t24751\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t24752\t24962\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t24963\t25040\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t25041\t25435\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t25436\t25523\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t25524\t25743\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t25744\t25824\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t25825\t25997\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t25998\t26080\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t26081\t26203\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t26204\t26291\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t26292\t26452\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t26453\t26542\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t26543\t26776\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t26777\t26861\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t26862\t27012\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t27013\t27098\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t27099\t27281\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tintron\t27282\t27371\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\texon\t27372\t27533\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tAEGeAn::GAEVAL\tstop_codon\t27531\t27533\t.\t+\t.\tParent=AT1G01040.1\n+Chr1\tTAIR10\tprotein\t23519\t31079\t.\t+\t.\tID=AT1G01040.1-Protein;Name=AT1G01040.1;Derives_from=AT1G01040.1\n+Chr1\tTAIR10\tCDS\t23519\t24451\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t24542\t24655\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t24752\t24962\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t25041\t25435\t.\t+\t2\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t25524\t25743\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t25825\t25997\t.\t+\t2\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t26081\t26203\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t26292\t26452\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t26543\t26776\t.\t+\t1\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t26862\t27012\t.\t+\t1\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t27099\t27281\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+Chr1\tTAIR10\tCDS\t27372\t27533\t.\t+\t0\tID=CDS3;Parent=AT1G01040.1,AT1G01040.1-Protein\n+###\n'
b
diff -r 000000000000 -r 3f438bf5475d test-data/locuspocus_genemap_test7.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/locuspocus_genemap_test7.txt Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,4 @@
+AT1G01010 testXlu
+AT1G01020 testXlu
+AT1G01030 testXlu
+AT1G01040 testXlu
b
diff -r 000000000000 -r 3f438bf5475d test-data/locuspocus_genemap_test8.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/locuspocus_genemap_test8.txt Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,4 @@
+AT1G01010 locus:Chr1_3231-6299.
+AT1G01020 locus:Chr1_5528-9137.
+AT1G01030 locus:Chr1_11249-14114.
+AT1G01040 locus:Chr1_22746-31627.
b
diff -r 000000000000 -r 3f438bf5475d test-data/locuspocus_lenght_test7.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/locuspocus_lenght_test7.txt Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,3 @@
+Chr1 0
+Chr1 1911
+Chr1 8431
b
diff -r 000000000000 -r 3f438bf5475d test-data/locuspocus_lenght_test8.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/locuspocus_lenght_test8.txt Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,3 @@
+Chr1 0
+Chr1 2111
+Chr1 8631
b
diff -r 000000000000 -r 3f438bf5475d test-data/locuspocus_output_test1.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/locuspocus_output_test1.txt Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,10 @@
+##gff-version 3
+##sequence-region   Chr1 1 30427671
+Chr1 AEGeAn::LocusPocus locus 1 3130 . . . .
+Chr1 AEGeAn::LocusPocus locus 3131 6399 . . . child_gene=1;child_mRNA=1;right_overlap=972;iiLocus_exception=delta-overlap-gene;riil=0
+Chr1 AEGeAn::LocusPocus locus 5428 9237 . . . left_overlap=972;liil=0;child_gene=1;child_mRNA=2;riil=1911
+Chr1 AEGeAn::LocusPocus locus 9238 11148 . . . fg_orient=RR
+Chr1 AEGeAn::LocusPocus locus 11149 14214 . . . liil=1911;child_gene=1;child_mRNA=1;riil=8431
+Chr1 AEGeAn::LocusPocus locus 14215 22645 . . . fg_orient=RF
+Chr1 AEGeAn::LocusPocus locus 22646 31727 . . . liil=8431;child_gene=1;child_mRNA=1
+Chr1 AEGeAn::LocusPocus locus 31728 30427671 . . . .
b
diff -r 000000000000 -r 3f438bf5475d test-data/locuspocus_output_test2.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/locuspocus_output_test2.txt Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,8 @@
+##gff-version 3
+##sequence-region   Chr1 1 30427671
+Chr1 AEGeAn::LocusPocus locus 3231 6299 . . . child_gene=1;child_mRNA=1;right_overlap=772;iiLocus_exception=delta-overlap-gene;riil=0
+Chr1 AEGeAn::LocusPocus locus 5528 9137 . . . left_overlap=772;liil=0;child_gene=1;child_mRNA=2;riil=2111
+Chr1 AEGeAn::LocusPocus locus 9138 11248 . . . fg_orient=RR
+Chr1 AEGeAn::LocusPocus locus 11249 14114 . . . liil=2111;child_gene=1;child_mRNA=1;riil=8631
+Chr1 AEGeAn::LocusPocus locus 14115 22745 . . . fg_orient=RF
+Chr1 AEGeAn::LocusPocus locus 22746 31627 . . . liil=8631;child_gene=1;child_mRNA=1
b
diff -r 000000000000 -r 3f438bf5475d test-data/locuspocus_output_test3.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/locuspocus_output_test3.txt Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,6 @@
+##gff-version 3
+##sequence-region   Chr1 1 30427671
+Chr1 AEGeAn::LocusPocus locus 3131 6399 . . . child_gene=1;child_mRNA=1;right_overlap=972;iiLocus_exception=delta-overlap-gene;riil=0
+Chr1 AEGeAn::LocusPocus locus 5428 9237 . . . left_overlap=972;liil=0;child_gene=1;child_mRNA=2
+Chr1 AEGeAn::LocusPocus locus 11149 14214 . . . child_gene=1;child_mRNA=1
+Chr1 AEGeAn::LocusPocus locus 22646 31727 . . . child_gene=1;child_mRNA=1
b
diff -r 000000000000 -r 3f438bf5475d test-data/locuspocus_output_test4.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/locuspocus_output_test4.txt Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,10 @@
+##gff-version 3
+##sequence-region   Chr1 1 30427671
+Chr1 AEGeAn::LocusPocus locus 1 3130 . . . .
+Chr1 AEGeAn::LocusPocus locus 3131 6399 . . . child_gene=1;child_mRNA=1;right_overlap=972;iiLocus_exception=delta-overlap-gene;riil=0
+Chr1 AEGeAn::LocusPocus locus 5428 9237 . . . left_overlap=972;liil=0;child_gene=1;child_mRNA=2;riil=1911
+Chr1 AEGeAn::LocusPocus locus 9238 11148 . . . fg_orient=RR
+Chr1 AEGeAn::LocusPocus locus 11149 14214 . . . liil=1911;child_gene=1;child_mRNA=1;riil=8431
+Chr1 AEGeAn::LocusPocus locus 14215 22645 . . . fg_orient=RF
+Chr1 AEGeAn::LocusPocus locus 22646 31727 . . . liil=8431;child_gene=1;child_mRNA=1
+Chr1 AEGeAn::LocusPocus locus 31728 30427671 . . . .
b
diff -r 000000000000 -r 3f438bf5475d test-data/locuspocus_output_test5.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/locuspocus_output_test5.txt Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,10 @@
+##gff-version 3
+##sequence-region   Chr1 1 30427671
+Chr1 AEGeAn::LocusPocus locus 1 3130 . . . .
+Chr1 AEGeAn::LocusPocus locus 3131 6399 . . . child_gene=1;child_mRNA=1;right_overlap=972;iiLocus_exception=delta-overlap-gene;riil=0
+Chr1 AEGeAn::LocusPocus locus 5428 9237 . . . left_overlap=972;liil=0;child_gene=1;child_mRNA=2;riil=1911
+Chr1 AEGeAn::LocusPocus locus 9238 11148 . . . fg_orient=RR
+Chr1 AEGeAn::LocusPocus locus 11149 14214 . . . liil=1911;child_gene=1;child_mRNA=1;riil=8431
+Chr1 AEGeAn::LocusPocus locus 14215 22645 . . . fg_orient=RF
+Chr1 AEGeAn::LocusPocus locus 22646 31727 . . . liil=8431;child_gene=1;child_mRNA=1
+Chr1 AEGeAn::LocusPocus locus 31728 30427671 . . . .
b
diff -r 000000000000 -r 3f438bf5475d test-data/locuspocus_output_test6.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/locuspocus_output_test6.txt Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,10 @@
+##gff-version 3
+##sequence-region   Chr1 1 30427671
+Chr1 AEGeAn::LocusPocus locus 1 3130 . . . .
+Chr1 AEGeAn::LocusPocus locus 3131 6399 . . . child_gene=1;child_mRNA=1;right_overlap=972;iiLocus_exception=delta-overlap-gene;riil=0
+Chr1 AEGeAn::LocusPocus locus 5428 9237 . . . left_overlap=972;liil=0;child_gene=1;child_mRNA=2;riil=1911
+Chr1 AEGeAn::LocusPocus locus 9238 11148 . . . fg_orient=RR
+Chr1 AEGeAn::LocusPocus locus 11149 14214 . . . liil=1911;child_gene=1;child_mRNA=1;riil=8431
+Chr1 AEGeAn::LocusPocus locus 14215 22645 . . . fg_orient=RF
+Chr1 AEGeAn::LocusPocus locus 22646 31727 . . . liil=8431;child_gene=1;child_mRNA=1
+Chr1 AEGeAn::LocusPocus locus 31728 30427671 . . . .
b
diff -r 000000000000 -r 3f438bf5475d test-data/locuspocus_output_test7.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/locuspocus_output_test7.txt Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,10 @@
+##gff-version 3
+##sequence-region   Chr1 1 30427671
+Chr1 AEGeAn::LocusPocus locus 1 3130 . . . Name=testXlu
+Chr1 AEGeAn::LocusPocus locus 3131 6399 . . . Name=testXlu;child_gene=1;child_mRNA=1;right_overlap=972;iiLocus_exception=delta-overlap-gene;riil=0
+Chr1 AEGeAn::LocusPocus locus 5428 9237 . . . left_overlap=972;liil=0;Name=testXlu;child_gene=1;child_mRNA=2;riil=1911
+Chr1 AEGeAn::LocusPocus locus 9238 11148 . . . fg_orient=RR;Name=testXlu
+Chr1 AEGeAn::LocusPocus locus 11149 14214 . . . liil=1911;Name=testXlu;child_gene=1;child_mRNA=1;riil=8431
+Chr1 AEGeAn::LocusPocus locus 14215 22645 . . . fg_orient=RF;Name=testXlu
+Chr1 AEGeAn::LocusPocus locus 22646 31727 . . . liil=8431;Name=testXlu;child_gene=1;child_mRNA=1
+Chr1 AEGeAn::LocusPocus locus 31728 30427671 . . . Name=testXlu
b
diff -r 000000000000 -r 3f438bf5475d test-data/locuspocus_output_test8.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/locuspocus_output_test8.txt Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,8 @@
+##gff-version 3
+##sequence-region   Chr1 1 30427671
+Chr1 AEGeAn::LocusPocus locus 3231 6299 . . . child_gene=1;child_mRNA=1;right_overlap=772;iiLocus_exception=delta-overlap-gene;riil=0
+Chr1 AEGeAn::LocusPocus locus 5528 9137 . . . left_overlap=772;liil=0;child_gene=1;child_mRNA=2;riil=2111
+Chr1 AEGeAn::LocusPocus locus 9138 11248 . . . fg_orient=RR
+Chr1 AEGeAn::LocusPocus locus 11249 14114 . . . liil=2111;child_gene=1;child_mRNA=1;riil=8631
+Chr1 AEGeAn::LocusPocus locus 14115 22745 . . . fg_orient=RF
+Chr1 AEGeAn::LocusPocus locus 22746 31627 . . . liil=8631;child_gene=1;child_mRNA=1
b
diff -r 000000000000 -r 3f438bf5475d test-data/locuspocus_transmap_test7.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/locuspocus_transmap_test7.txt Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,5 @@
+AT1G01010.1 testXlu
+AT1G01020.1 testXlu
+AT1G01020.2 testXlu
+AT1G01030.1 testXlu
+AT1G01040.1 testXlu
b
diff -r 000000000000 -r 3f438bf5475d test-data/locuspocus_transmap_test8.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/locuspocus_transmap_test8.txt Sun Jan 03 14:58:31 2021 +0000
b
@@ -0,0 +1,5 @@
+AT1G01010.1 locus:Chr1_3231-6299.
+AT1G01020.1 locus:Chr1_5528-9137.
+AT1G01020.2 locus:Chr1_5528-9137.
+AT1G01030.1 locus:Chr1_11249-14114.
+AT1G01040.1 locus:Chr1_22746-31627.
b
diff -r 000000000000 -r 3f438bf5475d test-data/parseval_output_test1.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/parseval_output_test1.txt Sun Jan 03 14:58:31 2021 +0000
b
b'@@ -0,0 +1,577 @@\n+|-------------------------------------------------\n+|---- Locus: seqid=Chr1 range=3626-5904\n+|-------------------------------------------------\n+|\n+|  reference genes:\n+|    AT1G01010\n+|\n+|  prediction genes:\n+|    AT1G01010\n+|\n+|----------\n+     |\n+     |--------------------------\n+     |---- Begin comparison ----\n+     |--------------------------\n+     |\n+     |  reference transcripts:\n+     |    AT1G01010.1\n+     |  prediction transcripts:\n+     |    AT1G01010.1\n+     |\n+     | reference GFF3:\n+##gff-version 3\n+Chr1\tTAIR9\tmRNA\t3631\t5899\t.\t+\t.\tID=AT1G01010.1;Name=AT1G01010.1;index=1\n+Chr1\tTAIR9\tfive_prime_UTR\t3631\t3759\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t3631\t3913\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstart_codon\t3760\t3762\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t3760\t3913\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t3914\t3995\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t3996\t4276\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t3996\t4276\t.\t+\t2\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4277\t4485\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t4486\t4605\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t4486\t4605\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4606\t4705\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t4706\t5095\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t4706\t5095\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5096\t5173\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t5174\t5326\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t5174\t5326\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5327\t5438\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t5439\t5630\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\tTAIR9\texon\t5439\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstop_codon\t5628\t5630\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tthree_prime_UTR\t5631\t5899\t.\t+\t.\tParent=AT1G01010.1\n+###\n+     | prediction GFF3:\n+##gff-version 3\n+Chr1\tTAIR10\tmRNA\t3631\t5899\t.\t+\t.\tID=AT1G01010.1;Name=AT1G01010.1;index=1\n+Chr1\tTAIR10\tfive_prime_UTR\t3631\t3759\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t3631\t3913\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstart_codon\t3760\t3762\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t3760\t3913\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t3914\t3995\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t3996\t4276\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t3996\t4276\t.\t+\t2\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4277\t4485\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t4486\t4605\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t4486\t4605\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4606\t4705\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t4706\t5095\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t4706\t5095\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5096\t5173\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t5174\t5326\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t5174\t5326\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5327\t5438\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t5439\t5630\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\tTAIR10\texon\t5439\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstop_codon\t5628\t5630\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tthree_prime_UTR\t5631\t5899\t.\t+\t.\tParent=AT1G01010.1\n+###\n+ |\n+     |  CDS structure comparison\n+     |    6 reference  CDS segments\n+     |    6 prediction CDS segments\n+     |    CDS structures match perfectly!\n+     |\n+     |  Exon structure comparison\n+     |    6 reference  exons\n+     |    6 prediction exons\n+     |    Exon structures match perfectly!\n+     |\n+     |  UTR structure comparison\n+     |    2 reference  UTR segments\n+     |    2 prediction UTR segments\n+     |    UTR structures match perfectly!\n+     |\n+     |    Gene structures match perfectly!\n+     |\n+     |\n+     |--------------------------\n+     |----- End comparison -----\n+     |--------------------------\n+\n+|-------------------------------------------------\n+|---- Locus: seqid=Chr1 range=5923-8742\n+|-------------------------------------------------\n+|\n+|  reference genes:\n+|    AT1G01020\n+|\n+|  prediction genes:\n+|    AT1G01020\n+|\n+|----------\n+     |\n+     |--------------------------\n+     |---- Begin comparison --'..b" /tmp/tmpuaspc0eb/files/5/1/b/dataset_51bd183d-470e-4a87-a230-5a73a406179d.dat\n+Prediction annotations: /tmp/tmpuaspc0eb/files/6/f/b/dataset_6fba7592-2a44-4ea7-ae0a-ba0c87badb42.dat\n+Executing command:      parseval -l 5 -t 20 -w -f text -o /tmp/tmpuaspc0eb/files/9/2/0/dataset_92006ba5-932e-40f8-a785-2a9b2932d88a.dat /tmp/tmpuaspc0eb/files/5/1/b/dataset_51bd183d-470e-4a87-a230-5a73a406179d.dat /tmp/tmpuaspc0eb/files/6/f/b/dataset_6fba7592-2a44-4ea7-ae0a-ba0c87badb42.dat \n+\n+  Sequences compared\n+    Chr1\n+\n+  Gene loci................................4\n+    shared.................................4\n+    unique to reference....................0\n+    unique to prediction...................0\n+\n+  Reference annotations\n+    genes..................................4\n+      average per locus....................1.000\n+    transcripts............................5\n+      average per locus....................1.250\n+      average per gene.....................1.250\n+\n+  Prediction annotations\n+    genes..................................4\n+      average per locus....................1.000\n+    transcripts............................5\n+      average per locus....................1.250\n+      average per gene.....................1.250\n+\n+  Total comparisons........................5\n+    perfect matches........................5 (100.0%)\n+      avg. length..........................3617.40 bp\n+      avg. # refr exons....................7.60\n+      avg. # pred exons....................7.60\n+      avg. refr CDS length.................449.40 aa\n+      avg. pred CDS length.................449.40 aa\n+    perfect matches with mislabeled UTRs...0 (0.0%)\n+    CDS structure matches..................0 (0.0%)\n+    exon structure matches.................0 (0.0%)\n+    UTR structure matches..................0 (0.0%)\n+    non-matches............................0 (0.0%)\n+\n+  CDS structure comparison\n+    reference CDS segments.................35\n+      match prediction.....................35 (100.0%)\n+      don't match prediction...............0 (0.0%)\n+    prediction CDS segments................35\n+      match reference......................35 (100.0%)\n+      don't match reference................0 (0.0%)\n+    Sensitivity............................1.000\n+    Specificity............................1.000\n+    F1 Score...............................1.000\n+    Annotation edit distance...............0.000\n+\n+  Exon structure comparison\n+    reference exons........................38\n+      match prediction.....................38 (100.0%)\n+      don't match prediction...............0 (0.0%)\n+    prediction exons.......................38\n+      match reference......................38 (100.0%)\n+      don't match reference................0 (0.0%)\n+    Sensitivity............................1.000\n+    Specificity............................1.000\n+    F1 Score...............................1.000\n+    Annotation edit distance...............0.000\n+\n+  UTR structure comparison\n+    reference UTR segments.................12\n+      match prediction.....................12 (100.0%)\n+      don't match prediction...............0 (0.0%)\n+    prediction UTR segments................12\n+      match reference......................12 (100.0%)\n+      don't match reference................0 (0.0%)\n+    Sensitivity............................1.000\n+    Specificity............................1.000\n+    F1 Score...............................1.000\n+    Annotation edit distance...............0.000\n+\n+  Nucleotide-level comparison      CDS          UTRs         Overall   \n+    Matching coefficient:          1.000        1.000        1.000\n+    Correlation coefficient:       1.000        1.000        --        \n+    Sensitivity:                   1.000        1.000        --        \n+    Specificity:                   1.000        1.000        --        \n+    F1 Score:                      1.000        1.000        --        \n+    Annotation edit distance:      0.000        0.000        --        \n"
b
diff -r 000000000000 -r 3f438bf5475d test-data/parseval_output_test2.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/parseval_output_test2.txt Sun Jan 03 14:58:31 2021 +0000
b
b'@@ -0,0 +1,577 @@\n+|-------------------------------------------------\n+|---- Locus: seqid=Chr1 range=3631-5899\n+|-------------------------------------------------\n+|\n+|  reference genes:\n+|    AT1G01010\n+|\n+|  prediction genes:\n+|    AT1G01010\n+|\n+|----------\n+     |\n+     |--------------------------\n+     |---- Begin comparison ----\n+     |--------------------------\n+     |\n+     |  reference transcripts:\n+     |    AT1G01010.1\n+     |  prediction transcripts:\n+     |    AT1G01010.1\n+     |\n+     | reference GFF3:\n+##gff-version 3\n+Chr1\tTAIR9\tmRNA\t3631\t5899\t.\t+\t.\tID=AT1G01010.1;Name=AT1G01010.1;index=1\n+Chr1\tTAIR9\tfive_prime_UTR\t3631\t3759\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t3631\t3913\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstart_codon\t3760\t3762\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t3760\t3913\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t3914\t3995\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t3996\t4276\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t3996\t4276\t.\t+\t2\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4277\t4485\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t4486\t4605\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t4486\t4605\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4606\t4705\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t4706\t5095\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t4706\t5095\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5096\t5173\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t5174\t5326\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t5174\t5326\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5327\t5438\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t5439\t5630\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\tTAIR9\texon\t5439\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstop_codon\t5628\t5630\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tthree_prime_UTR\t5631\t5899\t.\t+\t.\tParent=AT1G01010.1\n+###\n+     | prediction GFF3:\n+##gff-version 3\n+Chr1\tTAIR10\tmRNA\t3631\t5899\t.\t+\t.\tID=AT1G01010.1;Name=AT1G01010.1;index=1\n+Chr1\tTAIR10\tfive_prime_UTR\t3631\t3759\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t3631\t3913\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstart_codon\t3760\t3762\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t3760\t3913\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t3914\t3995\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t3996\t4276\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t3996\t4276\t.\t+\t2\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4277\t4485\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t4486\t4605\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t4486\t4605\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4606\t4705\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t4706\t5095\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t4706\t5095\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5096\t5173\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t5174\t5326\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t5174\t5326\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5327\t5438\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t5439\t5630\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\tTAIR10\texon\t5439\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstop_codon\t5628\t5630\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tthree_prime_UTR\t5631\t5899\t.\t+\t.\tParent=AT1G01010.1\n+###\n+ |\n+     |  CDS structure comparison\n+     |    6 reference  CDS segments\n+     |    6 prediction CDS segments\n+     |    CDS structures match perfectly!\n+     |\n+     |  Exon structure comparison\n+     |    6 reference  exons\n+     |    6 prediction exons\n+     |    Exon structures match perfectly!\n+     |\n+     |  UTR structure comparison\n+     |    2 reference  UTR segments\n+     |    2 prediction UTR segments\n+     |    UTR structures match perfectly!\n+     |\n+     |    Gene structures match perfectly!\n+     |\n+     |\n+     |--------------------------\n+     |----- End comparison -----\n+     |--------------------------\n+\n+|-------------------------------------------------\n+|---- Locus: seqid=Chr1 range=5928-8737\n+|-------------------------------------------------\n+|\n+|  reference genes:\n+|    AT1G01020\n+|\n+|  prediction genes:\n+|    AT1G01020\n+|\n+|----------\n+     |\n+     |--------------------------\n+     |---- Begin comparison --'..b" /tmp/tmpuaspc0eb/files/0/4/3/dataset_0436aebb-5e69-4845-b8d6-cc6932c61142.dat\n+Prediction annotations: /tmp/tmpuaspc0eb/files/f/a/e/dataset_fae0f82b-28de-405b-9da1-0a227c4b4b92.dat\n+Executing command:      parseval -l 0 -t 32 -w -f text -o /tmp/tmpuaspc0eb/files/3/2/7/dataset_327cf1a1-a7ea-412e-ac0f-e23f78ff553a.dat /tmp/tmpuaspc0eb/files/0/4/3/dataset_0436aebb-5e69-4845-b8d6-cc6932c61142.dat /tmp/tmpuaspc0eb/files/f/a/e/dataset_fae0f82b-28de-405b-9da1-0a227c4b4b92.dat \n+\n+  Sequences compared\n+    Chr1\n+\n+  Gene loci................................4\n+    shared.................................4\n+    unique to reference....................0\n+    unique to prediction...................0\n+\n+  Reference annotations\n+    genes..................................4\n+      average per locus....................1.000\n+    transcripts............................5\n+      average per locus....................1.250\n+      average per gene.....................1.250\n+\n+  Prediction annotations\n+    genes..................................4\n+      average per locus....................1.000\n+    transcripts............................5\n+      average per locus....................1.250\n+      average per gene.....................1.250\n+\n+  Total comparisons........................5\n+    perfect matches........................5 (100.0%)\n+      avg. length..........................3607.40 bp\n+      avg. # refr exons....................7.60\n+      avg. # pred exons....................7.60\n+      avg. refr CDS length.................449.40 aa\n+      avg. pred CDS length.................449.40 aa\n+    perfect matches with mislabeled UTRs...0 (0.0%)\n+    CDS structure matches..................0 (0.0%)\n+    exon structure matches.................0 (0.0%)\n+    UTR structure matches..................0 (0.0%)\n+    non-matches............................0 (0.0%)\n+\n+  CDS structure comparison\n+    reference CDS segments.................35\n+      match prediction.....................35 (100.0%)\n+      don't match prediction...............0 (0.0%)\n+    prediction CDS segments................35\n+      match reference......................35 (100.0%)\n+      don't match reference................0 (0.0%)\n+    Sensitivity............................1.000\n+    Specificity............................1.000\n+    F1 Score...............................1.000\n+    Annotation edit distance...............0.000\n+\n+  Exon structure comparison\n+    reference exons........................38\n+      match prediction.....................38 (100.0%)\n+      don't match prediction...............0 (0.0%)\n+    prediction exons.......................38\n+      match reference......................38 (100.0%)\n+      don't match reference................0 (0.0%)\n+    Sensitivity............................1.000\n+    Specificity............................1.000\n+    F1 Score...............................1.000\n+    Annotation edit distance...............0.000\n+\n+  UTR structure comparison\n+    reference UTR segments.................12\n+      match prediction.....................12 (100.0%)\n+      don't match prediction...............0 (0.0%)\n+    prediction UTR segments................12\n+      match reference......................12 (100.0%)\n+      don't match reference................0 (0.0%)\n+    Sensitivity............................1.000\n+    Specificity............................1.000\n+    F1 Score...............................1.000\n+    Annotation edit distance...............0.000\n+\n+  Nucleotide-level comparison      CDS          UTRs         Overall   \n+    Matching coefficient:          1.000        1.000        1.000\n+    Correlation coefficient:       1.000        1.000        --        \n+    Sensitivity:                   1.000        1.000        --        \n+    Specificity:                   1.000        1.000        --        \n+    F1 Score:                      1.000        1.000        --        \n+    Annotation edit distance:      0.000        0.000        --        \n"
b
diff -r 000000000000 -r 3f438bf5475d test-data/parseval_output_test3.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/parseval_output_test3.txt Sun Jan 03 14:58:31 2021 +0000
b
b'@@ -0,0 +1,577 @@\n+|-------------------------------------------------\n+|---- Locus: seqid=Chr1 range=3621-5913\n+|-------------------------------------------------\n+|\n+|  reference genes:\n+|    AT1G01010\n+|\n+|  prediction genes:\n+|    AT1G01010\n+|\n+|----------\n+     |\n+     |--------------------------\n+     |---- Begin comparison ----\n+     |--------------------------\n+     |\n+     |  reference transcripts:\n+     |    AT1G01010.1\n+     |  prediction transcripts:\n+     |    AT1G01010.1\n+     |\n+     | reference GFF3:\n+##gff-version 3\n+Chr1\tTAIR9\tmRNA\t3631\t5899\t.\t+\t.\tID=AT1G01010.1;Name=AT1G01010.1;index=1\n+Chr1\tTAIR9\tfive_prime_UTR\t3631\t3759\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t3631\t3913\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstart_codon\t3760\t3762\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t3760\t3913\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t3914\t3995\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t3996\t4276\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t3996\t4276\t.\t+\t2\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4277\t4485\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t4486\t4605\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t4486\t4605\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4606\t4705\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t4706\t5095\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t4706\t5095\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5096\t5173\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t5174\t5326\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t5174\t5326\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5327\t5438\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t5439\t5630\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\tTAIR9\texon\t5439\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstop_codon\t5628\t5630\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tthree_prime_UTR\t5631\t5899\t.\t+\t.\tParent=AT1G01010.1\n+###\n+     | prediction GFF3:\n+##gff-version 3\n+Chr1\tTAIR10\tmRNA\t3631\t5899\t.\t+\t.\tID=AT1G01010.1;Name=AT1G01010.1;index=1\n+Chr1\tTAIR10\tfive_prime_UTR\t3631\t3759\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t3631\t3913\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstart_codon\t3760\t3762\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t3760\t3913\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t3914\t3995\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t3996\t4276\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t3996\t4276\t.\t+\t2\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4277\t4485\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t4486\t4605\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t4486\t4605\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4606\t4705\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t4706\t5095\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t4706\t5095\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5096\t5173\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t5174\t5326\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t5174\t5326\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5327\t5438\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t5439\t5630\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\tTAIR10\texon\t5439\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstop_codon\t5628\t5630\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tthree_prime_UTR\t5631\t5899\t.\t+\t.\tParent=AT1G01010.1\n+###\n+ |\n+     |  CDS structure comparison\n+     |    6 reference  CDS segments\n+     |    6 prediction CDS segments\n+     |    CDS structures match perfectly!\n+     |\n+     |  Exon structure comparison\n+     |    6 reference  exons\n+     |    6 prediction exons\n+     |    Exon structures match perfectly!\n+     |\n+     |  UTR structure comparison\n+     |    2 reference  UTR segments\n+     |    2 prediction UTR segments\n+     |    UTR structures match perfectly!\n+     |\n+     |    Gene structures match perfectly!\n+     |\n+     |\n+     |--------------------------\n+     |----- End comparison -----\n+     |--------------------------\n+\n+|-------------------------------------------------\n+|---- Locus: seqid=Chr1 range=5914-8747\n+|-------------------------------------------------\n+|\n+|  reference genes:\n+|    AT1G01020\n+|\n+|  prediction genes:\n+|    AT1G01020\n+|\n+|----------\n+     |\n+     |--------------------------\n+     |---- Begin comparison --'..b"/tmp/tmpuaspc0eb/files/a/5/5/dataset_a554f401-58a7-425c-88d9-4da452d77344.dat\n+Prediction annotations: /tmp/tmpuaspc0eb/files/9/5/a/dataset_95aee753-49cb-406a-a66f-13f51ef7a287.dat\n+Executing command:      parseval -l 10 -t 10 -w -f text -o /tmp/tmpuaspc0eb/files/f/7/e/dataset_f7ec07dd-99dc-47f5-b69e-b01cec68543f.dat /tmp/tmpuaspc0eb/files/a/5/5/dataset_a554f401-58a7-425c-88d9-4da452d77344.dat /tmp/tmpuaspc0eb/files/9/5/a/dataset_95aee753-49cb-406a-a66f-13f51ef7a287.dat \n+\n+  Sequences compared\n+    Chr1\n+\n+  Gene loci................................4\n+    shared.................................4\n+    unique to reference....................0\n+    unique to prediction...................0\n+\n+  Reference annotations\n+    genes..................................4\n+      average per locus....................1.000\n+    transcripts............................5\n+      average per locus....................1.250\n+      average per gene.....................1.250\n+\n+  Prediction annotations\n+    genes..................................4\n+      average per locus....................1.000\n+    transcripts............................5\n+      average per locus....................1.250\n+      average per gene.....................1.250\n+\n+  Total comparisons........................5\n+    perfect matches........................5 (100.0%)\n+      avg. length..........................3629.80 bp\n+      avg. # refr exons....................7.60\n+      avg. # pred exons....................7.60\n+      avg. refr CDS length.................449.40 aa\n+      avg. pred CDS length.................449.40 aa\n+    perfect matches with mislabeled UTRs...0 (0.0%)\n+    CDS structure matches..................0 (0.0%)\n+    exon structure matches.................0 (0.0%)\n+    UTR structure matches..................0 (0.0%)\n+    non-matches............................0 (0.0%)\n+\n+  CDS structure comparison\n+    reference CDS segments.................35\n+      match prediction.....................35 (100.0%)\n+      don't match prediction...............0 (0.0%)\n+    prediction CDS segments................35\n+      match reference......................35 (100.0%)\n+      don't match reference................0 (0.0%)\n+    Sensitivity............................1.000\n+    Specificity............................1.000\n+    F1 Score...............................1.000\n+    Annotation edit distance...............0.000\n+\n+  Exon structure comparison\n+    reference exons........................38\n+      match prediction.....................38 (100.0%)\n+      don't match prediction...............0 (0.0%)\n+    prediction exons.......................38\n+      match reference......................38 (100.0%)\n+      don't match reference................0 (0.0%)\n+    Sensitivity............................1.000\n+    Specificity............................1.000\n+    F1 Score...............................1.000\n+    Annotation edit distance...............0.000\n+\n+  UTR structure comparison\n+    reference UTR segments.................12\n+      match prediction.....................12 (100.0%)\n+      don't match prediction...............0 (0.0%)\n+    prediction UTR segments................12\n+      match reference......................12 (100.0%)\n+      don't match reference................0 (0.0%)\n+    Sensitivity............................1.000\n+    Specificity............................1.000\n+    F1 Score...............................1.000\n+    Annotation edit distance...............0.000\n+\n+  Nucleotide-level comparison      CDS          UTRs         Overall   \n+    Matching coefficient:          1.000        1.000        1.000\n+    Correlation coefficient:       1.000        1.000        --        \n+    Sensitivity:                   1.000        1.000        --        \n+    Specificity:                   1.000        1.000        --        \n+    F1 Score:                      1.000        1.000        --        \n+    Annotation edit distance:      0.000        0.000        --        \n"
b
diff -r 000000000000 -r 3f438bf5475d test-data/parseval_output_test4.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/parseval_output_test4.html Sun Jan 03 14:58:31 2021 +0000
[
b'@@ -0,0 +1,146 @@\n+<!doctype html>\n+<html lang="en">\n+  <head>\n+    <meta charset="utf-8" />\n+    <title>ParsEval Summary</title>\n+    <link rel="stylesheet" type="text/css" href="parseval.css" />\n+    <script type="text/javascript" language="javascript" src="vendor/jquery.js"></script>\n+    <script type="text/javascript" language="javascript" src="vendor/jquery.dataTables.js"></script>\n+    <script type="text/javascript">\n+      $(document).ready(function() {\n+        $(\'#seqlist\').dataTable( {\n+          "sScrollY": "400px",\n+          "bPaginate": false,\n+          "bScrollCollapse": true,\n+          "bSort": false,\n+          "bFilter": false,\n+          "bInfo": false\n+        });\n+      } );\n+    </script>\n+  </head>\n+  <body>\n+    <div id="content">\n+      <h1>ParsEval Summary</h1>\n+      <pre class="command">\n+Started:                03 Jan 2021, 02:54PM\n+Reference annotations:  /tmp/tmpok6hen4l/files/7/2/c/dataset_72c6fa9a-e400-4213-a1ef-ac6fc6ab18e7.dat\n+Prediction annotations: /tmp/tmpok6hen4l/files/d/2/0/dataset_d20b7bb7-e832-4eb2-917e-7b76fdb1a0cb.dat\n+Executing command:      parseval --delta 0 --maxtrans 32 -w -f html -o /tmp/tmpok6hen4l/job_working_directory/000/43/working/dataset_63abed3a-aaab-41d9-b66b-4030368d9362_files /tmp/tmpok6hen4l/files/7/2/c/dataset_72c6fa9a-e400-4213-a1ef-ac6fc6ab18e7.dat /tmp/tmpok6hen4l/files/d/2/0/dataset_d20b7bb7-e832-4eb2-917e-7b76fdb1a0cb.dat </pre>\n+\n+      <h2>Sequences compared</h2>\n+      <p class="indent">Click on a sequence ID below to see comparison results for individual loci.</p>\n+      <table id="seqlist" class="indent">\n+        <thead>\n+          <tr>\n+            <th>Sequence</th>\n+            <th>Refr genes</th>\n+            <th>Pred genes</th>\n+            <th>Loci</th>\n+          </tr>\n+        </thead>\n+        <tbody>\n+        <tr><td><a href="Chr1/index.html">Chr1</a></td><td>4</td><td>4</td><td>4</td></tr>\n+        </tbody>\n+      </table>\n+\n+      <h2>Gene loci <span class="tooltip">[?]<span class="tooltip_text">If a gene annotation overlaps with another gene annotation, those annotations are associated with the same gene locus. See <a target="_blank" href="http://aegean.readthedocs.io/en/latest/loci.html">this page</a> for a formal definition of a locus annotation.</span></span></h2>\n+      <table class="table_normal">\n+        <tr><td>shared</td><td>4</td></tr>\n+        <tr><td>unique to reference</td><td>0</td></tr>\n+        <tr><td>unique to prediction</td><td>0</td></tr>\n+        <tr><th class="right-align">Total</th><td>4</td></tr>\n+      </table>\n+\n+      <h2>Reference annotations</h2>\n+      <table class="table_normal">\n+        <tr><td>genes</td><td>4</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">average per locus</td><td>1.000</td></tr>\n+        <tr><td>transcripts</td><td>5</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">average per locus</td><td>1.250</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">average per gene</td><td>1.250</td></tr>\n+      </table>\n+\n+      <h2>Prediction annotations</h2>\n+      <table class="table_normal">\n+        <tr><td>genes</td><td>4</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">average per locus</td><td>1.000</td></tr>\n+        <tr><td>transcripts</td><td>5</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">average per locus</td><td>1.250</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">average per gene</td><td>1.250</td></tr>\n+      </table>\n+\n+      <h2>Comparisons</h2>\n+      <table class="comparisons">\n+        <tr><th>Total comparisons</th><th>5</th></tr>\n+        <tr><td><a href="perfectmatches.html">(+)</a> perfect matches <span class="tooltip"><span class="small_tooltip">[?]</span><span class="tooltip_text">Prediction transcripts (exons, coding sequences, and UTRs) line up perfectly with reference transcripts.</span></span></td><td>5 (100.0%)</tr>\n+        <tr class="cell_small"><td class="cell_indent"'..b'\n+        <tr><td>(+) non-matches <span class="tooltip"><span class="small_tooltip">[?]</span><span class="tooltip_text">Differences in CDS, exon, and UTR structure.</span></span></td><td>0 (0.0%)</tr>\n+      </table>\n+\n+      <h3>CDS structure comparison</h3>\n+      <table class="table_normal table_extra_indent">\n+        <tr><td>reference CDS segments</td><td>35</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">match prediction</td><td>35 (100.0%)</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">don\'t match prediction</td><td>0 (0.0%)</td></tr>\n+        <tr><td>prediction CDS segments</td><td>35</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">match prediction</td><td>35 (100.0%)</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">don\'t match prediction</td><td>0 (0.0%)</td></tr>\n+        <tr><td>Sensitivity</td><td>1.000</td></tr>\n+        <tr><td>Specificity</td><td>1.000</td></tr>\n+        <tr><td>F1 score</td><td>1.000</td></tr>\n+        <tr><td>Annotation edit distance</td><td>0.000</td></tr>\n+      </table>\n+\n+      <h3>Exon structure comparison</h3>\n+      <table class="table_normal table_extra_indent">\n+        <tr><td>reference exons</td><td>38</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">match prediction</td><td>38 (100.0%)</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">don\'t match prediction</td><td>0 (0.0%)</td></tr>\n+        <tr><td>prediction exons</td><td>38</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">match prediction</td><td>38 (100.0%)</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">don\'t match prediction</td><td>0 (0.0%)</td></tr>\n+        <tr><td>Sensitivity</td><td>1.000</td></tr>\n+        <tr><td>Specificity</td><td>1.000</td></tr>\n+        <tr><td>F1 score</td><td>1.000</td></tr>\n+        <tr><td>Annotation edit distance</td><td>0.000</td></tr>\n+      </table>\n+\n+      <h3>UTR structure comparison</h3>\n+      <table class="table_normal table_extra_indent">\n+        <tr><td>reference UTR segments</td><td>12</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">match prediction</td><td>12 (100.0%)</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">don\'t match prediction</td><td>0 (0.0%)</td></tr>\n+        <tr><td>prediction UTR segments</td><td>12</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">match prediction</td><td>12 (100.0%)</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">don\'t match prediction</td><td>0 (0.0%)</td></tr>\n+        <tr><td>Sensitivity</td><td>1.000</td></tr>\n+        <tr><td>Specificity</td><td>1.000</td></tr>\n+        <tr><td>F1 score</td><td>1.000</td></tr>\n+        <tr><td>Annotation edit distance</td><td>0.000</td></tr>\n+      </table>\n+\n+      <h3>Nucleotide-level comparison</h3>\n+      <table class="table_wide table_extra_indent">\n+        <tr><th>&nbsp;</th><th>CDS</th><th>UTRs</th><th>Overall</th></tr>\n+        <tr><th class="left-align">matching coefficient</th><td>1.000</td><td>1.000</td><td>1.000</td></tr>\n+        <tr><th class="left-align">correlation coefficient</th><td>1.000</td><td>1.000</td><td>--</td></tr>\n+        <tr><th class="left-align">sensitivity</th><td>1.000</td><td>1.000</td><td>--</td></tr>\n+        <tr><th class="left-align">specificity</th><td>1.000</td><td>1.000</td><td>--</td></tr>\n+        <tr><th class="left-align">F1 score</th><td>1.000</td><td>1.000</td><td>--</td></tr>\n+        <tr><th class="left-align">annotation edit distance</th><td>0.000</td><td>0.000</td><td>--</td></tr>\n+      </table>\n+\n+      <p class="footer">\n+        Generated by <a href="https://github.com/standage/AEGeAn/releases/tag/v0.16.0">AEGeAn v0.16.0 (stable )</a>.<br />\n+        Copyright \xc2\xa9 2016 <a href="http://aegean.readthedocs.io/en/latest/contrib.html">AEGeAn authors</a>.<br />\n+        See <a href="LICENSE">LICENSE</a> for details.      </p>\n+</div> </body> </html>\n'
b
diff -r 000000000000 -r 3f438bf5475d test-data/parseval_output_test5.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/parseval_output_test5.html Sun Jan 03 14:58:31 2021 +0000
[
b'@@ -0,0 +1,146 @@\n+<!doctype html>\n+<html lang="en">\n+  <head>\n+    <meta charset="utf-8" />\n+    <title>ParsEval Summary</title>\n+    <link rel="stylesheet" type="text/css" href="parseval.css" />\n+    <script type="text/javascript" language="javascript" src="vendor/jquery.js"></script>\n+    <script type="text/javascript" language="javascript" src="vendor/jquery.dataTables.js"></script>\n+    <script type="text/javascript">\n+      $(document).ready(function() {\n+        $(\'#seqlist\').dataTable( {\n+          "sScrollY": "400px",\n+          "bPaginate": false,\n+          "bScrollCollapse": true,\n+          "bSort": false,\n+          "bFilter": false,\n+          "bInfo": false\n+        });\n+      } );\n+    </script>\n+  </head>\n+  <body>\n+    <div id="content">\n+      <h1>ParsEval Summary</h1>\n+      <pre class="command">\n+Started:                03 Jan 2021, 02:54PM\n+Reference annotations:  /tmp/tmpok6hen4l/files/3/2/4/dataset_324b4f7b-e4b1-45d0-a543-be63ae960b43.dat\n+Prediction annotations: /tmp/tmpok6hen4l/files/b/4/0/dataset_b4066664-7777-4c30-9e37-820e44194617.dat\n+Executing command:      parseval --delta 10 --maxtrans 10 -w -f html -o /tmp/tmpok6hen4l/job_working_directory/000/46/working/dataset_1f07132b-8f99-4a03-8305-5c4c5a68089c_files /tmp/tmpok6hen4l/files/3/2/4/dataset_324b4f7b-e4b1-45d0-a543-be63ae960b43.dat /tmp/tmpok6hen4l/files/b/4/0/dataset_b4066664-7777-4c30-9e37-820e44194617.dat </pre>\n+\n+      <h2>Sequences compared</h2>\n+      <p class="indent">Click on a sequence ID below to see comparison results for individual loci.</p>\n+      <table id="seqlist" class="indent">\n+        <thead>\n+          <tr>\n+            <th>Sequence</th>\n+            <th>Refr genes</th>\n+            <th>Pred genes</th>\n+            <th>Loci</th>\n+          </tr>\n+        </thead>\n+        <tbody>\n+        <tr><td><a href="Chr1/index.html">Chr1</a></td><td>4</td><td>4</td><td>4</td></tr>\n+        </tbody>\n+      </table>\n+\n+      <h2>Gene loci <span class="tooltip">[?]<span class="tooltip_text">If a gene annotation overlaps with another gene annotation, those annotations are associated with the same gene locus. See <a target="_blank" href="http://aegean.readthedocs.io/en/latest/loci.html">this page</a> for a formal definition of a locus annotation.</span></span></h2>\n+      <table class="table_normal">\n+        <tr><td>shared</td><td>4</td></tr>\n+        <tr><td>unique to reference</td><td>0</td></tr>\n+        <tr><td>unique to prediction</td><td>0</td></tr>\n+        <tr><th class="right-align">Total</th><td>4</td></tr>\n+      </table>\n+\n+      <h2>Reference annotations</h2>\n+      <table class="table_normal">\n+        <tr><td>genes</td><td>4</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">average per locus</td><td>1.000</td></tr>\n+        <tr><td>transcripts</td><td>5</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">average per locus</td><td>1.250</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">average per gene</td><td>1.250</td></tr>\n+      </table>\n+\n+      <h2>Prediction annotations</h2>\n+      <table class="table_normal">\n+        <tr><td>genes</td><td>4</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">average per locus</td><td>1.000</td></tr>\n+        <tr><td>transcripts</td><td>5</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">average per locus</td><td>1.250</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">average per gene</td><td>1.250</td></tr>\n+      </table>\n+\n+      <h2>Comparisons</h2>\n+      <table class="comparisons">\n+        <tr><th>Total comparisons</th><th>5</th></tr>\n+        <tr><td><a href="perfectmatches.html">(+)</a> perfect matches <span class="tooltip"><span class="small_tooltip">[?]</span><span class="tooltip_text">Prediction transcripts (exons, coding sequences, and UTRs) line up perfectly with reference transcripts.</span></span></td><td>5 (100.0%)</tr>\n+        <tr class="cell_small"><td class="cell_indent'..b'\n+        <tr><td>(+) non-matches <span class="tooltip"><span class="small_tooltip">[?]</span><span class="tooltip_text">Differences in CDS, exon, and UTR structure.</span></span></td><td>0 (0.0%)</tr>\n+      </table>\n+\n+      <h3>CDS structure comparison</h3>\n+      <table class="table_normal table_extra_indent">\n+        <tr><td>reference CDS segments</td><td>35</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">match prediction</td><td>35 (100.0%)</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">don\'t match prediction</td><td>0 (0.0%)</td></tr>\n+        <tr><td>prediction CDS segments</td><td>35</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">match prediction</td><td>35 (100.0%)</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">don\'t match prediction</td><td>0 (0.0%)</td></tr>\n+        <tr><td>Sensitivity</td><td>1.000</td></tr>\n+        <tr><td>Specificity</td><td>1.000</td></tr>\n+        <tr><td>F1 score</td><td>1.000</td></tr>\n+        <tr><td>Annotation edit distance</td><td>0.000</td></tr>\n+      </table>\n+\n+      <h3>Exon structure comparison</h3>\n+      <table class="table_normal table_extra_indent">\n+        <tr><td>reference exons</td><td>38</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">match prediction</td><td>38 (100.0%)</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">don\'t match prediction</td><td>0 (0.0%)</td></tr>\n+        <tr><td>prediction exons</td><td>38</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">match prediction</td><td>38 (100.0%)</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">don\'t match prediction</td><td>0 (0.0%)</td></tr>\n+        <tr><td>Sensitivity</td><td>1.000</td></tr>\n+        <tr><td>Specificity</td><td>1.000</td></tr>\n+        <tr><td>F1 score</td><td>1.000</td></tr>\n+        <tr><td>Annotation edit distance</td><td>0.000</td></tr>\n+      </table>\n+\n+      <h3>UTR structure comparison</h3>\n+      <table class="table_normal table_extra_indent">\n+        <tr><td>reference UTR segments</td><td>12</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">match prediction</td><td>12 (100.0%)</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">don\'t match prediction</td><td>0 (0.0%)</td></tr>\n+        <tr><td>prediction UTR segments</td><td>12</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">match prediction</td><td>12 (100.0%)</td></tr>\n+        <tr class="cell_small"><td class="cell_indent">don\'t match prediction</td><td>0 (0.0%)</td></tr>\n+        <tr><td>Sensitivity</td><td>1.000</td></tr>\n+        <tr><td>Specificity</td><td>1.000</td></tr>\n+        <tr><td>F1 score</td><td>1.000</td></tr>\n+        <tr><td>Annotation edit distance</td><td>0.000</td></tr>\n+      </table>\n+\n+      <h3>Nucleotide-level comparison</h3>\n+      <table class="table_wide table_extra_indent">\n+        <tr><th>&nbsp;</th><th>CDS</th><th>UTRs</th><th>Overall</th></tr>\n+        <tr><th class="left-align">matching coefficient</th><td>1.000</td><td>1.000</td><td>1.000</td></tr>\n+        <tr><th class="left-align">correlation coefficient</th><td>1.000</td><td>1.000</td><td>--</td></tr>\n+        <tr><th class="left-align">sensitivity</th><td>1.000</td><td>1.000</td><td>--</td></tr>\n+        <tr><th class="left-align">specificity</th><td>1.000</td><td>1.000</td><td>--</td></tr>\n+        <tr><th class="left-align">F1 score</th><td>1.000</td><td>1.000</td><td>--</td></tr>\n+        <tr><th class="left-align">annotation edit distance</th><td>0.000</td><td>0.000</td><td>--</td></tr>\n+      </table>\n+\n+      <p class="footer">\n+        Generated by <a href="https://github.com/standage/AEGeAn/releases/tag/v0.16.0">AEGeAn v0.16.0 (stable )</a>.<br />\n+        Copyright \xc2\xa9 2016 <a href="http://aegean.readthedocs.io/en/latest/contrib.html">AEGeAn authors</a>.<br />\n+        See <a href="LICENSE">LICENSE</a> for details.      </p>\n+</div> </body> </html>\n'
b
diff -r 000000000000 -r 3f438bf5475d test-data/parseval_output_test6.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/parseval_output_test6.txt Sun Jan 03 14:58:31 2021 +0000
b
b'@@ -0,0 +1,577 @@\n+|-------------------------------------------------\n+|---- Locus: seqid=Chr1 range=3631-5899\n+|-------------------------------------------------\n+|\n+|  reference genes:\n+|    AT1G01010\n+|\n+|  prediction genes:\n+|    AT1G01010\n+|\n+|----------\n+     |\n+     |--------------------------\n+     |---- Begin comparison ----\n+     |--------------------------\n+     |\n+     |  reference transcripts:\n+     |    AT1G01010.1\n+     |  prediction transcripts:\n+     |    AT1G01010.1\n+     |\n+     | reference GFF3:\n+##gff-version 3\n+Chr1\tTAIR9\tmRNA\t3631\t5899\t.\t+\t.\tID=AT1G01010.1;Name=AT1G01010.1;index=1\n+Chr1\tTAIR9\tfive_prime_UTR\t3631\t3759\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t3631\t3913\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstart_codon\t3760\t3762\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t3760\t3913\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t3914\t3995\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t3996\t4276\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t3996\t4276\t.\t+\t2\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4277\t4485\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t4486\t4605\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t4486\t4605\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4606\t4705\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t4706\t5095\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t4706\t5095\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5096\t5173\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\texon\t5174\t5326\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t5174\t5326\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5327\t5438\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tCDS\t5439\t5630\t.\t+\t0\tID=CDS0;Parent=AT1G01010.1\n+Chr1\tTAIR9\texon\t5439\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstop_codon\t5628\t5630\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR9\tthree_prime_UTR\t5631\t5899\t.\t+\t.\tParent=AT1G01010.1\n+###\n+     | prediction GFF3:\n+##gff-version 3\n+Chr1\tTAIR10\tmRNA\t3631\t5899\t.\t+\t.\tID=AT1G01010.1;Name=AT1G01010.1;index=1\n+Chr1\tTAIR10\tfive_prime_UTR\t3631\t3759\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t3631\t3913\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstart_codon\t3760\t3762\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t3760\t3913\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t3914\t3995\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t3996\t4276\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t3996\t4276\t.\t+\t2\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4277\t4485\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t4486\t4605\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t4486\t4605\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t4606\t4705\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t4706\t5095\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t4706\t5095\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5096\t5173\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\texon\t5174\t5326\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t5174\t5326\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\t.\tintron\t5327\t5438\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tCDS\t5439\t5630\t.\t+\t0\tID=CDS1;Parent=AT1G01010.1\n+Chr1\tTAIR10\texon\t5439\t5899\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\t.\tstop_codon\t5628\t5630\t.\t+\t.\tParent=AT1G01010.1\n+Chr1\tTAIR10\tthree_prime_UTR\t5631\t5899\t.\t+\t.\tParent=AT1G01010.1\n+###\n+ |\n+     |  CDS structure comparison\n+     |    6 reference  CDS segments\n+     |    6 prediction CDS segments\n+     |    CDS structures match perfectly!\n+     |\n+     |  Exon structure comparison\n+     |    6 reference  exons\n+     |    6 prediction exons\n+     |    Exon structures match perfectly!\n+     |\n+     |  UTR structure comparison\n+     |    2 reference  UTR segments\n+     |    2 prediction UTR segments\n+     |    UTR structures match perfectly!\n+     |\n+     |    Gene structures match perfectly!\n+     |\n+     |\n+     |--------------------------\n+     |----- End comparison -----\n+     |--------------------------\n+\n+|-------------------------------------------------\n+|---- Locus: seqid=Chr1 range=5928-8737\n+|-------------------------------------------------\n+|\n+|  reference genes:\n+|    AT1G01020\n+|\n+|  prediction genes:\n+|    AT1G01020\n+|\n+|----------\n+     |\n+     |--------------------------\n+     |---- Begin comparison --'..b"===\n+\n+Started:                31 Dec 2020, 08:39PM\n+Reference annotations:  example_ref_label\n+Prediction annotations: example_pred_label\n+Executing command:      parseval -l 0 -t 32 -w -x example_ref_label -y example_pred_label -f text -o /tmp/tmpuaspc0eb/files/1/7/a/dataset_17a21c9f-5e47-48fb-b467-1d022f11befc.dat /tmp/tmpuaspc0eb/files/2/d/4/dataset_2d46af81-606d-4a91-bdad-a08bfdbc2b2b.dat /tmp/tmpuaspc0eb/files/8/d/9/dataset_8d95a475-34f5-4968-a3a0-653b7a5efb86.dat \n+\n+  Sequences compared\n+    Chr1\n+\n+  Gene loci................................4\n+    shared.................................4\n+    unique to reference....................0\n+    unique to prediction...................0\n+\n+  Reference annotations\n+    genes..................................4\n+      average per locus....................1.000\n+    transcripts............................5\n+      average per locus....................1.250\n+      average per gene.....................1.250\n+\n+  Prediction annotations\n+    genes..................................4\n+      average per locus....................1.000\n+    transcripts............................5\n+      average per locus....................1.250\n+      average per gene.....................1.250\n+\n+  Total comparisons........................5\n+    perfect matches........................5 (100.0%)\n+      avg. length..........................3607.40 bp\n+      avg. # refr exons....................7.60\n+      avg. # pred exons....................7.60\n+      avg. refr CDS length.................449.40 aa\n+      avg. pred CDS length.................449.40 aa\n+    perfect matches with mislabeled UTRs...0 (0.0%)\n+    CDS structure matches..................0 (0.0%)\n+    exon structure matches.................0 (0.0%)\n+    UTR structure matches..................0 (0.0%)\n+    non-matches............................0 (0.0%)\n+\n+  CDS structure comparison\n+    reference CDS segments.................35\n+      match prediction.....................35 (100.0%)\n+      don't match prediction...............0 (0.0%)\n+    prediction CDS segments................35\n+      match reference......................35 (100.0%)\n+      don't match reference................0 (0.0%)\n+    Sensitivity............................1.000\n+    Specificity............................1.000\n+    F1 Score...............................1.000\n+    Annotation edit distance...............0.000\n+\n+  Exon structure comparison\n+    reference exons........................38\n+      match prediction.....................38 (100.0%)\n+      don't match prediction...............0 (0.0%)\n+    prediction exons.......................38\n+      match reference......................38 (100.0%)\n+      don't match reference................0 (0.0%)\n+    Sensitivity............................1.000\n+    Specificity............................1.000\n+    F1 Score...............................1.000\n+    Annotation edit distance...............0.000\n+\n+  UTR structure comparison\n+    reference UTR segments.................12\n+      match prediction.....................12 (100.0%)\n+      don't match prediction...............0 (0.0%)\n+    prediction UTR segments................12\n+      match reference......................12 (100.0%)\n+      don't match reference................0 (0.0%)\n+    Sensitivity............................1.000\n+    Specificity............................1.000\n+    F1 Score...............................1.000\n+    Annotation edit distance...............0.000\n+\n+  Nucleotide-level comparison      CDS          UTRs         Overall   \n+    Matching coefficient:          1.000        1.000        1.000\n+    Correlation coefficient:       1.000        1.000        --        \n+    Sensitivity:                   1.000        1.000        --        \n+    Specificity:                   1.000        1.000        --        \n+    F1 Score:                      1.000        1.000        --        \n+    Annotation edit distance:      0.000        0.000        --        \n"