changeset 2:6d97da269ee2 draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/trna_prediction commit 1973f3035c10db80883d80847ea254289f5cce2a-dirty
author bgruening
date Thu, 17 Sep 2015 16:49:26 -0400
parents 919523f43769
children f4416f1a674a
files aragorn.xml aragorn_out_to_gff3.py readme.rst tRNAscan.xml test-data/aragorn_tansl-table-11_introns.gff3 test-data/aragorn_tansl-table-1_tmRNA_tRNA.gff3 test-data/genome_with_introns.fa tool_dependencies.xml trna_prediction.tar.gz
diffstat 9 files changed, 248 insertions(+), 225 deletions(-) [+]
line wrap: on
line diff
--- a/aragorn.xml	Thu Jan 22 13:13:20 2015 -0500
+++ b/aragorn.xml	Thu Sep 17 16:49:26 2015 -0400
@@ -1,8 +1,7 @@
-<tool id="aragorn_trna" name="tRNA and tmRNA" version="0.4">
+<tool id="aragorn_trna" name="tRNA and tmRNA" version="0.5">
     <description>prediction (Aragorn)</description>
     <requirements>
         <requirement type="package" version="1.2.36">aragorn</requirement>
-        <requirement type="set_environment">TRNAPRED_SCRIPT_PATH</requirement>
     </requirements>
     <command>
 <![CDATA[
@@ -18,18 +17,19 @@
             $secondary_structure
             $introns;
 
-#if $gff3_output:
-        aragorn
-            $input
-            -gc$genbank_gencode
-            $tmRNA
-            $tRNA
-            $mtRNA
-            $mam_mtRNA
-            $topology
-            -fasta
-            $introns | python \$TRNAPRED_SCRIPT_PATH/aragorn_out_to_gff3.py > $gff3_output_file;
-#end if
+        #if $gff3_output:
+            aragorn
+                $input
+                -gc$genbank_gencode
+                $tmRNA
+                $tRNA
+                $mtRNA
+                $mam_mtRNA
+                $topology
+                $introns
+                -w
+                | python $__tool_directory__/aragorn_out_to_gff3.py $gff3_model > $gff3_output_file;
+        #end if
 ]]>
     </command>
     <inputs>
@@ -58,13 +58,20 @@
             <option value="-c">Assume that each sequence has a circular topology</option>
             <option value="-l">Assume that each sequence has a linear topology</option>
         </param>
-        <param name='tmRNA' type='boolean' label='Search for tmRNA genes (-m)' truevalue='-m' falsevalue='' checked="true" help='' />
-        <param name='tRNA' type='boolean' label='Search for tRNA genes (-t)' truevalue='-t' falsevalue='' checked="true" help='' />
-        <param name='mtRNA' type='boolean' label='Search for Metazoan mitochondrial tRNA genes (-mt)' truevalue='-mt' falsevalue='' checked="false" help='-i switch ignored. Composite Metazoan mitochondrial genetic code used.' />
-        <param name='mam_mtRNA' type='boolean' label='Search for Mammalian mitochondrial tRNA genes (-mtmam)' truevalue='-mtmam' falsevalue='' checked="false" help='-i switch ignored. -tv switch set. Mammalian mitochondrial genetic code used.' />
-        <param name='introns' type='boolean' label='Search for tRNA genes with introns in anticodon loop ...' truevalue='-i' falsevalue='' checked="false" help='...with maximum length 3000 bases (-i).' />
-        <param name='secondary_structure' type='boolean' label='Print out secondary structure (-fasta,-fon)' truevalue='-fasta' falsevalue='-fon' checked="false" help='' />
+        <param name='tmRNA' type='boolean' label='Search for tmRNA genes'
+            truevalue='-m' falsevalue='' checked="true" help='(-m)' />
+        <param name='tRNA' type='boolean' label='Search for tRNA genes'
+            truevalue='-t' falsevalue='' checked="true" help='(-t)' />
+        <param name='mtRNA' type='boolean' label='Search for Metazoan mitochondrial tRNA genes' truevalue='-mt' falsevalue='' checked="false"
+            help='-i switch will be ignored. Composite Metazoan mitochondrial genetic code used. (-mt)' />
+        <param name='mam_mtRNA' type='boolean' label='Search for Mammalian mitochondrial tRNA genes'
+            truevalue='-mtmam' falsevalue='' checked="false" help='-i switch will be ignored. Mammalian mitochondrial genetic code used. (-mtmam)' />
+        <param name='introns' type='boolean' label='Search for tRNA genes with introns in anticodon loop'
+            truevalue='-i' falsevalue='' checked="false" help='With a maximum length of 3000 bases. (-i).' />
+        <param name='secondary_structure' type='boolean' label='Print out secondary structure'
+            truevalue='-fasta' falsevalue='-fon' checked="false" help='(-fasta,-fon)' />
         <param name="gff3_output" type='boolean' label='Convert output to GFF3' truevalue='True' falsevalue='' checked="false" help='' />
+        <param name="gff3_model" type='boolean' label='Full gene model for GFF3 data' truevalue='--full' checked='false' help='' />
     </inputs>
     <outputs>
         <data name="output" format="fasta">
@@ -81,15 +88,28 @@
             <param name="input" value="trna_arabidopsis.fasta" ftype="fasta" />
             <param name="genbank_gencode" value="1" />
             <param name="topology" value="-c" />
-            <param name="tmRNA" value="-m" />
-            <param name="tRNA" value="-t" />
-            <param name="mtRNA" value="" />
-            <param name="mam_mtRNA" value="" />
-            <param name="introns" value="" />
-            <param name="secondary_structure" value="-fon" />
+            <param name="tmRNA" value="True" />
+            <param name="tRNA" value="True" />
+            <param name="mtRNA" value="False" />
+            <param name="mam_mtRNA" value="False" />
+            <param name="introns" value="False" />
+            <param name="secondary_structure" value="False" />
             <param name="gff3_output" value="True" />
             <output name="output" file="aragorn_tansl-table-1_tmRNA_tRNA.fasta" ftype="fasta" />
-            <output name="output" file="aragorn_tansl-table-1_tmRNA_tRNA.gff3" ftype="gff3" />
+            <output name="gff3_output_file" file="aragorn_tansl-table-1_tmRNA_tRNA.gff3" ftype="gff3" />
+        </test>
+        <test>
+            <param name="input" value="genome_with_introns.fa" ftype="fasta" />
+            <param name="genbank_gencode" value="11" />
+            <param name="topology" value="-c" />
+            <param name="tmRNA" value="True" />
+            <param name="tRNA" value="True" />
+            <param name="mtRNA" value="False" />
+            <param name="mam_mtRNA" value="False" />
+            <param name="introns" value="True" />
+            <param name="gff3_output" value="True" />
+            <param name="gff3_model" value="True" />
+            <output name="gff3_output_file" file="aragorn_tansl-table-11_introns.gff3" ftype="gff3" />
         </test>
     </tests>
     <help>
@@ -101,7 +121,17 @@
 
 .. _Aragorn: http://mbio-serv2.mbioekol.lu.se/ARAGORN/
 
------
+**Input**
+
+As input a genome sequence FASTA file is needed. Select the right genetic code and the topology for your organism and choose what you want to have analyzed.
+
+By default, ARAGORN assumes that each sequence has a circular topology (search wraps around ends), that both strands should be searched, that the progress of the search is not reported, both tRNA and tmRNA genes are detected, and tRNA genes containing C‐loop introns are not detected. 
+
+**Output**
+
+The output of Aragorn reports the proposed tRNA secondary structure and, for tmRNA genes, the secondary structure of the tRNA domain, the tmRNA gene sequence, the tag peptide and a list of organisms with matching tmRNA peptide tags. 
+
+Optionally, your output can be converted to GFF3.
 
 **Example**
 
@@ -189,16 +219,10 @@
     tRNA GC range = 50.0% to 85.1%
     Number of tmRNA genes = 1
 
--------
-
-**References**
-
-Dean Laslett and Bjorn Canback
-
-ARAGORN, a program to detect tRNA genes and tmRNA genes in nucleotide sequences Nucl. Acids Res. (2004) 32(1): 11-16
-
-doi:10.1093/nar/gkh152
 
 ]]>
     </help>
+    <citations>
+        <citation type="doi">10.1093/nar/gkh152</citation>
+    </citations>
 </tool>
--- a/aragorn_out_to_gff3.py	Thu Jan 22 13:13:20 2015 -0500
+++ b/aragorn_out_to_gff3.py	Thu Sep 17 16:49:26 2015 -0400
@@ -1,165 +1,139 @@
 #!/usr/bin/env python
-import re
-
-def start_pattern(string):
-    return re.match(r'^[0-9]+\.$', string) \
-        or string.startswith('Number of possible') \
-        or string.startswith('Searching for')
-
-def blank_line(string):
-    return re.match(r'^\s*$', string)
-
-def blocks(iterable):
-    accumulator = []
-    run_of_blanklines = 0
-    for line in iterable:
-        # Count blank lines
-        if blank_line(line):
-            run_of_blanklines += 1
-        else:
-            run_of_blanklines = 0
-
-        if start_pattern(line) or run_of_blanklines > 2 or 'Mean G+C' in line:
-            if accumulator:
-                yield accumulator
-                accumulator = [line]
-        else:
-            accumulator.append(line)
-    if accumulator:
-        yield accumulator
+import sys
 
-IMPORTANT_INFO = {
-    'trna': re.compile(r'tRNA-(?P<codon>[A-Za-z]{3})\((?P<anticodon>[A-Za-z]{3})\)'),
-    'trna-alt': re.compile(r'tRNA-\?\((?P<codon>[^\)]+)\)\((?P<anticodon>[A-Za-z]{2,})\)'),
-    'bases': re.compile(r'(?P<bases>[0-9]+) bases, %GC = (?P<gc>[0-9.]+)'),
-    'sequence': re.compile(r'Sequence (?P<complement>[c]{0,1})\[(?P<start>\d+),(?P<end>\d+)\]'),
-    'possible_pseudogene': re.compile(r'(?P<pseudo>Possible Pseudogene)'),
-}
-INFO_GROUPS = ('codon', 'anticodon', 'bases', 'gc', 'complement', 'start', 'end', 'pseudo')
+full_gene_model = False
+if '--full' in sys.argv:
+    full_gene_model = True
 
-def important_info(block):
-    info = {}
-    for line in block:
-        for matcher in IMPORTANT_INFO:
-            matches = IMPORTANT_INFO[matcher].search(line)
-            if matches:
-                for group in INFO_GROUPS:
-                    try:
-                        info[group] = matches.group(group)
-                    except:
-                        pass
-    return info
-
-IMPORTANT_INFO_TMRNA = {
-    'tag_peptide': re.compile(r'Tag peptide:\s+(?P<pep>[A-Z*]*)'),
-    'location': re.compile(r'Location (?P<complement>[c]{0,1})\[(?P<start>\d+),(?P<end>\d+)\]'),
-}
-INFO_GROUPS_TMRNA = ('start', 'end', 'pep')
-
-def important_info_tmrna(block):
-    info = {}
-    for line in block:
-        for matcher in IMPORTANT_INFO_TMRNA:
-            matches = IMPORTANT_INFO_TMRNA[matcher].search(line)
-            if matches:
-                for group in INFO_GROUPS_TMRNA:
-                    try:
-                        info[group] = matches.group(group)
-                    except:
-                        pass
-    return info
-
-import fileinput
+genome_id = None
 stdin_data = []
-for line in fileinput.input():
-    stdin_data.append(line)
-
-possible_blocks = [line for line in blocks(stdin_data)]
-
-seqid = None
-print '##gff-version-3'
-# We're off to a GREAT start, if I'm accessing by index you just know that I'm going to do terrible
-# awful things
-for block_idx in range(len(possible_blocks)):
-    block = possible_blocks[block_idx]
-    data = None
-    fasta_defline = None
-
-    if block[0].startswith('Searching for') or 'nucleotides in sequence' in block[-1]:
-        # Try and get a sequence ID out of it
-        try:
-            fasta_defline = block[-2].strip()
-        except:
-            # Failing that, ignore it.
-            pass
-    else:
-        # They DUPLICATE results in multiple places, including a fasta version
-        # in the 'full report'.
-        possible_ugliness = [x for x in block if x.startswith('>t')]
-        if len(possible_ugliness) > 0:
-            continue
-
-        # However, if it didn't have one of those all important pieces of
-        # information, then it's either a different important piece of
-        # information, or complete junk
-        data = important_info(block)
+KEY_ORDER = ('parent', 'source', 'type', 'start', 'end', 'score', 'strand',
+             '8', 'quals')
 
-        # I am not proud of any of this. We essentially say "if that block
-        # didn't come up with useful info, then try making it a tmrna"
-        if len(data.keys()) == 0:
-            data = important_info_tmrna(block)
-            # And if that fails, just none it.
-            if len(data.keys()) == 0:
-                data = None
-            else:
-                # But if it didn't, confirm that we're a tmRNA
-                data['type'] = 'tmRNA'
-        else:
-            # If we did have keys, and didn't pass through any of the tmRNA
-            # checks, we're tRNA
-            data['type'] = 'tRNA'
-
-    # If we got a sequence ID in this block, set the defline
-    if 'nucleotides in sequence' in block[-1]:
-        try:
-            fasta_defline = block[-2].strip()
-        except:
-            pass
+# Table of amino acids
+aa_table = {
+    'Ala' : 'A',
+    'Arg' : 'R',
+    'Asn' : 'N',
+    'Asp' : 'D',
+    'Cys' : 'C',
+    'Gln' : 'Q',
+    'Glu' : 'E',
+    'Gly' : 'G',
+    'His' : 'H',
+    'Ile' : 'I',
+    'Leu' : 'L',
+    'Lys' : 'K',
+    'Met' : 'M',
+    'Phe' : 'F',
+    'Pro' : 'P',
+    'Ser' : 'S',
+    'Thr' : 'T',
+    'Trp' : 'W',
+    'Tyr' : 'Y',
+    'Val' : 'V',
+    'Pyl' : 'O',
+    'seC' : 'U',
+    '???' : 'X' }
 
-    # if a defline is available, try and extract the fasta header ID
-    if fasta_defline is not None:
-        try:
-            seqid = fasta_defline[0:fasta_defline.index(' ')]
-        except:
-            seqid = fasta_defline
-
-    # If there's data
-    if data is not None and len(data.keys()) > 1:
+def output_line(gff3):
+    print '\t'.join(str(gff3[x]) for x in KEY_ORDER)
 
-        # Deal with our flags/notes.
-        if data['type'] == 'tRNA':
-            # Are these acceptable GFF3 tags?
-            notes = {
-                'Codon': data['codon'],
-                'Anticodon': data['anticodon'],
-            }
-            if 'pseudo' in data:
-                notes['Note'] = 'Possible pseudogene'
-        else:
-            notes = {
-                'Note': 'Tag peptide: ' + data['pep'] + ''
+print '##gff-version 3'
+for line in sys.stdin:
+    if line.startswith('>'):
+        genome_id = line[1:].strip()
+        if ' ' in genome_id:
+            genome_id = genome_id[0:genome_id.index(' ')]
+    else:
+        data = line.split()
+        if len(data) == 5:
+            # Parse data
+            strand = '-' if data[2].startswith('c') else '+'
+            start, end = data[2][data[2].index('[') + 1:-1].split(',')
+
+            gff3 = {
+                'parent': genome_id,
+                'source': 'aragorn',
+                'start': int(start),
+                'end': int(end),
+                'strand': strand,
+                'score': '.',
+                '8': '.',
             }
 
-        notestr = ';'.join(['%s="%s"' % (k,v) for k,v in notes.iteritems()])
+            aa_long = data[1][5:]
+            aa_short = aa_table[aa_long]
+            anticodon = data[4][1:data[4].index(")")].upper().replace("T", "U")
+            name = 'trn{}-{}'.format(aa_short, anticodon)
+
+            if not full_gene_model:
+                gff3.update({
+                    'type': 'tRNA',
+                    'quals': 'ID=tRNA{0}.{1};Name={name};product={2}'.format(genome_id, *data, name = name),
+                })
+                output_line(gff3)
+            else:
+                gff3.update({
+                    'type': 'gene',
+                    'quals': 'ID=gene{0}.{1};Name={name};product={2}'.format(genome_id, *data, name = name),
+                })
+                output_line(gff3)
+                gff3.update({
+                    'type': 'tRNA',
+                    'quals': 'ID=tRNA{0}.{1};Parent=gene{0}.{1};Name={name};product={2}'.format(genome_id, *data, name = name),
+                })
+                output_line(gff3)
+
+                # If no introns
+                if ')i(' not in data[4]:
+                    gff3['type'] = 'exon'
+                    gff3['quals'] = 'Parent=tRNA{0}.{1}'.format(genome_id, *data)
+                    output_line(gff3)
+                else:
+                    intron_location = data[4][data[4].rindex('(') + 1:-1].split(',')
+                    intron_start, intron_length = map(int, intron_location)
+                    if strand == '+':
+                        original_end = gff3['end']
+                    else:
+                        original_end = gff3['start']
 
-        print '\t'.join([
-            seqid,
-            'aragorn',
-            data['type'],
-            data['start'],
-            data['end'],
-            '.',
-            '.',
-            '.',
-            notestr
-        ])
+                    # EXON
+                    gff3.update({
+                        'type': 'exon',
+                        'quals': 'Parent=tRNA{0}.{1}'.format(genome_id, *data),
+                    })
+                    if strand == '+':
+                        gff3['end'] = gff3['start'] + intron_start - 2
+                    else:
+                        gff3['start'] = gff3['end'] - intron_start + 2
+
+                    output_line(gff3)
+
+                    # INTRON
+                    gff3.update({
+                        'type': 'intron',
+                        'quals': 'Parent=tRNA{0}.{1}'.format(genome_id, *data),
+                    })
+                    if strand == '+':
+                        gff3['start'] = gff3['end'] + 1
+                        gff3['end'] = gff3['start'] + intron_length + 2
+                    else:
+                        gff3['end'] = gff3['start'] - 1
+                        gff3['start'] = gff3['end'] - intron_length + 1
+
+                    output_line(gff3)
+
+                    # EXON
+                    gff3.update({
+                        'type': 'exon',
+                        'quals': 'Parent=tRNA{0}.{1}'.format(genome_id, *data),
+                    })
+                    if strand == '+':
+                        gff3['start'] = gff3['end'] + 1
+                        gff3['end'] = original_end
+                    else:
+                        gff3['end'] = gff3['start'] - 1
+                        gff3['start'] = original_end
+
+                    output_line(gff3)
--- a/readme.rst	Thu Jan 22 13:13:20 2015 -0500
+++ b/readme.rst	Thu Sep 17 16:49:26 2015 -0400
@@ -67,6 +67,8 @@
     - v0.1: Initial public release
     - v0.2: added options, upgrade to 1.2.36, tool-dependency
     - v0.3: add unit tests, documentation improvements
+    - v0.4: added gff3 parser
+    - v0.5: improved gff3 parser, now handles introns and full gene model
 
 
 
--- a/tRNAscan.xml	Thu Jan 22 13:13:20 2015 -0500
+++ b/tRNAscan.xml	Thu Sep 17 16:49:26 2015 -0400
@@ -59,23 +59,20 @@
 <![CDATA[
 
 
-.. class:: warningmark
-
-**TIP** This tool requires *fasta* formated sequences.
-
------
-
 **What it does**
 
-	tRNAscan-SE_ was designed to make rapid, sensitive searches of genomic
-	sequence feasible using the selectivity of the Cove analysis package.
-	We have optimized search sensitivity with eukaryote cytoplasmic and
-	eubacterial sequences, but it may be applied more broadly with a
-	slight reduction in sensitivity.
+tRNAscan-SE_ was designed to make rapid, sensitive searches of genomic
+sequence feasible using the selectivity of the Cove analysis package.
+We have optimized search sensitivity with eukaryote cytoplasmic and
+eubacterial sequences, but it may be applied more broadly with a
+slight reduction in sensitivity.
 
 .. _tRNAscan-SE: http://lowelab.ucsc.edu/tRNAscan-SE/
 
------
+**Input**
+
+Nucleotide sequence in FASTA format.
+
 
 **Organism**
 
@@ -121,7 +118,7 @@
 	used, searches will be very slow (see -C option below) relative to the
 	default mode.
 
-------
+
 
 **Mode**
 
@@ -157,7 +154,6 @@
 - search using Infernal and new cm models instead of Cove
 
 
------
 
 **disable pseudogene checking**
 
@@ -167,7 +163,6 @@
 	sequences that are flagged as possible pseudogenes but are known to be
 	functional tRNAs.
 
------
 
 **Show both primary and secondary structure score components to covariance model bit scores**
 
@@ -182,18 +177,18 @@
 	examine score breakdowns from known tRNAs in the organism of interest
 	to get a frame of reference.
 
------
+
 
 **Show codons instead of tRNA anticodons**
 
 	This option causes tRNAscan-SE to output a tRNA's corresponding codon
 	in place of its anticodon.
 
------
+
 
 **Example**
 
-* input:
+**input**
 
 	>CELF22B7  C.aenorhabditis elegans (Bristol N2) cosmid F22B7
 	GATCCTTGTAGATTTTGAATTTGAAGTTTTTTCTCATTCCAAAACTCTGT
@@ -206,7 +201,7 @@
 	.....
 
 
-* output:
+**output**
 
 
     ========     ======    =====     ======    ====    ==========    ======    ======    ==========    ==========
@@ -222,17 +217,14 @@
     ========     ======    =====     ======    ====    ==========    ======    ======    ==========    ==========
 
 
--------
 
-**References**
-
-Todd M. Lowe and Sean R. Eddy
-
-tRNAscan-SE: A Program for Improved Detection of Transfer RNA Genes in Genomic Sequence Nucl. Acids Res. (1997) 25(5): 0955-964
-
-doi:10.1093/nar/25.5.0955
 
 
 ]]>
     </help>
+    
+    <citations>
+        <citation type="doi">10.1093/nar/25.5.0955</citation>
+    </citations>
+    
 </tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/aragorn_tansl-table-11_introns.gff3	Thu Sep 17 16:49:26 2015 -0400
@@ -0,0 +1,32 @@
+##gff-version 3
+genome_with_introns	aragorn	gene	1533	4118	.	-	.	ID=genegenome_with_introns.1;Name=trnK-UUU;product=tRNA-Lys
+genome_with_introns	aragorn	tRNA	1533	4118	.	-	.	ID=tRNAgenome_with_introns.1;Parent=genegenome_with_introns.1;Name=trnK-UUU;product=tRNA-Lys
+genome_with_introns	aragorn	exon	4081	4118	.	-	.	Parent=tRNAgenome_with_introns.1
+genome_with_introns	aragorn	intron	1569	4080	.	-	.	Parent=tRNAgenome_with_introns.1
+genome_with_introns	aragorn	exon	1533	1568	.	-	.	Parent=tRNAgenome_with_introns.1
+genome_with_introns	aragorn	gene	6453	6524	.	-	.	ID=genegenome_with_introns.2;Name=trnQ-UUG;product=tRNA-Gln
+genome_with_introns	aragorn	tRNA	6453	6524	.	-	.	ID=tRNAgenome_with_introns.2;Parent=genegenome_with_introns.2;Name=trnQ-UUG;product=tRNA-Gln
+genome_with_introns	aragorn	exon	6453	6524	.	-	.	Parent=tRNAgenome_with_introns.2
+genome_with_introns	aragorn	gene	7730	7819	.	-	.	ID=genegenome_with_introns.3;Name=trnS-GCU;product=tRNA-Ser
+genome_with_introns	aragorn	tRNA	7730	7819	.	-	.	ID=tRNAgenome_with_introns.3;Parent=genegenome_with_introns.3;Name=trnS-GCU;product=tRNA-Ser
+genome_with_introns	aragorn	exon	7730	7819	.	-	.	Parent=tRNAgenome_with_introns.3
+genome_with_introns	aragorn	gene	12356	12431	.	+	.	ID=genegenome_with_introns.4;Name=trnP-UGG;product=tRNA-Pro
+genome_with_introns	aragorn	tRNA	12356	12431	.	+	.	ID=tRNAgenome_with_introns.4;Parent=genegenome_with_introns.4;Name=trnP-UGG;product=tRNA-Pro
+genome_with_introns	aragorn	exon	12356	12431	.	+	.	Parent=tRNAgenome_with_introns.4
+genome_with_introns	aragorn	gene	12597	12670	.	+	.	ID=genegenome_with_introns.5;Name=trnW-CCA;product=tRNA-Trp
+genome_with_introns	aragorn	tRNA	12597	12670	.	+	.	ID=tRNAgenome_with_introns.5;Parent=genegenome_with_introns.5;Name=trnW-CCA;product=tRNA-Trp
+genome_with_introns	aragorn	exon	12597	12670	.	+	.	Parent=tRNAgenome_with_introns.5
+genome_with_introns	aragorn	gene	22050	22123	.	-	.	ID=genegenome_with_introns.6;Name=trnR-CCG;product=tRNA-Arg
+genome_with_introns	aragorn	tRNA	22050	22123	.	-	.	ID=tRNAgenome_with_introns.6;Parent=genegenome_with_introns.6;Name=trnR-CCG;product=tRNA-Arg
+genome_with_introns	aragorn	exon	22050	22123	.	-	.	Parent=tRNAgenome_with_introns.6
+genome_with_introns	aragorn	gene	26588	26660	.	-	.	ID=genegenome_with_introns.7;Name=trnM-CAU;product=tRNA-Met
+genome_with_introns	aragorn	tRNA	26588	26660	.	-	.	ID=tRNAgenome_with_introns.7;Parent=genegenome_with_introns.7;Name=trnM-CAU;product=tRNA-Met
+genome_with_introns	aragorn	exon	26588	26660	.	-	.	Parent=tRNAgenome_with_introns.7
+genome_with_introns	aragorn	gene	26850	27468	.	+	.	ID=genegenome_with_introns.8;Name=trnY-AUA;product=tRNA-Tyr
+genome_with_introns	aragorn	tRNA	26850	27468	.	+	.	ID=tRNAgenome_with_introns.8;Parent=genegenome_with_introns.8;Name=trnY-AUA;product=tRNA-Tyr
+genome_with_introns	aragorn	exon	26850	26884	.	+	.	Parent=tRNAgenome_with_introns.8
+genome_with_introns	aragorn	intron	26885	27410	.	+	.	Parent=tRNAgenome_with_introns.8
+genome_with_introns	aragorn	exon	27411	27468	.	+	.	Parent=tRNAgenome_with_introns.8
+genome_with_introns	aragorn	gene	29759	29833	.	+	.	ID=genegenome_with_introns.9;Name=trnH-GUG;product=tRNA-His
+genome_with_introns	aragorn	tRNA	29759	29833	.	+	.	ID=tRNAgenome_with_introns.9;Parent=genegenome_with_introns.9;Name=trnH-GUG;product=tRNA-His
+genome_with_introns	aragorn	exon	29759	29833	.	+	.	Parent=tRNAgenome_with_introns.9
--- a/test-data/aragorn_tansl-table-1_tmRNA_tRNA.gff3	Thu Jan 22 13:13:20 2015 -0500
+++ b/test-data/aragorn_tansl-table-1_tmRNA_tRNA.gff3	Thu Sep 17 16:49:26 2015 -0400
@@ -1,2 +1,2 @@
-##gff-version-3
-gi|240255695:23036500-23037000	aragorn	tRNA	381	453	.	.	.	Anticodon=tgc;Codon=Ala
+##gff-version 3
+gi|240255695:23036500-23037000	aragorn	tRNA	381	453	.	+	.	ID=tRNAgi|240255695:23036500-23037000.1;Name=trnA-UGC;product=tRNA-Ala
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/genome_with_introns.fa	Thu Sep 17 16:49:26 2015 -0400
@@ -0,0 +1,2 @@
+>genome_with_introns
+TTATCCACCTATTGAAATAGATTCAACAGCAGCTAGATCCAGAGGAAAGTTATGAGCATTACGTTCGTGCATAACTTCCATACCTAGGTTAGCACGATTAATGATATCGGCCCAAGTGTTAATTACACGACCTTGACTGTCAACTACAGATTGGTTGAAATTGAATCCATTTAGGTTGAAAGCCATAGTGCTTATGCCTAGAGCGGTAAACCAGATACCTGCTACGGGCCAAGCAGCTAAGAAGAAATGTAAAGAACGGGAGTTGTTGAAACTAGCATACTGGAAGATCAATCGGCCGAAATAACCGTGAGCAGCCACAATATTGTAGGTTTCTTCCTCCTGACCAAATTTGTAACCTGCATTTGCGGACTGATTCTCAGTAGTTTCCCTGATCAAACTAGAAGTTACCAAAGAACCATGCATAGCACTGAATAGAGAGCCGCCGAATACACCAGCTACACCCAACATGTGGAATGGATGCATAAGGATATTGTGCTCAGCCTGGAATACAATCATGAAATTGAAAGTACCAGAGATTCCTAGAGGCATACCGTCAGAGAAGCTTCCTTGACCAATAGGGTAGATCAAGAAAACGGCACTAGCAGCTGCAACAGGAGCTGAGTATGCAACAGCAATCCAAGGACGCATACCTAGACGGAAGCTAAGCTCCCACTCACGACCCATATAGCAAGCTACACCAAGTAGGAAGTGTAGAACGATTAGCTCGTAAGGACCCCCGTTGTATAGCCATTCATCGACGGAAGCTGCTTCCCAGATGGGATAGAAGTGCAAACCGATAGCTGCAGAGGTAGGAATAATGGCACCGGAGATAATATTGTTTCCATAAAGAAGAGAACCGGAAACGGGCTCACGAATACCATCAATATCTACCGGAGGAGCTGCGATGAAAGCAATAATGAATACAGAGGTTGCGGTCAATAGGGTAGGGATCATCAAAACACCGAACCATCCAATGTAAAGACGGTTTTCGGTGCTAGTGATCCAGTCGCAGAAGCGACCCCATAAATTTGCGCTTTCGCGTCTTTCTATAATTGCGGTCATGGTCAAAACTTCGTTTATAAAATCATCAGAGGCTCCCAAGCATAAGGCTTGTTATTTGACAGTATAATATGATCCATGTATCAATGTCAACTAATATCCGGGATAGAATATAGTATTTGAGATAGACTCTCTATTTTTTCGCATATATTACACACTCTATAGATCTATCTGTGGTTAGATACTCCATCAAATTCTTCCATTCCTGGTTACAGGAATGGAAGATCCGTTGTAATGAGAACGGATAGGCAGTGGAGATAAAAATTTTGTTGTTCGCTATAACGAAGTGCAATGCGATTCTGGAACCGAATTCTGAATAAATTAATATGAGTGGGATATTAATTCTTCATCACCTTTCCGGAGAACCCATAGTGCGATAGTTCGTTACCTGTGAATAGGAACAAATAGGAAAAGGAACTTGATTGGATCCAGAACCAGAATAAGTGGACAGAGGTCCCTATCAGAAATTTGATCCGGGTTGCCCGGGACTCGAACCCGGAGCTCGTCGGATGGAGTGGATTATCTGCTCCTTCAGTATCAGTAAGAGCGAGAAATCTCTCCCCAAACCGTGCTTGCAATTCTCATCGCACACGGCTTTCCCCATGTAATGTATCTATTTCCTAATCATTTTAGTTCTCGGATGGCAAAATAAAAATGATTCTGAATCGAGGCAATGACTCAAAGAGCATTTCATTGGTCAAATAAGTTTTCTATTTTCAGATCCTGTATCTTTTGCCAGGAATGGGCTAGGGGATTTATCTGGGGAATATCTGAATGCCAAATTCGTTCTCTCTGTGAACGGGCCGCCGCTTTTGATGAAAAAGGCGGAGAATCCAATTCTCGTTCTTTTGAAAACGATTTTTTAAAGAGTTCTGGACCTAATTCCTTCCGAACTACACGTATCGTACTTTTATGTTTACAGGCTAAAGTTTTAGCACATGATAATGAAAGTATATACTTTATACGATATAAACCATCTCGACCAAAGGATCCACTGTAGTAATGAAAAAGATTTCTCCAAATTCGATCGAATCGATCCAGGATATCATCATCTGTTAGACTGGTCCAAGACAATTTACTAATTGGCCGCCCTGATATATCACAGAATTTTTCTCTAGACAATAATCCAATTATTGGTACAATCGGAACTATTGGATCAAATTCATCGGTAATAAGATCGGCAATGAATAACTCATCTAGCATTTTAGTCTTGACCAAAAGAGGTTTCATCCGAAACCTCAGAAAATAACCTAAAGAAGAAGAACAATTCTTGGATAATTGATGAGAACATACCCTATATGGTTCGTTCCAAAGATGGAAATAACATTGCCGAAAAATTGGAAGATAATATCTATATTTTTTCACTAGGAGATTAGTACCCTTTATAGCTATAATAGATCTTTCTCCATATCTAACATAGTGAATGTTAGGATCCTTCAACGACCAGATACTTTGAAATGAATTTCGACGAGAAAATAGAAAAATATTTTTTATTTTTCGATGAAAATGAGTTCGCTGAGGGAAAGACCCATGAGATAACGATCGTGAATGAGAGGATCGTTTAAGAAGGGAAACTAAAATGGATTCGCATTCATAGACATAATTATTCCACAGGAACAGGAAGAATCTCGTATTTACTTTCGGGACGACAATAATCGATCTTTGTAAACTCTCTGAACTATTTCGATATTCATAGAGAATAGATCGTAATGGGTGCAAGGAGGGAGCATCTCCGATCCAGCGACGAAAGGTTCGAACCAAAATTTCTGGATGAATAGAATAGGGTATTCGTGTATCTGATACATAATTTGAATGCGGGAATTTATCCTCCAAGAAGGGAAATATTGAATGGATCGACCGGAAACTCTTCCATTCATTCATCCCTTCCACAGAATATTTTGACCGTATAGAGAACGGAACTTCCAGGACCAATGTCAGTCCTTCTAGTACCGATTCAGAATAGGAACTCTTCTTGCGATCAACTAATGGATTTGGATCACAATTCACGAATAAAACAATTGAATGATTCTGTTGACGTATTTGACCAATCAAACGTTTTACAGTTAGGAAACTGAACTGATCATTGGAACTTAAATGTTCCATCGGTTCGGAGGAACTCGATCCATCCAAATAATGATCATGAGAAATTGCGTAAAGATCTTCCTGAAAAAAGAGTGGATATAAAAAGCATTGTTGCCAAGAGCTATCTTCCTTTCCGTATCTATGGAACTCATCCATTTTCAAACCTCAGTTATGGCCCTCGTTCATGAGAATAACCTCTTAAATTCTGAGATAATACAATACATGGTGCGATCTAGTCGGGACAAGATAGGAAAAAGATAGATGATATAAAGATTCTATCTTCTATTCAGCAGATTTACTACCCAAGGATCTCGTTCGTCATGAGGAAGAACGAAAATCTTTTATCCTGGCAACCGATCGCTCTCCTGACTCATGGAATAAATAAACCTGGTCAGTACACTATTTATCTTACACATCTGTACTCGAGTACTTAGGACTCATTGTGAGTGTATAAATCCCTGATCTACTCAGGGAAAACCTCCCGATATCGGGTACTAAAATGCTCTTAACTTCTGATCAGTAAAGGGAATTCCTCGCTCGTTTAATTGGAACGAGGAACAGAAGCTCGTTTCTCTGGGTCTACTTATGATTCAAGTCATATAGCTTTCTCCATTGACTCATTCGACTTAACCGCGAATTGATTCGATCCTATTCACAATTATCACATTTGATCCGAAAGGATGATCATATTATACATCCACCTAGGTATATAATAGACATTTCCCACCCATTTGATTCCTTGAATTAGATCCGGTCCTGATCGAATAATATCAGGTATCCTAAAAATCATATCAGGTATCATAAAGATCATATGTTGGAACGACATGCTGTTTTTTCCGTTAATTCTACTTCGAGGATCAGTCGTAGTCTTCCAAACTTTACCGATGGTATCGACGAGTTTTCTACTTCATTCAAATGTGTAAAAGACCTTAGTCGCACTTAAAAGCCGAGTACTCTACCATTGAGTTAGCAACCCATATTTCAAATAGATATTGAGGATATATATACGATCGAAGTGGAATGCGAGGTTACTCAATATGAACCGGTAAATAGAATCTTACCAATCGTTGTTGTTAAATAACAACGGGAGGGATCAAAAACCTATGTGAATGACCAAATAATTCACTCATCAGTTCATATATGTATATGAATAATTTCGATCCACCATTCCAGAATAAAGTAATCTAGGTTATGAATAAATGATCCGTCGACAGAATTATCATGATTGGATAGGATCACTGATAAATGATGAACCTAAGATATCTATTTCTATTGTGAATGGACGAATTATATCGACACAATACACTATTGTCAATCCAGAATAAAAGATAAATGAATTGTTGGATGTCATAATCCATATCCACGAAACCGATTATGTAAAGTCGCACGTTGCTTTCTACCACATCGTTTCAGACGATGTTTTTAAGATCTCGAATCATGATTGATACGTGATTATGAATAGTCATTAACTCAATTGATATGAGAGGAATAGGTATCGAATTGGATCCACTCTTTTTGTATAGAATACACTCAATGTAATAAATGAATTGATATTGATCAGGTACTTAACTTAATGCTTCTTTAGCTGCGTGCATTACCTCGACAGTAACGTTCAAAATGCCCTTTCGTCGTGCAAATTTTTCTGTGTTTCTCTTTACTTCGTCCCTGACAAAACGGGGGATTTTATTCAATTCTAGTCGACTTTCAGGATTCCAAATTGGACTCATATCCGTGGATAATGATTTAGTCGTTATTTCCTTCGTATCATGACCACAAAAAATCTCTAGAAGATGATCCTCCATACCCAGAGCGAATGAGTTATAAACTGGATCAGCTATTTGATTAGTACCTTCGTAACCCAGGAAGGGTCGATATCCCAAGGAAAAATTTTGGATATGAGCTGGTGCGGAAATAACTCCACAGGGAATCTCAAGACGTTTACCAATATGACGTTCCATTTGAGTACCAAATATTGCAGAGGGTTCCACGCGAGCGATAATATCTCCTACTTCAGCATGATCATCTGTGATGATTATCTCATCACAAAAATCTTTAATTTGCTCTTTGAACCATTCTGCATCATGTTTACAATAAGTACCTGTACAACTCACACGAATTCCCATCTCTCTAGCAAGTATCTTAGTGATTGAAGCAGCATGAGTTGCATCACCAAAAACGACTGTTTCTTTCCCCGTAAAATTCTGACAATCGATAGATCTTGAGAACCAAGCAGCTTGGGAAACGAATCGAGTTTGTCCATCGATATAGGATTCGTAATCAACCCTTTTGCTTGATAAAATAGGAGCCGCCAAGGTATCAATATATTTCTTTATCTGTCGAATGCACTCGGCCATATCTACAGCTCCCATAGGAGTTGTAGATACATAAGGCATCCCAAATTCTTTATTCAAATACATTGCTGTCATTAAGCCCACTTCACGATAAGGAATTAAATTGAACCGAGCTTTTGGTAAATTTTTTGAATCCTCTACAGATCCTCCTTCAGGAATTATTTGATTAATTCTGATGTCCAGATCTTTTAATAAACGTCTCAACTCACGACAATCGTGTCGATTATGAAAGCCCAAAGTAAGAATCCCAATTATATTTACAGAAGGTGCATCTGTTACGAATTGATCCAATGTTTCTTGTCTATAGGATTTCTCCAAATAATATCGAACCACCTGTTCCAAAGTTCTATCCGCTGCCTGAATTTCATTCACTTGATAATGATCCACATCCGCAAAAATGACGTTGCAATCGGAGATTATGGATGCTCTATCCACAAAGTTTTTTAAATCCTCTTGCAAGATACTAGAGGTACATGTAGGTGTCAATATGATCAGATCGGGACCTTCCTCCTTATCTTTTCGAAGAATATTATCCACAACTCTTTTTCGAGATCCACGTGCTAGTACGTGACGATCTACTATACTAGCAGTTGCAGGAGTAAAATTTCTTTCCCGTTCTAACATAGAGCGCATTACATTAAAATAATCATCTCCTAGAGGAGCATGCATAATGGCATGGACATTTTTGAATGAACTAGCTACTCGTAGAGTTCCAATATGAGCAGGACCAGCATACATCCAATGGGCTAATTTCATAAATTGAACCTTATCTCAAATTGATCCGTATTCCCATCTTGCACCACAGAGATATCCCTTTATCCCTTCCCTATTGTAATCACATTCCCTTCTGATAAGTATGGTGAAATTATGATAAAAAGTAGAACGAAATTTTGGATTTATCTTTACGAAAGAAAAAAAGGAAGAGGGAGAGAACAGAAAACAGGAACCAATGAAATAAGTCTGGGACGGAAGGATTCGAACCTCCGAATAACAGGATCAAAACCTGCTGCCTTACCGCTTGGCCACGCCCCATTCCCATCCTATTTCCCTATTCATATGCTAATGAATACTTATATTCAATTTTTTGTCAACTCATTAGGATCCAAGATTCATTAGATAAGATCCTAATTGGGCTGGAAAATTTTGTGGATATTTTGATAAAATAGGTTATTGATGGAATTGGACATAATAGGAAAAACAGAAAAAGGGACAAGAATATCCATTCATTGATCATTTTCTATTAGATTGGGTAAAATATTGTATGTATGAAAGAATCATCCCTTCCAACCCCAAGTCCGGTCAAACTTGCCGAAGAGCTTCTCGATCGATTTGATCAATCAAAGACTTTTCTGGCTTTACCCCCCCTAATTTTTTTTTGGAGAAGAAAAATGCCAGTTATGCTCAATATTTTTCTAGATGATGCCTTTATCTATTCAAATAATATCTTTTTTGGAAAATTACCTGAGGCTTATGCGATTTCCGATCCAATTGTCGATGTAATGCCAATTATTCCTGTTCTCTCTTTTCTCTTAGCCTTTGTTTGGCAAGCTGCTGTAAGTTTTCGATAAAAAGTATCCCCTTTTTTCCTTTTGAAAGTTTTAAGATCGCTGTCATTGATCCAATTTTTGTATAACTCTTTACATTTTTTGTGACAGAAGTTCTATCCTTGCTCCACCCGATGATACCAGATCCAGATACCTTATCTGCTCCCGACTAAAAACTTTTCCACTCACCTTCATCAATTCCTTTCCTTTCAATCCCATCGCTCACTTCGGATCGGGCTATTTGTTCACGTATTGATACGAATGATATATTTTCATAAAGATTCGATAAATATCTGGTTGATCCAAAAAAGAAGAAGGGAAAAAAGACCATTTTGAAAACAAAGAGATAAATTATCTCCTTCTTTCAATTTGATTTTCACACGTGATCCGGAGAAATCGTGATTTTTATGAATCATACTATTGTTTGGTATTCAAGTATTCATATATTATACAAAGATTGATGATTTATTCTGTTGTACTTATAATTAGGATCCCGGAGATTACGTAATGCTTACTCTTAAGCTGTTCGTTTACACAGTAGTGATATTTTTCATTTCTCTTTTTATCTTTGGATTTCTATCGAACGATCCAGGACGTAATCCCGGACGTAAAGAATAGTGAAAAAAAGTATCTAGGTTAATGAGTCTTTTCCGTTCCGTAGAAAGATTCGGAGTTATCCGCAATAGTGACCGAACGGAGAGAGAGGGATTCGAACCCTCGGTACGGATAATCCGTACTACGGATTAGCAATCCGCCGCTTTGGTCCGCTCAGCCATCTCTCCAAGATGGAAAAGTTCTTGTTTAACAAAATGAATGGTGGAGTAAAGGTGTATACCATAGCATGTACGGATTGTATCGACAATATAACGAATATTGCAATTATTCAGTTAGAAAAACGAATCTGGCGAATCGTATTTTTCATTTCGTTTCAAAAAATTTTGCCTTTTTTCTGACCTGCCTGGCCTGGCCTTAACAAACCACCCTTGTCCTTTCAATTTTTTTTTTTTTTCTTTTTTTTTTCTATGTTTCTTTCTTTGGCTCTCTAGTCCTTTTATATGGTATGATATTGTTCATAGTTACTGAGGGCTATTCCTGACGAAGTTACACAGATGGGGAAGAAGAAGAAAAATGGAGCGGCAGATGAAGAAGAGAAAATAGAAGAGAAGAAAAGTGATTGATCTCGACAACATTTTATTCATACATCCATCAAGTCGATGGGATCATAGAGGTGAAAGAAACCCAAATGAATCTAGAAGTTATTGCGCAGCTCACTGTTCTGACTCTGACGGTTGTATCGGGCCCATTAGTCATTGTTTTATTAGCAGTTCGCAAAGGTAATCTATAATTACAATGAGCCATCGCCGGGAATGAAATACTTTGGTAAATAGTATTTCATCCCCGGCGATGGAGATTCATGTAATAATGAAAACGAGGTAATGATTGATAGAAACTTTCAATAGAGGTTGATAACTCCTCATCTTCCTATCGGTTGGACAAAAGATCGATCCGTATGTTACAATCGGATCGTGGCGGGTATAGTTTAGTGGTAAAAGTGTGATTCGTTACATTATCAACTCGAATAATTGAAGGATCTTTTACATGGATCTTTGATCCATCTAAAGCTCTATTTCCAAATAGGTGAAAAACCTTTCCTATGAAGAAATACTATCCATCCAAGATGGAAGAGTTCATGTGTGACACAACTTCATATACTTTACGTTCCCATATTAGAGTATAGTGCTTCACTTCTTTCCATTAAAACAAATGCCCGTTGGTGTTCCAAAAGTTCCTTTCCGAGCCCCTGGAGATGAAGATGCAAATTGGGTCGACTTATACAACCGACTTTATCGAGAGAGATTACTTTTTTTGGCTCAGGATATCAATCACGAGATTGCAAATCAACTCATGGGTCTCATGGTATATTTGAGTGCAGAAGATGCAAATAAAGATATGTTCTCATTTCTCAACTGTCCCGGTGGATCAGTAATACCGGGAGTAGGTCTTTTCGATATTATGCAAATAATAGTACCAGATGTACATACAATATGTATGGGGATAGCTGCTTCAATGGGATCTTTCATCCTAATCGGGGGAGAAATTACTAAACGTATAGCATTACCTCACGCTAGGGTTATGATCCACCAACCTGCTAGTTCCTATTATGACGGACCGGCCGCAGATTTTCATACCGAATCGAAACACGTAACGATGCTTCGCGATTACATAACAAAATGTTATATAGAAAGAACGGGCAACCTCGGAGAGGTCATTCAACGGGACCTGGACAGAGATGTTTTTATGTCAGCAACAGAAGCCCGAGCTTATGGCATTGTTGATGCCGTAGCGGAAGGTTGATCTCATATCGGAAGATCCTCTTTTTCATTGATTTTTATAATGAACTGTAAACTGATCTTTTCTTTTTCTTAAAAAAAAAGGGGAAAGGGAAAGTGATTCATTTCATAATAACCTTATATGGTTAGGATCAATCCGAACCAGTTGATTCCGCATACAATACAGCTAGAATGCCCACTATTCAACAACTTATTAGAAAAGCAAGACAGCCAATAGAGAATAGAAAAAAATCTCCTGCTCTTCGAGGATGTCCTCAGCGTAGAGGAGTATGTGCTAGGGTGTATGTGCGACTCGTTCGGATCAGAAGCTGAAAGAGACTGGGAAATTCTTACAACGAAATAAGAGAAGAATTTTCCCGCCATAATAAAGTAAAGATCCATCATCTAACCTTACCGGGGATGAAATTTATGGTTTCCATTGGTGCAAACCCAATCACCTTGATGTGGGATGAAAAGCAATTCCTCATTGGTAGCGAATGGTCATCAATCCATTGAGCGGGGAAATCATGCAAATTGAAGAAGCATAAAGTTTATGCTCATATTGCCGCGAGAACGGAACAACAGGGTCAGCTACCTGGCCAACCCCAGAATTACATGTCGTTACTGTATGAATAGATCTTGTAATGAGAGTATTTATTACTTGATGATTCAAGAGTAGAGCTGGAGATGGTAAACCGTACAAGTTACCGATAACATACTCATCTCATATTTCGGAAATGAATAAGAGGCTCCGGCGTATGGAGAGGACCTTACCGTTGGAGAAAGAACCATAGAAACGATGAAACCCATGATTTTTTCTCATTCTCAGTACAAGGTCCGAGCCCTTGCTTACCCGGAAGATGCCTATCCAAAGGGAATTATGGTTGGGAAGGTTGCAGTAGCAAAAGCCATTGGAACTTTTATTTTCTAAATAAGAAGAATCAGTGTTATTCTCAATGGACCAAACAAATGACTAACCAATAAAAAGATTAGCGATTCATGAGAGTAAACGTCAATGACCAGAGTGAAACGTGGATATATAGCTCGAAAACGTCGGAAAAAGATTCTTGCATTTGTATCAGGCTCTCGAGGGGCCCATTCGAAACTTTTTCGAACTGCTAACCAACGGAAAGCTAGAGCCTTAGTTTCCGCCCACCGAGATAGAGGTAAACGCAAGAGAGATCTTCGTCGTTTGTGGATTACTCGAATTAATGCAGCAGCCCGTGCCAATGGAGTCTCTTATAACAGATTCATCCAATATTTGTACAAGAGGCAGTTGCTTCCAAATCGTAAAACACTTGCACAAATAGCTGTATTAGATAGTAATTGCTTTTCCACCATCTTGAAGAACTTATCGTGTGATGAAATAGGTTAGGTATAGATGAAAGAAATAGGTAAAGATGGAATGGATAGAAAGATTCTCCCGGAGAATTCCCTCCGGGAAGGTCAAAACATTGAAAAATTTTTCAATATTGGAAATGAATGAAACGAAAAGACTTCAATCAAATTTTTTTCCAAGAATGAAATTCTGTCAACTTTTTCGACAATAGACTAAAGATCTGCATCTTTATCGAACAGATATCCCAGCTCCGATTTGATTAAGGAGTAGGTTCATTTCCATTCCATGGATGAATTTAGTTTTCATTATAAAGAAAGGGTAACAAAGATGGAATACGAGCTCGTTTAATAGCGTTAGTAATGAGACGTTGTTGTTTTGAGGTTAATCTATTCACTCGGCCAGATAATATTTTTCCTTGCTCGCTAATAAATCGACTAATTAGGCTCATATTTTTATAATCAATCCGATCTCCCGACCTAATTGGTGACAAATGTCTACGAATTGGTGTCAAATGTCTACGAATTGGTGTCAAATGTCTACGAAAATATCGCTTGGGTTTATCCATAGTTTGTTTCATGAACCTTTTGAATACTATTTATTCCAAATCTTTCGAAAATATCGTTCCATTAAAGATCTTGTTGAAATACCATTTCTTTTTATATCTGTGATCTATTTCTATCCCTGGGTAGGAGTAGTACGTTTAATCTCGTTTTTTTATCTCTCCGTGAATGGTATGCTTGTAACAATAGGGACAAAATTTATTTGATTCCAATCGAATAGGTGTATTGCGTCGATTTTTCCGAGTCGTATATCTAGAAATCCCCGGGAATCTTTTATAAACACTATCTTGGGTACAACTAGTGCACTCCAAAGTAATTGTTACTCTTACATCTCCGCTCTTGGCCATAAACTTATTCTGGATATTGGGTCTACTTTGCTTTTCGATCTGAAAAAGAGGGAAAAAGGGATAGAAGTTGATAGACGGAGATCCCACGATAAAACATTTGAAAGTAAAAAAATGATTGATCAGGAGTTTTTAGTTTTACTTACAAAATTGAATGTGGAAAGAACCTTTGGATCTATATTTCTACTTTGATTCTACCCCCCCCCATTTCATCTCCAAACTTAGATCTATTTTGGGCTGAATCAACTAATTTCTCCAAGAGGTAGGAGAAGTCAATCTAGCACAATCTTTTTCCCTTGACTTTAAGGGGAGGACAACAATTAAAAAAAAGCAAAAGTAAGAGCATCTGGAAAAAAACGATTGATTTCTATCAATAGACCGGCTAAAAAAATGAACGATGAAATAGCTAACACAGGCGCTGTGGAAAGATAGGTCTTTAGATCTTGCATTGTAAATTCTCCTTATCGATCATAATGTGTAAGTGATTCAACCGTATCAATAGTTACGAATCCTAGGAAAAACTCGGAACTGATGAATATATGTATAATGTGATCCAGGCTGTGGTCCTATTTATAGAACAGAAAAAAGATGTTTCATCACCAAATTTTGCTAATTAATCTTCTAGATAATAGACCCTACATGCATGTATAAAGTCTTTTCATTCACGAGACCGAAGAGAAATGAAGGTGGAAAAATGTGGGAAACAGATTTCGAATTCTATAAAATAACATTGTCTAATGATTAGAAGGGATGTAGCGCAGCTTGGTAGCGTATTTGTTTTGGGTACAAAATGTCGCAGGTTCAAATCCTGTCATCCCTACCTTTCCCTTCTTTTCTATGGAAAGAGAAAGGAACGAAAGATCATTTTATATCGATTCGAATGGATCAATCAAATAATTGAATCGTATCAGATGCGAAAGTGTTTGACTCTAAGAGTATAAACGAAAAGATTTTGTTCCTTTCCTTTCTCTCCGGATGTTAAATAAAGCGCTCTTAGTTCAGTTCGGTAGAACGTAGGTCTCCAAAACCTGATGCCGTAGGTTCAAATCCTACAGAGCGTGATTCTGTTCCTATCAAACCCAACCTTCTAAATTATCGAGAATTCATTCCAATTGGAACGAGCAATGGAATCTGACCTCCCAGGAAAAGTAGGAGGTCAATGAAATTGAAGGATATTCCCGGATCAAATATCCAATTGATCACCACGTCGGTATTGTGAATATGCAGTTACGGATAATCCGGCCAAAGTTATAGGAATTAGACCTAACACAATTCCGGATGGCAAAGCCTCAATCATTTCGATTCAACGGAATAAGTAGGGATAATAGCTATCCTGGATAGTACCCTGAATTTGCTATGAATCTCAATGATCAGAAATTGATATAGAGAGAATCAACGAAATTATTGAAATTGATATAGTGAACTGAGAGGGTTTCCCCTTCCTTCATTTCGAATAAGTTGTATCTTGCTCGAGCTAATGAATAGGACTAGGGTGAAAATGATAGAAGCCAACAAGAAACCGAAATAACTAATTATAGTTATAGTAGGCGTGGAAGGACTGAATGAAATATGGTTTATACATATCTTCATGAGACAATTACCTAAATTTTGCTTTTCGTAACCTTGAGATCAGAATACAAAAGATCAATTGTCCCAATTCGTACCAATTAAGGATCCTATATCTACTATAGGATATGTATGAACGAACATGGATGAGAGGAAATCTATGGTAGATATCTCTTCATTATCCTAGAAATCCTCACATTCATCGAGCAACTAATTAATAGCACCCGCGAACTCCTTCACAAATTGTCAAACGTAATCTTCTTACAGGGTGAATGAATTATAAATAAGTACGATTGGATCATCTGGCATTATCTTCGATACCAGTAGCTATCGGTTGGATTGGAAGAAACCTCTTCTACAGACATAGCAAAGTTTTGTGAATTTCACGTTTAGGTATAAGAATATTAATATCCAGTTTGTCCTTTCATTTCTAGATCTTATTGATCCAGATCATTGGACCCTCTAGATGGATTTTTTCAATATTCATTCTTAGAGCCAGTAGAGCCCGCAAGAATTCCACCTATTGCAAGGAATAACTCGTAATTTAACATACCTAAAAGTGACTAGGTTCTATTGCACTATCCACTTGGGTTTATCTAATTAGTAACATCTACTCGTTAATACAAGGTACTATATAATAAGTCCGTGGCATAACTCCACCTGCGCCGGATACTATTGGAAGAGCAACATACATCTGCGTAGCACCAATGATCCCCGTGCAATCTTAATTACTGGAATCATCTACACGGACATAATGTCATGTCGGAATGAAAAAAGGAAGGGGTCAAAGTATCATATTCTGGATTGGTTGGATTGATAGTGATTAATACCCTTTGCAAGCGGCACTCATCCTTTTTTCGGTTCTACAGCCTAGAAGCTAATTCCAATCGAAAATTTCCAGGGTTATGCAATTGTTACAACATCGATTGAGGGAGTTCCTTACACCCGAACCTCGGAATATGCAATATTCTCTTATTTCTGTTGGGATTAAGTCCATCAAACAGAGATGGACTAACTGCTGGCAGGAACAGAATCATTCTATTCCGTTCCTTCTCGATACTCATCAAAATTGTATTGCTGTGTCAGAAGAAAGCTAGCTATACTGGTCCAGTAGACTTCAAAGATACCCTTGGTATAACATTGACAATCGAACAAGGATTGGAGAAGATATCAGTAGTTTTCCATTTCCTGATCTCTATCTTTCATGGGATCAATTCCCCCTTGACTGACTTTAAAATAATATATGGAGCTGAGCATGTCTGGGAATACGGGAGAACGCTCCTTTGCTGACATTATTACTAGTATTAGATACTGGGTTATCCATAGCATTACCATACCTTCTCTATTCATTGCAGGTTGGTTATTTGTCAGCACGGGTTTGGCTTATGATGTGTTCGGGAGCCCCCGGCCGAATGAGTATTTCACAGAAAGTCGACAAGAGGTTCCATTAGTAACTGGCCGTTTCGATTCGTTAGAGCAACTCGATGAATTTACTAGATCTTTTTAGGAGGCACTAATGACTATAGATAGAACTTATCCGATTTTTACAGTTAGATGGTTGGCCATTCACGGGCTAGCTGTCCCTACAGTTTTTTTCTCGGGATCAATCTCGGCAATGCAGTTCATCCAGCGATAAACTCTATATTAAAGGAAGAGGAAGTATGTAGATATGACACAATTGAATCCGAACAACCAAAATGTTGAATTGAATCGTACCAGTCTCTACTGGGGGTTGCTACTAATTTTTGTACTTGCTGTTCTATTCTCTAATTATTTGTTTAATTAGGAACAATGAGAATATTATCACTCCATTCGAAGAGATCCAATACTAATAATTATCTATGCTATGACTGTTTATGTCTCGAGCATGACCACTTAAGAAAATGTGAAAGGGAGTAAGAGAAATGGCCGATACCACTGGAAGGATCCCTCTTTGGTTGATAGGTACTGTAACTGGTATTATCGTGATTGGTCTACTGGGTATCTTTTTCTATGGTTCATATTCCGGATCAGGGTCATCCCTATAGTAGGGGAAATGCACTTACTATGGGAATACTATACATGCGAAAGTGACAAATAAATAAGGCCTTACCCTTCTTTTAAGGGTAAGGTCTTATCGAAATCTCTTTTTTAGATTCTCTTCTATATTAATATTAATTAGAAGAGAAGATTCGCACAAATACAATGACTCTGTTACTTCATTCAATGCCTTTCAGTCAAGTTATGAGCCAATTTATTCTATGATAAAAAAAAAATTTTTGATCGATCCAATTTCAATCTCTGTCGAAGGAACAACGGAGAAACGGAGAATATTTATTACTAAATATTTGTTCATTTCTCTGGTGGGAGATTATTCGAAGTTTTTCTAAAAACCCGAACTATGAGAATCTTAATGTGCGAATAGAATATTTTCTTCTCTTATTTTGGCTTACAAAAGAAAAGAGGAGGAAAAACACCTTTAATTCATTTTCTCTCATTAGGAACGAACCCTATCAAAAGGTGGGTTGTTTTGCTCAATGAGTGATATTACCCCTTACTTTTCTGCTCTTCCTTCTTTAGGAATTTGAAGGTTCCTCAATATAACGTACAAAATAATCGTCAATTTACGAAGGAATTGATGAACAGGACAGGATCGGAAACCCAATGAGTTCCTCTTATCTCGACGAGAAATCGGAGAATTTATTCGACGAATAATAATGGGATAGGATAAAGAATGGGATTAGAGAAGATAGGAATCTTCTCCAAGATTGCTTAGTTATTCTCCTAATCTCTCCTTCCTGCGATCTATCTCTATTTTCCGGATTTTTTCTTTTGAAAATGGGCAAGGAAAGGAGGGAATGGCATGTATATAGTACACGATCTAGAAAGCATATGGGGATCGTTCGACAAGTTGATCTGTTCCAGTGCTTATTGAGTCACTCCCTATTTGAAATGTAGATATGTCTACATGAACATTTTCCCAAGAATATATAAGGGAGAAGGAGGAGAAAAGGTTCTCCATCTCCGAAGGGGTATTCATTTTTGATTCAATCAGTCAACTTCATGTTCGGAAATCTATGGACCTGAAGATTCATCTCGGCCAATTGAACTTTCTCAAATTGTTTCTTCTTAAGGACCAAAAATATCTGTGCCAGAATGACAGATGCTAAGAATAATAAAAGACCTTTAACACGTAATGGATCTTGAAGTACTATCTCTGCATCTCCTTGACCAAATCCACCCACATTAGGGTTATTCGTTAATGGCTGATCGACCTTGATCAATTCGCCCTCTGAAATAAGAAGTTCCGGTCCCGGAGGTACAATGTCAACCACTTGCCCACCGTCTGATGTATTATCGATAGTTATCTCATATCCACCCTTTTCTTTACGTAAAATTTTGCTCACTCTTCCTGTTGCTGAAGCGCTATAGACCGTATTGTTGCTCTTACTCCCGTCGGGATAAATTTGTCCTCTCCCTCTATTACCACCCAAATATATAGGATATTTCAGGAAGTGAGCTTCTTTATCAGTAGCAGGATCTGGGGAAAGGATGGGGAACACAAGTTCACTATATTTTTGCCCAGGAACAGGACCTATTACAATAATGTTTTTTTGATTGGGACGATAGTTCTGAAAATAAAGATTACCCATCTTTTGTCTAATCTCAGGAGAAATACGATCCGGAGGGGCTAATTCAAAGCCCTCGGGTAAAATTAGAACAGCTCCTACATTTAAAGCCCCTTTCTTACCATTAGCAAGAACTTGTTTCATTTGCGTATCATAGGGGATCTTAACAACTGCTTCAAATACGGTATTGGGAAGCACGGACTGTGGAACCTCAATATCCACAGGTTTTTTGGCCAAGTGACAATTGGCACATACAATACGTCCAGTTGCTTCTCGGGGATTTTCATAACCCTGCTGTGCAAAAATGGGATATGCATTCGAAATGGATGTCCGAGTTATGATATGTATCATCACCAGGACGGAAATTAACCGAGTCATCTTTTTTTTTAAGTCATAAGTATTTCTATTTTGCATGGTTCAATTATTGGTTCCAAATCATTTTTCGGGTGAGAGTAGGTAGCTATCATAGTTACCTGTCAAAAATTCTGCTACTATATTGATTGAACCAAACCTAAAAGTAAGAAATCGGAAGTCTCGCACCAGGAGAAGAATGAGGGGGAGGAATAGCTAATTCCTGAACAAAGAAAACACTTTATTATTCTGTTTCAATTCTTTCGGTCGGAGAAAACAACCTATTCTTTATTCATTCATCGAATGATAAATTACTACAAGTGAAGGAGATATACGATTGAAACGACGGAAGATCCAATATTTGAGAATCGTATCTAAGATGACTGGAAAAGTTGAAACAAGACCAGATATGATTCGTTCGTTATGGGCAAAGCCAAAATTTTCGGAGATCGAATCGATCATCAGTTCCCAACCATGGGGTGAATGAAACCCAATACATAGATCGGTTGCTAAAAGAATGAGAAAAGCTTTCATTGTATCGCTCAGACTATAGAAGAATTCTTGGATCCAAGAATTGAGAATGCCAAGTTTATTCTTACCCAGAATGAGATAAGCACTTATAAAAGCAAAACCTATTAGATTTGTTAATAAATGTGAGATTATCTTAATACAATCTTCATTGTACATTTCGACCAATTGGATTGTTTCTTTGTGAATCTCTATACGAAGATCTTTTGAATCTGTTCCCGAAGAATCTTCCACCATTCTTTCTAACAGGAATAGTTCTTCTATTTTCTCAAATCTTCCCAGAACATTTTCTTCCTGGAGATAATCAAAAATTTTCTGAGATTGACCCGTATTCCACCAATTTGTAACCCAAGGTTCCAAACCTTTCCGTAATGAAATAGGAATGACCCAAGGCAGTACCACTAAACATGCAAGATATCGTAGGGAAGCTGATGCTTTATATTCGGCCACTTCCAATTCGTGAATCGCTAACGAACCTGATTCACTCGTCAGTTCTGTCCGAAATCTAGACAAAGTACGAGTGATAGAATGAGGTATGGGATCCATAAATTTATCTATTGTGTAATTGTTTGACCCTGAGAAAAAAGATCCTCAGAGAAAAAAGAAAAAGGTTCGCTCCAAATGAGTGAGACGGAGCATAAGAAGATCATTCCCCGATATCCGATCCAGATCGTTTCTATCTGGATCAATTATCTATTCATTTTTTCTATCTTATTCTTTTTTAGAAGAATAACTTGAAGTAACATAAGTCGTTTTATTCATTGTAAAGATCCTTTGAATCCTGATCACTCGATCGATCCTTTACGAATCTTTCCCCAGTTATCTCCAAAGATGACAAACAAAATGAGAGAACGACGAAATCATATAAGAATAAATTGGATCGTGATGAAGAACGGGGATGAGAGGAAAAAACGTTCTAGTTTTAGGGAAACCGGACCACTATATCTAGTCATTGTTCTTTCTGATCCATCATATCCATCTACTGGCTCACTCGCCCTCTCTAGGATAGGAAATGATATGGCGTGTTCAGGAACTACCAAAATAATCTTGGTCTGATTCATTCCATAAACATAAATATCATTTAGTAGGAATTAACTAAATGATATTTTTCCCGGACAAATACCAACCAGTTCTATTGTAACTTATAGCTCTTTCTATATTACCTATTCCTATACTATTTTTTAAAAAATAGTATATTGTTCATAAAGATCCTATATCGTTCCATTTCCATACAATTAGATTTCAATATTTATTGAAATTGATATGTATGGAAATCTAAAAATTTCCTGATTGGATATTGATTCATGTTCCTTGATTCGATCCATATAAAAATGTCGATCAATTTGAATTTATGTTGAGTATAAAGAACCCCTTGGTTCATTTCAAAACCCTTCAATGGATACACGCAAGAAACGGGCTGATTCAGCAGCTTTCTGTTCGATCTCCCTTAGGTTCAAATTATCACCAGTACGAGCTAAAGGAATGTCTTGTCGGCCCTTTATTTCCATATAAAGAACACGACGAGGGGAAATACCTTCTTGAATTTCCATTTTAATCATCTGAATATCCTTCATAAGAAATCGTGGGAAAATACGACGATTTTTTCCGGGAAATCCCCAACGAAAAAGACATACAATTCCTTTTCTTTTATCAAACTTATTATAGCCACTACCCACATCGAACAAAATTGTGCACCACAGATAAGAGCTAATGAACAGACCTGCAATACCATAAAAACACATTACAATTCCTTGTGGAACAAAGAGTATTTCCTGAGATGACAATAGGGGTATCAGGTTCTCACCAAAATAACTCGAAATCCCGACTAGGAAAAATCCTAGTGAACCCAGAAAGAGGATACAAGCCCAAAAGAAATTACTTCTTTTTCGAGACCCTGTTATAGGTTCTATCCAGAGCCATTTGGATCGATTATTCATAAAAAATCGTATTCAATTCCATCCTATTGAAGTTGAGGGAATAGCCCACTTTTTCATCCTTTGGTTCCCAAACTCTTATGAACTAGCTATCTATATACATAGCTAACATTTCAGTCAAGTCAGTCAAGTTTGTCTTCTTGTCCATTCTTACTATCAATTTCAAATAGGTCCTTCCCAAAATTATCAATTTGTTAAACAAAACTGAATCAGTGGAGTTAAAATATCTCTAGGAATCGATATGTATACCATATGCAAAAAATATAACCAACCATATGAAAATATTGACCAATACCTATTTATTGACACATGTGTATATCCGATATGTATATGGATATGAATATGAATAGATATATAAATTCGCTATATCTAGAATATAATGGTAAGATCTATCCATATTCAAGTATGAATGAGTCTAAATAAATATATATATTTATTTATTTCTATTTAGACCTATCTTGTATCTATAAGAGTTCTATCTTATATCATCTGAAATAGATATAGAGATTTATATCTGTTCTGCAATTGAACAGATCCAAACCTATTTATTAAATCTAATTTGATCAGATTCAAAAAATATCGTCATTCTGAATATACAGATGGAAAAGAACCATTGTAATTGCCGGAAGTAATAAGCCGACTAAAGGCACGAAAAAAGAAGGTAGGTTAGGAATTATCATAGAACGAGTACCTTACTTACTCAATGAAATGTTTATCCATATGATTATAAGATAAAATAAGTGATGGGACCAAATGAGCGGTCCCATTTGTCCTTCTTCATAGAATACATGTACGCAAATGTTCGTTGTTCCTTTCCCCGTCTCTTCCAAAAATACTGAAAAAGCATTTGAAGTTGGATTCAAAATTGTTTTTGAATAAGATCCCGACGAGTTCAACAATGAGGATCTGTATCTATATATACAATACATATATATCTATATATATATTGTATATATAGATCCTTTACAACACTTATTAATATTATATAAGTTAAATAGTGGAAGAACATGAATCCTGACAAAAATTTATCTGATTTCGAAAAGCGGAAAATTGGCTATATTTATTGTTAGTATAGGATCGAGGATCATAAATTGTTGGTAAGAAGGGGGTAAAAAGCGATTCTCTTAGAGAAATCCTTATTTTGCCGCAATAAGAAACTGTATCACTGTCACTTCCGTTACAAGGAACTCGATTTGATCATTTTTCCTTATAAGGAACTAAACGTTCATTTTTTTTTCTTTACGAGGAAGACTGTAAAGCTGAAATAGTTCACTTAGAACACCTTTTAAGAGATTACGTGGAACGATCAGATCAAATAAACCATGGCCAAATAAATGCTCAGTCACCTGAAAATCTTCAATCACTTTCTGACCTAATGTCTGTTCGATTACTCTTTTACCTGCAAATGCAATGTACGCTTTAGGTTCGGCAATAATGATATCTCCCAACATGCCAAAACTAGCAGTAACTCCACCGGTTGTCGGAGACGTCAGAATCGATACATATAACAACCTTTTATCCTTCTGATGAATATATAACGCAGAAGCTATTTTAGCCATTTGCATTGAACTAAAACTTCCTTCTTGCATGCGTGCTCCTCCGGAAGCACACACCATAATGACTGGAAGAGATTCCTCGGTAGCGCGCTCGATCAGACGGGTTATTTTCTCGCCTACTACAGAGCCCATACTACCTCCCATGAACTTAAAATCCATAACTCCGAGTGCGATAGGAAGACCATTTAATTGACCTATGCCTGTTTGAATAGCATCAGTTAAACCTGTCTCTATTTGACAGAAAGTGATATGATCCTTATAAGATTCATCCTCAGAATGAAGAGGATCAGAATGAGCAGGTTCATTCTCAGAATGAAATTGAAGAACATCTAGAGTGTACATGTCTTCATCCATAGGATGCCGAGTGCCGCGATCAATTGGAAGTTCTATTCTATCTGAACTATTCATTTGCAGATAATATCCACATTCTTCACAAACACTTTTATTCTCTCTCAAGAATCTGATATAGAGCAAGCTCTCGCAATTATCGCATTGAACCCATAATCTATTAATTTTAACGTAATCAATACTTAGATTCTTGTTCCTCTCCATCTCATTGACGTCCTTACTATCCCTTTCGACCGAATTTTTTAGTAATCCAGTTATTTTACGCCTGTCTTCGAACCACTCCCTTATAGACATAGAGTTTTCCATATAAAGGTGAAGATTGTTACTTTTCCTATCTTATTTTGTATGAAGAGAAGTCGTATAAATAAAATGATTCAATTTCTCAATGAATAGTGAAATGAATCATGGATAAATCATCTCCATTCATTATTGATTAGGAATCCGAAGTATCAATCCGGGATTATGATAGAACCCTTTATTCTTTTATAAAGAAAGATTATCTCCTATGCCGCGATGAAAAGGAATTTTCATCCCAAATACAAAATCTTTTGGGCTAGAAGGGATTTGAACCCTTGACTTCATGGTCCGGAACCATGAGCTCTGATCCACTGAGCTACCAACCCTATCGAATGATCTATAAGATAAATGTAAAGGATGAATAGGATTCGTTATCGAATCCTTGACCCCAAAAAATTTTCATCGACTCACTCTGTTTTAGATATTTTACCTCGGAAATATATCAATATCTATATATCAATATATATATATCAATATATATAGATATTGATATATAGATATTGATATATAGAAATCCCAGATATTGATATCTGAAATCCCATATCTCCGTTCACGATTTGGCCTAATCTTTGTGGTAGCGGTAAAAGATTGGGCCGAGTCCGATTGGTAGAACGAAAGTCACTGGATCACAAGGTATCTATTGCCTCAAATTGTATCTATTGCCTCAAATTCAAATTTGATCTCCTTCCATATTTCACAAGCAGCAGCTAGTTCAGGACTCCATTTACTAGCTTCACGGATCACTTCATTACCTTCACGAGCAAGATCACGTCCTTCATTACGAGCTTGTACACAAGCTTCTAGAGCAACTCGATTAGCTACTGCACCAGGTGCATTTCCCCAAGGGTGTCCCAAAGTTCCCCCACCAAACTGTAGTACGGAATCATCCCCAAAGATCTCGGTCAGAGCAGGCATATGCCAAACGTGAATACCTCCTGAAGCTACGGGCAGGACACCTGGCATAGATACCCAATCTTGAGTGAAGTAAATACCACGACTTCGATCTTTTTCGATAAAATCATCACGCAGTAGATCAACAAACCCTAAAGTGACGTCTCGTTCCCCTTCAAGTTTACCTACTACAGTACCGCCGTGAATATGATCTCCACCGGACATACGCAATGCTTTAGCCAGTACACGGAAGTGCATACCATGATTTTTTTGTCTGTCAATCACTGCATGCATCGCGCGGTGAATGTGAAGAAGTAGGCCGTTGTCTCGGCAATAATGAGCCAAAGAAGTATTTGCGGTAAAACCTCCCGTCAGATAGTCATGCATAACGATAGGAACTCCCAATTCTCTTGCAAATATTGCCCTTTTCATCATTTCTTCACATGTACCTGCAGTAGCATTCAAGTAATGTCCCTTAATTTCACCCGTCTCAGCCTGAGCTTTATAAATTGCTTCCGCACAAAAGACAAAACGATCTCTCCAGCGCATGAATGGTTGGGAATTTACGTTCTCATCATCCTTGGTAAAATCGAGTCCACCACGGAGACATTCGTAAACTGCTCTACCATAGTTCTTGGCCGATAGACCCAATTTTGGTTTGATAGTACATCCCAATAAAGGACGGCCATATTTGTTCAATTTATCTCTTTCAACTTGGATACCATGAGGTGGACCTTGAAATGTTTTGGAATAAGCAGGGGGAATCCGCAAATCTTCCAAACGTAGAGCCCGTAGGGCCTTGAATCCAAATACATTACCTACAATGGAAGTGAACAAGTTAGTAACAGAACCTTCTTCGAAAAGGTCTAAGGGGTAAGCTACATAGGCAATAAATTGAGTTTCCTCTCCAGGAACGGGCTCGATGTCATAGCATCGCCCCTTGTAACGATCAAGACTAGTAAGTCCATCGGTCCAAACAGTGGTCCATGTACCGGTGGAAGATTCAGCAGCTACTGCTGCTCCCGCTTCCTCGGGCGGCACCCCTGGTTGAGGAGTTACTCGGAATGCTGCCAAAATATCCGTATCTTTGGTCTGATATTCAGGAGTATAATAAGTTAATCTGTAATCTTTAACACCAGCTTTAAATCCGACACTAGCTTTAGTCTCTGTTTTTGGTGACATAAGTCCCTCCTTTATTAATAATTATCTCTCGCAAGGACGAGGTCTGCTCGACATGGATCGAACATAAACAATCAATTTTGACAGAACTATCCTACAAAAAAATCGTCCGTTATTGGACAATAAGATCTGCTAGGTACACTCTCATTGTATAATGTTCTTTATGTATGATGCAACCCAATCTTTGCTCTTTAAGTTCTTCCTCCATGGATTGACCCGAGCACCTTTCAGCGGTTAAACTAGTTCATGAATGAACTTAAGGAACCGAATCGACCTTTGACCATAATGGTGCGAATTGTCTATATGAAAATAAATATAGAATAGGGAACAGATGTGCGTACGAAGAGAAGAGATAACGACCGACCAATGAGAGAAAGGTCATGAATAGGGTTCAAGTTTCACATTTCACAGATGATCTGGACATAATTTTTAAGTATTTTCGGTTTTAGTTATGGAGAATTTGGTTCTAGTTATAAATAAAAAAATCGAAGACTTCCTCATTATCCTTATCCATCTACTTACTTCATATTCCAAATATGAATGGATTCGAACTTTTCCATAAAGTAGGATATTACTAAGGTGGTAACTCCCATTCATTATTTACTGATCTGATCGACCCGATACGGAACATTTTTGTTATTGATGATATTGGCAAAATCATATTTATATATATATATATAAAATCTTCATGGAATTTCTTTCCTTTTTTGTATGAGAACCAATCCTCTTGTTCTTGGGGTTTCCGCACTTGTAGAAAAAAATGTGGGACGTATAGCTCAAATCATTGGCCCAGTACTGGATGTCTCTTTTCCTCCAGGTAATATGCCTAATATTTACAATTCATTAATAGTTAAGGGTCAAGGTACAGCCGGTCAGGAAATTCAGGTTACTTGTGAGGTACAGCAATTATTAGGAAATCATAAGGTTAGAGCTGTAGCTATGAGTGCTACAGATGGTTTGACGAGAGGAATGAGAGTGATTGACACGGGAGCTCCTCTTAGTGTTCCAGTTGGTGGAGCTACTCTCGGACGAATTTTCAATGTTCTTGGCGAACCTGTTGATAATTTGGGTCCCGTAGATGCTCGCATAACATCTCCTATTCATAGATCTGCTCCCGCCTTTACAGAGTTGGATACAAAATTATCTATCTTCGAAACAGGCATTAAAGTAGTAGATCTTTTGGCTCCTTACCGCCGTGGGGGAAAAATCGGTTTATTTGGAGGAGCTGGAGTGGGTAAAACAGTACTCATTATGGAGTTGATTAACAACATTGCTAAGGCTCATGGAGGGGTATCTGTATTTGGAGGAGTAGGAGAACGTACTCGTGAAGGGAATGATCTTTACATGGAAATGAAAGAATCGGGAGTAATTGATGAACAAAACATCTCAGAATCAAAAGTGGCTCTGGTCTATGGTCAGATGAATGAACCACCAGGAGCTCGTATGAGAGTCGGTTTAACTGCTCTAACCATGGCCGAATATTTCCGAGATGTCAATGAGCAAGACGTACTATCATTTATTGATAACATCTTCCGCTTTGTCCAAGCGGGATCAGAGGTATCCGCCCTATTAGGTAGAATGCCTTCCGCCGTGGGTTATCAGCCAACTCTTGCCACGGAAATGGGAACTTTGCAAGAGAGAATTACTTCCACAAAAAGGGGATCGATAACCTCGATTCAAGCAGTTTATGTACCTGCTGACGACTTGACTGACCCCGCTCCTGCTACGACATTTGCACATTTAGATGCTACTACCGTACCATCGAGAGGATTAGCTGCCAAGGGTATCTATCCAGCAGTGGATCCTTTAGATTCAACATCGACTATGCTCCAACCTTGGATCGTAGGCGAAGAACATTACGAAACTGCACAAGGGGTTAAGCAAACTTTACAACGTTATAAGGAACTTCAAGACATTATAGCTATTCCTGGACTGGATGAATTATCGGAGGAAGATCGTTTAATCGTAGCAAGAGCAAGAAAAATTGAACGTTTCTTATCACAACCCTTTTTCGTAGCAGAGGTATTCACAGGTTTCCCGGGCAAATATGTTGGTCTCATGGAAACCATTAGAGGGTTTCAAATGATCCTTTCCGGAGAATTAGATGGTATTACCGAACAGTCTTTTTATTTAGTGGGTAACATTGATGAAGCTACCGCGAAGGCTATGAACTCCAAAACGGAAAGTTAATTCTGAAAATGACCTTAAATCTTCGTGTACTGTCTCCTAATCGAGTCATTTGGGATTCAGAAGTTCAAGAAATAATCTTATCTACTAATAGTGGTCAAATTGGCGTATTACCCAATCATGCTTCACTTGTGGCAGCTGTAGATATAGGAGTTATGAAAATACGTCTTAATGGGCAGTGGTCCACTATGGCTTTGATGGGCGGTTTCGCCAAGATAGACAATGATAGAATCACCGTATTGGTAAATAATGCAGAGAGAGATGTTGACATCGATCTCAAAGAAGCCCAGGAAACCTTTAAAGTAGCTAAAGCTGACTTAGCTCGAGCCGAAGGCAAAAGACAAGCAATTGAGGCTGATGTAGCTCCGAAAAGAGCTAGAACACGATTAGAAGCTATCAGTGCTAGCCCCCCCGTCTCTAATTAAACATTTCCTATAAATATCTGAAAATGGATTCAATGTTCCGCCTCGATCCAAACAAGTGGAGTCAAACTTATTAGATGCCATCGACTCTTCAATGGTATCTAATAAGTTTACCTACTATTGGATTTGAACCAACGACTCTCGCCGTATGAAAGCGATACTCTAACCACTGAGTTAAGTGGGTCATTTATTCTCATAGGTAGAGTTGGACTTATAAACGATTCTATATGGAATTCAATGTATAGACAATGTGTCCCTGGCACAGATCGAACTTATTGGAACGTATTGGATCATAGTATCGGATCATGAAATATCTACCTTGACAGAAAGTGATCCATCTGGTTAGTATAGTAGTGTATCACCAAGACTGGGAAGGGCTATAGCTCAGCAAGGTAGAGCACCTCGTTTACACGTGCGCCAATGGTTTTCGGGAGAGTTTATCGATTCGTCCGATCCACGAAATAGATTCTATGTGAAAAAGTCTTACTCTATCAATGTGTTTCTCTGGGGAACAATAGCATGACAAAGATGAAGTTCGATCCGATTCGAATTACGAATCTAATTGATATGGTCAATCCCAGCTCCGTTCAATGCCAGGCATAATGAGTATAATACGGGGACCTCAAAATAGATTCTTTTCGCTCTATGACACTTTTAGGTGTATGAAGTGTCATATTTTCTTTTTGGAGCGCTAGAGGAGACTCTATTTGAGTCAATCTATGCCCGAGCAAGGCAGACCTACGTCAAGGAAACCTTTTGAATCACTTTGGGATTGCTTCCGAAGGGTAAGAATTTGGAGCACACGGAGCCATATTAGTATCTTTCCTGGAAAGAGGAGAATGGCAGACTAACCGATCTTTCCATCAGTTAATGAAAGAGCCCAATGCGATAAAATGCATGTTGGGTTCTTGGAACAGTTCAAATTATTTTGATAATAAGAACTTTGATCTGTTCTACCGAGAAGGTCTACGGTTCGAGCCCGTATAGCCCTATACATTCCACTAAGTTACACTACTCTTATATATATCCCCTCATAGTCCCTATGACTTGGACTTTCAAAGTCTTTCGGATCATATCAATATCTTGTCCTTATCAAGATCGATGGATGGGAACGTTGGAACAGGGCAGGCAGATTAGTATTTCTCATCGATCGATCTTGATCCGATACCAGATGATCGGGCCTATAAACCCTTTTTTTTTTCGAGGCACTTATAGATAGATTCTATCTCAAAATATAGATAGAGGATTGAGGTATTCAATACTATCTATATTACTTGGATTTGTACAATGTTTGTTATAATTCCCATTATAACATCGTCTAGTTCGGAACCGCTTTTGTTCATTTTTATCGCTAGTTCTTCGAAAAACTCGGGAGTTCTCTGGAATAGAATATGTTGAAAGCAATCCATATTCCAGTCAAAGTATCGATCGGACATGTGGCTTTTAGCTCCATCCAAATGCAACGCATTCCGTTGGGGTTGAACGAACGAAGTACTCTTCCGTTCAATCGAAAATCCCGGGTCTATCCCTTTGCTAAAGATCGGGGCGAAGATCTTGATCCACTAGGATTCTACACAATATGTTATGTGTGGTAAATCGAACCTATTCTTGAACCATAGAAGTGGGAAGTACTACGGCCGAATACCTGGAAAGGTCAATTCTCTGGAGTTGATCCATCCTAGCTAAAGGCGAACCTTTGGTTTGTTTTCTTTCTCCACCTAAGATCATCACATGGTTTTTTAGACCCAATATTTTCATATTGGGACAAACACTCTTTCCTCTAGTTCCGTTCTGTTAACATACCAAAAAAATGCAATCTATCGGCTACGCATATTGGATCTATATCTGGACCAACGTTTGCATAAATCTACCCCACTATTCTATAGAATACACATATTTCATGGAATGCGTTCTGAAACAATAGAAAAAAGAAATCTGTTGGAATGAAACTATTACCCCTTGCTCATCAATTTTGTGGACTGCGACCCAAAAGAAGCCCTGTTCTGCCCCGTTACAAATAGTCGGCTAGACAATAGATCTGTCCGAAATGATATTATATCGGAATGAGCCCAGGCTCATAACGAACTTAAACGTGAAAGATTTGATACGTTCCACGGATCGATTGGCGTCTACCAATCCTGTTCCGATTGACCTGTATCAACCATTAAAACGAATGAACTGAAAGACAACGGATTTATTTTTATTTGATTAATCGAACGGAACCGATTTCATATTTGTCATATGTTGAATGCATAGTACTGCTTTCATTTCTGAAGAAACTGAATCCTTCGAACCTTACTCATTCCCCGGTCACTCGATCCTTTTATCCCTTTTGCTACTATAAGATCTGGACAGTACGAATGTAAAAGATCTACTCCTCAACCCGTTCCAGTAAAAACATAAAGAAACGCATGTTCTAATTCTTTGATACTTCCTTCGTTCCAACCAAATCTTTGACGACAGAGATTCCCCTTTTCTCATTCGTCTTCTTTCAATACTGTAAAATGTTCACTATCTCCATTGATAGATGAGCCTCTAAATTTGTATATTTGTCCCATCACCTGCATAATAATATAAAAAAGAATTTGATTGGTCTTCTAACCGTGCATGTAAGATGGCAAAATTTTCCAGATTGGATGCAAAGCCCTATCTTTTCTAATACGAGAAGGATACGAGTTCCAAGGGTCTAGATTTCATTGAATCTGAATATGTAACAAGCGGATAGGGTCGAACTTGTCGACGCAGCCGCAGCCTCGATCATTTGAAACAACGACCCTCCGATTAAATACCCCGCCCAGAGTTGTTCGGGCGGACAAGATCTGAGTATCAAGATAAAACATAAAAGAAATCCCAAGATAGATCTCTTTCAATTTACACCGAACCATGTTCATGTTGATGGCCCGTTCGTTTCGTTACAACTCGAATAACGTGGGATCTACCGAACCAATCTGCAAAACTGCGTTTTTTTAGAACAAAATGATAATCTGACTGGAAGGGAAGAAACGATCGTTATCGTCCATGGGTGAATGGACAAAGGATCGATACGAAAAAAGAAAGATTATTCACGTTCGAAAGAACTGAGGAAGGATGGGATCGGGATATGTCTCCGGAATAAATATAAAATACTTAAGAAAAACTTGTTCGATAGTTGGTTGGGAATTAGTCATCGATCTTGCTTTGATCCCCTGTAAGAGGTCGCCGACCCACATACAGACGTTAGCCTCGTCATTTCTTCCAAGAAGAAATGACTGTAGATAGAGACAATTGGTTTGTTTTTCCGGGGCGGACGTAGCCAAGTGGACCAAGGCAGTGGATTGTGAATCCACCACGCGCGGGTTCAATTCCCGTCGTTCGCCCATAAAATAAAAGAAAAAACGGACTGGATTCAGTGTCATTTTCTTATTTCGGTGTCCATATTTCTATCTATTACATAGATAGAGAAATGGACACCCGGGCCTTCTTTCTTCGTAGGAAAAATGAGCCCTTTATCGGACTTGAACCGATGACTTACGCCTTACCATGGC
--- a/tool_dependencies.xml	Thu Jan 22 13:13:20 2015 -0500
+++ b/tool_dependencies.xml	Thu Sep 17 16:49:26 2015 -0400
@@ -7,9 +7,6 @@
         <repository changeset_revision="d561a0a9f601" name="package_aragorn_1_2_36" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu" />
     </package>
     <package name="tRNAscan-SE" version="1.3.1">
-        <repository changeset_revision="05896b625b03" name="package_trnascan_1_3_1" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu" />
+        <repository changeset_revision="b754416c3030" name="package_trnascan_1_3_1" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu" />
     </package>
-    <set_environment version="1.0">
-        <environment_variable action="set_to" name="TRNAPRED_SCRIPT_PATH">$REPOSITORY_INSTALL_DIR</environment_variable>
-    </set_environment>
 </tool_dependency>
Binary file trna_prediction.tar.gz has changed