changeset 0:be6cec883b02 draft

planemo upload for repository https://github.com/TGAC/earlham-galaxytools/tree/master/tools/gff3_to_json commit 822c798d43a72724eeab174043fdaafcfdac845f-dirty
author earlhaminst
date Wed, 21 Dec 2016 10:02:59 -0500
parents
children befe6021e476
files gff3_to_json.py gff3_to_json.xml test-data/Caenorhabditis_elegans.WBcel235.33.chromosome.I_shortened.gff3 test-data/Caenorhabditis_elegans.WBcel235.33.chromosome.I_shortened.json test-data/ENSCAFT00000026349.gff test-data/ENSMUST00000005671.gff test-data/ENSMUST00000091291.gff test-data/ENSPTRT00000013802.gff test-data/ENSRNOT00000019267.gff test-data/test.json
diffstat 10 files changed, 3260 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gff3_to_json.py	Wed Dec 21 10:02:59 2016 -0500
@@ -0,0 +1,255 @@
+from __future__ import print_function
+
+import json
+import optparse
+import sys
+
+cds_parent_dict = dict()
+exon_parent_dict = dict()
+five_prime_utr_parent_dict = dict()
+gene_count = 0
+gene_dict = dict()
+transcript_dict = dict()
+three_prime_utr_parent_dict = dict()
+
+
+def feature_to_json(cols):
+    d = {
+        'end': int(cols[4]),
+        'start': int(cols[3]),
+    }
+    for attr in cols[8].split(';'):
+        if '=' in attr:
+            (tag, value) = attr.split('=')
+            if tag == 'ID':
+                d['id'] = value
+            else:
+                d[tag] = value
+    if cols[6] == '+':
+        d['strand'] = 1
+    elif cols[6] == '-':
+        d['strand'] = -1
+    else:
+        raise Exception("Unrecognized strand '%s'" % cols[6])
+    return d
+
+
+def gene_to_json(cols, species):
+    global gene_count
+    gene = feature_to_json(cols)
+    gene.update({
+        'member_id': gene_count,
+        'object_type': 'Gene',
+        'seq_region_name': cols[0],
+        'species': species,
+        'Transcript': [],
+    })
+    gene_dict[gene['id']] = gene
+    gene_count = gene_count + 1
+
+
+def transcript_to_json(cols, species):
+    transcript = feature_to_json(cols)
+    transcript.update({
+        'object_type': 'Transcript',
+        'seq_region_name': cols[0],
+        'species': species,
+    })
+    transcript_dict[transcript['id']] = transcript
+
+
+def exon_to_json(cols, species):
+    exon = feature_to_json(cols)
+    exon.update({
+        'length': int(cols[4]) - int(cols[3]) + 1,
+        'object_type': 'Exon',
+        'seq_region_name': cols[0],
+        'species': species,
+    })
+    if 'id' not in exon and 'Name' in exon:
+        exon['id'] = exon['Name']
+
+    if 'Parent' in exon:
+        for parent in exon['Parent'].split(','):
+            if parent not in exon_parent_dict:
+                exon_parent_dict[parent] = [exon]
+            else:
+                exon_parent_dict[parent].append(exon)
+
+
+def five_prime_utr_to_json(cols):
+    five_prime_utr = feature_to_json(cols)
+    if 'Parent' in five_prime_utr:
+        for parent in five_prime_utr['Parent'].split(','):
+            # the 5' UTR can be split among multiple exons
+            if parent not in five_prime_utr_parent_dict:
+                five_prime_utr_parent_dict[parent] = [five_prime_utr]
+            else:
+                five_prime_utr_parent_dict[parent].append(five_prime_utr)
+
+
+def three_prime_utr_to_json(cols):
+    three_prime_utr = feature_to_json(cols)
+    if 'Parent' in three_prime_utr:
+        for parent in three_prime_utr['Parent'].split(','):
+            # the 3' UTR can be split among multiple exons
+            if parent not in three_prime_utr_parent_dict:
+                three_prime_utr_parent_dict[parent] = [three_prime_utr]
+            else:
+                three_prime_utr_parent_dict[parent].append(three_prime_utr)
+
+
+def cds_to_json(cols):
+    cds = feature_to_json(cols)
+    if 'id' not in cds:
+        if 'Name' in cds:
+            cds['id'] = cds['Name']
+        elif 'Parent' in cds:
+            cds['id'] = cds['Parent']
+    if 'Parent' in cds:
+        # At this point we are sure than 'id' is in cds
+        for parent in cds['Parent'].split(','):
+            if parent not in cds_parent_dict:
+                cds_parent_dict[parent] = [cds]
+            else:
+                cds_parent_dict[parent].append(cds)
+
+
+def join_dicts():
+    for parent, exon_list in exon_parent_dict.items():
+        exon_list.sort(key=lambda _: _['start'])
+        if parent in transcript_dict:
+            transcript_dict[parent]['Exon'] = exon_list
+
+    for transcript_id, transcript in transcript_dict.items():
+        translation = {
+            'CDS': [],
+            'id': None,
+            'end': transcript['end'],
+            'object_type': 'Translation',
+            'species': transcript['species'],
+            'start': transcript['start'],
+        }
+        found_cds = False
+        derived_translation_start = None
+        derived_translation_end = None
+        if transcript_id in cds_parent_dict:
+            cds_list = cds_parent_dict[transcript_id]
+            cds_ids = set(_['id'] for _ in cds_list)
+            if len(cds_ids) > 1:
+                raise Exception("Transcript %s has multiple CDSs: this is not supported by Ensembl JSON format" % parent)
+            translation['id'] = cds_ids.pop()
+            cds_list.sort(key=lambda _: _['start'])
+            translation['CDS'] = cds_list
+            translation['start'] = cds_list[0]['start']
+            translation['end'] = cds_list[-1]['end']
+            found_cds = True
+        if transcript_id in five_prime_utr_parent_dict:
+            five_prime_utr_list = five_prime_utr_parent_dict[transcript_id]
+            five_prime_utr_list.sort(key=lambda _: _['start'])
+            if transcript['strand'] == 1:
+                derived_translation_start = five_prime_utr_list[-1]['end'] + 1
+            else:
+                derived_translation_end = five_prime_utr_list[0]['start'] - 1
+        if transcript_id in three_prime_utr_parent_dict:
+            three_prime_utr_list = three_prime_utr_parent_dict[transcript_id]
+            three_prime_utr_list.sort(key=lambda _: _['start'])
+            if transcript['strand'] == 1:
+                derived_translation_end = three_prime_utr_list[0]['start'] - 1
+            else:
+                derived_translation_start = three_prime_utr_list[-1]['end'] + 1
+        if derived_translation_start is not None:
+            if found_cds:
+                if derived_translation_start > translation['start']:
+                    raise Exception("UTR overlaps with CDS")
+            else:
+                translation['start'] = derived_translation_start
+        if derived_translation_end is not None:
+            if found_cds:
+                if derived_translation_end < translation['end']:
+                    raise Exception("UTR overlaps with CDS")
+            else:
+                translation['end'] = derived_translation_end
+        if found_cds or derived_translation_start is not None or derived_translation_end is not None:
+            transcript['Translation'] = translation
+
+    for transcript in transcript_dict.values():
+        if 'Parent' in transcript:
+            # A polycistronic transcript can have multiple parents
+            for parent in transcript['Parent'].split(','):
+                if parent in gene_dict:
+                    gene_dict[parent]['Transcript'].append(transcript)
+
+
+def merge_dicts(json_arg):
+    with open(json_arg) as f:
+        dict_from_json = json.load(f)
+    gene_intersection = set(gene_dict.keys()) & set(dict_from_json.keys())
+    if gene_intersection:
+        raise Exception("JSON file '%s' contains information for genes '%s', which are also present in other files" % (json_arg, ', '.join(gene_intersection)))
+    gene_dict.update(dict_from_json)
+
+
+def write_json(outfile=None, sort_keys=False):
+    if outfile:
+        with open(outfile, 'w') as f:
+            json.dump(gene_dict, f, sort_keys=sort_keys)
+    else:
+        print(json.dumps(gene_dict, indent=3, sort_keys=sort_keys))
+
+
+def __main__():
+    parser = optparse.OptionParser()
+    parser.add_option('--gff3', action='append', default=[], help='GFF3 file to convert, in SPECIES:FILENAME format. Use multiple times to add more files')
+    parser.add_option('--json', action='append', default=[], help='JSON file to merge. Use multiple times to add more files')
+    parser.add_option('-s', '--sort', action='store_true', help='Sort the keys in the JSON output')
+    parser.add_option('-o', '--output', help='Path of the output file. If not specified, will print on the standard output')
+    options, args = parser.parse_args()
+
+    if args:
+        raise Exception('Use options to provide inputs')
+    for gff3_arg in options.gff3:
+        try:
+            (species, filename) = gff3_arg.split(':')
+        except ValueError:
+            raise Exception("Argument for --gff3 '%s' is not in the SPECIES:FILENAME format" % gff3_arg)
+        with open(filename) as f:
+            for i, line in enumerate(f):
+                line = line.strip()
+                if not line:
+                    # skip empty lines
+                    continue
+                if line[0] == '#':
+                    # skip comment lines
+                    continue
+                cols = line.split('\t')
+                if len(cols) != 9:
+                    raise Exception("Line %i in file '%s': '%s' does not have 9 columns" % (i, filename, line))
+                feature_type = cols[2]
+                try:
+                    if feature_type == 'gene':
+                        gene_to_json(cols, species)
+                    elif feature_type in ('mRNA', 'transcript'):
+                        transcript_to_json(cols, species)
+                    elif feature_type == 'exon':
+                        exon_to_json(cols, species)
+                    elif feature_type == 'five_prime_UTR':
+                        five_prime_utr_to_json(cols)
+                    elif feature_type == 'three_prime_UTR':
+                        three_prime_utr_to_json(cols)
+                    elif feature_type == 'CDS':
+                        cds_to_json(cols)
+                    else:
+                        print("Line %i in file '%s': '%s' is not an implemented feature type" % (i, filename, feature_type), file=sys.stderr)
+                except Exception as e:
+                    raise Exception("Line %i in file '%s': %s" % (i, filename, e))
+    join_dicts()
+
+    for json_arg in options.json:
+        merge_dicts(json_arg)
+
+    write_json(options.output, options.sort)
+
+
+if __name__ == '__main__':
+    __main__()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gff3_to_json.xml	Wed Dec 21 10:02:59 2016 -0500
@@ -0,0 +1,92 @@
+<tool id="gff3_to_json" name="GFF3 to JSON" version="0.1.1">
+    <description>converter</description>
+    <stdio>
+        <exit_code range="1:" level="fatal" />
+    </stdio>
+    <command>
+<![CDATA[
+python $__tool_directory__/gff3_to_json.py
+#for $q in $queries
+    --gff3 "${q.genome}:${q.gff3_input}"
+#end for
+#if str($json) != 'None'
+    #for $v in $json
+        --json "$v"
+    #end for
+#end if
+$sort
+> "$output"
+]]>
+    </command>
+
+    <inputs>
+        <repeat name="queries" title="GFF3 dataset">
+            <param name="gff3_input" type="data" format="gff3" label="GFF3 dataset" />
+            <param name="genome" type="text" label="Genome name" help="Genome name without whitespaces or special characters">
+                <validator type="empty_field" />
+            </param>
+        </repeat>
+        <param name="json" type="data" format="json" multiple="true" optional="true" label="JSON datasets to merge" />
+        <param name="sort" type="boolean" truevalue="-s" falsevalue="" label="Sort the keys in the JSON output" help="Ensure reproducibility, but can slow down the JSON creation for big files" />
+    </inputs>
+
+    <outputs>
+         <data name="output" format="json" label="${tool.name} on ${on_string}" />
+    </outputs>
+
+    <tests>
+        <test>
+            <param name="gff3_input" ftype="gff3" value="ENSCAFT00000026349.gff" />
+            <param name="genome" ftype="text" value="canisfamiliaris" />
+ 
+            <param name="gff3_input" ftype="gff3" value="ENSMUST00000005671.gff" />
+            <param name="genome" ftype="text" value="musmusculus" />
+
+            <param name="gff3_input" ftype="gff3" value="ENSMUST00000091291.gff" />
+            <param name="genome" ftype="text" value="musmusculus" />
+
+            <param name="gff3_input" ftype="gff3" value="ENSPTRT00000013802.gff" />
+            <param name="genome" ftype="text" value="pantroglodytes" />
+
+            <param name="gff3_input" ftype="gff3" value="ENSRNOT00000019267.gff" />
+            <param name="genome" value="rattusnorvegicus" />
+
+            <param name="sort" value="-s" />
+            <output name="output" file="test.json" ftype="json" />
+        </test>
+        <test>
+            <param name="gff3_input" ftype="gff3" value="Caenorhabditis_elegans.WBcel235.33.chromosome.I_shortened.gff3" />
+            <param name="genome" value="caenorhabditiselegans" />
+            <param name="sort" value="-s" />
+            <output name="output" file="Caenorhabditis_elegans.WBcel235.33.chromosome.I_shortened.json" ftype="json" />
+        </test>
+    </tests>
+    <help>
+<![CDATA[
+**What it does**
+
+Simple tool to convert a set of GFF3 datasets into JSON format and to merge with other JSON files.
+
+Example GFF3 file::
+
+    scaffold_0  MYZPE13164_Clone_G006_v1.0  gene            44968   69413   .   -   .   ID=MYZPE13164_G006_v1.0_000000030;Name=MYZPE13164_G006_v1.0_000000030;biotype=protein_coding
+    scaffold_0  MYZPE13164_Clone_G006_v1.0  mRNA            44968   69413   .   -   .   ID=MYZPE13164_G006_v1.0_000000030.1;Parent=MYZPE13164_G006_v1.0_000000030;Name=MYZPE13164_G006_v1.0_000000030.1;biotype=protein_coding;_AED=0.31
+    scaffold_0  MYZPE13164_Clone_G006_v1.0  three_prime_utr 44968   46637   .   -   .   ID=MYZPE13164_G006_v1.0_000000030.1.3utr1;Parent=MYZPE13164_G006_v1.0_000000030.1
+    scaffold_0  MYZPE13164_Clone_G006_v1.0  exon            44968   47432   .   -   .   ID=MYZPE13164_G006_v1.0_000000030.1.exon1;Parent=MYZPE13164_G006_v1.0_000000030.1
+    scaffold_0  MYZPE13164_Clone_G006_v1.0  CDS             46638   47432   .   -   0   ID=MYZPE13164_G006_v1.0_000000030.1.cds1;Parent=MYZPE13164_G006_v1.0_000000030.1
+    scaffold_0  MYZPE13164_Clone_G006_v1.0  exon            53325   53539   .   -   .   ID=MYZPE13164_G006_v1.0_000000030.1.exon2;Parent=MYZPE13164_G006_v1.0_000000030.1
+    scaffold_0  MYZPE13164_Clone_G006_v1.0  CDS             53325   53539   .   -   2   ID=MYZPE13164_G006_v1.0_000000030.1.cds2;Parent=MYZPE13164_G006_v1.0_000000030.1
+    scaffold_0  MYZPE13164_Clone_G006_v1.0  exon            54614   54719   .   -   .   ID=MYZPE13164_G006_v1.0_000000030.1.exon3;Parent=MYZPE13164_G006_v1.0_000000030.1
+    scaffold_0  MYZPE13164_Clone_G006_v1.0  CDS             54614   54719   .   -   0   ID=MYZPE13164_G006_v1.0_000000030.1.cds3;Parent=MYZPE13164_G006_v1.0_000000030.1
+    scaffold_0  MYZPE13164_Clone_G006_v1.0  CDS             54852   55106   .   -   0   ID=MYZPE13164_G006_v1.0_000000030.1.cds4;Parent=MYZPE13164_G006_v1.0_000000030.1
+    scaffold_0  MYZPE13164_Clone_G006_v1.0  exon            54852   55117   .   -   .   ID=MYZPE13164_G006_v1.0_000000030.1.exon4;Parent=MYZPE13164_G006_v1.0_000000030.1
+    scaffold_0  MYZPE13164_Clone_G006_v1.0  five_prime_utr  55107   55117   .   -   .   ID=MYZPE13164_G006_v1.0_000000030.1.5utr1;Parent=MYZPE13164_G006_v1.0_000000030.1
+    scaffold_0  MYZPE13164_Clone_G006_v1.0  five_prime_utr  68851   69413   .   -   .   ID=MYZPE13164_G006_v1.0_000000030.1.5utr2;Parent=MYZPE13164_G006_v1.0_000000030.1
+    scaffold_0  MYZPE13164_Clone_G006_v1.0  exon            68851   69413   .   -   .   ID=MYZPE13164_G006_v1.0_000000030.1.exon5;Parent=MYZPE13164_G006_v1.0_000000030.1
+
+Warning: **Gene**, **mRNA** and **exon** features are mandatory, UTR and CDS are optional. Also, **ID** and **Parent** tags are needed to create relations.
+]]>
+    </help>
+    <citations>
+    </citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Caenorhabditis_elegans.WBcel235.33.chromosome.I_shortened.gff3	Wed Dec 21 10:02:59 2016 -0500
@@ -0,0 +1,41 @@
+##gff-version 3
+#!genome-build WormBase WBcel235
+#!genome-version WBcel235
+#!genome-date 2012-12
+#!genome-build-accession NCBI:GCA_000002985.3
+#!genebuild-last-updated 2014-10
+I	WormBase	chromosome	1	15072434	.	.	.	ID=chromosome:I;Alias=BX284601.5,NC_003279.8
+I	WormBase	gene	10413	16842	.	+	.	ID=gene:WBGene00022276;Name=nlp-40;biotype=protein_coding;description=Neuropeptide-Like Protein  [Source:RefSeq peptide%3BAcc:NP_001293206];gene_id=WBGene00022276;logic_name=wormbase
+I	WormBase	gene	17483	26781	.	-	.	ID=gene:WBGene00022278;Name=rcor-1;biotype=protein_coding;description=RCOR (REST CO-Repressor) homolog  [Source:RefSeq peptide%3BAcc:NP_001293207];gene_id=WBGene00022278;logic_name=wormbase
+I	WormBase	miRNA_gene	6054951	6055002	.	-	.	ID=gene:WBGene00219261;Name=mir-4926;biotype=miRNA;gene_id=WBGene00219261;logic_name=wormbase_non_coding
+I	WormBase	mRNA	10413	16842	.	+	.	ID=transcript:Y74C9A.2a.2;Name=Y74C9A.2a.2;Parent=gene:WBGene00022276;biotype=protein_coding;transcript_id=Y74C9A.2a.2
+I	WormBase	mRNA	17483	24796	.	-	.	ID=transcript:Y74C9A.4d;Name=Y74C9A.4d;Parent=gene:WBGene00022278;biotype=protein_coding;transcript_id=Y74C9A.4d
+I	WormBase	transcript	6054951	6055002	.	-	.	ID=transcript:C27A12.13;Name=C27A12.13;Parent=gene:WBGene00219261;biotype=pre_miRNA;transcript_id=C27A12.13
+I	WormBase	miRNA	6054982	6055002	.	-	.	ID=transcript:C27A12.13a;Name=C27A12.13a;Parent=gene:WBGene00219261;biotype=miRNA;transcript_id=C27A12.13a
+I	WormBase	exon	10413	10585	.	+	.	Name=Y74C9A.2a.2.e1;Parent=transcript:Y74C9A.2a.2;constitutive=0;ensembl_end_phase=-1;ensembl_phase=-1;exon_id=Y74C9A.2a.2.e1;rank=1
+I	WormBase	exon	11618	11689	.	+	.	Name=Y74C9A.2a.1.e1;Parent=transcript:Y74C9A.2a.2;constitutive=0;ensembl_end_phase=1;ensembl_phase=-1;exon_id=Y74C9A.2a.1.e1;rank=2
+I	WormBase	exon	14951	15160	.	+	.	Name=Y74C9A.2a.1.e2;Parent=transcript:Y74C9A.2a.2;constitutive=0;ensembl_end_phase=1;ensembl_phase=1;exon_id=Y74C9A.2a.1.e2;rank=3
+I	WormBase	exon	16473	16842	.	+	.	Name=Y74C9A.2a.1.e3;Parent=transcript:Y74C9A.2a.2;constitutive=0;ensembl_end_phase=-1;ensembl_phase=1;exon_id=Y74C9A.2a.1.e3;rank=4
+I	WormBase	exon	24651	24796	.	-	.	Name=Y74C9A.4d.e1;Parent=transcript:Y74C9A.4d;constitutive=0;ensembl_end_phase=-1;ensembl_phase=-1;exon_id=Y74C9A.4d.e1;rank=1
+I	WormBase	exon	21013	21136	.	-	.	Name=Y74C9A.4d.e2;Parent=transcript:Y74C9A.4d;constitutive=0;ensembl_end_phase=1;ensembl_phase=-1;exon_id=Y74C9A.4d.e2;rank=2
+I	WormBase	exon	20848	20964	.	-	.	Name=Y74C9A.4a.e8;Parent=transcript:Y74C9A.4d;constitutive=1;ensembl_end_phase=1;ensembl_phase=1;exon_id=Y74C9A.4a.e8;rank=3
+I	WormBase	exon	20271	20478	.	-	.	Name=Y74C9A.4a.e9;Parent=transcript:Y74C9A.4d;constitutive=1;ensembl_end_phase=2;ensembl_phase=1;exon_id=Y74C9A.4a.e9;rank=4
+I	WormBase	exon	19015	19241	.	-	.	Name=Y74C9A.4a.e10;Parent=transcript:Y74C9A.4d;constitutive=1;ensembl_end_phase=1;ensembl_phase=2;exon_id=Y74C9A.4a.e10;rank=5
+I	WormBase	exon	18006	18115	.	-	.	Name=Y74C9A.4a.e11;Parent=transcript:Y74C9A.4d;constitutive=1;ensembl_end_phase=0;ensembl_phase=1;exon_id=Y74C9A.4a.e11;rank=6
+I	WormBase	exon	17483	17958	.	-	.	Name=Y74C9A.4a.e12;Parent=transcript:Y74C9A.4d;constitutive=1;ensembl_end_phase=-1;ensembl_phase=0;exon_id=Y74C9A.4a.e12;rank=7
+I	WormBase	exon	6054982	6055002	.	-	.	Name=C27A12.13a.e1;Parent=transcript:C27A12.13a;constitutive=0;ensembl_end_phase=-1;ensembl_phase=-1;exon_id=C27A12.13a.e1;rank=1
+I	WormBase	CDS	11641	11689	.	+	0	ID=CDS:Y74C9A.2a.2;Parent=transcript:Y74C9A.2a.2;protein_id=Y74C9A.2a.2
+I	WormBase	CDS	14951	15160	.	+	2	ID=CDS:Y74C9A.2a.2;Parent=transcript:Y74C9A.2a.2;protein_id=Y74C9A.2a.2
+I	WormBase	CDS	16473	16585	.	+	2	ID=CDS:Y74C9A.2a.2;Parent=transcript:Y74C9A.2a.2;protein_id=Y74C9A.2a.2
+I	WormBase	CDS	21013	21127	.	-	0	ID=CDS:Y74C9A.4d;Parent=transcript:Y74C9A.4d;protein_id=Y74C9A.4d
+I	WormBase	CDS	20848	20964	.	-	2	ID=CDS:Y74C9A.4d;Parent=transcript:Y74C9A.4d;protein_id=Y74C9A.4d
+I	WormBase	CDS	20271	20478	.	-	2	ID=CDS:Y74C9A.4d;Parent=transcript:Y74C9A.4d;protein_id=Y74C9A.4d
+I	WormBase	CDS	19015	19241	.	-	1	ID=CDS:Y74C9A.4d;Parent=transcript:Y74C9A.4d;protein_id=Y74C9A.4d
+I	WormBase	CDS	18006	18115	.	-	2	ID=CDS:Y74C9A.4d;Parent=transcript:Y74C9A.4d;protein_id=Y74C9A.4d
+I	WormBase	CDS	17911	17958	.	-	0	ID=CDS:Y74C9A.4d;Parent=transcript:Y74C9A.4d;protein_id=Y74C9A.4d
+I	WormBase	five_prime_UTR	10413	10585	.	+	.	Parent=transcript:Y74C9A.2a.2
+I	WormBase	five_prime_UTR	11618	11640	.	+	.	Parent=transcript:Y74C9A.2a.2
+I	WormBase	three_prime_UTR	16586	16842	.	+	.	Parent=transcript:Y74C9A.2a.2
+I	WormBase	five_prime_UTR	24651	24796	.	-	.	Parent=transcript:Y74C9A.4d
+I	WormBase	five_prime_UTR	21128	21136	.	-	.	Parent=transcript:Y74C9A.4d
+I	WormBase	three_prime_UTR	17483	17910	.	-	.	Parent=transcript:Y74C9A.4d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Caenorhabditis_elegans.WBcel235.33.chromosome.I_shortened.json	Wed Dec 21 10:02:59 2016 -0500
@@ -0,0 +1,343 @@
+{
+   "gene:WBGene00022276": {
+      "Name": "nlp-40", 
+      "Transcript": [
+         {
+            "Exon": [
+               {
+                  "Name": "Y74C9A.2a.2.e1", 
+                  "Parent": "transcript:Y74C9A.2a.2", 
+                  "constitutive": "0", 
+                  "end": 10585, 
+                  "ensembl_end_phase": "-1", 
+                  "ensembl_phase": "-1", 
+                  "exon_id": "Y74C9A.2a.2.e1", 
+                  "id": "Y74C9A.2a.2.e1", 
+                  "length": 173, 
+                  "object_type": "Exon", 
+                  "rank": "1", 
+                  "seq_region_name": "I", 
+                  "species": "caenorhabditiselegans", 
+                  "start": 10413, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "Y74C9A.2a.1.e1", 
+                  "Parent": "transcript:Y74C9A.2a.2", 
+                  "constitutive": "0", 
+                  "end": 11689, 
+                  "ensembl_end_phase": "1", 
+                  "ensembl_phase": "-1", 
+                  "exon_id": "Y74C9A.2a.1.e1", 
+                  "id": "Y74C9A.2a.1.e1", 
+                  "length": 72, 
+                  "object_type": "Exon", 
+                  "rank": "2", 
+                  "seq_region_name": "I", 
+                  "species": "caenorhabditiselegans", 
+                  "start": 11618, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "Y74C9A.2a.1.e2", 
+                  "Parent": "transcript:Y74C9A.2a.2", 
+                  "constitutive": "0", 
+                  "end": 15160, 
+                  "ensembl_end_phase": "1", 
+                  "ensembl_phase": "1", 
+                  "exon_id": "Y74C9A.2a.1.e2", 
+                  "id": "Y74C9A.2a.1.e2", 
+                  "length": 210, 
+                  "object_type": "Exon", 
+                  "rank": "3", 
+                  "seq_region_name": "I", 
+                  "species": "caenorhabditiselegans", 
+                  "start": 14951, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "Y74C9A.2a.1.e3", 
+                  "Parent": "transcript:Y74C9A.2a.2", 
+                  "constitutive": "0", 
+                  "end": 16842, 
+                  "ensembl_end_phase": "-1", 
+                  "ensembl_phase": "1", 
+                  "exon_id": "Y74C9A.2a.1.e3", 
+                  "id": "Y74C9A.2a.1.e3", 
+                  "length": 370, 
+                  "object_type": "Exon", 
+                  "rank": "4", 
+                  "seq_region_name": "I", 
+                  "species": "caenorhabditiselegans", 
+                  "start": 16473, 
+                  "strand": 1
+               }
+            ], 
+            "Name": "Y74C9A.2a.2", 
+            "Parent": "gene:WBGene00022276", 
+            "Translation": {
+               "CDS": [
+                  {
+                     "Parent": "transcript:Y74C9A.2a.2", 
+                     "end": 11689, 
+                     "id": "CDS:Y74C9A.2a.2", 
+                     "protein_id": "Y74C9A.2a.2", 
+                     "start": 11641, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Parent": "transcript:Y74C9A.2a.2", 
+                     "end": 15160, 
+                     "id": "CDS:Y74C9A.2a.2", 
+                     "protein_id": "Y74C9A.2a.2", 
+                     "start": 14951, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Parent": "transcript:Y74C9A.2a.2", 
+                     "end": 16585, 
+                     "id": "CDS:Y74C9A.2a.2", 
+                     "protein_id": "Y74C9A.2a.2", 
+                     "start": 16473, 
+                     "strand": 1
+                  }
+               ], 
+               "end": 16585, 
+               "id": "CDS:Y74C9A.2a.2", 
+               "object_type": "Translation", 
+               "species": "caenorhabditiselegans", 
+               "start": 11641
+            }, 
+            "biotype": "protein_coding", 
+            "end": 16842, 
+            "id": "transcript:Y74C9A.2a.2", 
+            "object_type": "Transcript", 
+            "seq_region_name": "I", 
+            "species": "caenorhabditiselegans", 
+            "start": 10413, 
+            "strand": 1, 
+            "transcript_id": "Y74C9A.2a.2"
+         }
+      ], 
+      "biotype": "protein_coding", 
+      "description": "Neuropeptide-Like Protein  [Source:RefSeq peptide%3BAcc:NP_001293206]", 
+      "end": 16842, 
+      "gene_id": "WBGene00022276", 
+      "id": "gene:WBGene00022276", 
+      "logic_name": "wormbase", 
+      "member_id": 0, 
+      "object_type": "Gene", 
+      "seq_region_name": "I", 
+      "species": "caenorhabditiselegans", 
+      "start": 10413, 
+      "strand": 1
+   }, 
+   "gene:WBGene00022278": {
+      "Name": "rcor-1", 
+      "Transcript": [
+         {
+            "Exon": [
+               {
+                  "Name": "Y74C9A.4a.e12", 
+                  "Parent": "transcript:Y74C9A.4d", 
+                  "constitutive": "1", 
+                  "end": 17958, 
+                  "ensembl_end_phase": "-1", 
+                  "ensembl_phase": "0", 
+                  "exon_id": "Y74C9A.4a.e12", 
+                  "id": "Y74C9A.4a.e12", 
+                  "length": 476, 
+                  "object_type": "Exon", 
+                  "rank": "7", 
+                  "seq_region_name": "I", 
+                  "species": "caenorhabditiselegans", 
+                  "start": 17483, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "Y74C9A.4a.e11", 
+                  "Parent": "transcript:Y74C9A.4d", 
+                  "constitutive": "1", 
+                  "end": 18115, 
+                  "ensembl_end_phase": "0", 
+                  "ensembl_phase": "1", 
+                  "exon_id": "Y74C9A.4a.e11", 
+                  "id": "Y74C9A.4a.e11", 
+                  "length": 110, 
+                  "object_type": "Exon", 
+                  "rank": "6", 
+                  "seq_region_name": "I", 
+                  "species": "caenorhabditiselegans", 
+                  "start": 18006, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "Y74C9A.4a.e10", 
+                  "Parent": "transcript:Y74C9A.4d", 
+                  "constitutive": "1", 
+                  "end": 19241, 
+                  "ensembl_end_phase": "1", 
+                  "ensembl_phase": "2", 
+                  "exon_id": "Y74C9A.4a.e10", 
+                  "id": "Y74C9A.4a.e10", 
+                  "length": 227, 
+                  "object_type": "Exon", 
+                  "rank": "5", 
+                  "seq_region_name": "I", 
+                  "species": "caenorhabditiselegans", 
+                  "start": 19015, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "Y74C9A.4a.e9", 
+                  "Parent": "transcript:Y74C9A.4d", 
+                  "constitutive": "1", 
+                  "end": 20478, 
+                  "ensembl_end_phase": "2", 
+                  "ensembl_phase": "1", 
+                  "exon_id": "Y74C9A.4a.e9", 
+                  "id": "Y74C9A.4a.e9", 
+                  "length": 208, 
+                  "object_type": "Exon", 
+                  "rank": "4", 
+                  "seq_region_name": "I", 
+                  "species": "caenorhabditiselegans", 
+                  "start": 20271, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "Y74C9A.4a.e8", 
+                  "Parent": "transcript:Y74C9A.4d", 
+                  "constitutive": "1", 
+                  "end": 20964, 
+                  "ensembl_end_phase": "1", 
+                  "ensembl_phase": "1", 
+                  "exon_id": "Y74C9A.4a.e8", 
+                  "id": "Y74C9A.4a.e8", 
+                  "length": 117, 
+                  "object_type": "Exon", 
+                  "rank": "3", 
+                  "seq_region_name": "I", 
+                  "species": "caenorhabditiselegans", 
+                  "start": 20848, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "Y74C9A.4d.e2", 
+                  "Parent": "transcript:Y74C9A.4d", 
+                  "constitutive": "0", 
+                  "end": 21136, 
+                  "ensembl_end_phase": "1", 
+                  "ensembl_phase": "-1", 
+                  "exon_id": "Y74C9A.4d.e2", 
+                  "id": "Y74C9A.4d.e2", 
+                  "length": 124, 
+                  "object_type": "Exon", 
+                  "rank": "2", 
+                  "seq_region_name": "I", 
+                  "species": "caenorhabditiselegans", 
+                  "start": 21013, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "Y74C9A.4d.e1", 
+                  "Parent": "transcript:Y74C9A.4d", 
+                  "constitutive": "0", 
+                  "end": 24796, 
+                  "ensembl_end_phase": "-1", 
+                  "ensembl_phase": "-1", 
+                  "exon_id": "Y74C9A.4d.e1", 
+                  "id": "Y74C9A.4d.e1", 
+                  "length": 146, 
+                  "object_type": "Exon", 
+                  "rank": "1", 
+                  "seq_region_name": "I", 
+                  "species": "caenorhabditiselegans", 
+                  "start": 24651, 
+                  "strand": -1
+               }
+            ], 
+            "Name": "Y74C9A.4d", 
+            "Parent": "gene:WBGene00022278", 
+            "Translation": {
+               "CDS": [
+                  {
+                     "Parent": "transcript:Y74C9A.4d", 
+                     "end": 17958, 
+                     "id": "CDS:Y74C9A.4d", 
+                     "protein_id": "Y74C9A.4d", 
+                     "start": 17911, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Parent": "transcript:Y74C9A.4d", 
+                     "end": 18115, 
+                     "id": "CDS:Y74C9A.4d", 
+                     "protein_id": "Y74C9A.4d", 
+                     "start": 18006, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Parent": "transcript:Y74C9A.4d", 
+                     "end": 19241, 
+                     "id": "CDS:Y74C9A.4d", 
+                     "protein_id": "Y74C9A.4d", 
+                     "start": 19015, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Parent": "transcript:Y74C9A.4d", 
+                     "end": 20478, 
+                     "id": "CDS:Y74C9A.4d", 
+                     "protein_id": "Y74C9A.4d", 
+                     "start": 20271, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Parent": "transcript:Y74C9A.4d", 
+                     "end": 20964, 
+                     "id": "CDS:Y74C9A.4d", 
+                     "protein_id": "Y74C9A.4d", 
+                     "start": 20848, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Parent": "transcript:Y74C9A.4d", 
+                     "end": 21127, 
+                     "id": "CDS:Y74C9A.4d", 
+                     "protein_id": "Y74C9A.4d", 
+                     "start": 21013, 
+                     "strand": -1
+                  }
+               ], 
+               "end": 21127, 
+               "id": "CDS:Y74C9A.4d", 
+               "object_type": "Translation", 
+               "species": "caenorhabditiselegans", 
+               "start": 17911
+            }, 
+            "biotype": "protein_coding", 
+            "end": 24796, 
+            "id": "transcript:Y74C9A.4d", 
+            "object_type": "Transcript", 
+            "seq_region_name": "I", 
+            "species": "caenorhabditiselegans", 
+            "start": 17483, 
+            "strand": -1, 
+            "transcript_id": "Y74C9A.4d"
+         }
+      ], 
+      "biotype": "protein_coding", 
+      "description": "RCOR (REST CO-Repressor) homolog  [Source:RefSeq peptide%3BAcc:NP_001293207]", 
+      "end": 26781, 
+      "gene_id": "WBGene00022278", 
+      "id": "gene:WBGene00022278", 
+      "logic_name": "wormbase", 
+      "member_id": 1, 
+      "object_type": "Gene", 
+      "seq_region_name": "I", 
+      "species": "caenorhabditiselegans", 
+      "start": 17483, 
+      "strand": -1
+   }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/ENSCAFT00000026349.gff	Wed Dec 21 10:02:59 2016 -0500
@@ -0,0 +1,46 @@
+7	Ensembl	gene	41161397	41176758	.	+	.	ID=ENSCAFG00000024151;Name=ENSCAFG00000024151;biotype=protein_coding
+7	Ensembl	transcript	41161397	41176758	.	+	.	ID=ENSCAFT00000026349;Name=ENSCAFT00000026349;Parent=ENSCAFG00000024151;biotype=protein_coding
+7	Ensembl	exon	41161397	41161537	.	+	.	Name=ENSCAFE00000180286;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41164527	41165078	.	+	1	Name=ENSCAFE00000180288;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41166549	41166852	.	+	1	Name=ENSCAFE00000180303;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41166945	41167087	.	+	2	Name=ENSCAFE00000180319;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41167308	41167452	.	+	1	Name=ENSCAFE00000180337;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41168280	41168494	.	+	2	Name=ENSCAFE00000180353;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41168736	41168862	.	+	1	Name=ENSCAFE00000180364;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41170224	41170462	.	+	2	Name=ENSCAFE00000180374;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41170839	41171006	.	+	1	Name=ENSCAFE00000180385;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41171100	41171295	.	+	1	Name=ENSCAFE00000180394;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41171404	41171445	.	+	2	Name=ENSCAFE00000180397;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41171521	41171741	.	+	2	Name=ENSCAFE00000180399;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41171957	41172093	.	+	1	Name=ENSCAFE00000180402;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41172179	41172341	.	+	0	Name=ENSCAFE00000180416;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41172550	41172655	.	+	1	Name=ENSCAFE00000180432;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41173257	41173309	.	+	2	Name=ENSCAFE00000180442;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41173468	41173697	.	+	1	Name=ENSCAFE00000180448;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41174196	41174306	.	+	0	Name=ENSCAFE00000180452;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41174442	41174601	.	+	0	Name=ENSCAFE00000180460;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41175094	41175223	.	+	1	Name=ENSCAFE00000180475;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41175346	41175480	.	+	2	Name=ENSCAFE00000180481;Parent=ENSCAFT00000026349
+7	Ensembl	exon	41175700	41176758	.	+	2	Name=ENSCAFE00000309098;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41161397	41161537	.	+	.	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41164527	41165078	.	+	1	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41166549	41166852	.	+	1	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41166945	41167087	.	+	2	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41167308	41167452	.	+	1	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41168280	41168494	.	+	2	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41168736	41168862	.	+	1	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41170224	41170462	.	+	2	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41170839	41171006	.	+	1	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41171100	41171295	.	+	1	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41171404	41171445	.	+	2	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41171521	41171741	.	+	2	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41171957	41172093	.	+	1	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41172179	41172341	.	+	0	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41172550	41172655	.	+	1	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41173257	41173309	.	+	2	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41173468	41173697	.	+	1	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41174196	41174306	.	+	0	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41174442	41174601	.	+	0	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41175094	41175223	.	+	1	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41175346	41175480	.	+	2	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
+7	Ensembl	CDS	41175700	41176758	.	+	2	Name=ENSCAFP00000024471;Parent=ENSCAFT00000026349
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/ENSMUST00000005671.gff	Wed Dec 21 10:02:59 2016 -0500
@@ -0,0 +1,44 @@
+7	Ensembl	gene	67952859	68226780	.	+	.	ID=ENSMUSG00000005533;Name=ENSMUSG00000005533;biotype=protein_coding
+7	Ensembl	transcript	67952859	68226780	.	+	.	ID=ENSMUST00000005671;Name=ENSMUST00000005671;Parent=ENSMUSG00000005533;biotype=protein_coding
+7	Ensembl	exon	67952859	67952952	.	+	0	Name=ENSMUSE00000261783;Parent=ENSMUST00000005671
+7	Ensembl	exon	68003810	68004355	.	+	1	Name=ENSMUSE00000261773;Parent=ENSMUST00000005671
+7	Ensembl	exon	68164993	68165305	.	+	1	Name=ENSMUSE00000261767;Parent=ENSMUST00000005671
+7	Ensembl	exon	68169897	68170048	.	+	2	Name=ENSMUSE00000261754;Parent=ENSMUST00000005671
+7	Ensembl	exon	68173231	68173375	.	+	1	Name=ENSMUSE00000261748;Parent=ENSMUST00000005671
+7	Ensembl	exon	68183344	68183558	.	+	2	Name=ENSMUSE00000261743;Parent=ENSMUST00000005671
+7	Ensembl	exon	68184731	68184857	.	+	1	Name=ENSMUSE00000261736;Parent=ENSMUST00000005671
+7	Ensembl	exon	68186990	68187228	.	+	2	Name=ENSMUSE00000261728;Parent=ENSMUST00000005671
+7	Ensembl	exon	68189573	68189740	.	+	1	Name=ENSMUSE00000261725;Parent=ENSMUST00000005671
+7	Ensembl	exon	68189946	68190150	.	+	1	Name=ENSMUSE00000261719;Parent=ENSMUST00000005671
+7	Ensembl	exon	68193347	68193630	.	+	2	Name=ENSMUSE00000261714;Parent=ENSMUST00000005671
+7	Ensembl	exon	68194969	68195105	.	+	1	Name=ENSMUSE00000200356;Parent=ENSMUST00000005671
+7	Ensembl	exon	68195590	68195749	.	+	0	Name=ENSMUSE00000200354;Parent=ENSMUST00000005671
+7	Ensembl	exon	68201244	68201346	.	+	1	Name=ENSMUSE00000200353;Parent=ENSMUST00000005671
+7	Ensembl	exon	68201902	68201972	.	+	2	Name=ENSMUSE00000200349;Parent=ENSMUST00000005671
+7	Ensembl	exon	68207251	68207480	.	+	1	Name=ENSMUSE00000200360;Parent=ENSMUST00000005671
+7	Ensembl	exon	68207763	68207873	.	+	0	Name=ENSMUSE00000530700;Parent=ENSMUST00000005671
+7	Ensembl	exon	68211994	68212156	.	+	0	Name=ENSMUSE00000261691;Parent=ENSMUST00000005671
+7	Ensembl	exon	68214919	68215048	.	+	1	Name=ENSMUSE00000530699;Parent=ENSMUST00000005671
+7	Ensembl	exon	68218402	68218536	.	+	2	Name=ENSMUSE00000200350;Parent=ENSMUST00000005671
+7	Ensembl	exon	68226020	68226780	.	+	2	Name=ENSMUSE00000331286;Parent=ENSMUST00000005671
+7	Ensembl	CDS	67952859	67952952	.	+	0	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68003810	68004355	.	+	1	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68164993	68165305	.	+	1	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68169897	68170048	.	+	2	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68173231	68173375	.	+	1	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68183344	68183558	.	+	2	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68184731	68184857	.	+	1	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68186990	68187228	.	+	2	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68189573	68189740	.	+	1	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68189946	68190150	.	+	1	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68193347	68193630	.	+	2	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68194969	68195105	.	+	1	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68195590	68195749	.	+	0	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68201244	68201346	.	+	1	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68201902	68201972	.	+	2	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68207251	68207480	.	+	1	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68207763	68207873	.	+	0	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68211994	68212156	.	+	0	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68214919	68215048	.	+	1	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68218402	68218536	.	+	2	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
+7	Ensembl	CDS	68226020	68226780	.	+	2	Name=ENSMUSP00000005671;Parent=ENSMUST00000005671
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/ENSMUST00000091291.gff	Wed Dec 21 10:02:59 2016 -0500
@@ -0,0 +1,44 @@
+8	Ensembl	gene	3150922	3279617	.	-	.	ID=ENSMUSG00000005534;Name=ENSMUSG00000005534;biotype=protein_coding
+8	Ensembl	transcript	3150922	3279617	.	-	.	ID=ENSMUST00000091291;Name=ENSMUST00000091291;Parent=ENSMUSG00000005534;biotype=protein_coding
+8	Ensembl	exon	3279029	3279617	.	-	1	Name=ENSMUSE00000771349;Parent=ENSMUST00000091291
+8	Ensembl	exon	3258383	3258934	.	-	1	Name=ENSMUSE00001230539;Parent=ENSMUST00000091291
+8	Ensembl	exon	3211379	3211700	.	-	2	Name=ENSMUSE00000611294;Parent=ENSMUST00000091291
+8	Ensembl	exon	3204630	3204778	.	-	1	Name=ENSMUSE00000611293;Parent=ENSMUST00000091291
+8	Ensembl	exon	3202890	3203034	.	-	2	Name=ENSMUSE00000611267;Parent=ENSMUST00000091291
+8	Ensembl	exon	3198061	3198275	.	-	1	Name=ENSMUSE00000638453;Parent=ENSMUST00000091291
+8	Ensembl	exon	3194795	3194921	.	-	2	Name=ENSMUSE00000611287;Parent=ENSMUST00000091291
+8	Ensembl	exon	3192546	3192802	.	-	1	Name=ENSMUSE00000611286;Parent=ENSMUST00000091291
+8	Ensembl	exon	3189125	3189292	.	-	1	Name=ENSMUSE00000611285;Parent=ENSMUST00000091291
+8	Ensembl	exon	3184951	3185152	.	-	2	Name=ENSMUSE00000611282;Parent=ENSMUST00000091291
+8	Ensembl	exon	3174614	3174888	.	-	1	Name=ENSMUSE00000233977;Parent=ENSMUST00000091291
+8	Ensembl	exon	3173480	3173619	.	-	0	Name=ENSMUSE00000233970;Parent=ENSMUST00000091291
+8	Ensembl	exon	3169709	3169868	.	-	1	Name=ENSMUSE00000611280;Parent=ENSMUST00000091291
+8	Ensembl	exon	3167502	3167604	.	-	2	Name=ENSMUSE00000611279;Parent=ENSMUST00000091291
+8	Ensembl	exon	3165518	3165585	.	-	1	Name=ENSMUSE00000611278;Parent=ENSMUST00000091291
+8	Ensembl	exon	3163237	3163481	.	-	0	Name=ENSMUSE00000611277;Parent=ENSMUST00000091291
+8	Ensembl	exon	3161681	3161791	.	-	0	Name=ENSMUSE00000611276;Parent=ENSMUST00000091291
+8	Ensembl	exon	3161339	3161498	.	-	1	Name=ENSMUSE00000611274;Parent=ENSMUST00000091291
+8	Ensembl	exon	3159453	3159582	.	-	2	Name=ENSMUSE00000611273;Parent=ENSMUST00000091291
+8	Ensembl	exon	3158696	3158830	.	-	2	Name=ENSMUSE00000611272;Parent=ENSMUST00000091291
+8	Ensembl	exon	3150922	3156023	.	-	.	Name=ENSMUSE00000569243;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3279029	3279617	.	-	1	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3258383	3258934	.	-	1	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3211379	3211700	.	-	2	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3204630	3204778	.	-	1	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3202890	3203034	.	-	2	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3198061	3198275	.	-	1	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3194795	3194921	.	-	2	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3192546	3192802	.	-	1	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3189125	3189292	.	-	1	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3184951	3185152	.	-	2	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3174614	3174888	.	-	1	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3173480	3173619	.	-	0	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3169709	3169868	.	-	1	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3167502	3167604	.	-	2	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3165518	3165585	.	-	1	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3163237	3163481	.	-	0	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3161681	3161791	.	-	0	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3161339	3161498	.	-	1	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3159453	3159582	.	-	2	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3158696	3158830	.	-	2	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
+8	Ensembl	CDS	3150922	3156023	.	-	.	Name=ENSMUSP00000088837;Parent=ENSMUST00000091291
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/ENSPTRT00000013802.gff	Wed Dec 21 10:02:59 2016 -0500
@@ -0,0 +1,44 @@
+15	Ensembl	gene	96156951	96470984	.	+	.	ID=ENSPTRG00000007489;Name=ENSPTRG00000007489;biotype=protein_coding
+15	Ensembl	transcript	96156951	96470984	.	+	.	ID=ENSPTRT00000013802;Name=ENSPTRT00000013802;Parent=ENSPTRG00000007489;biotype=protein_coding
+15	Ensembl	exon	96156951	96157076	.	+	.	Name=ENSPTRE00000075393;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96216402	96216947	.	+	1	Name=ENSPTRE00000075406;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96403452	96403764	.	+	1	Name=ENSPTRE00000075404;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96408876	96409024	.	+	2	Name=ENSPTRE00000075400;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96411580	96411724	.	+	1	Name=ENSPTRE00000075399;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96420797	96421011	.	+	2	Name=ENSPTRE00000075389;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96423413	96423539	.	+	1	Name=ENSPTRE00000075398;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96425147	96425385	.	+	2	Name=ENSPTRE00000340876;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96428065	96428232	.	+	1	Name=ENSPTRE00000075396;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96428770	96428974	.	+	1	Name=ENSPTRE00000075392;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96434239	96434522	.	+	2	Name=ENSPTRE00000075387;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96435965	96436101	.	+	1	Name=ENSPTRE00000075390;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96436614	96436773	.	+	0	Name=ENSPTRE00000075386;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96441658	96441760	.	+	1	Name=ENSPTRE00000075407;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96442337	96442407	.	+	2	Name=ENSPTRE00000075405;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96446912	96447141	.	+	1	Name=ENSPTRE00000075403;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96447405	96447515	.	+	0	Name=ENSPTRE00000075397;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96451284	96451443	.	+	0	Name=ENSPTRE00000075394;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96455007	96455136	.	+	1	Name=ENSPTRE00000423172;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96460655	96460789	.	+	2	Name=ENSPTRE00000075402;Parent=ENSPTRT00000013802
+15	Ensembl	exon	96469783	96470984	.	+	2	Name=ENSPTRE00000075401;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96156951	96157076	.	+	.	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96216402	96216947	.	+	1	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96403452	96403764	.	+	1	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96408876	96409024	.	+	2	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96411580	96411724	.	+	1	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96420797	96421011	.	+	2	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96423413	96423539	.	+	1	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96425147	96425385	.	+	2	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96428065	96428232	.	+	1	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96428770	96428974	.	+	1	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96434239	96434522	.	+	2	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96435965	96436101	.	+	1	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96436614	96436773	.	+	0	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96441658	96441760	.	+	1	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96442337	96442407	.	+	2	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96446912	96447141	.	+	1	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96447405	96447515	.	+	0	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96451284	96451443	.	+	0	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96455007	96455136	.	+	1	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96460655	96460789	.	+	2	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
+15	Ensembl	CDS	96469783	96470984	.	+	2	Name=ENSPTRP00000012792;Parent=ENSPTRT00000013802
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/ENSRNOT00000019267.gff	Wed Dec 21 10:02:59 2016 -0500
@@ -0,0 +1,44 @@
+1	Ensembl	gene	128924966	129206516	.	+	.	ID=ENSRNOG00000014187;Name=ENSRNOG00000014187;biotype=protein_coding
+1	Ensembl	transcript	128924966	129206516	.	+	.	ID=ENSRNOT00000019267;Name=ENSRNOT00000019267;Parent=ENSRNOG00000014187;biotype=protein_coding
+1	Ensembl	exon	128924966	128925059	.	+	0	Name=ENSRNOE00000137027;Parent=ENSRNOT00000019267
+1	Ensembl	exon	128978104	128978649	.	+	1	Name=ENSRNOE00000135455;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129142521	129142833	.	+	1	Name=ENSRNOE00000135507;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129147060	129147211	.	+	2	Name=ENSRNOE00000135552;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129149693	129149837	.	+	1	Name=ENSRNOE00000135606;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129159112	129159326	.	+	2	Name=ENSRNOE00000135651;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129161168	129161294	.	+	1	Name=ENSRNOE00000135775;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129162727	129162965	.	+	2	Name=ENSRNOE00000137123;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129166863	129167030	.	+	1	Name=ENSRNOE00000135864;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129167227	129167431	.	+	1	Name=ENSRNOE00000137165;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129172248	129172531	.	+	2	Name=ENSRNOE00000137211;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129174080	129174216	.	+	1	Name=ENSRNOE00000136003;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129174682	129174841	.	+	0	Name=ENSRNOE00000136044;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129180666	129180769	.	+	1	Name=ENSRNOE00000136080;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129180773	129180803	.	+	0	Name=ENSRNOE00000520956;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129186970	129187229	.	+	1	Name=ENSRNOE00000136171;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129187512	129187622	.	+	0	Name=ENSRNOE00000362520;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129191992	129192151	.	+	0	Name=ENSRNOE00000136274;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129195281	129195410	.	+	1	Name=ENSRNOE00000329647;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129198768	129198902	.	+	2	Name=ENSRNOE00000136353;Parent=ENSRNOT00000019267
+1	Ensembl	exon	129206132	129206516	.	+	2	Name=ENSRNOE00000137303;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	128924966	128925059	.	+	0	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	128978104	128978649	.	+	1	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129142521	129142833	.	+	1	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129147060	129147211	.	+	2	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129149693	129149837	.	+	1	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129159112	129159326	.	+	2	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129161168	129161294	.	+	1	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129162727	129162965	.	+	2	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129166863	129167030	.	+	1	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129167227	129167431	.	+	1	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129172248	129172531	.	+	2	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129174080	129174216	.	+	1	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129174682	129174841	.	+	0	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129180666	129180769	.	+	1	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129180773	129180803	.	+	0	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129186970	129187229	.	+	1	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129187512	129187622	.	+	0	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129191992	129192151	.	+	0	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129195281	129195410	.	+	1	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129198768	129198902	.	+	2	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
+1	Ensembl	CDS	129206132	129206516	.	+	2	Name=ENSRNOP00000019267;Parent=ENSRNOT00000019267
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test.json	Wed Dec 21 10:02:59 2016 -0500
@@ -0,0 +1,2307 @@
+{
+   "ENSCAFG00000024151": {
+      "Name": "ENSCAFG00000024151", 
+      "Transcript": [
+         {
+            "Exon": [
+               {
+                  "Name": "ENSCAFE00000180286", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41161537, 
+                  "id": "ENSCAFE00000180286", 
+                  "length": 141, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41161397, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180288", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41165078, 
+                  "id": "ENSCAFE00000180288", 
+                  "length": 552, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41164527, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180303", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41166852, 
+                  "id": "ENSCAFE00000180303", 
+                  "length": 304, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41166549, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180319", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41167087, 
+                  "id": "ENSCAFE00000180319", 
+                  "length": 143, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41166945, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180337", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41167452, 
+                  "id": "ENSCAFE00000180337", 
+                  "length": 145, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41167308, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180353", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41168494, 
+                  "id": "ENSCAFE00000180353", 
+                  "length": 215, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41168280, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180364", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41168862, 
+                  "id": "ENSCAFE00000180364", 
+                  "length": 127, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41168736, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180374", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41170462, 
+                  "id": "ENSCAFE00000180374", 
+                  "length": 239, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41170224, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180385", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41171006, 
+                  "id": "ENSCAFE00000180385", 
+                  "length": 168, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41170839, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180394", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41171295, 
+                  "id": "ENSCAFE00000180394", 
+                  "length": 196, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41171100, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180397", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41171445, 
+                  "id": "ENSCAFE00000180397", 
+                  "length": 42, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41171404, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180399", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41171741, 
+                  "id": "ENSCAFE00000180399", 
+                  "length": 221, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41171521, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180402", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41172093, 
+                  "id": "ENSCAFE00000180402", 
+                  "length": 137, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41171957, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180416", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41172341, 
+                  "id": "ENSCAFE00000180416", 
+                  "length": 163, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41172179, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180432", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41172655, 
+                  "id": "ENSCAFE00000180432", 
+                  "length": 106, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41172550, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180442", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41173309, 
+                  "id": "ENSCAFE00000180442", 
+                  "length": 53, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41173257, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180448", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41173697, 
+                  "id": "ENSCAFE00000180448", 
+                  "length": 230, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41173468, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180452", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41174306, 
+                  "id": "ENSCAFE00000180452", 
+                  "length": 111, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41174196, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180460", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41174601, 
+                  "id": "ENSCAFE00000180460", 
+                  "length": 160, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41174442, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180475", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41175223, 
+                  "id": "ENSCAFE00000180475", 
+                  "length": 130, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41175094, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000180481", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41175480, 
+                  "id": "ENSCAFE00000180481", 
+                  "length": 135, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41175346, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSCAFE00000309098", 
+                  "Parent": "ENSCAFT00000026349", 
+                  "end": 41176758, 
+                  "id": "ENSCAFE00000309098", 
+                  "length": 1059, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "canisfamiliaris", 
+                  "start": 41175700, 
+                  "strand": 1
+               }
+            ], 
+            "Name": "ENSCAFT00000026349", 
+            "Parent": "ENSCAFG00000024151", 
+            "Translation": {
+               "CDS": [
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41161537, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41161397, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41165078, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41164527, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41166852, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41166549, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41167087, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41166945, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41167452, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41167308, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41168494, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41168280, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41168862, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41168736, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41170462, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41170224, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41171006, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41170839, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41171295, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41171100, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41171445, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41171404, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41171741, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41171521, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41172093, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41171957, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41172341, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41172179, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41172655, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41172550, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41173309, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41173257, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41173697, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41173468, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41174306, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41174196, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41174601, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41174442, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41175223, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41175094, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41175480, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41175346, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSCAFP00000024471", 
+                     "Parent": "ENSCAFT00000026349", 
+                     "end": 41176758, 
+                     "id": "ENSCAFP00000024471", 
+                     "start": 41175700, 
+                     "strand": 1
+                  }
+               ], 
+               "end": 41176758, 
+               "id": "ENSCAFP00000024471", 
+               "object_type": "Translation", 
+               "species": "canisfamiliaris", 
+               "start": 41161397
+            }, 
+            "biotype": "protein_coding", 
+            "end": 41176758, 
+            "id": "ENSCAFT00000026349", 
+            "object_type": "Transcript", 
+            "seq_region_name": "7", 
+            "species": "canisfamiliaris", 
+            "start": 41161397, 
+            "strand": 1
+         }
+      ], 
+      "biotype": "protein_coding", 
+      "end": 41176758, 
+      "id": "ENSCAFG00000024151", 
+      "member_id": 4, 
+      "object_type": "Gene", 
+      "seq_region_name": "7", 
+      "species": "canisfamiliaris", 
+      "start": 41161397, 
+      "strand": 1
+   }, 
+   "ENSMUSG00000005533": {
+      "Name": "ENSMUSG00000005533", 
+      "Transcript": [
+         {
+            "Exon": [
+               {
+                  "Name": "ENSMUSE00000261783", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 67952952, 
+                  "id": "ENSMUSE00000261783", 
+                  "length": 94, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 67952859, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000261773", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68004355, 
+                  "id": "ENSMUSE00000261773", 
+                  "length": 546, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68003810, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000261767", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68165305, 
+                  "id": "ENSMUSE00000261767", 
+                  "length": 313, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68164993, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000261754", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68170048, 
+                  "id": "ENSMUSE00000261754", 
+                  "length": 152, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68169897, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000261748", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68173375, 
+                  "id": "ENSMUSE00000261748", 
+                  "length": 145, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68173231, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000261743", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68183558, 
+                  "id": "ENSMUSE00000261743", 
+                  "length": 215, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68183344, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000261736", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68184857, 
+                  "id": "ENSMUSE00000261736", 
+                  "length": 127, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68184731, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000261728", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68187228, 
+                  "id": "ENSMUSE00000261728", 
+                  "length": 239, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68186990, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000261725", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68189740, 
+                  "id": "ENSMUSE00000261725", 
+                  "length": 168, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68189573, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000261719", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68190150, 
+                  "id": "ENSMUSE00000261719", 
+                  "length": 205, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68189946, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000261714", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68193630, 
+                  "id": "ENSMUSE00000261714", 
+                  "length": 284, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68193347, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000200356", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68195105, 
+                  "id": "ENSMUSE00000200356", 
+                  "length": 137, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68194969, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000200354", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68195749, 
+                  "id": "ENSMUSE00000200354", 
+                  "length": 160, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68195590, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000200353", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68201346, 
+                  "id": "ENSMUSE00000200353", 
+                  "length": 103, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68201244, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000200349", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68201972, 
+                  "id": "ENSMUSE00000200349", 
+                  "length": 71, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68201902, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000200360", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68207480, 
+                  "id": "ENSMUSE00000200360", 
+                  "length": 230, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68207251, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000530700", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68207873, 
+                  "id": "ENSMUSE00000530700", 
+                  "length": 111, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68207763, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000261691", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68212156, 
+                  "id": "ENSMUSE00000261691", 
+                  "length": 163, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68211994, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000530699", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68215048, 
+                  "id": "ENSMUSE00000530699", 
+                  "length": 130, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68214919, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000200350", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68218536, 
+                  "id": "ENSMUSE00000200350", 
+                  "length": 135, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68218402, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSMUSE00000331286", 
+                  "Parent": "ENSMUST00000005671", 
+                  "end": 68226780, 
+                  "id": "ENSMUSE00000331286", 
+                  "length": 761, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "7", 
+                  "species": "musmusculus", 
+                  "start": 68226020, 
+                  "strand": 1
+               }
+            ], 
+            "Name": "ENSMUST00000005671", 
+            "Parent": "ENSMUSG00000005533", 
+            "Translation": {
+               "CDS": [
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 67952952, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 67952859, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68004355, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68003810, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68165305, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68164993, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68170048, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68169897, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68173375, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68173231, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68183558, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68183344, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68184857, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68184731, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68187228, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68186990, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68189740, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68189573, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68190150, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68189946, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68193630, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68193347, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68195105, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68194969, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68195749, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68195590, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68201346, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68201244, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68201972, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68201902, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68207480, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68207251, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68207873, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68207763, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68212156, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68211994, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68215048, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68214919, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68218536, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68218402, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000005671", 
+                     "Parent": "ENSMUST00000005671", 
+                     "end": 68226780, 
+                     "id": "ENSMUSP00000005671", 
+                     "start": 68226020, 
+                     "strand": 1
+                  }
+               ], 
+               "end": 68226780, 
+               "id": "ENSMUSP00000005671", 
+               "object_type": "Translation", 
+               "species": "musmusculus", 
+               "start": 67952859
+            }, 
+            "biotype": "protein_coding", 
+            "end": 68226780, 
+            "id": "ENSMUST00000005671", 
+            "object_type": "Transcript", 
+            "seq_region_name": "7", 
+            "species": "musmusculus", 
+            "start": 67952859, 
+            "strand": 1
+         }
+      ], 
+      "biotype": "protein_coding", 
+      "end": 68226780, 
+      "id": "ENSMUSG00000005533", 
+      "member_id": 3, 
+      "object_type": "Gene", 
+      "seq_region_name": "7", 
+      "species": "musmusculus", 
+      "start": 67952859, 
+      "strand": 1
+   }, 
+   "ENSMUSG00000005534": {
+      "Name": "ENSMUSG00000005534", 
+      "Transcript": [
+         {
+            "Exon": [
+               {
+                  "Name": "ENSMUSE00000569243", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3156023, 
+                  "id": "ENSMUSE00000569243", 
+                  "length": 5102, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3150922, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611272", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3158830, 
+                  "id": "ENSMUSE00000611272", 
+                  "length": 135, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3158696, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611273", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3159582, 
+                  "id": "ENSMUSE00000611273", 
+                  "length": 130, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3159453, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611274", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3161498, 
+                  "id": "ENSMUSE00000611274", 
+                  "length": 160, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3161339, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611276", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3161791, 
+                  "id": "ENSMUSE00000611276", 
+                  "length": 111, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3161681, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611277", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3163481, 
+                  "id": "ENSMUSE00000611277", 
+                  "length": 245, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3163237, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611278", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3165585, 
+                  "id": "ENSMUSE00000611278", 
+                  "length": 68, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3165518, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611279", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3167604, 
+                  "id": "ENSMUSE00000611279", 
+                  "length": 103, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3167502, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611280", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3169868, 
+                  "id": "ENSMUSE00000611280", 
+                  "length": 160, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3169709, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000233970", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3173619, 
+                  "id": "ENSMUSE00000233970", 
+                  "length": 140, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3173480, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000233977", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3174888, 
+                  "id": "ENSMUSE00000233977", 
+                  "length": 275, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3174614, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611282", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3185152, 
+                  "id": "ENSMUSE00000611282", 
+                  "length": 202, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3184951, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611285", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3189292, 
+                  "id": "ENSMUSE00000611285", 
+                  "length": 168, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3189125, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611286", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3192802, 
+                  "id": "ENSMUSE00000611286", 
+                  "length": 257, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3192546, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611287", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3194921, 
+                  "id": "ENSMUSE00000611287", 
+                  "length": 127, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3194795, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000638453", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3198275, 
+                  "id": "ENSMUSE00000638453", 
+                  "length": 215, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3198061, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611267", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3203034, 
+                  "id": "ENSMUSE00000611267", 
+                  "length": 145, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3202890, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611293", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3204778, 
+                  "id": "ENSMUSE00000611293", 
+                  "length": 149, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3204630, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000611294", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3211700, 
+                  "id": "ENSMUSE00000611294", 
+                  "length": 322, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3211379, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00001230539", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3258934, 
+                  "id": "ENSMUSE00001230539", 
+                  "length": 552, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3258383, 
+                  "strand": -1
+               }, 
+               {
+                  "Name": "ENSMUSE00000771349", 
+                  "Parent": "ENSMUST00000091291", 
+                  "end": 3279617, 
+                  "id": "ENSMUSE00000771349", 
+                  "length": 589, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "8", 
+                  "species": "musmusculus", 
+                  "start": 3279029, 
+                  "strand": -1
+               }
+            ], 
+            "Name": "ENSMUST00000091291", 
+            "Parent": "ENSMUSG00000005534", 
+            "Translation": {
+               "CDS": [
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3156023, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3150922, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3158830, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3158696, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3159582, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3159453, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3161498, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3161339, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3161791, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3161681, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3163481, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3163237, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3165585, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3165518, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3167604, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3167502, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3169868, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3169709, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3173619, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3173480, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3174888, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3174614, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3185152, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3184951, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3189292, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3189125, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3192802, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3192546, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3194921, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3194795, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3198275, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3198061, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3203034, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3202890, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3204778, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3204630, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3211700, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3211379, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3258934, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3258383, 
+                     "strand": -1
+                  }, 
+                  {
+                     "Name": "ENSMUSP00000088837", 
+                     "Parent": "ENSMUST00000091291", 
+                     "end": 3279617, 
+                     "id": "ENSMUSP00000088837", 
+                     "start": 3279029, 
+                     "strand": -1
+                  }
+               ], 
+               "end": 3279617, 
+               "id": "ENSMUSP00000088837", 
+               "object_type": "Translation", 
+               "species": "musmusculus", 
+               "start": 3150922
+            }, 
+            "biotype": "protein_coding", 
+            "end": 3279617, 
+            "id": "ENSMUST00000091291", 
+            "object_type": "Transcript", 
+            "seq_region_name": "8", 
+            "species": "musmusculus", 
+            "start": 3150922, 
+            "strand": -1
+         }
+      ], 
+      "biotype": "protein_coding", 
+      "end": 3279617, 
+      "id": "ENSMUSG00000005534", 
+      "member_id": 2, 
+      "object_type": "Gene", 
+      "seq_region_name": "8", 
+      "species": "musmusculus", 
+      "start": 3150922, 
+      "strand": -1
+   }, 
+   "ENSPTRG00000007489": {
+      "Name": "ENSPTRG00000007489", 
+      "Transcript": [
+         {
+            "Exon": [
+               {
+                  "Name": "ENSPTRE00000075393", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96157076, 
+                  "id": "ENSPTRE00000075393", 
+                  "length": 126, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96156951, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075406", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96216947, 
+                  "id": "ENSPTRE00000075406", 
+                  "length": 546, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96216402, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075404", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96403764, 
+                  "id": "ENSPTRE00000075404", 
+                  "length": 313, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96403452, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075400", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96409024, 
+                  "id": "ENSPTRE00000075400", 
+                  "length": 149, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96408876, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075399", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96411724, 
+                  "id": "ENSPTRE00000075399", 
+                  "length": 145, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96411580, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075389", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96421011, 
+                  "id": "ENSPTRE00000075389", 
+                  "length": 215, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96420797, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075398", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96423539, 
+                  "id": "ENSPTRE00000075398", 
+                  "length": 127, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96423413, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000340876", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96425385, 
+                  "id": "ENSPTRE00000340876", 
+                  "length": 239, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96425147, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075396", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96428232, 
+                  "id": "ENSPTRE00000075396", 
+                  "length": 168, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96428065, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075392", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96428974, 
+                  "id": "ENSPTRE00000075392", 
+                  "length": 205, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96428770, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075387", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96434522, 
+                  "id": "ENSPTRE00000075387", 
+                  "length": 284, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96434239, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075390", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96436101, 
+                  "id": "ENSPTRE00000075390", 
+                  "length": 137, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96435965, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075386", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96436773, 
+                  "id": "ENSPTRE00000075386", 
+                  "length": 160, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96436614, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075407", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96441760, 
+                  "id": "ENSPTRE00000075407", 
+                  "length": 103, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96441658, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075405", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96442407, 
+                  "id": "ENSPTRE00000075405", 
+                  "length": 71, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96442337, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075403", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96447141, 
+                  "id": "ENSPTRE00000075403", 
+                  "length": 230, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96446912, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075397", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96447515, 
+                  "id": "ENSPTRE00000075397", 
+                  "length": 111, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96447405, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075394", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96451443, 
+                  "id": "ENSPTRE00000075394", 
+                  "length": 160, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96451284, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000423172", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96455136, 
+                  "id": "ENSPTRE00000423172", 
+                  "length": 130, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96455007, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075402", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96460789, 
+                  "id": "ENSPTRE00000075402", 
+                  "length": 135, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96460655, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSPTRE00000075401", 
+                  "Parent": "ENSPTRT00000013802", 
+                  "end": 96470984, 
+                  "id": "ENSPTRE00000075401", 
+                  "length": 1202, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "15", 
+                  "species": "pantroglodytes", 
+                  "start": 96469783, 
+                  "strand": 1
+               }
+            ], 
+            "Name": "ENSPTRT00000013802", 
+            "Parent": "ENSPTRG00000007489", 
+            "Translation": {
+               "CDS": [
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96157076, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96156951, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96216947, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96216402, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96403764, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96403452, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96409024, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96408876, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96411724, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96411580, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96421011, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96420797, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96423539, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96423413, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96425385, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96425147, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96428232, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96428065, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96428974, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96428770, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96434522, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96434239, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96436101, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96435965, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96436773, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96436614, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96441760, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96441658, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96442407, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96442337, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96447141, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96446912, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96447515, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96447405, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96451443, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96451284, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96455136, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96455007, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96460789, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96460655, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSPTRP00000012792", 
+                     "Parent": "ENSPTRT00000013802", 
+                     "end": 96470984, 
+                     "id": "ENSPTRP00000012792", 
+                     "start": 96469783, 
+                     "strand": 1
+                  }
+               ], 
+               "end": 96470984, 
+               "id": "ENSPTRP00000012792", 
+               "object_type": "Translation", 
+               "species": "pantroglodytes", 
+               "start": 96156951
+            }, 
+            "biotype": "protein_coding", 
+            "end": 96470984, 
+            "id": "ENSPTRT00000013802", 
+            "object_type": "Transcript", 
+            "seq_region_name": "15", 
+            "species": "pantroglodytes", 
+            "start": 96156951, 
+            "strand": 1
+         }
+      ], 
+      "biotype": "protein_coding", 
+      "end": 96470984, 
+      "id": "ENSPTRG00000007489", 
+      "member_id": 1, 
+      "object_type": "Gene", 
+      "seq_region_name": "15", 
+      "species": "pantroglodytes", 
+      "start": 96156951, 
+      "strand": 1
+   }, 
+   "ENSRNOG00000014187": {
+      "Name": "ENSRNOG00000014187", 
+      "Transcript": [
+         {
+            "Exon": [
+               {
+                  "Name": "ENSRNOE00000137027", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 128925059, 
+                  "id": "ENSRNOE00000137027", 
+                  "length": 94, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 128924966, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000135455", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 128978649, 
+                  "id": "ENSRNOE00000135455", 
+                  "length": 546, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 128978104, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000135507", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129142833, 
+                  "id": "ENSRNOE00000135507", 
+                  "length": 313, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129142521, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000135552", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129147211, 
+                  "id": "ENSRNOE00000135552", 
+                  "length": 152, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129147060, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000135606", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129149837, 
+                  "id": "ENSRNOE00000135606", 
+                  "length": 145, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129149693, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000135651", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129159326, 
+                  "id": "ENSRNOE00000135651", 
+                  "length": 215, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129159112, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000135775", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129161294, 
+                  "id": "ENSRNOE00000135775", 
+                  "length": 127, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129161168, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000137123", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129162965, 
+                  "id": "ENSRNOE00000137123", 
+                  "length": 239, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129162727, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000135864", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129167030, 
+                  "id": "ENSRNOE00000135864", 
+                  "length": 168, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129166863, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000137165", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129167431, 
+                  "id": "ENSRNOE00000137165", 
+                  "length": 205, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129167227, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000137211", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129172531, 
+                  "id": "ENSRNOE00000137211", 
+                  "length": 284, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129172248, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000136003", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129174216, 
+                  "id": "ENSRNOE00000136003", 
+                  "length": 137, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129174080, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000136044", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129174841, 
+                  "id": "ENSRNOE00000136044", 
+                  "length": 160, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129174682, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000136080", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129180769, 
+                  "id": "ENSRNOE00000136080", 
+                  "length": 104, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129180666, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000520956", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129180803, 
+                  "id": "ENSRNOE00000520956", 
+                  "length": 31, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129180773, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000136171", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129187229, 
+                  "id": "ENSRNOE00000136171", 
+                  "length": 260, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129186970, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000362520", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129187622, 
+                  "id": "ENSRNOE00000362520", 
+                  "length": 111, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129187512, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000136274", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129192151, 
+                  "id": "ENSRNOE00000136274", 
+                  "length": 160, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129191992, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000329647", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129195410, 
+                  "id": "ENSRNOE00000329647", 
+                  "length": 130, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129195281, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000136353", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129198902, 
+                  "id": "ENSRNOE00000136353", 
+                  "length": 135, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129198768, 
+                  "strand": 1
+               }, 
+               {
+                  "Name": "ENSRNOE00000137303", 
+                  "Parent": "ENSRNOT00000019267", 
+                  "end": 129206516, 
+                  "id": "ENSRNOE00000137303", 
+                  "length": 385, 
+                  "object_type": "Exon", 
+                  "seq_region_name": "1", 
+                  "species": "rattusnorvegicus", 
+                  "start": 129206132, 
+                  "strand": 1
+               }
+            ], 
+            "Name": "ENSRNOT00000019267", 
+            "Parent": "ENSRNOG00000014187", 
+            "Translation": {
+               "CDS": [
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 128925059, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 128924966, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 128978649, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 128978104, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129142833, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129142521, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129147211, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129147060, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129149837, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129149693, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129159326, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129159112, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129161294, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129161168, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129162965, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129162727, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129167030, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129166863, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129167431, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129167227, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129172531, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129172248, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129174216, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129174080, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129174841, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129174682, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129180769, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129180666, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129180803, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129180773, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129187229, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129186970, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129187622, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129187512, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129192151, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129191992, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129195410, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129195281, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129198902, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129198768, 
+                     "strand": 1
+                  }, 
+                  {
+                     "Name": "ENSRNOP00000019267", 
+                     "Parent": "ENSRNOT00000019267", 
+                     "end": 129206516, 
+                     "id": "ENSRNOP00000019267", 
+                     "start": 129206132, 
+                     "strand": 1
+                  }
+               ], 
+               "end": 129206516, 
+               "id": "ENSRNOP00000019267", 
+               "object_type": "Translation", 
+               "species": "rattusnorvegicus", 
+               "start": 128924966
+            }, 
+            "biotype": "protein_coding", 
+            "end": 129206516, 
+            "id": "ENSRNOT00000019267", 
+            "object_type": "Transcript", 
+            "seq_region_name": "1", 
+            "species": "rattusnorvegicus", 
+            "start": 128924966, 
+            "strand": 1
+         }
+      ], 
+      "biotype": "protein_coding", 
+      "end": 129206516, 
+      "id": "ENSRNOG00000014187", 
+      "member_id": 0, 
+      "object_type": "Gene", 
+      "seq_region_name": "1", 
+      "species": "rattusnorvegicus", 
+      "start": 128924966, 
+      "strand": 1
+   }
+}