From 8956c9baaf8c43b89fab04f32f1de8a889fadabb Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Thu, 2 May 2024 16:31:39 -0500 Subject: [PATCH 1/8] bgan format refactor --- locidex/build.py | 19 ++++--------------- locidex/constants.py | 29 +++++++++++++++++++++++++++-- locidex/format.py | 37 +++++++++++++++++++++++++------------ tests/test_workflows.yml | 2 +- 4 files changed, 57 insertions(+), 30 deletions(-) diff --git a/locidex/build.py b/locidex/build.py index be01c84..4843eda 100644 --- a/locidex/build.py +++ b/locidex/build.py @@ -4,7 +4,7 @@ import os, sys from argparse import (ArgumentParser, ArgumentDefaultsHelpFormatter, RawDescriptionHelpFormatter) from locidex.version import __version__ -from locidex.constants import FORMAT_RUN_DATA +from locidex.constants import FORMAT_RUN_DATA, DBFiles from locidex.classes import run_command from locidex.constants import DBConfig @@ -169,17 +169,6 @@ def run(cmd_args=None): run_data['analysis_start_time'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S") run_data['parameters'] = vars(cmd_args) - #config = {} - #for f in DB_CONFIG_FIELDS: - # config[f] = '' - - #config["db_name"] = cmd_args.name - #config["db_version"] = cmd_args.db_ver - #config["db_desc"] = cmd_args.db_desc - #config["db_author"] = cmd_args.author - #if cmd_args.date == '': - # config["db_date"] = datetime.now().strftime("%Y/%d/%m") - config = DBConfig( db_name=cmd_args.name, db_version =cmd_args.db_ver, @@ -199,14 +188,14 @@ def run(cmd_args=None): sys.exit() run_data['analysis_end_time'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S") - with open(os.path.join(outdir,"config.json"),"w") as oh: + with open(os.path.join(outdir,DBFiles.config_file),"w") as oh: oh.write(json.dumps(obj.config.to_dict(),indent=4)) - with open(os.path.join(outdir,"meta.json"),"w") as oh: + with open(os.path.join(outdir, DBFiles.meta_file),"w") as oh: oh.write(json.dumps(obj.meta,indent=4)) - with open(os.path.join(outdir,"results.json"),"w") as oh: + with open(os.path.join(outdir, DBFiles.results_file),"w") as oh: oh.write(json.dumps(run_data,indent=4)) diff --git a/locidex/constants.py b/locidex/constants.py index ff8541b..fee7ff5 100644 --- a/locidex/constants.py +++ b/locidex/constants.py @@ -1,7 +1,7 @@ from dataclasses import dataclass, asdict, fields import pathlib -from typing import Any, Union +from typing import Any, Union, NamedTuple DNA_AMBIG_CHARS = ['b', 'd', 'e', 'f', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 'u', 'v', 'w', 'x', 'y', 'z', '-'] @@ -132,6 +132,32 @@ class ManifestFields: 'protein':'protein.fasta', } + +class LocidexDBHeader(NamedTuple): + seq_id: str + locus_name: str + locus_name_alt: str + locus_product: str + locus_description: str + locus_uid: str + dna_seq: str + dna_seq_len: int + dna_seq_hash: str + aa_seq: str + aa_seq_len: int + aa_seq_hash: str + dna_min_len: int + dna_max_len: int + aa_min_len: int + aa_max_len: int + dna_min_ident: float + aa_min_ident: float + min_dna_match_cov: int + min_aa_match_cov: int + count_int_stops: int + dna_ambig_count: int + + LOCIDEX_DB_HEADER = [ 'seq_id', 'locus_name', @@ -155,5 +181,4 @@ class ManifestFields: 'min_aa_match_cov', 'count_int_stops', 'dna_ambig_count' - ] diff --git a/locidex/format.py b/locidex/format.py index 5a4c907..e8f1a29 100644 --- a/locidex/format.py +++ b/locidex/format.py @@ -11,7 +11,7 @@ import pandas as pd from Bio import SeqIO -from locidex.constants import LOCIDEX_DB_HEADER, FILE_TYPES, FORMAT_RUN_DATA +from locidex.constants import LOCIDEX_DB_HEADER, FILE_TYPES, FORMAT_RUN_DATA, LocidexDBHeader from locidex.utils import six_frame_translation, revcomp, calc_md5 from locidex.version import __version__ from locidex.constants import DNA_AMBIG_CHARS, DNA_IUPAC_CHARS @@ -167,17 +167,30 @@ def parse_fasta(self, input_file): dna_len = len(dna_seq) aa_len = len(aa_seq) - row = self.create_row() - row['seq_id'] = self.seq_idx - row['locus_name'] = gene_name - row['locus_name_alt'] = id - row['locus_product'] = '' - row['locus_description'] = '' - row['locus_uid'] = id.split(self.delim)[-1] - row['dna_seq'] = dna_seq - row['dna_seq_len'] = dna_len - row['dna_seq_hash'] = calc_md5([dna_seq])[0] - row['dna_ambig_count'] =dna_seq.count('n') + #row = self.create_row() + row = LocidexDBHeader( + seq_id=self.seq_idx, + locus_name=gene_name, + locus_name_alt=id, + locus_product='', + locus_description='', + locus_uid=id.split(self.delim)[-1], + dna_seq=dna_seq, + dna_seq_len=dna_len, + dna_seq_hash=calc_md5([dna_seq])[0], + dna_ambig_count=dna_seq.count('n'), + ) + + #row['seq_id'] = self.seq_idx + #row['locus_name'] = gene_name + #row['locus_name_alt'] = id + #row['locus_product'] = '' + #row['locus_description'] = '' + #row['locus_uid'] = id.split(self.delim)[-1] + #row['dna_seq'] = dna_seq + #row['dna_seq_len'] = dna_len + #row['dna_seq_hash'] = calc_md5([dna_seq])[0] + #row['dna_ambig_count'] =dna_seq.count('n') if self.is_protein_coding: diff --git a/tests/test_workflows.yml b/tests/test_workflows.yml index 38535e9..6a611fa 100644 --- a/tests/test_workflows.yml +++ b/tests/test_workflows.yml @@ -1,5 +1,5 @@ - name: Run help - command: locidex search --help + command: locidex --help - name: Run search help command: locidex search --help From 510da41e411d98cc871d23d89c6d219eb3f8c31c Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Mon, 6 May 2024 11:05:48 -0500 Subject: [PATCH 2/8] updated format module --- locidex/build.py | 4 +- locidex/constants.py | 71 ++++++++++++++-------------- locidex/format.py | 108 +++++++++++++++++-------------------------- tests/test_format.py | 1 + 4 files changed, 80 insertions(+), 104 deletions(-) diff --git a/locidex/build.py b/locidex/build.py index 4843eda..3df3fa2 100644 --- a/locidex/build.py +++ b/locidex/build.py @@ -4,7 +4,7 @@ import os, sys from argparse import (ArgumentParser, ArgumentDefaultsHelpFormatter, RawDescriptionHelpFormatter) from locidex.version import __version__ -from locidex.constants import FORMAT_RUN_DATA, DBFiles +from locidex.constants import DBFiles from locidex.classes import run_command from locidex.constants import DBConfig @@ -165,7 +165,7 @@ def run(cmd_args=None): input_file = cmd_args.input_file outdir = cmd_args.outdir force = cmd_args.force - run_data = FORMAT_RUN_DATA + run_data = dict() run_data['analysis_start_time'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S") run_data['parameters'] = vars(cmd_args) diff --git a/locidex/constants.py b/locidex/constants.py index fee7ff5..10707fa 100644 --- a/locidex/constants.py +++ b/locidex/constants.py @@ -1,7 +1,7 @@ from dataclasses import dataclass, asdict, fields import pathlib -from typing import Any, Union, NamedTuple +from typing import Any, Union, NamedTuple, Optional DNA_AMBIG_CHARS = ['b', 'd', 'e', 'f', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 'u', 'v', 'w', 'x', 'y', 'z', '-'] @@ -39,8 +39,8 @@ FILE_TYPES = { - 'genbank':["gbk","genbank","gbf","gbk.gz","genbank.gz","gbf.gz","gbff","gbff.gz"], - 'fasta':["fasta","fas","fa","ffn","fna","fasta.gz","fas.gz","fa.gz","ffn.gz","fna.gz"], + 'genbank': ["gbk","genbank","gbf","gbk.gz","genbank.gz","gbf.gz","gbff","gbff.gz"], + 'fasta': ["fasta","fas","fa","ffn","fna","fasta.gz","fas.gz","fa.gz","ffn.gz","fna.gz"], } @@ -121,9 +121,6 @@ class ManifestFields: } -FORMAT_RUN_DATA = { - -} DB_EXPECTED_FILES = { 'config':'config.json', @@ -143,42 +140,42 @@ class LocidexDBHeader(NamedTuple): dna_seq: str dna_seq_len: int dna_seq_hash: str - aa_seq: str - aa_seq_len: int - aa_seq_hash: str + aa_seq: Optional[str] + aa_seq_len: Optional[int] + aa_seq_hash: Optional[str] dna_min_len: int dna_max_len: int - aa_min_len: int - aa_max_len: int + aa_min_len: Optional[int] + aa_max_len: Optional[int] dna_min_ident: float - aa_min_ident: float + aa_min_ident: Optional[float] min_dna_match_cov: int - min_aa_match_cov: int + min_aa_match_cov: Optional[int] count_int_stops: int dna_ambig_count: int -LOCIDEX_DB_HEADER = [ - 'seq_id', - 'locus_name', - 'locus_name_alt', - 'locus_product', - 'locus_description', - 'locus_uid', - 'dna_seq', - 'dna_seq_len', - 'dna_seq_hash', - 'aa_seq', - 'aa_seq_len', - 'aa_seq_hash', - 'dna_min_len', - 'dna_max_len', - 'aa_min_len', - 'aa_max_len', - 'dna_min_ident', - 'aa_min_ident', - 'min_dna_match_cov', - 'min_aa_match_cov', - 'count_int_stops', - 'dna_ambig_count' -] +#LOCIDEX_DB_HEADER = [ +# 'seq_id', +# 'locus_name', +# 'locus_name_alt', +# 'locus_product', +# 'locus_description', +# 'locus_uid', +# 'dna_seq', +# 'dna_seq_len', +# 'dna_seq_hash', +# 'aa_seq', +# 'aa_seq_len', +# 'aa_seq_hash', +# 'dna_min_len', +# 'dna_max_len', +# 'aa_min_len', +# 'aa_max_len', +# 'dna_min_ident', +# 'aa_min_ident', +# 'min_dna_match_cov', +# 'min_aa_match_cov', +# 'count_int_stops', +# 'dna_ambig_count' +#] diff --git a/locidex/format.py b/locidex/format.py index e8f1a29..9e4416f 100644 --- a/locidex/format.py +++ b/locidex/format.py @@ -3,41 +3,38 @@ import os import pathlib import sys -from argparse import (ArgumentParser, ArgumentDefaultsHelpFormatter, RawDescriptionHelpFormatter) +from argparse import ArgumentParser from datetime import datetime from functools import partial from mimetypes import guess_type +from dataclasses import dataclass import pandas as pd from Bio import SeqIO -from locidex.constants import LOCIDEX_DB_HEADER, FILE_TYPES, FORMAT_RUN_DATA, LocidexDBHeader +from locidex.constants import FILE_TYPES, LocidexDBHeader from locidex.utils import six_frame_translation, revcomp, calc_md5 from locidex.version import __version__ -from locidex.constants import DNA_AMBIG_CHARS, DNA_IUPAC_CHARS - class locidex_format: input = None input_type = None - data = {} - is_protein_coding = True - header = [] - seq_idx = 0 delim = '_' - translation_table = 11 - min_len_frac = 0.7 - max_len_frac = 1.3 - min_cov_perc = 80 - min_ident_perc = 80 - gene_name = None - valid_ext = ['.fasta','.fasta.gz','.fa','.fa.gz','.fas','.fas.gz'] status = True - messages = [] - def __init__(self, input, header,is_protein,delim="_",trans_table=11, - min_len_frac=0.7,max_len_frac=1.3,min_cov_perc=80,min_ident_perc=80,valid_ext=None): + @dataclass + class FrameSelection: + offset: int + seq: str + count_int_stops: int + frame: int + revcomp: bool + + def __init__(self,input,header,is_protein=False,delim="_",trans_table=11, + min_len_frac=0.7,max_len_frac=1.3,min_cov_perc=80.0,min_ident_perc=80.0,valid_ext=None): self.input = input + self.seq_idx = 0 + self.gene_name = None self.header = header self.delim = delim self.translation_table = trans_table @@ -46,6 +43,8 @@ def __init__(self, input, header,is_protein,delim="_",trans_table=11, self.min_cov_perc = min_cov_perc self.min_ident_perc = min_ident_perc self.is_protein_coding = is_protein + self.data = dict() + self.valid_ext = valid_ext if valid_ext is not None: if isinstance(valid_ext,list): @@ -59,9 +58,6 @@ def __init__(self, input, header,is_protein,delim="_",trans_table=11, else: self.parse_fasta(self.input) - def get_data(self): - return self.data - def process_dir(self): files = self.get_dir_files(self.input) for f in files['file']: @@ -71,12 +67,13 @@ def process_dir(self): self.parse_fasta(f[0]) break - def set_input_type(self): if os.path.isfile(self.input): self.input_type = 'file' elif os.path.isdir(self.input): self.input_type = 'dir' + else: + raise AttributeError("Unknown input type could not be determined for: {}".format(self.input)) def get_dir_files(self, input_dir): files = {'file': [], 'dir': []} @@ -89,7 +86,7 @@ def get_dir_files(self, input_dir): files[type].append([f"{item.resolve()}", os.path.basename(item)]) return files - def pick_frame(self, six_frame_translation): + def pick_frame(self, six_frame_translation) -> FrameSelection: count_internal_stops = [] terminal_stop_codon_present = [] for i in range(0, len(six_frame_translation)): @@ -137,8 +134,8 @@ def pick_frame(self, six_frame_translation): if idx > 2: i = 1 - seq = six_frame_translation[i][k] - return {'offset': offset, 'revcomp': r, 'frame': s, 'seq': seq.lower(), 'count_int_stops': min_int_stop} + seq = six_frame_translation[i][k].lower() + return self.FrameSelection(offset=offset, frame=s, seq=seq, count_int_stops=min_int_stop, revcomp=r) def create_row(self): @@ -160,14 +157,15 @@ def parse_fasta(self, input_file): dna_seq = str(record.seq).lower().replace('-','') if self.is_protein_coding: t = self.pick_frame(six_frame_translation(dna_seq, trans_table=self.translation_table)) - aa_seq = t['seq'].lower() - dna_seq = dna_seq[t['offset']:] - if t['revcomp']: + aa_seq = t.seq + dna_seq = dna_seq[t.offset:] + if t.revcomp: dna_seq = revcomp(dna_seq) dna_len = len(dna_seq) aa_len = len(aa_seq) - #row = self.create_row() + + aa_encoding_p = lambda x: x if self.is_protein_coding else None row = LocidexDBHeader( seq_id=self.seq_idx, locus_name=gene_name, @@ -179,34 +177,19 @@ def parse_fasta(self, input_file): dna_seq_len=dna_len, dna_seq_hash=calc_md5([dna_seq])[0], dna_ambig_count=dna_seq.count('n'), + aa_seq = aa_encoding_p(aa_seq), + aa_seq_len=aa_encoding_p(len(aa_seq)), + aa_seq_hash= aa_encoding_p(calc_md5([aa_seq])[0]), + aa_min_ident=aa_encoding_p(self.min_ident_perc * (self.min_ident_perc /100)), + aa_min_len=aa_encoding_p(aa_len * self.min_len_frac), + aa_max_len=aa_encoding_p( aa_len * self.max_len_frac), + min_aa_match_cov=aa_encoding_p(self.min_cov_perc), + count_int_stops=aa_encoding_p(t.count_int_stops), + dna_min_len=dna_len*self.min_len_frac, + dna_max_len=dna_len*self.max_len_frac, + dna_min_ident=self.min_ident_perc, + min_dna_match_cov=self.min_cov_perc ) - - #row['seq_id'] = self.seq_idx - #row['locus_name'] = gene_name - #row['locus_name_alt'] = id - #row['locus_product'] = '' - #row['locus_description'] = '' - #row['locus_uid'] = id.split(self.delim)[-1] - #row['dna_seq'] = dna_seq - #row['dna_seq_len'] = dna_len - #row['dna_seq_hash'] = calc_md5([dna_seq])[0] - #row['dna_ambig_count'] =dna_seq.count('n') - - - if self.is_protein_coding: - row['aa_seq'] = aa_seq - row['aa_seq_len'] = len(aa_seq) - row['aa_seq_hash'] = calc_md5([aa_seq])[0] - row['aa_min_ident'] = self.min_ident_perc * 0.8 - row['aa_min_len'] = aa_len * self.min_len_frac - row['aa_max_len'] = aa_len * self.max_len_frac - row['min_aa_match_cov'] = self.min_cov_perc - row['count_int_stops'] = t['count_int_stops'] - - row['dna_min_len'] = dna_len*self.min_len_frac - row['dna_max_len'] = dna_len*self.max_len_frac - row['dna_min_ident'] = self.min_ident_perc - row['min_dna_match_cov'] = self.min_cov_perc self.data[self.seq_idx] = row self.seq_idx += 1 @@ -253,7 +236,7 @@ def run(cmd_args=None): if cmd_args.not_coding: is_coding = False - run_data = FORMAT_RUN_DATA + run_data = dict() run_data['analysis_start_time'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S") run_data['parameters'] = vars(cmd_args) @@ -268,22 +251,17 @@ def run(cmd_args=None): print(f'Error {input} does not exist as a file or directory') sys.exit() - - obj = locidex_format(input=input,header=LOCIDEX_DB_HEADER,is_protein=is_coding,min_len_frac=min_len_frac,max_len_frac=max_len_frac, min_ident_perc=min_ident, - min_cov_perc=min_match_cov,trans_table=trans_table,valid_ext=FILE_TYPES['fasta']) + obj = locidex_format(input=input,header=LocidexDBHeader._fields,is_protein=is_coding,min_len_frac=min_len_frac,max_len_frac=max_len_frac, min_ident_perc=min_ident, + min_cov_perc=min_match_cov,trans_table=trans_table,valid_ext=FILE_TYPES['fasta']) run_data['result_file'] = os.path.join(outdir,"locidex.txt") - pd.DataFrame.from_dict(obj.get_data(),orient='index').to_csv(run_data['result_file'],sep="\t",index=False,header=True) + pd.DataFrame.from_dict(obj.data,orient='index').to_csv(run_data['result_file'],sep="\t",index=False,header=True) run_data['analysis_end_time'] = datetime.now().strftime("%Y-%m-%d %H:%M:%S") with open(os.path.join(outdir,"results.json"),"w") as oh: oh.write(json.dumps(run_data,indent=4)) - - - - # call main function if __name__ == '__main__': run() diff --git a/tests/test_format.py b/tests/test_format.py index 09c721e..4fff148 100644 --- a/tests/test_format.py +++ b/tests/test_format.py @@ -5,6 +5,7 @@ import pytest from locidex import format + import os import json from dataclasses import dataclass From cdade6c13a223f5f3cd1b8c0a65e8494008ede71 Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Mon, 6 May 2024 11:06:37 -0500 Subject: [PATCH 3/8] updated format module --- locidex/format.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locidex/format.py b/locidex/format.py index 9e4416f..53a6e4b 100644 --- a/locidex/format.py +++ b/locidex/format.py @@ -17,7 +17,7 @@ from locidex.version import __version__ class locidex_format: - input = None + input_type = None delim = '_' status = True From c33c7b9a9e7a82470389d0bb540542f042ca6332 Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Mon, 6 May 2024 11:08:11 -0500 Subject: [PATCH 4/8] updated format module --- locidex/format.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/locidex/format.py b/locidex/format.py index 53a6e4b..6407a09 100644 --- a/locidex/format.py +++ b/locidex/format.py @@ -138,12 +138,6 @@ def pick_frame(self, six_frame_translation) -> FrameSelection: return self.FrameSelection(offset=offset, frame=s, seq=seq, count_int_stops=min_int_stop, revcomp=r) - def create_row(self): - row = {} - for f in self.header: - row[f] = '' - return row - def parse_fasta(self, input_file): encoding = guess_type(input_file) _open = partial(gzip.open, mode='rt') if encoding == 'gzip' else open From 02d357ddf597a36ba6ca4b91033584335cbc67a5 Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Mon, 6 May 2024 14:38:12 -0500 Subject: [PATCH 5/8] updating orffinding --- .../example/format_db_mlst_out/locidex.txt | 2 +- locidex/format.py | 76 +++++++------------ locidex/utils.py | 4 +- 3 files changed, 31 insertions(+), 51 deletions(-) diff --git a/locidex/example/format_db_mlst_out/locidex.txt b/locidex/example/format_db_mlst_out/locidex.txt index b24df43..5c7d8aa 100644 --- a/locidex/example/format_db_mlst_out/locidex.txt +++ b/locidex/example/format_db_mlst_out/locidex.txt @@ -5,7 +5,7 @@ seq_id locus_name locus_name_alt locus_product locus_description locus_uid dna_s 3 hemD hemD_489 489 gcggcgctcacggacaacgatctggtgttcgccctctcgcaacacgccgtcgcctttgcccacgcccaactgcaacagcaggagctggactggcctgtgcaaccacgctacttcgccatcgggcgcacaacggcgctggcgctgcataccgttaacggatgcgatattcgctatcctctggatcgggaaatcagcgaagtcttgctacaattacctgaattacaaaatattgcgggaaaacgagcgcttattttacggggcaacggcgggcgtgaactgttaggcaaaaccctcacagaacgcggcgctgaagtcaccttttgtgaatgttatcaacgcagtgcaaaacattacgatggcgcggaagaggcgatgcgctggcactctcgcggcgtgacgacgattgttgtcaccagcggcgaaatgctgcaa 432 d70b2d022747ea0b4e2fc11e20749d64 aaltdndlvfalsqhavafahaqlqqqeldwpvqpryfaigrttalalhtvngcdirypldreisevllqlpelqniagkralilrgnggrellgktltergaevtfcecyqrsakhydgaeeamrwhsrgvttivvtsgemlq 144 0cfbcc286e11d3832d882b729b4a856a 302.4 561.6 100.8 187.20000000000002 80.0 64.0 80.0 80.0 0 0 4 hemD hemD_497 497 gaaacacttggcgataacgatctgctctttgcactttctcaacatgcagtgtcattcgcccatgcgcagttgcaacagcaggggctaaactggccatcacttccgcattatttcgctattggccgtactaccgctctcgccctgcacaccgtaagcggacataagattcgctatccacaagatcgggaaatcagcgaagtcttgctacaattaccggaattacaaagtattgcgggaaaacgcgcacttattttgcgcggtaacggcggccgtgaattgatcggtcagacgctgacatcacgtggtgccgacgttactttttgtgaatgttatcaacgcagtgcgaagcattacgatggtgcggaagaagctatgcgctggcagtctcgcggcgtaacaaccgtcgttgtaaccagcggtgaaatgctgcaa 432 9723e4bd3f999d580288941f6aa9e263 etlgdndllfalsqhavsfahaqlqqqglnwpslphyfaigrttalalhtvsghkirypqdreisevllqlpelqsiagkralilrgnggreligqtltsrgadvtfcecyqrsakhydgaeeamrwqsrgvttvvvtsgemlq 144 6d48401195f1f5b6aa10874e6824b9c7 302.4 561.6 100.8 187.20000000000002 80.0 64.0 80.0 80.0 0 0 5 hemD hemD_498 498 cgtctcttgcaggaaggcgatctgctctttgcgctgtcgcagcatgccgtggagtttgcccatgcgcagctgcaacagcatgccgttagctggcctcacgccccccgctatttcgccatcgggcgcaccacggcgctggccttacataccgcgagcggaatcgatgttcgttacccgttagatcgggaaatcagcgaagtcttgctacaattacctgaattacaaaccattgccggaaagcgcgcgctcattttgcgcggcaacggtggccgcgaactgctgggcgaaacgctgcgcgaacgcggcgcagacgtgacgtttgtggagtgctatcagcgctgtgcgaaacactatgatggcgcggaagaagcaatgcgctggcacgcccgcggtattaatacgctggtggtcaccagcggtgaaatgttacaa 432 628c16c03efeab34bd43be2330a1e2a5 rllqegdllfalsqhavefahaqlqqhavswphapryfaigrttalalhtasgidvrypldreisevllqlpelqtiagkralilrgnggrellgetlrergadvtfvecyqrcakhydgaeeamrwhargintlvvtsgemlq 144 f7056f8e23b473dfa237112bfac425eb 302.4 561.6 100.8 187.20000000000002 80.0 64.0 80.0 80.0 0 0 -6 aroC aroC_309 309 gtttttcgtccgggacacgcgggattacacctatgagcagaaatacggcctgcgcgattaccgtggcggtggacgttcttccgcgcgtgaaaccgcgatgcgcgtagcggcaggggcgatcgccaagaaatacctggcggaaaagttcggcatcgaaatccgcggctgcctgacccagatgggcgacattccgctggagattaaagactggcgtcaggttgagcttaatccgttcttttgtcccgatgcggacaaacttgacgcgctggacgaactgatgcgcgcgctgaaaaaagagggtgactccatcggcgcgaaagtgacggtgatggcgagcggcgtgccggcagggcttggcgaaccggtatttgaccgactggatgcggacatcgcccatgcgctgatgagcattaatgcggtgaaaggcgtggagatcggcgaaggatttaacgtggtggcgctgcgcggcagccagaatcgcgatgaaatcacggcgcagggt 502 68b97d286c75072e2c1d9721b346404f vfrpghaglhl*aeirparlpwrwtffra*nrdarsgrgdrqeipggkvrhrnprlpdpdgrhsagd*rlasg*a*svllsrcgqt*ragrtdaraekrg*lhrresdgdgerragrawrtgi*ptgcghrpcadeh*cgerrgdrrri*rggaarqpesr*nhgag 167 ebba9da967300cdb7d30cdd9cf67c59c 351.4 652.6 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 +6 aroC aroC_309 309 tttttcgtccgggacacgcgggattacacctatgagcagaaatacggcctgcgcgattaccgtggcggtggacgttcttccgcgcgtgaaaccgcgatgcgcgtagcggcaggggcgatcgccaagaaatacctggcggaaaagttcggcatcgaaatccgcggctgcctgacccagatgggcgacattccgctggagattaaagactggcgtcaggttgagcttaatccgttcttttgtcccgatgcggacaaacttgacgcgctggacgaactgatgcgcgcgctgaaaaaagagggtgactccatcggcgcgaaagtgacggtgatggcgagcggcgtgccggcagggcttggcgaaccggtatttgaccgactggatgcggacatcgcccatgcgctgatgagcattaatgcggtgaaaggcgtggagatcggcgaaggatttaacgtggtggcgctgcgcggcagccagaatcgcgatgaaatcacggcgcagggt 501 e7236cf0a09d7ff8d6d23c99090dae04 vfrpghaglhl*aeirparlpwrwtffra*nrdarsgrgdrqeipggkvrhrnprlpdpdgrhsagd*rlasg*a*svllsrcgqt*ragrtdaraekrg*lhrresdgdgerragrawrtgi*ptgcghrpcadeh*cgerrgdrrri*rggaarqpesr*nhgag 167 ebba9da967300cdb7d30cdd9cf67c59c 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 7 aroC aroC_609 609 aaattccgtcccggacatgcggactacacctatcaccaaaaatacggtgtgcgagattaccgtggcggcggccgttcatcggcacgtgaaaccgccatgcgtgttgctgcgggagcgattgccaaaaaatatctgcagcaagagtttggcattgaagtgcgtgcttacttgtcgcaaatgggggatgtcgcgattgataaagtggattggaatgagattgaaaacaacgatttcttctgtcctgatgtcgataaagtggctgcgtttgacgagctgatccgcgagctgaaaaaagaaggcgattcgatcggcgcgaaaatccaagtggtcgctacaggcgtgccggttggactgggtgagcctgtgtttgatcgcttagatgcggatattgcccatgccttgatgagcatcaacgccgtgaaaggagtcgagattggtgatggctttgatgtggtgcgccaaaaaggcagccaacaccgtgacccgctcactccacaaggt 501 b2658e14ec9adf0a41a54a97f9d2110b kfrpghadytyhqkygvrdyrgggrssaretamrvaagaiakkylqqefgievraylsqmgdvaidkvdwneienndffcpdvdkvaafdelirelkkegdsigakiqvvatgvpvglgepvfdrldadiahalmsinavkgveigdgfdvvrqkgsqhrdpltpqg 167 688cca23dbb8c69a30e05121e2e520d9 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 8 aroC aroC_614 614 gttttccgcccgggccatgccgactatacctacgagcagaaatacggtctgcgcgattaccgtggcggcggtcgttcttccgcccgtgaaacggcgatgcgcgtcgcggctggcgcgattgctaaaaaatatctggcggagaaacacggcatcgtcattcaggggtgtctgacccagatgggcgatattccgcttgaaatcaaagactggcagcaggttgaacaaaacccgtttttctgtcctgatccagataaaatcgacgcgctggatgaactgatgcgcgccctgaagaaagagggcgattcgattggggcaaaagtgaccgtcgtggcaaacggcgttccggccgggcttggcgaaccggtctttgaccgtctggatgcggacatcgctcatgcgctgatgagcatcaacgcggtaaaaggcgtggagattggcgatgggtttgatgtggtcgcgttgcgaggcagccagaatcgcgatgaaattaccaaagagggc 501 c5f2d4018c0e9adf7894ee7ff6783ded vfrpghadytyeqkyglrdyrgggrssaretamrvaagaiakkylaekhgiviqgcltqmgdipleikdwqqveqnpffcpdpdkidaldelmralkkegdsigakvtvvangvpaglgepvfdrldadiahalmsinavkgveigdgfdvvalrgsqnrdeitkeg 167 1ffc86fd33e75fcbef9a503e4a128663 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 9 aroC aroC_618 618 gttttccgtccaggacacgctgactatacctatgagcagaaatatggcctgcgcgactaccgtggcggcggacgttcatccgcgcgtgaaacggcgatgcgcgttgcggctggcgcgattgccaaaaaatatctggcggaaaaattcggcgttgaaattcgcggctgtctgacgcagatgggggatattccgctggagatcaaagactggtctcaggtggagcttaacccgttcttttgtccagacccggataaaatcgaagtgctggacgaactgatgcgcgggctgaagaaagagggcgactccatcggggcaaaagtgaccgttgttgcaagcggcgtaccggcgggtctcggcgaacctgtattcgaccgtctggatgccgacatcgcccatgcgctgatgagcattaacgccgttaagggcgttgagattggcgacggttttgacgttgttgcgctgcgcggcagtcagaaccgcgatgagatcaccaaagaaggt 501 8ad7c489cbf3c951d32224c9a42d2037 vfrpghadytyeqkyglrdyrgggrssaretamrvaagaiakkylaekfgveirgcltqmgdipleikdwsqvelnpffcpdpdkievldelmrglkkegdsigakvtvvasgvpaglgepvfdrldadiahalmsinavkgveigdgfdvvalrgsqnrdeitkeg 167 5169724dc2f5b106a845e6824af1789c 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 diff --git a/locidex/format.py b/locidex/format.py index 6407a09..6baa2f2 100644 --- a/locidex/format.py +++ b/locidex/format.py @@ -8,9 +8,11 @@ from functools import partial from mimetypes import guess_type from dataclasses import dataclass +from typing import List, Tuple import pandas as pd from Bio import SeqIO +from Bio.Seq import Seq from locidex.constants import FILE_TYPES, LocidexDBHeader from locidex.utils import six_frame_translation, revcomp, calc_md5 @@ -21,14 +23,15 @@ class locidex_format: input_type = None delim = '_' status = True + __stop_codon = "*" @dataclass class FrameSelection: offset: int seq: str count_int_stops: int - frame: int revcomp: bool + default_allele: bool def __init__(self,input,header,is_protein=False,delim="_",trans_table=11, min_len_frac=0.7,max_len_frac=1.3,min_cov_perc=80.0,min_ident_perc=80.0,valid_ext=None): @@ -87,55 +90,30 @@ def get_dir_files(self, input_dir): return files def pick_frame(self, six_frame_translation) -> FrameSelection: - count_internal_stops = [] - terminal_stop_codon_present = [] - for i in range(0, len(six_frame_translation)): - for k in range(0, len(six_frame_translation[i])): - count_internal_stops.append(six_frame_translation[i][k][:-1].count('*')) - terminal_stop_codon_present.append(six_frame_translation[i][k][-1] == '*') - - min_int_stop = min(count_internal_stops) - idx = count_internal_stops.index(min_int_stop) - i = 0 - k = 0 - offset = 0 - r = False - s = 1 - - if min_int_stop == 0 and (terminal_stop_codon_present[idx] == 1): - s = idx + 1 - if s == 1 or s == 4: - offset = 0 - elif s == 2 or s == 5: - offset = 1 - else: - offset = 2 - if idx > 2: - r = True - k = offset - elif min_int_stop == 0 and max(terminal_stop_codon_present) == 1: - best_idx = [0, min_int_stop, False] - for idx, value in enumerate(count_internal_stops): - if value != min_int_stop: - continue - if best_idx[2] == False and terminal_stop_codon_present[idx]: - best_idx = [idx, min_int_stop, terminal_stop_codon_present[idx]] - s = best_idx[0] + 1 - if s == 1 or s == 4: - offset = 0 - elif s == 2 or s == 5: - offset = 1 - else: - offset = 2 - if idx > 2: - r = True - k = offset - - if idx > 2: - i = 1 + count_internal_stops: List[Tuple[int, str]] = [] + reversed_frame_idx = 3 # all frames above this index are reverse complimented + for k, v in enumerate(six_frame_translation): + count_internal_stops.append((k, v[:-1].count(self.__stop_codon))) + + idx, min_int_stop = min(count_internal_stops, key=lambda x: x[1]) + candidate_seq = six_frame_translation[idx] + reverse_p = False + default_qa = False + + offset = idx % 3 # gives offset for both revcomp and seq + if idx >= reversed_frame_idx: + reverse_p = True + + #print(candidate_seq, reverse_p) + #print(six_frame_translation) + if min_int_stop == 0 and candidate_seq[-1] == self.__stop_codon: + seq = candidate_seq + else: + seq = six_frame_translation[0] + reverse_p = False + default_qa = True - seq = six_frame_translation[i][k].lower() - return self.FrameSelection(offset=offset, frame=s, seq=seq, count_int_stops=min_int_stop, revcomp=r) + return self.FrameSelection(offset=offset, seq=seq.lower(), count_int_stops=min_int_stop, revcomp=reverse_p, default_allele=default_qa) def parse_fasta(self, input_file): diff --git a/locidex/utils.py b/locidex/utils.py index 01c51e5..a93af5a 100644 --- a/locidex/utils.py +++ b/locidex/utils.py @@ -79,7 +79,9 @@ def six_frame_translation(dna_seq,trans_table): for i in range(0,3): fwd.append(translate_dna(dna_seq[i:], trans_table)) rev.append(translate_dna(revcomp(dna_seq)[i:], trans_table)) - return (fwd, rev) + fwd.extend(rev) + #return (fwd, rev) + return fwd def guess_alphabet(seq): seq = seq.lower().replace('-','') From caca2859c511bf8fdb766043ca7163e6c23c7ccc Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Mon, 6 May 2024 16:47:12 -0500 Subject: [PATCH 6/8] working on orf finding --- locidex/format.py | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/locidex/format.py b/locidex/format.py index 6baa2f2..aec5a05 100644 --- a/locidex/format.py +++ b/locidex/format.py @@ -13,6 +13,7 @@ import pandas as pd from Bio import SeqIO from Bio.Seq import Seq +from pyrodigal import GeneFinder from locidex.constants import FILE_TYPES, LocidexDBHeader from locidex.utils import six_frame_translation, revcomp, calc_md5 @@ -90,28 +91,44 @@ def get_dir_files(self, input_dir): return files def pick_frame(self, six_frame_translation) -> FrameSelection: - count_internal_stops: List[Tuple[int, str]] = [] + count_internal_stops: List[Tuple[int, str, str]] = [] reversed_frame_idx = 3 # all frames above this index are reverse complimented for k, v in enumerate(six_frame_translation): - count_internal_stops.append((k, v[:-1].count(self.__stop_codon))) + count_internal_stops.append((k, v.count(self.__stop_codon), v)) + + count_internal_stops.sort(key=lambda x: x[1]) + + - idx, min_int_stop = min(count_internal_stops, key=lambda x: x[1]) - candidate_seq = six_frame_translation[idx] reverse_p = False default_qa = False + output_seq = None + + ordered_stops = filter(lambda x: x[2][-1] == self.__stop_codon or x[1] > 0, count_internal_stops) + ordered_stops = [i for i in count_internal_stops if i[1] > 0] + ordered_stops.sort(key=lambda x: x[2].index(self.__stop_codon), reverse=True) + for i in ordered_stops: + print(i) + + #if candidate_seq[-1] != self.__stop_codon: + # for i in count_internal_stops: + # print(i) + # print() + # # TODO add in orf finding + #if min_int_stop == 0 and candidate_seq[-1] == self.__stop_codon: + # seq = candidate_seq + + + if output_seq is None: + idx = 0 + min_int_stop = count_internal_stops[idx][1] + seq = six_frame_translation[idx] + reverse_p = False + default_qa = True offset = idx % 3 # gives offset for both revcomp and seq if idx >= reversed_frame_idx: reverse_p = True - - #print(candidate_seq, reverse_p) - #print(six_frame_translation) - if min_int_stop == 0 and candidate_seq[-1] == self.__stop_codon: - seq = candidate_seq - else: - seq = six_frame_translation[0] - reverse_p = False - default_qa = True return self.FrameSelection(offset=offset, seq=seq.lower(), count_int_stops=min_int_stop, revcomp=reverse_p, default_allele=default_qa) From 7383767f2c84df06d576eb6be610b99b2e1cd045 Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Tue, 7 May 2024 15:34:52 -0500 Subject: [PATCH 7/8] updated reformat module, and amino acid translation --- .../example/format_db_mlst_out/locidex.txt | 114 +++++++++--------- .../example/format_db_mlst_out/results.json | 10 +- locidex/format.py | 52 +++----- tests/test_workflows.yml | 5 + 4 files changed, 86 insertions(+), 95 deletions(-) diff --git a/locidex/example/format_db_mlst_out/locidex.txt b/locidex/example/format_db_mlst_out/locidex.txt index 5c7d8aa..7024a75 100644 --- a/locidex/example/format_db_mlst_out/locidex.txt +++ b/locidex/example/format_db_mlst_out/locidex.txt @@ -1,58 +1,58 @@ seq_id locus_name locus_name_alt locus_product locus_description locus_uid dna_seq dna_seq_len dna_seq_hash aa_seq aa_seq_len aa_seq_hash dna_min_len dna_max_len aa_min_len aa_max_len dna_min_ident aa_min_ident min_dna_match_cov min_aa_match_cov count_int_stops dna_ambig_count -0 hemD hemD_316 316 tcggcgctgacggaaaacgatctggtcttcgccctctcgcagcacgccgtcacctttgcagatgccgagcttcagcaacaagggaaaagctggccctcccttccgcgttattttgccattggtcgcacaacggcgctggcgctgcataccgttagcggtttcaatattcactaccctctggatcgggaaattagcgaagtcttgctacaattacctgaattacaaaatattgcgggaaaacgcgcgcttatattacgcggcaatggtggccgtgagctgataggtgaaaccctgacagcacgcggagctgatgtcgatttttgtgaatgttatcaacgcagtgcaaaatattacgatggtgcagaagaagcgatgcgctggcaatctcgtggtgtgaccacggtggttgtcaccagcggagagatgctacaa 432 ec07413401ecd72ffa60f5beda4135bd saltendlvfalsqhavtfadaelqqqgkswpslpryfaigrttalalhtvsgfnihypldreisevllqlpelqniagkralilrgnggreligetltargadvdfcecyqrsakyydgaeeamrwqsrgvttvvvtsgemlq 144 e10c8fe1fe03f5882f8d54dca1764f92 302.4 561.6 100.8 187.20000000000002 80.0 64.0 80.0 80.0 0 0 -1 hemD hemD_343 343 gcggcgctgggggagagcgatctgttgtttgccctctcgcaacacgcggttgcttttgcccaatcacagctgcatcagcaagatcgtaaatggccccgactacctacttatttcgccattggacgcaccaccgcactggcgctacataccgtaagcggacagaagattctctacccgcaggatcgggaaatcagcgaagtcttgctacaattacctgaattacaaaatattgcgggcaaacgtgcgctgatattacgtggcaatggcggtcgtgagctaattggggataccctgacggcgcgcggtgctgaggtcactttttgtgaatgttatcaacgatgcgcaatccattacgatggtgcagaagaagcgatgcgctggcaatcccgcgaggtgacgacggtcgttgttaccagcggtgaaatgttgcag 432 a96221c278c083d25537d4eb09e98674 aalgesdllfalsqhavafaqsqlhqqdrkwprlptyfaigrttalalhtvsgqkilypqdreisevllqlpelqniagkralilrgnggreligdtltargaevtfcecyqrcaihydgaeeamrwqsrevttvvvtsgemlq 144 be823bcbf99b10e3dcce20928d00e509 302.4 561.6 100.8 187.20000000000002 80.0 64.0 80.0 80.0 0 0 -2 hemD hemD_472 472 gcgacgttgacggaaaacgatctggtttttgccctttcacagcacgccgtcgcctttgcccacgcccaactccagcgagatggtcgaaactggcctgcgtcgccgcgctatttcgcgattggtcgcaccacggcgctcgcccttcataccgttagcgggttcgatattcgttatccattggatcgggaaatcagcgaagtcttgctacaattacctgaattacaaaatattgcgggcaaacgcgcgctgattttgcgtggcaatggcggtcgcggtcgcgaactgctgggcgaaaccctgacagctcgcggagccgaagtcagtttttgtgaatgttatcaacgaagtgcgaaacattacgatggcgcagaagaggcgatgcgctggcacactcgcggcgtaacgacgcttgttgtcaccagcggcgagatgttgcaa 438 4379e2701d30e178dd1740ef8351ed56 atltendlvfalsqhavafahaqlqrdgrnwpaspryfaigrttalalhtvsgfdirypldreisevllqlpelqniagkralilrgnggrgrellgetltargaevsfcecyqrsakhydgaeeamrwhtrgvttlvvtsgemlq 146 d0fd0eaf9b04c06298d6b7ace3d25c6d 306.59999999999997 569.4 102.19999999999999 189.8 80.0 64.0 80.0 80.0 0 0 -3 hemD hemD_489 489 gcggcgctcacggacaacgatctggtgttcgccctctcgcaacacgccgtcgcctttgcccacgcccaactgcaacagcaggagctggactggcctgtgcaaccacgctacttcgccatcgggcgcacaacggcgctggcgctgcataccgttaacggatgcgatattcgctatcctctggatcgggaaatcagcgaagtcttgctacaattacctgaattacaaaatattgcgggaaaacgagcgcttattttacggggcaacggcgggcgtgaactgttaggcaaaaccctcacagaacgcggcgctgaagtcaccttttgtgaatgttatcaacgcagtgcaaaacattacgatggcgcggaagaggcgatgcgctggcactctcgcggcgtgacgacgattgttgtcaccagcggcgaaatgctgcaa 432 d70b2d022747ea0b4e2fc11e20749d64 aaltdndlvfalsqhavafahaqlqqqeldwpvqpryfaigrttalalhtvngcdirypldreisevllqlpelqniagkralilrgnggrellgktltergaevtfcecyqrsakhydgaeeamrwhsrgvttivvtsgemlq 144 0cfbcc286e11d3832d882b729b4a856a 302.4 561.6 100.8 187.20000000000002 80.0 64.0 80.0 80.0 0 0 -4 hemD hemD_497 497 gaaacacttggcgataacgatctgctctttgcactttctcaacatgcagtgtcattcgcccatgcgcagttgcaacagcaggggctaaactggccatcacttccgcattatttcgctattggccgtactaccgctctcgccctgcacaccgtaagcggacataagattcgctatccacaagatcgggaaatcagcgaagtcttgctacaattaccggaattacaaagtattgcgggaaaacgcgcacttattttgcgcggtaacggcggccgtgaattgatcggtcagacgctgacatcacgtggtgccgacgttactttttgtgaatgttatcaacgcagtgcgaagcattacgatggtgcggaagaagctatgcgctggcagtctcgcggcgtaacaaccgtcgttgtaaccagcggtgaaatgctgcaa 432 9723e4bd3f999d580288941f6aa9e263 etlgdndllfalsqhavsfahaqlqqqglnwpslphyfaigrttalalhtvsghkirypqdreisevllqlpelqsiagkralilrgnggreligqtltsrgadvtfcecyqrsakhydgaeeamrwqsrgvttvvvtsgemlq 144 6d48401195f1f5b6aa10874e6824b9c7 302.4 561.6 100.8 187.20000000000002 80.0 64.0 80.0 80.0 0 0 -5 hemD hemD_498 498 cgtctcttgcaggaaggcgatctgctctttgcgctgtcgcagcatgccgtggagtttgcccatgcgcagctgcaacagcatgccgttagctggcctcacgccccccgctatttcgccatcgggcgcaccacggcgctggccttacataccgcgagcggaatcgatgttcgttacccgttagatcgggaaatcagcgaagtcttgctacaattacctgaattacaaaccattgccggaaagcgcgcgctcattttgcgcggcaacggtggccgcgaactgctgggcgaaacgctgcgcgaacgcggcgcagacgtgacgtttgtggagtgctatcagcgctgtgcgaaacactatgatggcgcggaagaagcaatgcgctggcacgcccgcggtattaatacgctggtggtcaccagcggtgaaatgttacaa 432 628c16c03efeab34bd43be2330a1e2a5 rllqegdllfalsqhavefahaqlqqhavswphapryfaigrttalalhtasgidvrypldreisevllqlpelqtiagkralilrgnggrellgetlrergadvtfvecyqrcakhydgaeeamrwhargintlvvtsgemlq 144 f7056f8e23b473dfa237112bfac425eb 302.4 561.6 100.8 187.20000000000002 80.0 64.0 80.0 80.0 0 0 -6 aroC aroC_309 309 tttttcgtccgggacacgcgggattacacctatgagcagaaatacggcctgcgcgattaccgtggcggtggacgttcttccgcgcgtgaaaccgcgatgcgcgtagcggcaggggcgatcgccaagaaatacctggcggaaaagttcggcatcgaaatccgcggctgcctgacccagatgggcgacattccgctggagattaaagactggcgtcaggttgagcttaatccgttcttttgtcccgatgcggacaaacttgacgcgctggacgaactgatgcgcgcgctgaaaaaagagggtgactccatcggcgcgaaagtgacggtgatggcgagcggcgtgccggcagggcttggcgaaccggtatttgaccgactggatgcggacatcgcccatgcgctgatgagcattaatgcggtgaaaggcgtggagatcggcgaaggatttaacgtggtggcgctgcgcggcagccagaatcgcgatgaaatcacggcgcagggt 501 e7236cf0a09d7ff8d6d23c99090dae04 vfrpghaglhl*aeirparlpwrwtffra*nrdarsgrgdrqeipggkvrhrnprlpdpdgrhsagd*rlasg*a*svllsrcgqt*ragrtdaraekrg*lhrresdgdgerragrawrtgi*ptgcghrpcadeh*cgerrgdrrri*rggaarqpesr*nhgag 167 ebba9da967300cdb7d30cdd9cf67c59c 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -7 aroC aroC_609 609 aaattccgtcccggacatgcggactacacctatcaccaaaaatacggtgtgcgagattaccgtggcggcggccgttcatcggcacgtgaaaccgccatgcgtgttgctgcgggagcgattgccaaaaaatatctgcagcaagagtttggcattgaagtgcgtgcttacttgtcgcaaatgggggatgtcgcgattgataaagtggattggaatgagattgaaaacaacgatttcttctgtcctgatgtcgataaagtggctgcgtttgacgagctgatccgcgagctgaaaaaagaaggcgattcgatcggcgcgaaaatccaagtggtcgctacaggcgtgccggttggactgggtgagcctgtgtttgatcgcttagatgcggatattgcccatgccttgatgagcatcaacgccgtgaaaggagtcgagattggtgatggctttgatgtggtgcgccaaaaaggcagccaacaccgtgacccgctcactccacaaggt 501 b2658e14ec9adf0a41a54a97f9d2110b kfrpghadytyhqkygvrdyrgggrssaretamrvaagaiakkylqqefgievraylsqmgdvaidkvdwneienndffcpdvdkvaafdelirelkkegdsigakiqvvatgvpvglgepvfdrldadiahalmsinavkgveigdgfdvvrqkgsqhrdpltpqg 167 688cca23dbb8c69a30e05121e2e520d9 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -8 aroC aroC_614 614 gttttccgcccgggccatgccgactatacctacgagcagaaatacggtctgcgcgattaccgtggcggcggtcgttcttccgcccgtgaaacggcgatgcgcgtcgcggctggcgcgattgctaaaaaatatctggcggagaaacacggcatcgtcattcaggggtgtctgacccagatgggcgatattccgcttgaaatcaaagactggcagcaggttgaacaaaacccgtttttctgtcctgatccagataaaatcgacgcgctggatgaactgatgcgcgccctgaagaaagagggcgattcgattggggcaaaagtgaccgtcgtggcaaacggcgttccggccgggcttggcgaaccggtctttgaccgtctggatgcggacatcgctcatgcgctgatgagcatcaacgcggtaaaaggcgtggagattggcgatgggtttgatgtggtcgcgttgcgaggcagccagaatcgcgatgaaattaccaaagagggc 501 c5f2d4018c0e9adf7894ee7ff6783ded vfrpghadytyeqkyglrdyrgggrssaretamrvaagaiakkylaekhgiviqgcltqmgdipleikdwqqveqnpffcpdpdkidaldelmralkkegdsigakvtvvangvpaglgepvfdrldadiahalmsinavkgveigdgfdvvalrgsqnrdeitkeg 167 1ffc86fd33e75fcbef9a503e4a128663 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -9 aroC aroC_618 618 gttttccgtccaggacacgctgactatacctatgagcagaaatatggcctgcgcgactaccgtggcggcggacgttcatccgcgcgtgaaacggcgatgcgcgttgcggctggcgcgattgccaaaaaatatctggcggaaaaattcggcgttgaaattcgcggctgtctgacgcagatgggggatattccgctggagatcaaagactggtctcaggtggagcttaacccgttcttttgtccagacccggataaaatcgaagtgctggacgaactgatgcgcgggctgaagaaagagggcgactccatcggggcaaaagtgaccgttgttgcaagcggcgtaccggcgggtctcggcgaacctgtattcgaccgtctggatgccgacatcgcccatgcgctgatgagcattaacgccgttaagggcgttgagattggcgacggttttgacgttgttgcgctgcgcggcagtcagaaccgcgatgagatcaccaaagaaggt 501 8ad7c489cbf3c951d32224c9a42d2037 vfrpghadytyeqkyglrdyrgggrssaretamrvaagaiakkylaekfgveirgcltqmgdipleikdwsqvelnpffcpdpdkievldelmrglkkegdsigakvtvvasgvpaglgepvfdrldadiahalmsinavkgveigdgfdvvalrgsqnrdeitkeg 167 5169724dc2f5b106a845e6824af1789c 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -10 aroC aroC_619 619 gttttccgcccagggcatgctgattatacctatgaacaaaaatatggtttgcgtgattatcgtggtggtggacgttcttctgctcgtgaaacggcaatgcgtgtcgccgcaggtgcgattgctaaaaaatatctaaaagagaaattaggcatcgaagttcgaggatatctttctcagctaggacctattacatgtgatcttgttgattggtctattgttgaaagcaatccatttttctgtcctgatccttcacgtttagatgcgcttgatgaatacatgcgtgcacttaaaaaagaaggtaattctattggtgcaaaagtcactgtggttgcacagggtgtacctgctggatttggtgaacctgtctttgatcgattagatgctgatttagcgcatgctttgatgagtatcaatgctgtcaaaggtatagaaattggtgatggatttggtgttgtaacattaaaaggtacagaaaaccgagatgaaatcactaaaaaggga 501 3771c06c0ba430cb26fc523102431540 vfrpghadytyeqkyglrdyrgggrssaretamrvaagaiakkylkeklgievrgylsqlgpitcdlvdwsivesnpffcpdpsrldaldeymralkkegnsigakvtvvaqgvpagfgepvfdrldadlahalmsinavkgieigdgfgvvtlkgtenrdeitkkg 167 e7fe456907f9aba2adf1898cc59d8cda 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -11 aroC aroC_620 620 gttttccgtccaggccatgccgattacacctacgaacaaaaatacggtctgcgcgattatcgcggcggcgggcgctcttccgcccgcgaaaccgccatgcgcgtggcggcaggggcgattgcaaaaaaatatctcgccgagaaatttggcattgagattcgcggctgcctgacccagatgggtgacattccgctggaaatcaaagactggtcgcaggtcgagcaaaatccgtttttctgcccggacccggacaaaatcgacgcgttagatgaactgatgcgcgcgctgaaaaaagagggcgactccatcggcgcgaaagtcaccgttgttgccagtggcgtccccgccggacttggcgagccggtctttgaccgcctggatgccgacatcgcccatgcgctgatgagcatcaacgcggtgaaaggcgtagaaattggtgatggttttgacgtggtggcgctgcgtggcagccagaaccgcgacgaaatcaccaaagacggt 501 db98a21c92520b261648944cb47fd564 vfrpghadytyeqkyglrdyrgggrssaretamrvaagaiakkylaekfgieirgcltqmgdipleikdwsqveqnpffcpdpdkidaldelmralkkegdsigakvtvvasgvpaglgepvfdrldadiahalmsinavkgveigdgfdvvalrgsqnrdeitkdg 167 e50f0e9ff3cfc0a3b69e2e64f2ffb373 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -12 aroC aroC_624 624 gttttccgtcctggtcacgccgactatacctacgaacaaaaatatggctttcgcgactatcgcggcggcgggcgttcttccgcgcgtgaaaccgcgatgcgcgtggcggcaggggcaattgccaaaaaatatctccagcagaaattcggcatcgttatccgcggctgtctgtcccagatgggcgacattccgctggcaatcaaagactgggatcaggtagagctcaacccgttcttctgcgccgatgccgacaagctggacgcgctggatgagctgatgcgtggcctgaaaaaagagggcgactccattggtgcgaaagtcaccgtggtggccgacggcgtgccggctggctggggcgagccggtatttgaccgccttgacgccgacatcgcccacgcgctgatgagcatcaacgcggtgaaaggcgtcgaaatcggcgacggttttgacgtggtcaagcttcgcggcagccagaaccgcgacgaaatcacgaaggcgggt 501 a59606a69494d1f5ea7755a21543e994 vfrpghadytyeqkygfrdyrgggrssaretamrvaagaiakkylqqkfgivirgclsqmgdiplaikdwdqvelnpffcadadkldaldelmrglkkegdsigakvtvvadgvpagwgepvfdrldadiahalmsinavkgveigdgfdvvklrgsqnrdeitkag 167 bbc30f8954a69e824dfe59285f516d9f 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -13 aroC aroC_716 716 gtgttccgtccggggcacgcggattacacctacgaacaaaaatacggcctgcgcgactatcgcggcggcgggcgttcatccgcccgtgaaaccgccatgcgcgtcgcggcaggcgctatcgccaaaaaatatctggcgcagaaattcggcgtggtgattcgcggctgcctgacccagatgggtgatattccgctggaaatcaaagactgggatcaggtagagcaaaacccgttcttctgcccggacccggataaaatcgaggcgctggatgagctgatgcgcgctctgaaaaaagagggcgattccatcggcgcgaaagtcaccgtggtggccgacagcgtgcccgccgggcttggcgagccggtatttgaccgcctggacgccgatatcgcccacgcgctgatgagcattaacgccgtgaagggcgtggaaatcggcgacggtttcggcgtggtgcaactgcgcggcagccagaaccgcgacgaaatcaccactgccggt 501 0f0f9857bf1a241d30e925bee1a20ed5 vfrpghadytyeqkyglrdyrgggrssaretamrvaagaiakkylaqkfgvvirgcltqmgdipleikdwdqveqnpffcpdpdkiealdelmralkkegdsigakvtvvadsvpaglgepvfdrldadiahalmsinavkgveigdgfgvvqlrgsqnrdeittag 167 a0e0fb1a375e5ec87349a0187c0aec98 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -14 sucA sucA_1 1 aaacgcttcctgaacgaactgaccgccgctgaagggctggaacgttatctgggcgccaaattcccgggtgcgaaacgtttctcgctcgaggggggagatgcgctgatacctatgctgaaagagatggttcgccatgcgggtaacagcggcactcgcgaagtggtgctggggatggcgcaccgcggtcgtctgaacgtgctgatcaacgtactgggtaaaaaaccgcaggatctgttcgacgagtttgccggtaaacataaagaacatctgggtaccggcgacgtgaagtatcacatgggcttctcgtcagatatcgaaactgaaggcggtctggttcacctggcgctggcgtttaacccatcgcatctggaaattgtgagcccggtggtgatgggctccgtgcgcgcccgtctggaccgactggacgaaccgagcagtaataaagtgctgccgatcactattcacggcgacgccgcggtgaccggccagggcgtggttcag 501 9289fc07cc8e93cfe0716e6f613cefdb krflneltaaeglerylgakfpgakrfsleggdalipmlkemvrhagnsgtrevvlgmahrgrlnvlinvlgkkpqdlfdefagkhkehlgtgdvkyhmgfssdietegglvhlalafnpshleivspvvmgsvrarldrldepssnkvlpitihgdaavtgqgvvq 167 fd859e427caa37ce9b95e29e87a6b996 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -15 sucA sucA_30 30 aaacgcttcctgaacgaactgaccgctgcagaagggctggaacgttatctgggggcaaaattccctggcgcgaaacgtttttcgctggaaggcggcgatgcgttaattccgatgctcaaagagatggtccgccatgcgggcaacagcggcacccgcgaagtggtgttgggaatggcgcaccgtggtcgcctgaacgtactggtcaacgtgctgggtaaaaaacctcaggatctgtttgacgagtttgccggtaaacataaagaacatttgggcaccggcgacgtgaagtaccatatgggtttctcgtcggatatcgaaaccgaaggcggactggttcacctggcgctggcgtttaacccgtcgcacctggaaatcgtcagcccggtagtgatggggtctgtgcgcgcacgtctcgaccggctcgacgaaccgagcagcaacaaagtgttgccaatcaccattcatggtgatgcagcagttaccgggcagggcgtggttcag 501 3bdbb95238fe98cb879d0f158c101d73 krflneltaaeglerylgakfpgakrfsleggdalipmlkemvrhagnsgtrevvlgmahrgrlnvlvnvlgkkpqdlfdefagkhkehlgtgdvkyhmgfssdietegglvhlalafnpshleivspvvmgsvrarldrldepssnkvlpitihgdaavtgqgvvq 167 627a5d68e259ea4e002eda314855fb05 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -16 sucA sucA_281 281 aaacgcttcttaagcgaactgaccgccgctgaaggccttgaacgttacctcggcgcaaaattccctggcgcaaaacgcttctcgctggaaggcggtgacgcgttaatcccgatgcttaaagagatgatccgccacgctggcaacagcggcacccgcgaagtggttctcgggatggcgcaccgtggtcgtctgaacgtgctggtgaacgtgctgggtaaaaaaccgcaagacttgttcgacgagttcgccggtaaacataaagaacacctcggcacgggtgacgtgaaataccacatgggcttctcgtctgacttccagaccgatggcggcctggtgcacctggcgctggcgtttaacccgtctcaccttgagattgtaagcccggtagttatcggttctgttcgtgcccgtctggacagacttgatgagccgagcagcaacaaagtgctgccaatcaccatccacggtgacgccgcagtgaccgggcagggtgtggttcag 501 9a8451cee3eb2f94d25b8d96750916b6 krflseltaaeglerylgakfpgakrfsleggdalipmlkemirhagnsgtrevvlgmahrgrlnvlvnvlgkkpqdlfdefagkhkehlgtgdvkyhmgfssdfqtdgglvhlalafnpshleivspvvigsvrarldrldepssnkvlpitihgdaavtgqgvvq 167 bb14ac6759532201088aabb1849f2930 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -17 sucA sucA_399 399 aaacgcttcctcagcgaactgactgcagcggaaggtctggaacgctacctgggcgcgaaattcccgggcgcgaaacgcttctcgctggaaggcggtgatgcgttaatcccaatgctcaaagagatgatccgccacgccggtaacagcggtacccgtgaagtggtactgggtatggcgcaccgtggtcgtctgaacgtcctggttaacgtgctgggtaaaaagccgcaggatctattcgacgaatttgcgggcaaacataaagaacacctcggtaccggtgacgtgaagtaccacatgggcttctcatcggatatcgaaaccgaaggcggtctggtgcatctggcgctggcgtttaacccgtcgcacctggaaatcgttagcccggtggttatcggttccgtacgtgcacgcttggatcgtctggacgagccgagcagcaataaagtgctgccaatcactattcatggtgatgcggcagtaaccgggcaaggcgtggttcag 501 f983f99dcd804608db69f6ba15de6f28 krflseltaaeglerylgakfpgakrfsleggdalipmlkemirhagnsgtrevvlgmahrgrlnvlvnvlgkkpqdlfdefagkhkehlgtgdvkyhmgfssdietegglvhlalafnpshleivspvvigsvrarldrldepssnkvlpitihgdaavtgqgvvq 167 04b25334e023438cead885241e9d2bf1 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -18 sucA sucA_571 571 cgtactttccttgaagagctgactgccgctgaaggtttagagcgctatcttggtgcgaaattccctggtgctaaacgtttctctctcgaagggggggatgccttagttccgatgaccaaagagatgatccgtcacgcgggtgccagtggcatgcgtgaagtggtgattgggatggcgcaccgcggtcgcttgaacatgctggtcaacgttctgggtaaaaaaccgcaagatctgtttgatgagtttgccggtaaacatggcgaaggctggggcacaggtgatgtgaaatatcaccaaggtttctccgctgactttgcgacaccgggcggtgatgttcacttagcactggctttcaacccatcgcatcttgagattgtgaaccctgttgtgatgggttcagttcgcgcgcgtcaagaccgcctaggtgatgaagatggcagtaaagtgctacctatcactatccatggtgactctgcgattgccggacaaggtgtggtggct 501 a06848579c79a0376228a0e33eec04d0 rtfleeltaaeglerylgakfpgakrfsleggdalvpmtkemirhagasgmrevvigmahrgrlnmlvnvlgkkpqdlfdefagkhgegwgtgdvkyhqgfsadfatpggdvhlalafnpshleivnpvvmgsvrarqdrlgdedgskvlpitihgdsaiagqgvva 167 74208b782741914f84ea1130f273ef64 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -19 sucA sucA_579 579 ttacgcttcctagcagagctaacagccgctgaagggttagaacgctatttaggtgcaaaattccctggtgcaaaacgcttctctttagaaggtggtgatgcattaattccaatgttaaaagatttaattcgtcatgcaggtaaacaagacactcgcgaagtggttcttggtatggcgcaccgcggtcgcttgaacgttcttgttaatatcctgggtaaaaaacccgctgatttatttgatgaatttgcgggtattcataaagaacatctgggaacaggtgatgttaaataccaccaaggtttttcatctgattttgcgacagaaggggctcaagtccatcttgcactagcctttaacccatctcacctagagattgttagcccagttgttattggttctgtgcgtgctcgtcgcgatcgtttagatgaagcacggagcaatatggtgcttcctatcactattcatggcgatgcggcggtgacaggtcaaggggttgttcaa 501 f0fe94d703c4288abbc2243810840e53 lrflaeltaaeglerylgakfpgakrfsleggdalipmlkdlirhagkqdtrevvlgmahrgrlnvlvnilgkkpadlfdefagihkehlgtgdvkyhqgfssdfategaqvhlalafnpshleivspvvigsvrarrdrldearsnmvlpitihgdaavtgqgvvq 167 8c740ee24bd6d2fa21870c5022f04b17 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -20 sucA sucA_686 686 aaacgcttcctgagcgagctgaccgcagccgaaggccttgagcgctacctgggcgcgaagttcccgggcgcgaaacgcttctcgctggaaggcggcgacgcgctgatcccgatgctgaaagagatgattcgccacgcgggcaacagcggcacgcgtgaagtggtgctgggtatggcgcaccgcggtcgtcttaacgtgctggttaacgtgctgggtaaaaaaccgcaggacctgttcgacgagttcgcgggcaaacacaaagaacaccttggcaccggcgacgtgaagtaccacatgggcttctcgtcagatatcgaaactgaaggcggcctggttcacctggcgctggcgtttaacccgtcgcacctggaaatcgttagcccggtggtaattggttcggtacgtgcccgtctggatcggctggacgagccgagcagcaacaaagtactgccgatcaccattcacggcgacgccgcggtgaccggtcagggcgtggttcag 501 1182117b49387c4fbf10d52861591fe4 krflseltaaeglerylgakfpgakrfsleggdalipmlkemirhagnsgtrevvlgmahrgrlnvlvnvlgkkpqdlfdefagkhkehlgtgdvkyhmgfssdietegglvhlalafnpshleivspvvigsvrarldrldepssnkvlpitihgdaavtgqgvvq 167 04b25334e023438cead885241e9d2bf1 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -21 hisD hisD_1 1 attgcgggatgccagaaggtggttctgtgctcgccgccacccatcgctgatgaaatcctctatgcggcgcaactgtgtggcgtgcaggaaatctttaacgtcggcggcgcgcaggcgattgccgctctggccttcggcagcgagtccgtaccgaaagtggataaaatttttggccccggcaacgcctttgtaaccgaagccaagcgtcaggtcagccagcgtctcgacggcgcggctatcgatatgccagccgggccgtctgaagtgctggtgatcgccgacagcggcgcaacaccggatttcgtcgcttctgacctgctctcccaggctgagcacggcccggattcccaggtgatcctgctgacgccggatgctgacattgcccgcaaggtggcggaggcggtagaacgtcaactggcggaactgccgcgcgcgggcaccgcccggcaggccctgagcgccagtcgtctgattgtgaccaaagatttagcgcagtgcgtc 501 38027ac1ac34817584a176c7e575e97e iagcqkvvlcspppiadeilyaaqlcgvqeifnvggaqaiaalafgsesvpkvdkifgpgnafvteakrqvsqrldgaaidmpagpsevlviadsgatpdfvasdllsqaehgpdsqvilltpdadiarkvaeaverqlaelpragtarqalsasrlivtkdlaqcv 167 5d0ed4503effede2fbb9cd9837139bd8 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -22 hisD hisD_754 754 attgccggatgcaaaaaagtggtgttgtgctcgccaccgcctatcgcggatgaaatcctttacgctgcgcagctgtgcggcgtgcaggaaatcttcaacgtcggcggcgcccaggccattgccgctctggcgttcggcagcgaatccgtgccaaaagtggacaaaatttttggccccggcaacgcgtttgtcaccgaggcgaaacgccaggtcagccagcgtctcgacggcgcggcaattgatatgcctgccggcccttctgaagtgctggtgatcgccgacagcggcgccacgccagatttcgtggcgtctgacctgctctctcaggcggaacacggcccggattctcaggtcatcctgctgaccccggatgccggtattgcgcagaacgtcgcagaggccgtcgaacgccagttagcggagttaccgcgtgcagaaacggcgcgtcaggcattaagcgccagccgtctgatcgtgacgaaagacttagcccagtgcgtc 501 3da72af86c72559acb4b898ab72e77c3 iagckkvvlcspppiadeilyaaqlcgvqeifnvggaqaiaalafgsesvpkvdkifgpgnafvteakrqvsqrldgaaidmpagpsevlviadsgatpdfvasdllsqaehgpdsqvilltpdagiaqnvaeaverqlaelpraetarqalsasrlivtkdlaqcv 167 e707bf84f34d9867052d29ecea06dd33 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -23 hisD hisD_757 757 attgcaggctgtaaaaaagtggtgttgtgctctcccccacctatcgccgatgaaattctgtatgctgcgcagctctgcggcgtacaggatgtgtttaacgttgggggcgcacaagctattgccgcgctggcatttggcagtgaatccgtgccgaaagtggacaaaatttttggccccggtaatgcctttgtgaccgaagccaaacgtcaggtgagtcagcgtctggacggcgccgccatcgatatgccagcaggtccgtctgaagtgctggtgattgccgacagcggcgccacgccggatttcgttgcctctgacttactctcgcaggccgaacacggccccgattcccaagtgatcctgctgacgccggatgccggtatggccagccgggttgctgaagcagtagaacgccagcttgcagcgctgccacgcgctgaaaccgcgcggcaggcgttaagcgccagtcgtctgattgtcacccgctcccttgcgcaatgcgta 501 bc7a1a0abdaa5fdbeb4f22e4e007f94e iagckkvvlcspppiadeilyaaqlcgvqdvfnvggaqaiaalafgsesvpkvdkifgpgnafvteakrqvsqrldgaaidmpagpsevlviadsgatpdfvasdllsqaehgpdsqvilltpdagmasrvaeaverqlaalpraetarqalsasrlivtrslaqcv 167 0f5a3c456e9d01cd680324dbe098391d 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -24 hisD hisD_759 759 attgcgggctgtaaaaaagtggtgctgtgctcaccgccgccgattgccgatgagatcctttacgcggcgcagctgtgcggtgtgcaggacgtgtttaacgtcggcggcgcacaggccattgccgcgctggcgtttggtacagaatccgtgccgaaagtggacaaaatcttcgggccaggtaacgcctttgtcaccgaggcaaaacgtcaggtgagccagcgtctggacggtgcggcgatcgatatgcccgcaggcccgtcggaagtgctggtgattgctgacagcggcgcaacgccggatttcgtggcttctgatttgctctcccaggctgaacacggcccggactctcaggtgattttactgacgcccgctgctgatatggcgcgtcgcgtagccgaagctgtcgaacgccagctggcagaactgccgcgagctgaaaccgcccgccaggcactgaacgccagccgcctgatcgtgactaaagatttagcgcagtgcgtg 501 592d08e6845ca66d7cf7e471208ce8a1 iagckkvvlcspppiadeilyaaqlcgvqdvfnvggaqaiaalafgtesvpkvdkifgpgnafvteakrqvsqrldgaaidmpagpsevlviadsgatpdfvasdllsqaehgpdsqvilltpaadmarrvaeaverqlaelpraetarqalnasrlivtkdlaqcv 167 9625b6cbfa3679e0b6dba962a35be18e 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -25 hisD hisD_768 768 attgccggttgtcagaaggtggtgctctgctctcctccaccgatcgccgatgagatcctgtacgcggcgaagctgtgcggcgtgcaggcgatctataaagtgggcggtgcgcaggcgatttctgccctggcgttcggaacagtatccattcctaaggtcgacaaaatctttggcccgggcaatgcctacgtgaccgaggcgaagcgccaggtcagccagcgtctggacggcgcggcgattgatatgcctgccggtccgtctgaagtgctggtgattgccgacagcggcgctacaccggatttcgtggcctctgacctgctctcgcaggccgagcacggccctgactcgcaggtgattttactgacgccagatgccgacatggcaaaacgcgtgggcgacgccgttgagcgtcagctggctgacctgccgcgggcggaaacggcgcgtcaggcgctatccgccagccgcctgattgtggcccgcgatcttgaccagtgcatc 501 ffdd01acd136272eb2fc9b1fedc55307 iagcqkvvlcspppiadeilyaaklcgvqaiykvggaqaisalafgtvsipkvdkifgpgnayvteakrqvsqrldgaaidmpagpsevlviadsgatpdfvasdllsqaehgpdsqvilltpdadmakrvgdaverqladlpraetarqalsasrlivardldqci 167 24cc2f3123fc0704862c45332b5fa893 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -26 hisD hisD_838 838 atcgccggctgtaaaaaagtggtgctgtgctcgccgccgccgattgccgatgaaatcctctacgccgcgcaactctgtggcgtgaaagaagtgtttaacgtgggtggcgcacaggccattgccgcgctggcgctgggcacggagtctattccaaaagtcgataaaatctttgggccgggcaacgcctatgtgaccgaagccaagcgccaggtcagccagcgtcttgacggcgcggcaatcgatatgcccgccggaccgtccgaagtattggttatcgccgacagcggcgcaacgccggattttgtcgcctccgacctgctttctcaggccgagcacggcccagactcgcaggtgatcctgctgacgccggacgctaagcttgccgagggcgtggccgaagccgttgaacgccagctcgccgagctgtcccgcgccgacaccgcgcgtcaggcgctctccgccagccgtttaatcgtagcgaaagatctggcgcagtgcgtg 501 d5bb90ec021ddeea1f647c4672a3c971 iagckkvvlcspppiadeilyaaqlcgvkevfnvggaqaiaalalgtesipkvdkifgpgnayvteakrqvsqrldgaaidmpagpsevlviadsgatpdfvasdllsqaehgpdsqvilltpdaklaegvaeaverqlaelsradtarqalsasrlivakdlaqcv 167 2ad20bedb7cb538b16d398df94a56a9c 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -27 hisD hisD_907 907 atcgcgggctgtaaaaaagtggtgctgtgctcgccgccgccgattgccgatgaaatcctctatgcggcgcgtttgtgcggggtacagcaggtctatcaggtgggcggcgctcaggccatcgcggcgctggcgtttggcaccgagaccgtacccaaagtggacaaaatcttcgggccgggcaatgcgtttgtcaccgaagccaaacgtcaggtcagccagcggctggatggcgcggcgattgatatgcctgccgggccgtctgaagtgctggtgatcgccgatagcggcgcgaccacggatttcgtggcctcggatttgctgtcccaggcggaacacggcccggattcgcaggtgatcctgctgacaccggacagcgccatggcgcaggcggtggccgacgcggttgagcgtcaactcgccgaactgccgcgcgcggaaacagctcgccaggcgctggcggaaagccgcctgattgtggcgcgcgatttagcgcagtgcgtg 501 190ffa60b51ccafaf08a796b5fdec8ce iagckkvvlcspppiadeilyaarlcgvqqvyqvggaqaiaalafgtetvpkvdkifgpgnafvteakrqvsqrldgaaidmpagpsevlviadsgattdfvasdllsqaehgpdsqvilltpdsamaqavadaverqlaelpraetarqalaesrlivardlaqcv 167 3e347c5f282ee18c13496a3d9ae790a3 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -28 dnaN dnaN_1 1 atggagatggtcgcgcgcgttacgctttctcagccgcatgagccaggcgccactaccgtgccggcgcggaaattctttgatatctgccgcggcctgccggagggcgcggagattgccgttcagttggaaggcgatcggatgctggtgcgttctggccgtagccgcttctcgctgtctacgctgcctgccgccgatttcccgaatcttgacgactggcaaagcgaagttgaatttacgctgccgcaggccacgatgaagcgcctgattgaagcgacccagttttcgatggcccatcaggatgtgcgctactacttaaacggtatgctgtttgaaacggaaggtagcgaactgcgcactgttgcgaccgacggccaccgtctggcggtgtgctcaatgccgctggaggcgtctttacctagccactcggtgattgtgccgcgtaaaggcgtgattgaactgatgcgtatgctcgacggtggcgaaaacccgctgcgcgtgcag 501 2772ad8b8e0f7b50f1396c31fbe53f2d memvarvtlsqphepgattvparkffdicrglpegaeiavqlegdrmlvrsgrsrfslstlpaadfpnlddwqseveftlpqatmkrlieatqfsmahqdvryylngmlfetegselrtvatdghrlavcsmpleaslpshsvivprkgvielmrmldggenplrvq 167 a7773fed3b4966bed020e5c76d3958ae 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -29 dnaN dnaN_120 120 atggagatggtcgcgcgcgttacgctttctcagccgcatgaacccggcgctactaccgtgccggcgcggaaattctttgatatctgccgtggcctgccggaaggggcggaaatcgccgttcagctggagggcgatcggatgctggtgcgttctggccgtagtcgcttttcgctgtctaccttaccggcagcagacttcccgaatctggatgactggcaaagcgaagtggaattcacgctgcctcaggcgacgatgaaacgcttgattgaggccacccagttttcgatggcccatcaggacgtgcgctactacctgaacggtatgttgtttgaaacggaaggaagcgaactgcgcaccgtcgcgaccgacggccaccgtctggcggtctgttcaatgccgctggaggcctctttaccgagccattcagtgatcgtaccgcgtaaaggcgtgattgaactgatgcgtatgcttgacggcggtgaaaatccactgcgtgtacag 501 df91976ce1603709845081913615964e memvarvtlsqphepgattvparkffdicrglpegaeiavqlegdrmlvrsgrsrfslstlpaadfpnlddwqseveftlpqatmkrlieatqfsmahqdvryylngmlfetegselrtvatdghrlavcsmpleaslpshsvivprkgvielmrmldggenplrvq 167 a7773fed3b4966bed020e5c76d3958ae 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -30 dnaN dnaN_555 555 atggaaatggtggcgcgcgttgcgttgattcagcctcatgaaccaggcgcaactaccgtcccggcgcggaaattctttgatatctgccgtggcttgccggaaggggctgaaattgccgtccagctggaaggcgatcggatgctggtgcgctccgggcgtagccgtttctcgctttccacgctgcctgccgccgatttccctaatctggatgactggcagagcgaagtcgaattcaccctgccgcaggcaacgatgaagcgcctgattgaagccacccagttctcaatggcgcatcaggacgtgcgttactacttaaacggcatgctgtttgagactgaaggtgaagagttgcgtaccgtcgcgaccgacggtcaccgtctggcggtctgctctatgccggtcgggcaatctctgcctaaccattcggtgattgtgccgcgtaaaggcgtgattgagctgatgcgtatgctcgacggcggcgaaaccccgctgcgcgtacag 501 f3f1097ff3bc60d777a67962bdc0c169 memvarvaliqphepgattvparkffdicrglpegaeiavqlegdrmlvrsgrsrfslstlpaadfpnlddwqseveftlpqatmkrlieatqfsmahqdvryylngmlfetegeelrtvatdghrlavcsmpvgqslpnhsvivprkgvielmrmldggetplrvq 167 87a0b18634c94347d9d307501609c2bd 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -31 dnaN dnaN_557 557 atggagatggtggcgcgcgtggcgctgatccagcctcatgaacctggtgcgaccaccgttccggcgcgtaaattcttcgatatttgccgtggattaccagaaggggcggaaattgccgttcaactggaaggcgaccgtatgctggtgcgttctggccgcagccgtttctcgctgtctacgctgcctgccgccgacttcccgaatctggacgactggcagagcgaagtcgaattcaccctgccacaggcgacaatgaagcgcctgattgaagccacgcagttttcgatggcgcatcaggacgtgcgttactacttaaacggcatgctgtttgaaaccgaaggggaagagttgcgtaccgtggcgaccgacggtcaccgcctggcggtctgttcaatgcctgtcggtcagccgttgcctagccattcggtgatcgtaccgcgtaaaggtgtgattgaactgatgcgtatgctcgacggcggcgataacccgctgcgcgtgcag 501 e4ce373ae223f287187fc58f35c5c532 memvarvaliqphepgattvparkffdicrglpegaeiavqlegdrmlvrsgrsrfslstlpaadfpnlddwqseveftlpqatmkrlieatqfsmahqdvryylngmlfetegeelrtvatdghrlavcsmpvgqplpshsvivprkgvielmrmldggdnplrvq 167 4991d037104e4565b1a41d437e5f1971 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -32 dnaN dnaN_558 558 atggaaatggtggcacgcgttgcgctggttcagccgcacgaaccaggggcgacgaccgttccagcgcgcaaattctttgatatctgccgtggtctgcctgaaggcgcggaaattgccgtgcagctggaaggtgagcggatgctggtgcgctccgggcgtagccgtttttcgctgtctaccctgccagcggcggatttcccgaatctcgatgactggcagagcgaagtcgaatttaccctgccgcaggcgacgatgaagcgtctgattgaagcgacccagttttctatggcgcatcaggacgttcgctattacttaaacggtatgctgtttgaaaccgaaggtgaagaactgcgcaccgtggcgaccgacggccaccgtctggcagtctgttcaatgccaattggtcaatctttgccaagccattcggtgatcgtgccgcgtaaaggcgtgattgaactgatgcgtatgctcgacggcggcgacaatccgctgcgcgtgcag 501 5cd4917d7e006de777df59e6d4ced9c8 memvarvalvqphepgattvparkffdicrglpegaeiavqlegermlvrsgrsrfslstlpaadfpnlddwqseveftlpqatmkrlieatqfsmahqdvryylngmlfetegeelrtvatdghrlavcsmpigqslpshsvivprkgvielmrmldggdnplrvq 167 1b1ceeeb97a9b7053301c9f2b22b64be 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -33 dnaN dnaN_563 563 atggaaatgatcgcgcgcgttacgctgactcagccgcacgacgcgggcgcgaccacggttccggcacgtaaattctttgatatttgccgtgggctgccggaaggcgctgaaatcgcagtgcagctggagggcgaccgcatgctggtgcgctctggccgcagccgtttctccctctccacgttgcccgctgcggacttcccgaacctggatgactggcagagcgaagttgaatttaccctgccgcaggcgacgatgaagcgtctgattgaagccacgcagttctccatggcgcatcaggacgttcgttactacttaaacggcatgctgttcgaaaccgaaggtgaagagctgcgtaccgtggcgaccgacggtcaccgtctggcggtttgttccatgccgattggcgattcactgccaaaccattcggtgatcgtaccgcgtaaaggcgtaattgaactgatgcgtatgctcgacggcggtgaaacgccgctgcgcgtgcag 501 524818b141511aac4b59810aa321cd8a memiarvtltqphdagattvparkffdicrglpegaeiavqlegdrmlvrsgrsrfslstlpaadfpnlddwqseveftlpqatmkrlieatqfsmahqdvryylngmlfetegeelrtvatdghrlavcsmpigdslpnhsvivprkgvielmrmldggetplrvq 167 31eaad197ca5f21fe6c5357a4437758e 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -34 dnaN dnaN_633 633 atggagatgatcgcgcgtgtggcgctgtcgctaccgcaccaggcgggcgcgaccaccgtgccggcgcgcaaattcttcgatatctgccgtggcttgccggaaggggcggaaatcgccgttacgctggaaggcgacagaatgctggtgcgctccgggcgcagccgcttctcgctgtctacgttaccggcggcagacttcccgaatctggacgactggcagagcgaagtggagttcacgctcccgcaggccaccatgaagcgcctgatcgaagcgacccagttctccatggcccatcaggacgtgcggtattacctgaacgggatgctgtttgaaaccgaaggcgaagagctgcgcaccgtggcgactgacggccaccgtctggcggtatgcgcgatgccggtaggccaaccgctgccaaaccattcggtgattgtaccgcgtaaaggcgtgctggagctgatgcgtatgctcgatggcggcgacagcccgctgcgcattcag 501 84646ea621236106f3507c23a09aa1e4 memiarvalslphqagattvparkffdicrglpegaeiavtlegdrmlvrsgrsrfslstlpaadfpnlddwqseveftlpqatmkrlieatqfsmahqdvryylngmlfetegeelrtvatdghrlavcampvgqplpnhsvivprkgvlelmrmldggdsplriq 167 7e6ea84b50fd55bd02940a1a6d3a8040 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -35 purE purE_24 24 agcgactgggctaccatgcaattcgccgccgaaatttttgacattctggatattccgcaccatgtcgaagtggtttctgctcaccgtacccccgataaactgttcagctttgccgaaaatgctgaagaaaacggctttcaggtaattattgccggcgcgggcggcgcggcgcatctgccaggaatgattgcggcaaaaacgctggtgccggtacttggcgttccggtacaaagcgctgcgctaagcggtgtggacagtctctattctattgtacagatgccgcgcggtattccggttggcacactggccatcggcaaagctggcgccgctaacgcggcgctgctggcggcgcaaattctggccacccacgataacgcactgcatcagcgccttcgcgac 399 1b307f1c0ca5eada675ef7b59e07104c sdwatmqfaaeifdildiphhvevvsahrtpdklfsfaenaeengfqviiagaggaahlpgmiaaktlvpvlgvpvqsaalsgvdslysivqmprgipvgtlaigkagaanaallaaqilathdnalhqrlrd 133 7b5ae57be571874df89d24a1384d848b 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 0 0 -36 purE purE_48 48 agcgactggactaccatgcaattcgccgccgaaatttttgaaattctggatgttccgcaccatgtagaagtggtttccgcccatcgaacccctgataaactgttcagcttcgccgaaacggcggaagagaacggatatcacgtgattattgccggcgcgggcggcgcggcgcatctgccgggaatgattgcggcaaaaacattggtgccggtactcggcgttccggtacaaagcgcagcattaagcggtgtggatagcctttactccattgttcagatgccgcgtggcattccggtgggtacactggctatcggcaaagccggggctgcgaacgccgcgctgctggcagcgcaaattttggccacacacgataatgcgctgcaccagcgcctgagcaac 399 361b0ec93034c2b740160e0e019c2fa6 sdwttmqfaaeifeildvphhvevvsahrtpdklfsfaetaeengyhviiagaggaahlpgmiaaktlvpvlgvpvqsaalsgvdslysivqmprgipvgtlaigkagaanaallaaqilathdnalhqrlsn 133 8a5c9ab5f75e790494d1b9bee3f0e1de 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 0 0 -37 purE purE_317 317 agcgactgggctaccatgcagttcgccgcagaaatcctcgatattctgaacgtacctcaccatgttgaagtggtttccgcccaccgcacgcccgataaactgttcagcttcgccgaagacgccgaaagcaacggttatcaggtgattattgccggtgccggcggcgctgcgcacttacccggaatgattgccgccaaaacgctggtcccggtattaggtgtacccgtccagagcgccgcattaagcggtgtcgatagcctctactccatcgtgcagatgccgcgcggcattccggtcggtacgctggcgatcggtaaagccggtgccgctaacgccgccctgctcgccgcgcagattctggcgcaacacgacgcggaactgcatcagcgcatcgccgac 399 6c65eb39ead85a54d8f1b918c4b9f1a2 sdwatmqfaaeildilnvphhvevvsahrtpdklfsfaedaesngyqviiagaggaahlpgmiaaktlvpvlgvpvqsaalsgvdslysivqmprgipvgtlaigkagaanaallaaqilaqhdaelhqriad 133 8607fb180dbc1878b0f34da3a1475e15 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 0 0 -38 purE purE_487 487 agcgactgggctaccatgcagttcgccgtcgaaatcttcgaaatcctgaatgtcccgcaccacgttgaagtggtttctgctcaccgcacccccgataaactgttcagcttcgccgaaagcgccgaagagaacggttatcaggtgattattgcgggcgcaggcggcgcagcgcacctgccaggcatgattgccgccaaaacgctggtgccggtgctgggcgtgccagtacagagcgccgcactgagcggtgtcgatagcctctactccatcgtacaaatgccgcgcggcattccggtgggtacgctggcgattggtaaagctggcgcggcaaacgcggcattactggcagcacaaattctcgcgactcacgataaagagctacaccagcgtctgaatggc 399 3c399fc323d79a41545d08ddebe65fab sdwatmqfaveifeilnvphhvevvsahrtpdklfsfaesaeengyqviiagaggaahlpgmiaaktlvpvlgvpvqsaalsgvdslysivqmprgipvgtlaigkagaanaallaaqilathdkelhqrlng 133 3958fc37901d7866a4807b45d7c0d1c7 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 0 0 -39 purE purE_608 608 agcgactgggctaccatgcagtttgccgccgaaatcttcgatatcctgaacgttccacaccacgttgaagtggtttccgcacaccgcacccccgataagctgttcagcttcgccgaaagcgccgaagagaagggttatcaggtgattattgccggtgctggcggcgcggcgcatctgccgggaatgattgcggcaaaaacgctggtgccggtactgggcgtgccggtgcaaagcgctgcgctgagcggcgtggacagcctctactctatcgtccagatgccgcgcggcattccggtcggcacgctggcgatcggcaaagcgggcgcggcgaacgcggcgttactggcagcgcaaattctggcgacacacgataaagacctgcgccaacgtctggcggac 399 b433065a6eb1e02b7472c3a976ed6902 sdwatmqfaaeifdilnvphhvevvsahrtpdklfsfaesaeekgyqviiagaggaahlpgmiaaktlvpvlgvpvqsaalsgvdslysivqmprgipvgtlaigkagaanaallaaqilathdkdlrqrlad 133 da4d09c87341d4c55dcd502561eca2ab 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 0 0 -40 purE purE_611 611 agcgactgggctaccatgcagttcgccgccgaaatcttcgaaatgctggacgttccgcaccatgttgaagtcgtctcagcccaccgtacccctgataaactgttcagcttcgccgaaagcgctgaagaaaacggttatcaggttattattgcgggtgctggcggtgcagcgcatctgccgggcatgattgcagcgaaaacgctggtccccgtgttaggcgttccggtacaaagcgcagcgttgagcggcgtagatagcctctactcaatcgtgcagatgccacgcggcatccccgtgggtacgctggcgattgggaaagcgggtgcggcaaatgcggccctgctggcagcacaaattctggcaacacacgacaaagcattacatcagcgtctgagcgac 399 21a3872388757fcc9db29c7a568ad0ae sdwatmqfaaeifemldvphhvevvsahrtpdklfsfaesaeengyqviiagaggaahlpgmiaaktlvpvlgvpvqsaalsgvdslysivqmprgipvgtlaigkagaanaallaaqilathdkalhqrlsd 133 8fbd65761db4860dd4a4d3866113a870 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 0 0 -41 purE purE_612 612 agtgactgggcaaccatgtctcatgccgcagatgtattagatacactacaaattccttaccatgttgagattgtctctgcacaccgaacccctgataagttatttagttttgctgaaaaagcaaaaagtaatggctttgatgtcattattgctggtgcaggaggagctgcccatttaccaggaatgcttgcagctaaaacgttagtacccgtatttggtgttcctgttcaaagtgcgacattaagcggtgttgatagcctctattcaatcgtacaaatgccaaaaggtatccctgtaggaaccttagcgattggtaaagcaggggctgccaatgcggctttattagcggctcaagttttagcgttacattctcctgctattttagatgcattgactgca 399 4447303168d35b88ef6de3c057ec5689 sdwatmshaadvldtlqipyhveivsahrtpdklfsfaekaksngfdviiagaggaahlpgmlaaktlvpvfgvpvqsatlsgvdslysivqmpkgipvgtlaigkagaanaallaaqvlalhspaildalta 133 70f0a3ab9cdde6e8e94ff7f3f09b4b3e 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 0 0 -42 purE purE_619 619 agcgactgggctaccatgcagttcgccgccgaaatctttgaaatcctgaatgttccgcaccacgtcgaagtggtttccgcacaccgtaccccggacaaactgttcagcttcgccgaaagcgccgaagagaacggttacgaggtgatcattgccggtgcgggcggcgcagcacatctgccgggcatgattgccgccaaaacgctggtgccggtactgggtgttcccgtgcaaagcgccgcgttaagcggggtggatagcctttactctattgtccagatgccgcgcggtattcctgtcggtaccctggcgattggtaaagcaggtgcggcaaatgccgccctgctggccgcgcagatcctggcgacgcatgataaagatttgcaccagcgtctggcggag 399 522ed6efab35d51c2778faae0cfc32b1 sdwatmqfaaeifeilnvphhvevvsahrtpdklfsfaesaeengyeviiagaggaahlpgmiaaktlvpvlgvpvqsaalsgvdslysivqmprgipvgtlaigkagaanaallaaqilathdkdlhqrlae 133 5fb06ad65c6096cfe8502bd59059f9da 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 0 0 -43 purE purE_631 631 agcgactgggctaccatgcaattcgccgccgaaacggcggaagagaacggatatcaagtgattattgccggcgcgggcggcgcggcgcacctgccgggaatgattgcggcaaaaacgctggtcccggtactcggcgtgccggtacaaagcgctgcgctaagcggcgtggatagcctttactccattgtgcagatgccgcgcggcattccggtgggtacgctggcgatcggtaaagccggtgcggctaatgccgccctgctcgccgcgcagattctggcgcaacacgacgcggaactgcatcagcgcatcgccgac 315 5512223818366200f9776177ff26f5c4 sdwatmqfaaetaeengyqviiagaggaahlpgmiaaktlvpvlgvpvqsaalsgvdslysivqmprgipvgtlaigkagaanaallaaqilaqhdaelhqriad 105 dfd021daa3ff8288de0bfc3e461ba505 220.5 409.5 73.5 136.5 80.0 64.0 80.0 80.0 0 0 -44 purE purE_691 691 agcgactgggctaccatgcagttcgccgccgaaatcttcgaaatgttggacgttccacatcatgttgaggtcgtctctgctcaccgtaccccagacaaactgttcagtttcgccgaaggcgctgaagagaacggctatcaggtgattattgccggtgctggtggtgctgcacatttgcctggaatgattgcggcgaaaacgctggtgcctgttttaggcgttccggtacaaagcgcagcgttgagcggcgtagatagcctttattccatcgttcaaatgcctcgcggtattccggtgggcacgctggcgatcggcaaagcgggcgcggccaatgcggccctgctggccgcgcaaattctggcaacacacgacaaagaattgcatcagcgtctggctgag 399 df4a42c3ccfc344e656dc2be2d8b4656 sdwatmqfaaeifemldvphhvevvsahrtpdklfsfaegaeengyqviiagaggaahlpgmiaaktlvpvlgvpvqsaalsgvdslysivqmprgipvgtlaigkagaanaallaaqilathdkelhqrlae 133 ba861d020d1b7072147abb76835615f5 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 0 0 -45 purE purE_724 724 agcgactgggccaccatgcagcatgccgctgaaattcttgatgcccttgatgttccttaccatgttgaagtggtttccgctcaccgcacgcctgataagcttttcagctttgctgaatccgcgcagcacaacggttatcaggtgattattgctggcgcaggcggtgcggcgcatctgccgggcatgatcgccgcgaaaaccctggtgccggtattaggcgtgccggtgcaaagcgcggccctgagcggcgtggacagcctctactctatcgtgcaaatgccgcgcggcattccggtagggacgctggcgatcggcaaagcgggtgctgcaaacgccgcactgctggcggcgcagatcctcgcccagcatgacgatgcgctactggcgcgtctggcggca 399 24fdade0d73567c971ce39342d8124d7 sdwatmqhaaeildaldvpyhvevvsahrtpdklfsfaesaqhngyqviiagaggaahlpgmiaaktlvpvlgvpvqsaalsgvdslysivqmprgipvgtlaigkagaanaallaaqilaqhddallarlaa 133 80566e38adf471bf08d43c1c66404c51 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 0 0 -46 thrA thrA_1 1 gtgctgggccgtaatggttccgactattccgccgccgtgctggccgcctgtttacgcgctgactgctgtgaaatctggactgacgtcgatggcgtgtatacctgtgacccgcgccaggtgccggacgccagactgctgaaatcgatgtcctaccaggaagcgatggaactctcttacttcggcgccaaagtccttcaccctcgcaccataacgcctatcgcccagttccagatcccctgtctgattaaaaataccggtaatccgcaggcgccaggaacgctgatcggcgcgtccagcgacgatgataatctgccggttaaagggatctctaaccttaacaacatggcgatgtttagcgtctccggcccgggaatgaaagggatgattgggatggcggcgcgtgttttcgccgccatgtctcgcgccgggatctcggtggtgctcattacccagtcctcctctgagtacagcatcagcttctgtgtgccgcagagtgactgc 501 e2bc498cca88ae0cf5f96ea9df21b2ee vlgrngsdysaavlaaclradcceiwtdvdgvytcdprqvpdarllksmsyqeamelsyfgakvlhprtitpiaqfqipclikntgnpqapgtligassdddnlpvkgisnlnnmamfsvsgpgmkgmigmaarvfaamsragisvvlitqssseysisfcvpqsdc 167 1d2215bf990e991e0f76a558f4e1c6be 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -47 thrA thrA_31 31 gtgctggggcgtaacggttccgactattccgctgcggtactggccgcctgtttacgcgccgactgttgcgaaatctggacggacgttgacggtgtgtatacctgcgacccgcgccaggtgccggatgccagactgctgaagtcaatgtcctatcaggaagcgatggaactttcctacttcggcgccaaagtgcttcacccgcgtaccattactcccatcgctcaattccagatcccatgtctgataaaaaataccggtaatccgcaagcgccgggcacgctgattggcgccaacagcgatgaagacgggctaccggtaaaaggcatctcgaacctcaataatatggcgatgtttagcgtctccggcccgggaatgaaaggcatggtcgggatggcggcgcgcgtgttcgccaccatgtcgcgtgccgggatttcggtagtgctgatcacccaatcctcttcggagtacagcatcagcttctgcgtgccgccaaagcgatgc 501 1ee0ab9a752caf9184eecd1e539d6fce vlgrngsdysaavlaaclradcceiwtdvdgvytcdprqvpdarllksmsyqeamelsyfgakvlhprtitpiaqfqipclikntgnpqapgtligansdedglpvkgisnlnnmamfsvsgpgmkgmvgmaarvfatmsragisvvlitqssseysisfcvppkrc 167 833c4d8f3379e19345eec16fe652b67a 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -48 thrA thrA_208 208 gtgctgggccgtaacggctccgattattccgccgccgtactggccgcctgtttacgcgctgactgttgtgaaatctggactgacgtcgacggcgtgtatacctgcgacccgcgtcaggtgccagacgccaggctgctgaagtcgatgtcttatcaggaagcaatggagctttcttacttcggcgctaaagtactacatccgcgcactattactcctattgcccagttccagatcccttgtctgattaaaaataccggcaatccacaagcgcccggtacgctgatcggcgctgccagcgacgatgatgctctgccggttaaagggatttctcaccttaacaacatggcgatgtttagtgtctccggtccggggatgaaaggcatggtgggtatggcggcgcgcgtttttgccgctatgtcacgtgcgggaatctcggtggtgttgatcacgcaatcttcatctgaatacagcatcagcttctgcgtgccgcagagcgactgc 501 8b8c3bcb4acc8e2d452f56d5a8875b57 vlgrngsdysaavlaaclradcceiwtdvdgvytcdprqvpdarllksmsyqeamelsyfgakvlhprtitpiaqfqipclikntgnpqapgtligaasdddalpvkgishlnnmamfsvsgpgmkgmvgmaarvfaamsragisvvlitqssseysisfcvpqsdc 167 e01233ec2b8a0e6b0f489950176b6b9e 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -49 thrA thrA_628 628 tgtttagggcgtaacggttcggattactcagccgcggtactggctgcctgtttacgcgcggattgctgcgagatttggacggatgtggatggtgtgtataactgcgatccgcgtttggtcgatgatgcgcgtcttttgaaatcccttagctatcaagaggcgatggagctttcttacttcggagcatctgtgttgcatccgaagaccattgcaccgattgctcaatttcaaatcccttgtttgatcaaaaacagcttcaatccacaaggtgcgggcaccttgattggccaagacactggcgaagataaactcgcgatcaaaggcattaccacgctgagcaatctgaccatggtcaacgtttctggtccaggaatgaaaggcatggtggggatggcgagccgcgtgtttggcgcgatgtctgcggccgatgtgtcgattgtgctcatcactcaatcttcttcggaatacagcatcagtttctgtatcgaagcacaacataaa 501 788ee4df78a8d649a7369118f1dd28eb clgrngsdysaavlaaclradcceiwtdvdgvyncdprlvddarllkslsyqeamelsyfgasvlhpktiapiaqfqipcliknsfnpqgagtligqdtgedklaikgittlsnltmvnvsgpgmkgmvgmasrvfgamsaadvsivlitqssseysisfcieaqhk 167 b39308c6cc5d013a02c4760d82000fe7 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -50 thrA thrA_630 630 gtgctgggccgcaacggttctgattactccgctgcggtgttggctgcctgcttacgcgccgactgttgtgagatctggactgacgttgacggcgtgtatacctgtgacccgcgccaggtgccggacgccaggttgctgaagtcgatgtcctatcaggaggcgatggagctttcttacttcggcgccaaagtccttcatcctcgcaccatcacccccattgcccagttccaaatcccatgcctgattaaaaacaccggaaacccgcaggcccctggtacgctgatcggcgccagcgtggatgaagacgaactgccggtgaaagggatctcgaacctgaacaatatggcgatgttcagcgtttccggcccaggaatgaaagggatgatcgggatggcggcgcgcgtcttcgcggcaatgtcccgcgcggggatctccgtggtgctgatcacgcaatcctcttctgaatacagcatcagtttctgcgtaccgcagggcgactgc 501 13fadee16ae0372cf8cf95fa8b28eac7 vlgrngsdysaavlaaclradcceiwtdvdgvytcdprqvpdarllksmsyqeamelsyfgakvlhprtitpiaqfqipclikntgnpqapgtligasvdedelpvkgisnlnnmamfsvsgpgmkgmigmaarvfaamsragisvvlitqssseysisfcvpqgdc 167 b85c33cef618c22f0ac1be34a73c07e4 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -51 thrA thrA_631 631 gtgttggggcgcaatggctctgactactctgccgctgtgctggctgcctgtttacgcgcggactgttgtgagatctggaccgatgtcgacggcgtatatacctgcgatccgcgccaggtacccgatgcccgactgctgaagtcgatgtcttatcaggaagcgatggagctttcttacttcggcgccaaagttctgcatccgcgcaccattaccccaattgcccagttccagatcccgtgcctgattaaaaataccggcaatccacaagcgcctggcacgttgatcggcgccagcagtgatgaagacgatttgccggtaaaaggtatttctaacctcaataacatggcgatgtttagcgtctccggccctggaatgaaaggcatggtaggcatggcggcgcgcgtttttgccgcgatgtcgcgtgcgggcatctcggtggtgctgatcacgcagtcttcttctgaatacagcatcagcttctgcgttccgcagggcgactgc 501 e81bb48f84e7f8090be4993eadb470a9 vlgrngsdysaavlaaclradcceiwtdvdgvytcdprqvpdarllksmsyqeamelsyfgakvlhprtitpiaqfqipclikntgnpqapgtligassdeddlpvkgisnlnnmamfsvsgpgmkgmvgmaarvfaamsragisvvlitqssseysisfcvpqgdc 167 c0ad66f748261d962ad9924129aed23a 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -52 thrA thrA_632 632 gtattaggtcgcaatggttcagactactcagctgcagtattagcagcctgtttacgtgctaaatgctgtgaaatttggactgatgttgacggtgtttatacttgtgatccacgtttagtgcctgatgcacgtttgttaaaaggcatgtcatatcaagaggcaatggaactgtcttactttggtgccaaggtacttcatcctcgtacaattgcgcctattgcccaattccaaataccttgtttaattaaaaatacgggcaatccagatgcgccgggtaccttgattggtgatggtcaaaaagatgagagcacacctgttaaaggaataactaaccttaataatatggcaatgatcaacgtatctgggcctggaatgaaaggaatggtaggaatggcggctcgcgtgttctcggtaatgtcgagagcggggatttcagttgttctaatcacacagtcttcttctgaatacagcattagtttttgtgtgccacaaaaagagctg 501 a3d53b54a8b794234a15b4a24478ad9c vlgrngsdysaavlaaclrakcceiwtdvdgvytcdprlvpdarllkgmsyqeamelsyfgakvlhprtiapiaqfqipclikntgnpdapgtligdgqkdestpvkgitnlnnmaminvsgpgmkgmvgmaarvfsvmsragisvvlitqssseysisfcvpqkel 167 e19b702c7326cb880343fa28e3a21189 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -53 thrA thrA_633 633 gtgcttggacgcaacggttccgactactctgctgcggtgctggctgcctgtttacgcgccgattgttgcgagatttggacagacgttgacggggtctatacctgcgacccgcgtcaggtgcccgatgcgaggttgttgaagtcgatgtcctaccaggaagcgatggagctttcctacttcggcgctaaagttcttcacccccgcaccattacccccatcgcccagttccagatcccttgcctgattaaaaataccggaaatcctcaagcaccaggtacgctcattggtgccagccgtgatgaagacgaattaccggtcaagggcatttccaatctgaataacatggcaatgttcagcgtttccggcccggggatgaaaggaatggttggcatggcggcgcgcgtctttgcagcgatgtcacgcgcccgtatttccgtggtgctgattacgcaatcatcttccgaatacagtatcagtttctgcgttccacaaagcgactgt 501 9354b5f751219ba35aaa09bc60562f82 vlgrngsdysaavlaaclradcceiwtdvdgvytcdprqvpdarllksmsyqeamelsyfgakvlhprtitpiaqfqipclikntgnpqapgtligasrdedelpvkgisnlnnmamfsvsgpgmkgmvgmaarvfaamsrarisvvlitqssseysisfcvpqsdc 167 aebd02b115b215c5ce0e4e8d9741d2c7 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -54 thrA thrA_637 637 gtgctcgggcgcaacggctccgattattccgcagcggtactggcagcgtgtttacgcgccgattgttgcgagatctggactgatgtcgatggtgtctatacctgcgacccacgtcaggtaccggatgcccgattacttaagtcgatgtcgtaccaggaggctatggaactctcctatttcggcgccaaagtcctccatcctcgaaccatcactcccatcgcccagttccagattccctgcctgataaaaaataccggaaacccgcaagcaccaggaacgctgattggcgccagccgcgacgaagatgatctgccggtgaagggcatttcaaatctcaataatatggcgatgttcagcgtctccgggccggggatgaagggaatggtcggcatggctgctcgcgtgtttgcggcaatgtctcgctcaggaatttcggtagtcctgattacgcaatcctcctctgagtacagcattagcttctgtgtaccgcaggctgactgt 501 9f03ee22b2526797a2c2de6b0d1f8bd6 vlgrngsdysaavlaaclradcceiwtdvdgvytcdprqvpdarllksmsyqeamelsyfgakvlhprtitpiaqfqipclikntgnpqapgtligasrdeddlpvkgisnlnnmamfsvsgpgmkgmvgmaarvfaamsrsgisvvlitqssseysisfcvpqadc 167 e7f02bcb14d94c8bdd8a63dc6e462ac1 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -55 thrA thrA_638 638 gtgctggggcgtaacggctctgactactccgccgccgtgctggcggcctgcttacgcgcggactgctgtgagatctggactgacgtcgacggcgtttatacctgcgatccgcgccaggtaccggacgccaggctgctgaagtcgatgtcgtaccaggaagcgatggagctttcctacttcggcgctaaagttcttcacccgcgtaccatctccccgattgcccagttccaaatcccttgcctgattaagaataccggtaaccctcaggcgccgggcacgctgattggcgccagcgcggatgaagatgaactgccggtgaaaggcatttctaacctcaataacatggcgatgttcagcgtctccggcccggggatgaagggcatggtcggcatggcggcacgcgtatttgccgctatgtcccgcaacgggatctccgtggtgctgatcacgcagtcttcttccgaatacagcatcagcttctgcgttccgcagggtgattgc 501 3c010580bf40e558795a064fcb76bbc0 vlgrngsdysaavlaaclradcceiwtdvdgvytcdprqvpdarllksmsyqeamelsyfgakvlhprtispiaqfqipclikntgnpqapgtligasadedelpvkgisnlnnmamfsvsgpgmkgmvgmaarvfaamsrngisvvlitqssseysisfcvpqgdc 167 eeb765c6360978492ffbc404148b8619 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 -56 thrA thrA_748 748 gtattaggccgtaacggttccgactactccgccgccgtgctggccgcgtgtttgcgcgccgactgttgtgagatctggactgacgtcgacggcgtctatacctgcgacccgcgccaggtgccggacgccaggctgctgaagtcgatgtcgtatcaggaagccatggaactctcctacttcggcgctaaagttctccacccccgcaccattgcccccatcgcccagttccaaatcccctgtctgatcaaaaacactggtaacccgcaagcgccaggcaccctgatcggtgccagcagcgatgaagacggcctgccggtgaagggcatcagtaacctgaataatatggcgatgttcagcgtctctggtccgggcatgaaaggcatggtgggaatggcggcgcgcgtgttcgcggcgatgtcccgtgcgggcatctcggtggtgctgatcacccaatcgtcttctgaatacagcatcagcttctgcgtgccgcaggccgacagc 501 58bf05807c26ccb5773f3857d624de62 vlgrngsdysaavlaaclradcceiwtdvdgvytcdprqvpdarllksmsyqeamelsyfgakvlhprtiapiaqfqipclikntgnpqapgtligassdedglpvkgisnlnnmamfsvsgpgmkgmvgmaarvfaamsragisvvlitqssseysisfcvpqads 167 382162a8e98eccecbaa260f5488bba62 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 +0 hemD hemD_316 316 tcggcgctgacggaaaacgatctggtcttcgccctctcgcagcacgccgtcacctttgcagatgccgagcttcagcaacaagggaaaagctggccctcccttccgcgttattttgccattggtcgcacaacggcgctggcgctgcataccgttagcggtttcaatattcactaccctctggatcgggaaattagcgaagtcttgctacaattacctgaattacaaaatattgcgggaaaacgcgcgcttatattacgcggcaatggtggccgtgagctgataggtgaaaccctgacagcacgcggagctgatgtcgatttttgtgaatgttatcaacgcagtgcaaaatattacgatggtgcagaagaagcgatgcgctggcaatctcgtggtgtgaccacggtggttgtcaccagcggagagatgctacaa 432 ec07413401ecd72ffa60f5beda4135bd l*hlsagdnhrghttrlpahrffctivifctalitftkidissaccqgftyqltatiaa*ykrafsrnil*fr*l*qdfanfpiqrvvnietangmqrqrrcatngkitrkggpafplllklgickgdgvlregedqivfrqrr 144 ff1eb49bc14f55f829e1f7a6c03bca7b 302.4 561.6 100.8 187.20000000000002 80.0 64.0 80.0 80.0 5 0 +1 hemD hemD_343 343 gcggcgctgggggagagcgatctgttgtttgccctctcgcaacacgcggttgcttttgcccaatcacagctgcatcagcaagatcgtaaatggccccgactacctacttatttcgccattggacgcaccaccgcactggcgctacataccgtaagcggacagaagattctctacccgcaggatcgggaaatcagcgaagtcttgctacaattacctgaattacaaaatattgcgggcaaacgtgcgctgatattacgtggcaatggcggtcgtgagctaattggggataccctgacggcgcgcggtgctgaggtcactttttgtgaatgttatcaacgatgcgcaatccattacgatggtgcagaagaagcgatgcgctggcaatcccgcgaggtgacgacggtcgttgttaccagcggtgaaatgttgcag 432 a96221c278c083d25537d4eb09e98674 lqhftagnndrrhlaglpahrffctivmdcaslitftksdlstarrqgipn*lttaiat*yqrtfarnil*fr*l*qdfadfpilrvenllsaygm*rqcggasngeisr*sgpftillmql*lgksnrvlregkqqialpqrr 144 88fda494c42da0b8d0457113172f109d 302.4 561.6 100.8 187.20000000000002 80.0 64.0 80.0 80.0 8 0 +2 hemD hemD_472 472 gcgacgttgacggaaaacgatctggtttttgccctttcacagcacgccgtcgcctttgcccacgcccaactccagcgagatggtcgaaactggcctgcgtcgccgcgctatttcgcgattggtcgcaccacggcgctcgcccttcataccgttagcgggttcgatattcgttatccattggatcgggaaatcagcgaagtcttgctacaattacctgaattacaaaatattgcgggcaaacgcgcgctgattttgcgtggcaatggcggtcgcggtcgcgaactgctgggcgaaaccctgacagctcgcggagccgaagtcagtttttgtgaatgttatcaacgaagtgcgaaacattacgatggcgcagaagaggcgatgcgctggcacactcgcggcgtaacgacgcttgttgtcaccagcggcgagatgttgcaa 438 4379e2701d30e178dd1740ef8351ed56 lqhlaagdnkrryaasvpahrlfcaivmfrtslitftktdfgsascqgfaqqfatataiatqnqrafarnil*fr*l*qdfadfpiqwitniepangmkgerrgatnreiarrrrpvstislelgvgkgdgvl*kgknqivfrqrr 146 ab31f6c9e1921c4e8fba8de0349e9666 306.59999999999997 569.4 102.19999999999999 189.8 80.0 64.0 80.0 80.0 4 0 +3 hemD hemD_489 489 gcggcgctcacggacaacgatctggtgttcgccctctcgcaacacgccgtcgcctttgcccacgcccaactgcaacagcaggagctggactggcctgtgcaaccacgctacttcgccatcgggcgcacaacggcgctggcgctgcataccgttaacggatgcgatattcgctatcctctggatcgggaaatcagcgaagtcttgctacaattacctgaattacaaaatattgcgggaaaacgagcgcttattttacggggcaacggcgggcgtgaactgttaggcaaaaccctcacagaacgcggcgctgaagtcaccttttgtgaatgttatcaacgcagtgcaaaacattacgatggcgcggaagaggcgatgcgctggcactctcgcggcgtgacgacgattgttgtcaccagcggcgaaatgctgcaa 432 d70b2d022747ea0b4e2fc11e20749d64 lqhfaagdnnrrhaarvpahrlfraivmfctalitftkgdfsaafcegfa*qftpavap*nkrsfsrnil*fr*l*qdfadfpiqrianiasvngmqrqrrcapdgevawlhrpvqllllqlgvgkgdgvlregehqivvrerr 144 8191ce9c3083159e96c38c67c4e7931e 302.4 561.6 100.8 187.20000000000002 80.0 64.0 80.0 80.0 5 0 +4 hemD hemD_497 497 gaaacacttggcgataacgatctgctctttgcactttctcaacatgcagtgtcattcgcccatgcgcagttgcaacagcaggggctaaactggccatcacttccgcattatttcgctattggccgtactaccgctctcgccctgcacaccgtaagcggacataagattcgctatccacaagatcgggaaatcagcgaagtcttgctacaattaccggaattacaaagtattgcgggaaaacgcgcacttattttgcgcggtaacggcggccgtgaattgatcggtcagacgctgacatcacgtggtgccgacgttactttttgtgaatgttatcaacgcagtgcgaagcattacgatggtgcggaagaagctatgcgctggcagtctcgcggcgtaacaaccgtcgttgtaaccagcggtgaaatgctgcaa 432 9723e4bd3f999d580288941f6aa9e263 lqhftagyndgcyaarlpahsffrtivmlrtalitftksnvgtt*cqrltdqftaavtaqnkcafsrntl*fr*l*qdfadfpilwianlmsaygvqgesgstanseimrk*wpv*plllqlrmge*hcmlrkckeqiviakcf 144 b3f47011dc50565d72bdf3c985539b3b 302.4 561.6 100.8 187.20000000000002 80.0 64.0 80.0 80.0 7 0 +5 hemD hemD_498 498 cgtctcttgcaggaaggcgatctgctctttgcgctgtcgcagcatgccgtggagtttgcccatgcgcagctgcaacagcatgccgttagctggcctcacgccccccgctatttcgccatcgggcgcaccacggcgctggccttacataccgcgagcggaatcgatgttcgttacccgttagatcgggaaatcagcgaagtcttgctacaattacctgaattacaaaccattgccggaaagcgcgcgctcattttgcgcggcaacggtggccgcgaactgctgggcgaaacgctgcgcgaacgcggcgcagacgtgacgtttgtggagtgctatcagcgctgtgcgaaacactatgatggcgcggaagaagcaatgcgctggcacgcccgcggtattaatacgctggtggtcaccagcggtgaaatgttacaa 432 628c16c03efeab34bd43be2330a1e2a5 l*hftagdhqrintagvpahcffraiivfrtalialhkrhvcaafaqrfaqqfaatvaaqneralsgngl*fr*l*qdfadfpi*rvtnidsargm*gqrrgapdgeiaggvrpangmllqlrmgklhgmlrqrkeqiaflqet 144 18837be5cdac644a68640f570607f9e8 302.4 561.6 100.8 187.20000000000002 80.0 64.0 80.0 80.0 6 0 +6 aroC aroC_309 309 gtttttcgtccgggacacgcgggattacacctatgagcagaaatacggcctgcgcgattaccgtggcggtggacgttcttccgcgcgtgaaaccgcgatgcgcgtagcggcaggggcgatcgccaagaaatacctggcggaaaagttcggcatcgaaatccgcggctgcctgacccagatgggcgacattccgctggagattaaagactggcgtcaggttgagcttaatccgttcttttgtcccgatgcggacaaacttgacgcgctggacgaactgatgcgcgcgctgaaaaaagagggtgactccatcggcgcgaaagtgacggtgatggcgagcggcgtgccggcagggcttggcgaaccggtatttgaccgactggatgcggacatcgcccatgcgctgatgagcattaatgcggtgaaaggcgtggagatcggcgaaggatttaacgtggtggcgctgcgcggcagccagaatcgcgatgaaatcacggcgcagggt 502 68b97d286c75072e2c1d9721b346404f tlrrdfiailaaaqrhhvksfadlhafhrinahqrmgdvriqsvkyrfakpcrhaarhhrhfradgvtlffqrahqfvqrvkfvrigtkeriklnltpvfnlqrnvahlgqaaadfdaelfrqvflgdrpcryahrgftrgrtstatviaqavflligviprvpdek 167 d703b8528f94b73d971959503f63a7bf 351.4 652.6 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 +7 aroC aroC_609 609 aaattccgtcccggacatgcggactacacctatcaccaaaaatacggtgtgcgagattaccgtggcggcggccgttcatcggcacgtgaaaccgccatgcgtgttgctgcgggagcgattgccaaaaaatatctgcagcaagagtttggcattgaagtgcgtgcttacttgtcgcaaatgggggatgtcgcgattgataaagtggattggaatgagattgaaaacaacgatttcttctgtcctgatgtcgataaagtggctgcgtttgacgagctgatccgcgagctgaaaaaagaaggcgattcgatcggcgcgaaaatccaagtggtcgctacaggcgtgccggttggactgggtgagcctgtgtttgatcgcttagatgcggatattgcccatgccttgatgagcatcaacgccgtgaaaggagtcgagattggtgatggctttgatgtggtgcgccaaaaaggcagccaacaccgtgacccgctcactccacaaggt 501 b2658e14ec9adf0a41a54a97f9d2110b tlwservtvlaaflahhikaitnldsfhgvdahqgmgniri*aikhrltqsnrhacsdhldfradriafffqladqlvkrshfidirteeivvfnlipihfinrdiphlrqvsthfnaklllqiffgnrsrsnthggftcr*taaatvishtvflvigvvrmsgtef 167 f6cf55e5744b78a66bd15d653d0805d8 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 2 0 +8 aroC aroC_614 614 gttttccgcccgggccatgccgactatacctacgagcagaaatacggtctgcgcgattaccgtggcggcggtcgttcttccgcccgtgaaacggcgatgcgcgtcgcggctggcgcgattgctaaaaaatatctggcggagaaacacggcatcgtcattcaggggtgtctgacccagatgggcgatattccgcttgaaatcaaagactggcagcaggttgaacaaaacccgtttttctgtcctgatccagataaaatcgacgcgctggatgaactgatgcgcgccctgaagaaagagggcgattcgattggggcaaaagtgaccgtcgtggcaaacggcgttccggccgggcttggcgaaccggtctttgaccgtctggatgcggacatcgctcatgcgctgatgagcatcaacgcggtaaaaggcgtggagattggcgatgggtttgatgtggtcgcgttgcgaggcagccagaatcgcgatgaaattaccaaagagggc 501 c5f2d4018c0e9adf7894ee7ff6783ded alfgnfiailaasqrdhikpianlhafyrvdahqrmsdvriqtvkdrfakpgrnavchdghfcpnrialflqgahqfiqrvdfiwirtekrvlfnllpvfdfkrniahlgqtplnddavflrqiffsnrasrdahrrftggrttaatviaqtvfllvgivgmaraen 167 8b8e98ac5c89338384c11f64f02ad1dc 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 +9 aroC aroC_618 618 gttttccgtccaggacacgctgactatacctatgagcagaaatatggcctgcgcgactaccgtggcggcggacgttcatccgcgcgtgaaacggcgatgcgcgttgcggctggcgcgattgccaaaaaatatctggcggaaaaattcggcgttgaaattcgcggctgtctgacgcagatgggggatattccgctggagatcaaagactggtctcaggtggagcttaacccgttcttttgtccagacccggataaaatcgaagtgctggacgaactgatgcgcgggctgaagaaagagggcgactccatcggggcaaaagtgaccgttgttgcaagcggcgtaccggcgggtctcggcgaacctgtattcgaccgtctggatgccgacatcgcccatgcgctgatgagcattaacgccgttaagggcgttgagattggcgacggttttgacgttgttgcgctgcgcggcagtcagaaccgcgatgagatcaccaaagaaggt 501 8ad7c489cbf3c951d32224c9a42d2037 tffgdliavltaaqrnnvktvanlnalngvnahqrmgdvgiqtveyrfaetrryaacnnghfcpdgvalflqpahqfvqhfdfirvwtkervklhlrpvfdlqrniphlrqtaanfnaeffrqiffgnrasrnahrrftrg*tsaatvvaqaiflligivsvswten 167 ee14be860d27e7a745772a97f69d0129 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 1 0 +10 aroC aroC_619 619 gttttccgcccagggcatgctgattatacctatgaacaaaaatatggtttgcgtgattatcgtggtggtggacgttcttctgctcgtgaaacggcaatgcgtgtcgccgcaggtgcgattgctaaaaaatatctaaaagagaaattaggcatcgaagttcgaggatatctttctcagctaggacctattacatgtgatcttgttgattggtctattgttgaaagcaatccatttttctgtcctgatccttcacgtttagatgcgcttgatgaatacatgcgtgcacttaaaaaagaaggtaattctattggtgcaaaagtcactgtggttgcacagggtgtacctgctggatttggtgaacctgtctttgatcgattagatgctgatttagcgcatgctttgatgagtatcaatgctgtcaaaggtatagaaattggtgatggatttggtgttgtaacattaaaaggtacagaaaaccgagatgaaatcactaaaaaggga 501 3771c06c0ba430cb26fc523102431540 slfsdfisvfctf*cyntksitnfytfdsidthqsmr*isi*sikdrftkssrytlcnhsdfctnritfffkcthvfikri*t*rirtekwiafnnrpinkitcnrs*lrkissnfda*flf*iffsnrtcgdthcrftsrrtstttiitqtiflfigiismpwaen 167 5c3e3d46eac09be8e8c1228a0dcf05b1 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 8 0 +11 aroC aroC_620 620 gttttccgtccaggccatgccgattacacctacgaacaaaaatacggtctgcgcgattatcgcggcggcgggcgctcttccgcccgcgaaaccgccatgcgcgtggcggcaggggcgattgcaaaaaaatatctcgccgagaaatttggcattgagattcgcggctgcctgacccagatgggtgacattccgctggaaatcaaagactggtcgcaggtcgagcaaaatccgtttttctgcccggacccggacaaaatcgacgcgttagatgaactgatgcgcgcgctgaaaaaagagggcgactccatcggcgcgaaagtcaccgttgttgccagtggcgtccccgccggacttggcgagccggtctttgaccgcctggatgccgacatcgcccatgcgctgatgagcatcaacgcggtgaaaggcgtagaaattggtgatggttttgacgtggtggcgctgcgtggcagccagaaccgcgacgaaatcaccaaagacggt 501 db98a21c92520b261648944cb47fd564 tvfgdfvavlaatqrhhvktitnfyafhrvdahqrmgdvgiqavkdrlaksggdatgnngdfradgvalffqrahqfi*rvdfvrvraekrilldlrpvfdfqrnvthlgqaaanlnakflgeiffcnrpcrhahggfaggrapaaaiiaqtvflfvgvigmawten 167 38c7af3bb36f19fbf5b5aa4ec65b771d 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 1 0 +12 aroC aroC_624 624 gttttccgtcctggtcacgccgactatacctacgaacaaaaatatggctttcgcgactatcgcggcggcgggcgttcttccgcgcgtgaaaccgcgatgcgcgtggcggcaggggcaattgccaaaaaatatctccagcagaaattcggcatcgttatccgcggctgtctgtcccagatgggcgacattccgctggcaatcaaagactgggatcaggtagagctcaacccgttcttctgcgccgatgccgacaagctggacgcgctggatgagctgatgcgtggcctgaaaaaagagggcgactccattggtgcgaaagtcaccgtggtggccgacggcgtgccggctggctggggcgagccggtatttgaccgccttgacgccgacatcgcccacgcgctgatgagcatcaacgcggtgaaaggcgtcgaaatcggcgacggttttgacgtggtcaagcttcgcggcagccagaaccgcgacgaaatcacgaaggcgggt 501 a59606a69494d1f5ea7755a21543e994 trlrdfvavlaaakldhvktvadfdafhrvdahqrvgdvgvkavkyrlapasrhavghhgdfrtngvalffqathqliqrvqlvgigaeervelylipvfdcqrnvahlgqtaadndaeflleiffgncpcrhahrgftrgrtpaaaivakaiflfvgivgvtrten 167 46976e66249722be8110f2f0cc081d4f 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 +13 aroC aroC_716 716 gtgttccgtccggggcacgcggattacacctacgaacaaaaatacggcctgcgcgactatcgcggcggcgggcgttcatccgcccgtgaaaccgccatgcgcgtcgcggcaggcgctatcgccaaaaaatatctggcgcagaaattcggcgtggtgattcgcggctgcctgacccagatgggtgatattccgctggaaatcaaagactgggatcaggtagagcaaaacccgttcttctgcccggacccggataaaatcgaggcgctggatgagctgatgcgcgctctgaaaaaagagggcgattccatcggcgcgaaagtcaccgtggtggccgacagcgtgcccgccgggcttggcgagccggtatttgaccgcctggacgccgatatcgcccacgcgctgatgagcattaacgccgtgaagggcgtggaaatcggcgacggtttcggcgtggtgcaactgcgcggcagccagaaccgcgacgaaatcaccactgccggt 501 0f0f9857bf1a241d30e925bee1a20ed5 tgsgdfvavlaaaqlhhaetvadfhalhgvnahqrvgdigvqavkyrlakpgghavghhgdfradgialffqsahqliqrldfirvraeervllylipvfdfqrnithlgqaaanhhaeflrqiffgdsacrdahggftgg*tpaaaivaqavflfvgvirvprteh 167 590317e9c5f0b1d9bba495d28fa3be34 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 1 0 +14 sucA sucA_1 1 aaacgcttcctgaacgaactgaccgccgctgaagggctggaacgttatctgggcgccaaattcccgggtgcgaaacgtttctcgctcgaggggggagatgcgctgatacctatgctgaaagagatggttcgccatgcgggtaacagcggcactcgcgaagtggtgctggggatggcgcaccgcggtcgtctgaacgtgctgatcaacgtactgggtaaaaaaccgcaggatctgttcgacgagtttgccggtaaacataaagaacatctgggtaccggcgacgtgaagtatcacatgggcttctcgtcagatatcgaaactgaaggcggtctggttcacctggcgctggcgtttaacccatcgcatctggaaattgtgagcccggtggtgatgggctccgtgcgcgcccgtctggaccgactggacgaaccgagcagtaataaagtgctgccgatcactattcacggcgacgccgcggtgaccggccagggcgtggttcag 501 9289fc07cc8e93cfe0716e6f613cefdb lnhalaghrgvavnsdrqhfitarfvqsvqtgahgahhhrahnfqmrwvkrqrqvnqtafsfdi*reahvilhvagtqmffmftgklveqilrfftqyvdqhvqttavrhpqhhfasaavtrmanhlfqhryqrispleretfrtrefgaqitfqpfsggqfvqeaf 167 2a095e05f74d50596600727568f49001 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 1 0 +15 sucA sucA_30 30 aaacgcttcctgaacgaactgaccgctgcagaagggctggaacgttatctgggggcaaaattccctggcgcgaaacgtttttcgctggaaggcggcgatgcgttaattccgatgctcaaagagatggtccgccatgcgggcaacagcggcacccgcgaagtggtgttgggaatggcgcaccgtggtcgcctgaacgtactggtcaacgtgctgggtaaaaaacctcaggatctgtttgacgagtttgccggtaaacataaagaacatttgggcaccggcgacgtgaagtaccatatgggtttctcgtcggatatcgaaaccgaaggcggactggttcacctggcgctggcgtttaacccgtcgcacctggaaatcgtcagcccggtagtgatggggtctgtgcgcgcacgtctcgaccggctcgacgaaccgagcagcaacaaagtgttgccaatcaccattcatggtgatgcagcagttaccgggcagggcgtggttcag 501 3bdbb95238fe98cb879d0f158c101d73 lnhalpgnccitmngdwqhfvaarfvepvetcahrphhyraddfqvrrvkrqrqvnqsafgfdirrethmvlhvagaqmffmftgklvkqilrfftqhvdqyvqattvrhsqhhfagaavarmadhlfehrn*riaafqrktfrarefcpqitfqpfcsgqfvqeaf 167 a8a6cdbc3d562b943a9b25a67fbf85fb 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 1 0 +16 sucA sucA_281 281 aaacgcttcttaagcgaactgaccgccgctgaaggccttgaacgttacctcggcgcaaaattccctggcgcaaaacgcttctcgctggaaggcggtgacgcgttaatcccgatgcttaaagagatgatccgccacgctggcaacagcggcacccgcgaagtggttctcgggatggcgcaccgtggtcgtctgaacgtgctggtgaacgtgctgggtaaaaaaccgcaagacttgttcgacgagttcgccggtaaacataaagaacacctcggcacgggtgacgtgaaataccacatgggcttctcgtctgacttccagaccgatggcggcctggtgcacctggcgctggcgtttaacccgtctcaccttgagattgtaagcccggtagttatcggttctgttcgtgcccgtctggacagacttgatgagccgagcagcaacaaagtgctgccaatcaccatccacggtgacgccgcagtgaccgggcagggtgtggttcag 501 9a8451cee3eb2f94d25b8d96750916b6 lnhtlpghcgvtvdgdwqhfvaarliksvqtgtnrtdnyraynlkvrrvkrqrqvhqaaiglevrreahvvfhvtraevffmftgelveqvlrfftqhvhqhvqtttvrhpenhfagaavasvadhlfkhrd*rvtafqreafcarefcaevtfkafsggqfa*eaf 167 b76109e3db69b8163829ca47954548b3 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 2 0 +17 sucA sucA_399 399 aaacgcttcctcagcgaactgactgcagcggaaggtctggaacgctacctgggcgcgaaattcccgggcgcgaaacgcttctcgctggaaggcggtgatgcgttaatcccaatgctcaaagagatgatccgccacgccggtaacagcggtacccgtgaagtggtactgggtatggcgcaccgtggtcgtctgaacgtcctggttaacgtgctgggtaaaaagccgcaggatctattcgacgaatttgcgggcaaacataaagaacacctcggtaccggtgacgtgaagtaccacatgggcttctcatcggatatcgaaaccgaaggcggtctggtgcatctggcgctggcgtttaacccgtcgcacctggaaatcgttagcccggtggttatcggttccgtacgtgcacgcttggatcgtctggacgagccgagcagcaataaagtgctgccaatcactattcatggtgatgcggcagtaaccgggcaaggcgtggttcag 501 f983f99dcd804608db69f6ba15de6f28 lnhalpgycritmnsdwqhfiaarlvqtiqactygtdnhrandfqvrrvkrqrqmhqtafgfdir*eahvvlhvtgtevffmfarkfve*ilrlftqhvnqdvqtttvrhtqyhftgtavtgvadhlfehwd*ritafqreafrarefraqvafqtfrcsqfaeeaf 167 f730e7fa42d2b600b3efe6fa139c2a86 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 3 0 +18 sucA sucA_571 571 cgtactttccttgaagagctgactgccgctgaaggtttagagcgctatcttggtgcgaaattccctggtgctaaacgtttctctctcgaagggggggatgccttagttccgatgaccaaagagatgatccgtcacgcgggtgccagtggcatgcgtgaagtggtgattgggatggcgcaccgcggtcgcttgaacatgctggtcaacgttctgggtaaaaaaccgcaagatctgtttgatgagtttgccggtaaacatggcgaaggctggggcacaggtgatgtgaaatatcaccaaggtttctccgctgactttgcgacaccgggcggtgatgttcacttagcactggctttcaacccatcgcatcttgagattgtgaaccctgttgtgatgggttcagttcgcgcgcgtcaagaccgcctaggtgatgaagatggcagtaaagtgctacctatcactatccatggtgactctgcgattgccggacaaggtgtggtggct 501 a06848579c79a0376228a0e33eec04d0 shhtlsgnrrvtmdsdr*hftaifit*avltran*thhnrvhnlkmrwvesqc*vnitarcrkvsgetlvifhitcapafamftgklikqilrfftqnvdqhvqatavrhpnhhfthatgtrvtdhlfghrn*gippferetfstrefrtkial*tfsgsqlfkest 167 a2521c951312f125fa8ae59065a6f050 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 6 0 +19 sucA sucA_579 579 ttgaacaaccccttgacctgtcaccgccgcatcgccatgaatagtgataggaagcaccatattgctccgtgcttcatctaaacgatcgcgacgagcacgcacagaaccaataacaactgggctaacaatctctaggtgagatgggttaaaggctagtgcaagatggacttgagccccttctgtcgcaaaatcagatgaaaaaccttggtggtatttaacatcacctgttcccagatgttctttatgaatacccgcaaattcatcaaataaatcagcgggttttttacccaggatattaacaagaacgttcaagcgaccgcggtgcgccataccaagaaccacttcgcgagtgtcttgtttacctgcatgacgaattaaatcttttaacattggaattaatgcatcaccaccttctaaagagaagcgttttgcaccagggaattttgcacctaaatagcgttctaacccttcagcggctgttagctctgctaggaagcgtaa 501 cd559e65e3a1807aa4a453dc5de67e83 lrflaeltaaeglerylgakfpgakrfsleggdalipmlkdlirhagkqdtrevvlgmahrgrlnvlvnilgkkpadlfdefagihkehlgtgdvkyhqgfssdfategaqvhlalafnpshleivspvvigsvrarrdrldearsnmvlpitihgdaavtgqgvvq 167 8c740ee24bd6d2fa21870c5022f04b17 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 +20 sucA sucA_686 686 aaacgcttcctgagcgagctgaccgcagccgaaggccttgagcgctacctgggcgcgaagttcccgggcgcgaaacgcttctcgctggaaggcggcgacgcgctgatcccgatgctgaaagagatgattcgccacgcgggcaacagcggcacgcgtgaagtggtgctgggtatggcgcaccgcggtcgtcttaacgtgctggttaacgtgctgggtaaaaaaccgcaggacctgttcgacgagttcgcgggcaaacacaaagaacaccttggcaccggcgacgtgaagtaccacatgggcttctcgtcagatatcgaaactgaaggcggcctggttcacctggcgctggcgtttaacccgtcgcacctggaaatcgttagcccggtggtaattggttcggtacgtgcccgtctggatcggctggacgagccgagcagcaacaaagtactgccgatcaccattcacggcgacgccgcggtgaccggtcagggcgtggttcag 501 1182117b49387c4fbf10d52861591fe4 lnhaltghrgvavngdrqyfvaarlvqpiqtgtyrtnyhrandfqvrrvkrqrqvnqaafsfdi*reahvvlhvagakvffvfarelveqvlrfftqhvnqhvkttavrhtqhhftraavarvanhlfqhrdqrvaafqreafrarelraqvalkafgcgqlaqeaf 167 9e328024b3f591b35fde3cfcd0c8d035 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 1 0 +21 hisD hisD_1 1 attgcgggatgccagaaggtggttctgtgctcgccgccacccatcgctgatgaaatcctctatgcggcgcaactgtgtggcgtgcaggaaatctttaacgtcggcggcgcgcaggcgattgccgctctggccttcggcagcgagtccgtaccgaaagtggataaaatttttggccccggcaacgcctttgtaaccgaagccaagcgtcaggtcagccagcgtctcgacggcgcggctatcgatatgccagccgggccgtctgaagtgctggtgatcgccgacagcggcgcaacaccggatttcgtcgcttctgacctgctctcccaggctgagcacggcccggattcccaggtgatcctgctgacgccggatgctgacattgcccgcaaggtggcggaggcggtagaacgtcaactggcggaactgccgcgcgcgggcaccgcccggcaggccctgagcgccagtcgtctgattgtgaccaaagatttagcgcagtgcgtc 501 38027ac1ac34817584a176c7e575e97e dalr*ifghnqttgaqglpggararqfrqltfyrlrhlagnvsirrqqdhlgiravlslgeqvrsdeirccaavgdhqhfrrpgwhidsravetladltlgfgykgvagaknfihfryglaaegqsgnrlraadvkdflhatqlrriedfisdgwrraqnhllasrn 167 e42065a5a79001c24e110fa0841417c2 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 1 0 +22 hisD hisD_754 754 attgccggatgcaaaaaagtggtgttgtgctcgccaccgcctatcgcggatgaaatcctttacgctgcgcagctgtgcggcgtgcaggaaatcttcaacgtcggcggcgcccaggccattgccgctctggcgttcggcagcgaatccgtgccaaaagtggacaaaatttttggccccggcaacgcgtttgtcaccgaggcgaaacgccaggtcagccagcgtctcgacggcgcggcaattgatatgcctgccggcccttctgaagtgctggtgatcgccgacagcggcgccacgccagatttcgtggcgtctgacctgctctctcaggcggaacacggcccggattctcaggtcatcctgctgaccccggatgccggtattgcgcagaacgtcgcagaggccgtcgaacgccagttagcggagttaccgcgtgcagaaacggcgcgtcaggcattaagcgccagccgtctgatcgtgacgaaagacttagcccagtgcgtc 501 3da72af86c72559acb4b898ab72e77c3 dalg*vfrhdqtaga*cltrrfctr*lr*lafdglcdvlrntgirgqqddlriravfrlreqvrrheiwrgaavgdhqhfrragrhincravetladlafrlgdkrvagaknfvhfwhgfaaerqsgnglgaadvedflhaaqlrsvkdfirdrrwraqhhffasgn 167 3cbdd733f544e711a28f641073f1c5e7 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 4 0 +23 hisD hisD_757 757 attgcaggctgtaaaaaagtggtgttgtgctctcccccacctatcgccgatgaaattctgtatgctgcgcagctctgcggcgtacaggatgtgtttaacgttgggggcgcacaagctattgccgcgctggcatttggcagtgaatccgtgccgaaagtggacaaaatttttggccccggtaatgcctttgtgaccgaagccaaacgtcaggtgagtcagcgtctggacggcgccgccatcgatatgccagcaggtccgtctgaagtgctggtgattgccgacagcggcgccacgccggatttcgttgcctctgacttactctcgcaggccgaacacggccccgattcccaagtgatcctgctgacgccggatgccggtatggccagccgggttgctgaagcagtagaacgccagcttgcagcgctgccacgcgctgaaaccgcgcggcaggcgttaagcgccagtcgtctgattgtcacccgctcccttgcgcaatgcgta 501 bc7a1a0abdaa5fdbeb4f22e4e007f94e yalrkgagdnqttga*rlprgfsawqrcklafycfsnpaghtgirrqqdhlgigavfglre*vrgneirrgaavgnhqhfrrtcwhidggavqtlthltfgfghkgitgaknfvhfrhgftakcqrgnslcapnvkhilyaaelrsiqnfigdrwgraqhhfftacn 167 845151c0e3654de2c9c2d75920b099b2 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 2 0 +24 hisD hisD_759 759 attgcgggctgtaaaaaagtggtgctgtgctcaccgccgccgattgccgatgagatcctttacgcggcgcagctgtgcggtgtgcaggacgtgtttaacgtcggcggcgcacaggccattgccgcgctggcgtttggtacagaatccgtgccgaaagtggacaaaatcttcgggccaggtaacgcctttgtcaccgaggcaaaacgtcaggtgagccagcgtctggacggtgcggcgatcgatatgcccgcaggcccgtcggaagtgctggtgattgctgacagcggcgcaacgccggatttcgtggcttctgatttgctctcccaggctgaacacggcccggactctcaggtgattttactgacgcccgctgctgatatggcgcgtcgcgtagccgaagctgtcgaacgccagctggcagaactgccgcgagctgaaaccgcccgccaggcactgaacgccagccgcctgatcgtgactaaagatttagcgcagtgcgtg 501 592d08e6845ca66d7cf7e471208ce8a1 halr*ifshdqaagvqclaggfssrqfcqlafdsfgyatrhissgrq*nhlrvravfslgeqirsheirrcaavsnhqhfrracghidrrtvqtlahltfclgdkgvtwpedfvhfrhgfctkrqrgnglcaadvkhvlhtaqlrrvkdlignrrr*aqhhfftarn 167 295d8bb3ae3fa3f56ea39325681da124 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 3 0 +25 hisD hisD_768 768 attgccggttgtcagaaggtggtgctctgctctcctccaccgatcgccgatgagatcctgtacgcggcgaagctgtgcggcgtgcaggcgatctataaagtgggcggtgcgcaggcgatttctgccctggcgttcggaacagtatccattcctaaggtcgacaaaatctttggcccgggcaatgcctacgtgaccgaggcgaagcgccaggtcagccagcgtctggacggcgcggcgattgatatgcctgccggtccgtctgaagtgctggtgattgccgacagcggcgctacaccggatttcgtggcctctgacctgctctcgcaggccgagcacggccctgactcgcaggtgattttactgacgccagatgccgacatggcaaaacgcgtgggcgacgccgttgagcgtcagctggctgacctgccgcgggcggaaacggcgcgtcaggcgctatccgccagccgcctgattgtggcccgcgatcttgaccagtgcatc 501 ffdd01acd136272eb2fc9b1fedc55307 dalvkiaghnqaagg*rltrrfrprqvsqltlngvahafchvgiwrq*nhlrvravlglreqvrgheircsaavgnhqhfrrtgrhinrravqtladlalrlghvgiarakdfvdlrngycserqgrnrlrtahfidrlhaaqlrrvqdligdrwrraehhllttgn 167 dcb92a8a8fab221b3b122951e5b1ef86 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 2 0 +26 hisD hisD_838 838 atcgccggctgtaaaaaagtggtgctgtgctcgccgccgccgattgccgatgaaatcctctacgccgcgcaactctgtggcgtgaaagaagtgtttaacgtgggtggcgcacaggccattgccgcgctggcgctgggcacggagtctattccaaaagtcgataaaatctttgggccgggcaacgcctatgtgaccgaagccaagcgccaggtcagccagcgtcttgacggcgcggcaatcgatatgcccgccggaccgtccgaagtattggttatcgccgacagcggcgcaacgccggattttgtcgcctccgacctgctttctcaggccgagcacggcccagactcgcaggtgatcctgctgacgccggacgctaagcttgccgagggcgtggccgaagccgttgaacgccagctcgccgagctgtcccgcgccgacaccgcgcgtcaggcgctctccgccagccgtttaatcgtagcgaaagatctggcgcagtgcgtg 501 d5bb90ec021ddeea1f647c4672a3c971 halrqifryd*taggerltrgvgagqlgelafngfghalgklsvrrqqdhlrvwavlglrkqvggdkirrcaavgdnqyfgrsgghidcravktladlalgfghigvarpkdfidfwnrlraqrqrgnglcathvkhffhatelrgvedfignrrrraqhhfftagd 167 b4efad1fa1a8aff3d5df051a8938f6ab 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 1 0 +27 hisD hisD_907 907 atcgcgggctgtaaaaaagtggtgctgtgctcgccgccgccgattgccgatgaaatcctctatgcggcgcgtttgtgcggggtacagcaggtctatcaggtgggcggcgctcaggccatcgcggcgctggcgtttggcaccgagaccgtacccaaagtggacaaaatcttcgggccgggcaatgcgtttgtcaccgaagccaaacgtcaggtcagccagcggctggatggcgcggcgattgatatgcctgccgggccgtctgaagtgctggtgatcgccgatagcggcgcgaccacggatttcgtggcctcggatttgctgtcccaggcggaacacggcccggattcgcaggtgatcctgctgacaccggacagcgccatggcgcaggcggtggccgacgcggttgagcgtcaactcgccgaactgccgcgcgcggaaacagctcgccaggcgctggcggaaagccgcctgattgtggcgcgcgatttagcgcagtgcgtg 501 190ffa60b51ccafaf08a796b5fdec8ce halr*iarhnqaafrqrlascfrarqfgeltlnrvghrlrhgavrcqqdhlriravfrlgqqirgheirgraaigdhqhfrrpgrhinrraiqpladltfgfgdkriarpedfvhfgyglgakrqrrdglsaahlidllypaqtrriedfignrrrraqhhfftard 167 3b044c3311488f4a5a48c6d1d21a61e2 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 1 0 +28 dnaN dnaN_1 1 atggagatggtcgcgcgcgttacgctttctcagccgcatgagccaggcgccactaccgtgccggcgcggaaattctttgatatctgccgcggcctgccggagggcgcggagattgccgttcagttggaaggcgatcggatgctggtgcgttctggccgtagccgcttctcgctgtctacgctgcctgccgccgatttcccgaatcttgacgactggcaaagcgaagttgaatttacgctgccgcaggccacgatgaagcgcctgattgaagcgacccagttttcgatggcccatcaggatgtgcgctactacttaaacggtatgctgtttgaaacggaaggtagcgaactgcgcactgttgcgaccgacggccaccgtctggcggtgtgctcaatgccgctggaggcgtctttacctagccactcggtgattgtgccgcgtaaaggcgtgattgaactgatgcgtatgctcgacggtggcgaaaacccgctgcgcgtgcag 501 2772ad8b8e0f7b50f1396c31fbe53f2d lhaqrvfatvehthqfnhaftrhnhrvar*rrlqrh*ahrqtvavgrnsaqfatfrfkqhtv*vvahilmghrklgrfnqalhrglrqrkfnfalpvvkireiggrqrrqreaatarthqhpiafqlngnlralrqaaadikefprrhgsgawlmrlrkrnardhlh 167 ff63f6af4382d009ba98754cc9edce59 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 3 0 +29 dnaN dnaN_120 120 atggagatggtcgcgcgcgttacgctttctcagccgcatgaacccggcgctactaccgtgccggcgcggaaattctttgatatctgccgtggcctgccggaaggggcggaaatcgccgttcagctggagggcgatcggatgctggtgcgttctggccgtagtcgcttttcgctgtctaccttaccggcagcagacttcccgaatctggatgactggcaaagcgaagtggaattcacgctgcctcaggcgacgatgaaacgcttgattgaggccacccagttttcgatggcccatcaggacgtgcgctactacctgaacggtatgttgtttgaaacggaaggaagcgaactgcgcaccgtcgcgaccgacggccaccgtctggcggtctgttcaatgccgctggaggcctctttaccgagccattcagtgatcgtaccgcgtaaaggcgtgattgaactgatgcgtatgcttgacggcggtgaaaatccactgcgtgtacag 501 df91976ce1603709845081913615964e lytqwiftavkhthqfnhaftrydh*mar*rglqrh*tdrqtvavgrdgaqfasfrfkqhtvqvvahvlmghrklgglnqafhrrlrqrefhfalpviqirevccr*grqrkattarthqhpialqlngdfrpfrqatadikefprrhgssagfmrlrkrnardhlh 167 bc3fa9ebfd815f0a5796aecaf3912be8 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 4 0 +30 dnaN dnaN_555 555 atggaaatggtggcgcgcgttgcgttgattcagcctcatgaaccaggcgcaactaccgtcccggcgcggaaattctttgatatctgccgtggcttgccggaaggggctgaaattgccgtccagctggaaggcgatcggatgctggtgcgctccgggcgtagccgtttctcgctttccacgctgcctgccgccgatttccctaatctggatgactggcagagcgaagtcgaattcaccctgccgcaggcaacgatgaagcgcctgattgaagccacccagttctcaatggcgcatcaggacgtgcgttactacttaaacggcatgctgtttgagactgaaggtgaagagttgcgtaccgtcgcgaccgacggtcaccgtctggcggtctgctctatgccggtcgggcaatctctgcctaaccattcggtgattgtgccgcgtaaaggcgtgattgagctgatgcgtatgctcgacggcggcgaaaccccgctgcgcgtacag 501 f3f1097ff3bc60d777a67962bdc0c169 lyaqrgfaavehthqlnhaftrhnhrmvrqrlpdrhradrqtvtvgrdgtqlftfslkqhav*vvthvlmrh*elggfnqalhrclrqgefdfalpviqireiggrqrgkretatpgahqhpiafqldgnfspfrqatadikefprrdgscawfmrlnqrnarhhfh 167 7c68d8fd496a578f138e01bdd3b53811 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 2 0 +31 dnaN dnaN_557 557 atggagatggtggcgcgcgtggcgctgatccagcctcatgaacctggtgcgaccaccgttccggcgcgtaaattcttcgatatttgccgtggattaccagaaggggcggaaattgccgttcaactggaaggcgaccgtatgctggtgcgttctggccgcagccgtttctcgctgtctacgctgcctgccgccgacttcccgaatctggacgactggcagagcgaagtcgaattcaccctgccacaggcgacaatgaagcgcctgattgaagccacgcagttttcgatggcgcatcaggacgtgcgttactacttaaacggcatgctgtttgaaaccgaaggggaagagttgcgtaccgtggcgaccgacggtcaccgcctggcggtctgttcaatgcctgtcggtcagccgttgcctagccattcggtgatcgtaccgcgtaaaggtgtgattgaactgatgcgtatgctcgacggcggcgataacccgctgcgcgtgcag 501 e4ce373ae223f287187fc58f35c5c532 lhaqrviaavehthqfnhtftrydhrmarqrltdrh*tdrqavtvgrhgtqlfpfgfkqhav*vvthvlmrhrklrgfnqalhcrlwqgefdfalpvvqirevggrqrrqretaaarthqhtvafqlngnfrpfw*stanieeftrrnggrtrfmrldqrharhhlh 167 68553d836b8fb3a17d28ae61857ac19b 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 3 0 +32 dnaN dnaN_558 558 atggaaatggtggcacgcgttgcgctggttcagccgcacgaaccaggggcgacgaccgttccagcgcgcaaattctttgatatctgccgtggtctgcctgaaggcgcggaaattgccgtgcagctggaaggtgagcggatgctggtgcgctccgggcgtagccgtttttcgctgtctaccctgccagcggcggatttcccgaatctcgatgactggcagagcgaagtcgaatttaccctgccgcaggcgacgatgaagcgtctgattgaagcgacccagttttctatggcgcatcaggacgttcgctattacttaaacggtatgctgtttgaaaccgaaggtgaagaactgcgcaccgtggcgaccgacggccaccgtctggcagtctgttcaatgccaattggtcaatctttgccaagccattcggtgatcgtgccgcgtaaaggcgtgattgaactgatgcgtatgctcgacggcggcgacaatccgctgcgcgtgcag 501 5cd4917d7e006de777df59e6d4ced9c8 lhaqrivaavehthqfnhaftrhdhrmawqrltnwh*tdcqtvavgrhgaqfftfgfkqhtv*vianvlmrhrklgrfnqtlhrrlrqgkfdfalpvieireirrwqgrqrktatpgahqhpltfqlhgnfrafrqttadikefarwngrrpwfvrlnqrnachhfh 167 d009cf4509dd129cd82e50ca41240bf2 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 2 0 +33 dnaN dnaN_563 563 atggaaatgatcgcgcgcgttacgctgactcagccgcacgacgcgggcgcgaccacggttccggcacgtaaattctttgatatttgccgtgggctgccggaaggcgctgaaatcgcagtgcagctggagggcgaccgcatgctggtgcgctctggccgcagccgtttctccctctccacgttgcccgctgcggacttcccgaacctggatgactggcagagcgaagttgaatttaccctgccgcaggcgacgatgaagcgtctgattgaagccacgcagttctccatggcgcatcaggacgttcgttactacttaaacggcatgctgttcgaaaccgaaggtgaagagctgcgtaccgtggcgaccgacggtcaccgtctggcggtttgttccatgccgattggcgattcactgccaaaccattcggtgatcgtaccgcgtaaaggcgtaattgaactgatgcgtatgctcgacggcggtgaaacgccgctgcgcgtgcag 501 524818b141511aac4b59810aa321cd8a lhaqrrftavehthqfnyaftrydhrmvwq*ianrhgtnrqtvtvgrhgtqlftfgfeqhav*vvtnvlmrhgelrgfnqtlhrrlrqgkfnfalpviqvrevrsgqrgegetaaarahqhavalqlhcdfsafrqptanikeftcrnrgrarvvrlsqrnardhfh 167 161337a8e9d3969f186d23362b31cd91 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 2 0 +34 dnaN dnaN_633 633 atggagatgatcgcgcgtgtggcgctgtcgctaccgcaccaggcgggcgcgaccaccgtgccggcgcgcaaattcttcgatatctgccgtggcttgccggaaggggcggaaatcgccgttacgctggaaggcgacagaatgctggtgcgctccgggcgcagccgcttctcgctgtctacgttaccggcggcagacttcccgaatctggacgactggcagagcgaagtggagttcacgctcccgcaggccaccatgaagcgcctgatcgaagcgacccagttctccatggcccatcaggacgtgcggtattacctgaacgggatgctgtttgaaaccgaaggcgaagagctgcgcaccgtggcgactgacggccaccgtctggcggtatgcgcgatgccggtaggccaaccgctgccaaaccattcggtgattgtaccgcgtaaaggcgtgctggagctgatgcgtatgctcgatggcggcgacagcccgctgcgcattcag 501 84646ea621236106f3507c23a09aa1e4 lnaqravaaiehthqlqhaftrynhrmvwqrlayrhrayrqtvavsrhgaqlfafgfkqhpvqviphvlmghgelgrfdqalhgglrerelhfalpvvqirevcrr*rrqreaaapgahqhsvafqrngdfrpfrqatadieefarrhggrarlvr*rqrhtrdhlh 167 2e077a6267993553735cd9efaa9ca686 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 2 0 +35 purE purE_24 24 agcgactgggctaccatgcaattcgccgccgaaatttttgacattctggatattccgcaccatgtcgaagtggtttctgctcaccgtacccccgataaactgttcagctttgccgaaaatgctgaagaaaacggctttcaggtaattattgccggcgcgggcggcgcggcgcatctgccaggaatgattgcggcaaaaacgctggtgccggtacttggcgttccggtacaaagcgctgcgctaagcggtgtggacagtctctattctattgtacagatgccgcgcggtattccggttggcacactggccatcggcaaagctggcgccgctaacgcggcgctgctggcggcgcaaattctggccacccacgataacgcactgcatcagcgccttcgcgac 399 1b307f1c0ca5eada675ef7b59e07104c vakalmqcvivggqnlrrqqrrvsgasfadgqcanrntarhlynrietvhta*rsalyrnakyrhqrfcrnhswqmrraaragnnylkavffsifgkaeqfiggtvsrnhfdmvrniqnvknfggelhgspva 133 daf237e212998f3628407746ac17c554 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 1 0 +36 purE purE_48 48 agcgactggactaccatgcaattcgccgccgaaatttttgaaattctggatgttccgcaccatgtagaagtggtttccgcccatcgaacccctgataaactgttcagcttcgccgaaacggcggaagagaacggatatcacgtgattattgccggcgcgggcggcgcggcgcatctgccgggaatgattgcggcaaaaacattggtgccggtactcggcgttccggtacaaagcgcagcattaagcggtgtggatagcctttactccattgttcagatgccgcgtggcattccggtgggtacactggctatcggcaaagccggggctgcgaacgccgcgctgctggcagcgcaaattttggccacacacgataatgcgctgcaccagcgcctgagcaac 399 361b0ec93034c2b740160e0e019c2fa6 vaqalvqriivcgqnlrcqqrgvrspgfadsqcthrnatrhlnngvkaihta*ccalyrnaeyrhqcfcrnhsrqmrraaragnnhvisvlfrrfgeaeqfirgsmggnhfymvrniqnfknfggelhgspva 133 875049bb8d03f81dfc0c1c33e517d05b 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 1 0 +37 purE purE_317 317 agcgactgggctaccatgcagttcgccgcagaaatcctcgatattctgaacgtacctcaccatgttgaagtggtttccgcccaccgcacgcccgataaactgttcagcttcgccgaagacgccgaaagcaacggttatcaggtgattattgccggtgccggcggcgctgcgcacttacccggaatgattgccgccaaaacgctggtcccggtattaggtgtacccgtccagagcgccgcattaagcggtgtcgatagcctctactccatcgtgcagatgccgcgcggcattccggtcggtacgctggcgatcggtaaagccggtgccgctaacgccgccctgctcgccgcgcagattctggcgcaacacgacgcggaactgcatcagcgcatcgccgac 399 6c65eb39ead85a54d8f1b918c4b9f1a2 vgdalmqfrvvlrqnlrgeqggvsgtgftdrqrtdrnaarhlhdgveaidta*cgaldgyt*yrdqrfggnhsg*vrsaagtgnnhlitvafgvfgeaeqfigravggnhfnmvryvqniedfcgelhgspva 133 7ede1b2de0b159c0fc2d6c33c357f7b0 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 3 0 +38 purE purE_487 487 agcgactgggctaccatgcagttcgccgtcgaaatcttcgaaatcctgaatgtcccgcaccacgttgaagtggtttctgctcaccgcacccccgataaactgttcagcttcgccgaaagcgccgaagagaacggttatcaggtgattattgcgggcgcaggcggcgcagcgcacctgccaggcatgattgccgccaaaacgctggtgccggtgctgggcgtgccagtacagagcgccgcactgagcggtgtcgatagcctctactccatcgtacaaatgccgcgcggcattccggtgggtacgctggcgattggtaaagctggcgcggcaaacgcggcattactggcagcacaaattctcgcgactcacgataaagagctacaccagcgtctgaatggc 399 3c399fc323d79a41545d08ddebe65fab aiqtlv*lfivsrenlccq*crvcrasftnrqrthrnaarhlydgveaidtaqcgalywhaqhrhqrfggnhawqvrcaacarnnhlitvlfgafgeaeqfiggavsrnhfnvvrdiqdfedfdgelhgspva 133 fef449e158f95fa2e76e034f263d8b3a 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 2 0 +39 purE purE_608 608 agcgactgggctaccatgcagtttgccgccgaaatcttcgatatcctgaacgttccacaccacgttgaagtggtttccgcacaccgcacccccgataagctgttcagcttcgccgaaagcgccgaagagaagggttatcaggtgattattgccggtgctggcggcgcggcgcatctgccgggaatgattgcggcaaaaacgctggtgccggtactgggcgtgccggtgcaaagcgctgcgctgagcggcgtggacagcctctactctatcgtccagatgccgcgcggcattccggtcggcacgctggcgatcggcaaagcgggcgcggcgaacgcggcgttactggcagcgcaaattctggcgacacacgataaagacctgcgccaacgtctggcggac 399 b433065a6eb1e02b7472c3a976ed6902 vrqtlaqvfivcrqnlrcq*rrvrrarfadrqradrnaarhlddrveavhaaqrsalhrhaqyrhqrfcrnhsrqmrraastgnnhlitllfgafgeaeqliggavcgnhfnvvwnvqdiedfggklhgspva 133 d0c14725b14a942f06c0871dded0d9fd 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 1 0 +40 purE purE_611 611 agcgactgggctaccatgcagttcgccgccgaaatcttcgaaatgctggacgttccgcaccatgttgaagtcgtctcagcccaccgtacccctgataaactgttcagcttcgccgaaagcgctgaagaaaacggttatcaggttattattgcgggtgctggcggtgcagcgcatctgccgggcatgattgcagcgaaaacgctggtccccgtgttaggcgttccggtacaaagcgcagcgttgagcggcgtagatagcctctactcaatcgtgcagatgccacgcggcatccccgtgggtacgctggcgattgggaaagcgggtgcggcaaatgcggccctgctggcagcacaaattctggcaacacacgacaaagcattacatcagcgtctgagcgac 399 21a3872388757fcc9db29c7a568ad0ae vaqtlm*cfvvccqnlccqqgricrtrfpnrqrthgdaawhlhd*veaiyaaqrcalyrna*hgdqrfrcnharqmrctastrnnnlitvffsafgeaeqfirgtvg*ddfnmvrnvqhfedfggelhgspva 133 d46b1bb1b5f068cecf01b032f3fc9310 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 4 0 +41 purE purE_612 612 agtgactgggcaaccatgtctcatgccgcagatgtattagatacactacaaattccttaccatgttgagattgtctctgcacaccgaacccctgataagttatttagttttgctgaaaaagcaaaaagtaatggctttgatgtcattattgctggtgcaggaggagctgcccatttaccaggaatgcttgcagctaaaacgttagtacccgtatttggtgttcctgttcaaagtgcgacattaagcggtgttgatagcctctattcaatcgtacaaatgccaaaaggtatccctgtaggaaccttagcgattggtaaagcaggggctgccaatgcggctttattagcggctcaagttttagcgttacattctcctgctattttagatgcattgactgca 399 4447303168d35b88ef6de3c057ec5689 csqci*nsrrm*r*nlsr**srigspcftnr*gsyrdtfwhlyd*ieainta*crtlnrntkygy*rfsckhsw*mgsssctsnndikaitfcffsktk*lirgsvcrdnlnmvrnl*ci*yicgmrhgcpvt 133 f4b2b45174d499457fb2ce5f9ddf1193 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 13 0 +42 purE purE_619 619 agcgactgggctaccatgcagttcgccgccgaaatctttgaaatcctgaatgttccgcaccacgtcgaagtggtttccgcacaccgtaccccggacaaactgttcagcttcgccgaaagcgccgaagagaacggttacgaggtgatcattgccggtgcgggcggcgcagcacatctgccgggcatgattgccgccaaaacgctggtgccggtactgggtgttcccgtgcaaagcgccgcgttaagcggggtggatagcctttactctattgtccagatgccgcgcggtattcctgtcggtaccctggcgattggtaaagcaggtgcggcaaatgccgccctgctggccgcgcagatcctggcgacgcatgataaagatttgcaccagcgtctggcggag 399 522ed6efab35d51c2778faae0cfc32b1 lrqtlvqifimrrqdlrgqqggicrtcftnrqgtdrntarhldnrvkaihpa*rgalhgntqyrhqrfggnharqmccaartgndhlvtvlfgafgeaeqfvrgtvcgnhfdvvrniqdfkdfggelhgspva 133 7ee95985f3b0b80463c066a7d5efbc8e 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 1 0 +43 purE purE_631 631 agcgactgggctaccatgcaattcgccgccgaaacggcggaagagaacggatatcaagtgattattgccggcgcgggcggcgcggcgcacctgccgggaatgattgcggcaaaaacgctggtcccggtactcggcgtgccggtacaaagcgctgcgctaagcggcgtggatagcctttactccattgtgcagatgccgcgcggcattccggtgggtacgctggcgatcggtaaagccggtgcggctaatgccgccctgctcgccgcgcagattctggcgcaacacgacgcggaactgcatcagcgcatcgccgac 315 5512223818366200f9776177ff26f5c4 vgdalmqfrvvlrqnlrgeqggisrtgftdrqrthrnaarhlhngvkaihaa*rsalyrhaeyrdqrfcrnhsrqvrraaragnnhlisvlfrrfggelhgspva 105 5c4ffd9553d1eb799f5e406f2eaf9307 220.5 409.5 73.5 136.5 80.0 64.0 80.0 80.0 1 0 +44 purE purE_691 691 ctcagccagacgctgatgcaattctttgtcgtgtgttgccagaatttgcgcggccagcagggccgcattggccgcgcccgctttgccgatcgccagcgtgcccaccggaataccgcgaggcatttgaacgatggaataaaggctatctacgccgctcaacgctgcgctttgtaccggaacgcctaaaacaggcaccagcgttttcgccgcaatcattccaggcaaatgtgcagcaccaccagcaccggcaataatcacctgatagccgttctcttcagcgccttcggcgaaactgaacagtttgtctggggtacggtgagcagagacgacctcaacatgatgtggaacgtccaacatttcgaagatttcggcggcgaactgcatggtagcccagtcgct 399 b3620212b3f2d469b10f9b1c2ad6503b sdwatmqfaaeifemldvphhvevvsahrtpdklfsfaegaeengyqviiagaggaahlpgmiaaktlvpvlgvpvqsaalsgvdslysivqmprgipvgtlaigkagaanaallaaqilathdkelhqrlae 133 ba861d020d1b7072147abb76835615f5 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 0 0 +45 purE purE_724 724 agcgactgggccaccatgcagcatgccgctgaaattcttgatgcccttgatgttccttaccatgttgaagtggtttccgctcaccgcacgcctgataagcttttcagctttgctgaatccgcgcagcacaacggttatcaggtgattattgctggcgcaggcggtgcggcgcatctgccgggcatgatcgccgcgaaaaccctggtgccggtattaggcgtgccggtgcaaagcgcggccctgagcggcgtggacagcctctactctatcgtgcaaatgccgcgcggcattccggtagggacgctggcgatcggcaaagcgggtgctgcaaacgccgcactgctggcggcgcagatcctcgcccagcatgacgatgcgctactggcgcgtctggcggca 399 24fdade0d73567c971ce39342d8124d7 crqtrq*rivmlgedlrrqqcgvcstrfadrqrpyrnaarhlhdrveavhaaqgralhrha*yrhqgfrgdharqmrrtacasnnhlitvvlrgfskaeklirravsgnhfnmvrnikgiknfsgmlhggpva 133 7d14c74f505a3cc7a1c7cc9d4b799217 279.29999999999995 518.7 93.1 172.9 80.0 64.0 80.0 80.0 2 0 +46 thrA thrA_1 1 gtgctgggccgtaatggttccgactattccgccgccgtgctggccgcctgtttacgcgctgactgctgtgaaatctggactgacgtcgatggcgtgtatacctgtgacccgcgccaggtgccggacgccagactgctgaaatcgatgtcctaccaggaagcgatggaactctcttacttcggcgccaaagtccttcaccctcgcaccataacgcctatcgcccagttccagatcccctgtctgattaaaaataccggtaatccgcaggcgccaggaacgctgatcggcgcgtccagcgacgatgataatctgccggttaaagggatctctaaccttaacaacatggcgatgtttagcgtctccggcccgggaatgaaagggatgattgggatggcggcgcgtgttttcgccgccatgtctcgcgccgggatctcggtggtgctcattacccagtcctcctctgagtacagcatcagcttctgtgtgccgcagagtgactgc 501 e2bc498cca88ae0cf5f96ea9df21b2ee avtlrhteadavlrgglgnehhrdpgarhggentrrhpnhpfhsragdakhrhvvkvrdpfnrqiiivagradqrswrlritgifnqtgdlelgdrrygarvkdfgaevrefhrflvghrfqqsgvrhlarvtgihaidvspdftavsa*tggqhgggivgtitaqh 167 1ba64abc8fc17bf33a7a47e25902be83 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 1 0 +47 thrA thrA_31 31 gtgctggggcgtaacggttccgactattccgctgcggtactggccgcctgtttacgcgccgactgttgcgaaatctggacggacgttgacggtgtgtatacctgcgacccgcgccaggtgccggatgccagactgctgaagtcaatgtcctatcaggaagcgatggaactttcctacttcggcgccaaagtgcttcacccgcgtaccattactcccatcgctcaattccagatcccatgtctgataaaaaataccggtaatccgcaagcgccgggcacgctgattggcgccaacagcgatgaagacgggctaccggtaaaaggcatctcgaacctcaataatatggcgatgtttagcgtctccggcccgggaatgaaaggcatggtcgggatggcggcgcgcgtgttcgccaccatgtcgcgtgccgggatttcggtagtgctgatcacccaatcctcttcggagtacagcatcagcttctgcgtgccgccaaagcgatgc 501 1ee0ab9a752caf9184eecd1e539d6fce aslwrhaeadavlrrglgdqhyrnpgtrhggeharrhpdhafhsragdakhrhiievrdafyr*pvfiavganqrarrlritgifyqtwdlelsdgsngtrvkhfgaevgkfhrfligh*lqqsgirhlarvagihtvnvrpdfatvga*tggqyrsgivgtvtpqh 167 2f92dce9728b28698510ae21a5d1c919 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 3 0 +48 thrA thrA_208 208 gtgctgggccgtaacggctccgattattccgccgccgtactggccgcctgtttacgcgctgactgttgtgaaatctggactgacgtcgacggcgtgtatacctgcgacccgcgtcaggtgccagacgccaggctgctgaagtcgatgtcttatcaggaagcaatggagctttcttacttcggcgctaaagtactacatccgcgcactattactcctattgcccagttccagatcccttgtctgattaaaaataccggcaatccacaagcgcccggtacgctgatcggcgctgccagcgacgatgatgctctgccggttaaagggatttctcaccttaacaacatggcgatgtttagtgtctccggtccggggatgaaaggcatggtgggtatggcggcgcgcgtttttgccgctatgtcacgtgcgggaatctcggtggtgttgatcacgcaatcttcatctgaatacagcatcagcttctgcgtgccgcagagcgactgc 501 8b8c3bcb4acc8e2d452f56d5a8875b57 avalrhaeadavfr*rlrdqhhrdsrt*hsgknarrhthhafhprtgdtkhrhvvkvrnpfnrqsiivagsadqrtgrlwiagifnqtrdlelgnrsnsarm*yfsaevrklhcflirhrlqqpgvwhltrvagihavdvspdfttvsa*tggqygggiigavtaqh 167 3a92eec35528247e6d939462c4c86ac2 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 4 0 +49 thrA thrA_628 628 tttatgttgtgcttcgatacagaaactgatgctgtattccgaagaagattgagtgatgagcacaatcgacacatcggccgcagacatcgcgccaaacacgcggctcgccatccccaccatgcctttcattcctggaccagaaacgttgaccatggtcagattgctcagcgtggtaatgcctttgatcgcgagtttatcttcgccagtgtcttggccaatcaaggtgcccgcaccttgtggattgaagctgtttttgatcaaacaagggatttgaaattgagcaatcggtgcaatggtcttcggatgcaacacagatgctccgaagtaagaaagctccatcgcctcttgatagctaagggatttcaaaagacgcgcatcatcgaccaaacgcggatcgcagttatacacaccatccacatccgtccaaatctcgcagcaatccgcgcgtaaacaggcagccagtaccgcggctgagtaatccgaaccgttacgccctaaaca 501 63252fd496bdbf4668f3d7fd050291de clgrngsdysaavlaaclradcceiwtdvdgvyncdprlvddarllkslsyqeamelsyfgasvlhpktiapiaqfqipcliknsfnpqgagtligqdtgedklaikgittlsnltmvnvsgpgmkgmvgmasrvfgamsaadvsivlitqssseysisfcieaqhk 167 b39308c6cc5d013a02c4760d82000fe7 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 0 0 +50 thrA thrA_630 630 gtgctgggccgcaacggttctgattactccgctgcggtgttggctgcctgcttacgcgccgactgttgtgagatctggactgacgttgacggcgtgtatacctgtgacccgcgccaggtgccggacgccaggttgctgaagtcgatgtcctatcaggaggcgatggagctttcttacttcggcgccaaagtccttcatcctcgcaccatcacccccattgcccagttccaaatcccatgcctgattaaaaacaccggaaacccgcaggcccctggtacgctgatcggcgccagcgtggatgaagacgaactgccggtgaaagggatctcgaacctgaacaatatggcgatgttcagcgtttccggcccaggaatgaaagggatgatcgggatggcggcgcgcgtcttcgcggcaatgtcccgcgcggggatctccgtggtgctgatcacgcaatcctcttctgaatacagcatcagtttctgcgtaccgcagggcgactgc 501 13fadee16ae0372cf8cf95fa8b28eac7 avalryaetdavfrrglrdqhhgdpraghcredarrhpdhpfhswagnaehrhivqvrdpfhrqfvfihagadqrtrglrvsgvfnqawdlelgnggdgarmkdfgaevrklhrllighrlqqpgvrhlarvtgihavnvspdlttvga*agsqhrsgvirtvaaqh 167 9dcb3ceadf8730d0b706397ad78ec4d6 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 1 0 +51 thrA thrA_631 631 gtgttggggcgcaatggctctgactactctgccgctgtgctggctgcctgtttacgcgcggactgttgtgagatctggaccgatgtcgacggcgtatatacctgcgatccgcgccaggtacccgatgcccgactgctgaagtcgatgtcttatcaggaagcgatggagctttcttacttcggcgccaaagttctgcatccgcgcaccattaccccaattgcccagttccagatcccgtgcctgattaaaaataccggcaatccacaagcgcctggcacgttgatcggcgccagcagtgatgaagacgatttgccggtaaaaggtatttctaacctcaataacatggcgatgtttagcgtctccggccctggaatgaaaggcatggtaggcatggcggcgcgcgtttttgccgcgatgtcgcgtgcgggcatctcggtggtgctgatcacgcagtcttcttctgaatacagcatcagcttctgcgttccgcagggcgactgc 501 e81bb48f84e7f8090be4993eadb470a9 avalrnaeadavfrrrlrdqhhrdartrhrgknarrhayhafhsragdakhrhvievrntfyrqivfitagadqrarrlwiagifnqardlelgnwgngarmqnfgaevrklhrflirhrlqqsgigylariagiyavdigpdlttvra*tgsqhsgrvvraiapqh 167 d083bef3a9ed66aebc603c235f5f89af 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 1 0 +52 thrA thrA_632 632 gtattaggtcgcaatggttcagactactcagctgcagtattagcagcctgtttacgtgctaaatgctgtgaaatttggactgatgttgacggtgtttatacttgtgatccacgtttagtgcctgatgcacgtttgttaaaaggcatgtcatatcaagaggcaatggaactgtcttactttggtgccaaggtacttcatcctcgtacaattgcgcctattgcccaattccaaataccttgtttaattaaaaatacgggcaatccagatgcgccgggtaccttgattggtgatggtcaaaaagatgagagcacacctgttaaaggaataactaaccttaataatatggcaatgatcaacgtatctgggcctggaatgaaaggaatggtaggaatggcggctcgcgtgttctcggtaatgtcgagagcggggatttcagttgttctaatcacacagtcttcttctgaatacagcattagtttttgtgtgccacaaaaagagctg 501 a3d53b54a8b794234a15b4a24478ad9c qlflwhtktnavfrrrlcd*nn*nprsrhyrehasrhsyhsfhsrpryvdhchiikvsysfnrcalifltitnqgtrriwiarifn*trylelgnrrnctrmkylgtkvrqfhclli*haf*qtcirh*twitsintvnispnftafst*tgc*ycs*vv*tiat*y 167 8c442a0bc563602359718811cc946676 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 11 0 +53 thrA thrA_633 633 gtgcttggacgcaacggttccgactactctgctgcggtgctggctgcctgtttacgcgccgattgttgcgagatttggacagacgttgacggggtctatacctgcgacccgcgtcaggtgcccgatgcgaggttgttgaagtcgatgtcctaccaggaagcgatggagctttcctacttcggcgctaaagttcttcacccccgcaccattacccccatcgcccagttccagatcccttgcctgattaaaaataccggaaatcctcaagcaccaggtacgctcattggtgccagccgtgatgaagacgaattaccggtcaagggcatttccaatctgaataacatggcaatgttcagcgtttccggcccggggatgaaaggaatggttggcatggcggcgcgcgtctttgcagcgatgtcacgcgcccgtatttccgtggtgctgattacgcaatcatcttccgaatacagtatcagtttctgcgttccacaaagcgactgt 501 9354b5f751219ba35aaa09bc60562f82 tvalwnaetdtvfgr*lrnqhhgntga*hrckdarrhanhsfhpragnaehchviqignaldr*fvfitagtnertwclrisgifnqardlelgdggngagvknfsaevgklhrflvghrlqqprighltrvagidpvnvcpnlatiga*tgsqhrsrvvgtvaskh 167 168d2c72bb8e701bbe689df4e64bb402 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 4 0 +54 thrA thrA_637 637 gtgctcgggcgcaacggctccgattattccgcagcggtactggcagcgtgtttacgcgccgattgttgcgagatctggactgatgtcgatggtgtctatacctgcgacccacgtcaggtaccggatgcccgattacttaagtcgatgtcgtaccaggaggctatggaactctcctatttcggcgccaaagtcctccatcctcgaaccatcactcccatcgcccagttccagattccctgcctgataaaaaataccggaaacccgcaagcaccaggaacgctgattggcgccagccgcgacgaagatgatctgccggtgaagggcatttcaaatctcaataatatggcgatgttcagcgtctccgggccggggatgaagggaatggtcggcatggctgctcgcgtgtttgcggcaatgtctcgctcaggaatttcggtagtcctgattacgcaatcctcctctgagtacagcattagcttctgtgtaccgcaggctgactgt 501 9f03ee22b2526797a2c2de6b0d1f8bd6 tvslryteanavlrgglrnqdyrns*arhcrkhasshadhslhprpgdaehrhiiei*nalhrqiifvaaganqrswclrvsgifyqagnlelgdgsdgsrmedfgaeigefhsllvrhrlk*sgiryltwvagidtidispdlatiga*trcqyrcgiigavapeh 167 cb2cf35031870c241e26b627ae350303 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 4 0 +55 thrA thrA_638 638 gtgctggggcgtaacggctctgactactccgccgccgtgctggcggcctgcttacgcgcggactgctgtgagatctggactgacgtcgacggcgtttatacctgcgatccgcgccaggtaccggacgccaggctgctgaagtcgatgtcgtaccaggaagcgatggagctttcctacttcggcgctaaagttcttcacccgcgtaccatctccccgattgcccagttccaaatcccttgcctgattaagaataccggtaaccctcaggcgccgggcacgctgattggcgccagcgcggatgaagatgaactgccggtgaaaggcatttctaacctcaataacatggcgatgttcagcgtctccggcccggggatgaagggcatggtcggcatggcggcacgcgtatttgccgctatgtcccgcaacgggatctccgtggtgctgatcacgcagtcttcttccgaatacagcatcagcttctgcgttccgcagggtgattgc 501 3c010580bf40e558795a064fcb76bbc0 aitlrnaeadavfgrrlrdqhhgdpvaghsgkyacrhadhalhpragdaehrhvievrnafhrqfifiraganqrarrlrvtgilnqardlelgnrgdgtrvknfsaevgklhrflvrhrlqqpgvrylariaginavdvspdltavra*agrqhgggvvravtpqh 167 55b4c06e8d4c910cffd880f10401890e 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 1 0 +56 thrA thrA_748 748 gtattaggccgtaacggttccgactactccgccgccgtgctggccgcgtgtttgcgcgccgactgttgtgagatctggactgacgtcgacggcgtctatacctgcgacccgcgccaggtgccggacgccaggctgctgaagtcgatgtcgtatcaggaagccatggaactctcctacttcggcgctaaagttctccacccccgcaccattgcccccatcgcccagttccaaatcccctgtctgatcaaaaacactggtaacccgcaagcgccaggcaccctgatcggtgccagcagcgatgaagacggcctgccggtgaagggcatcagtaacctgaataatatggcgatgttcagcgtctctggtccgggcatgaaaggcatggtgggaatggcggcgcgcgtgttcgcggcgatgtcccgtgcgggcatctcggtggtgctgatcacccaatcgtcttctgaatacagcatcagcttctgcgtgccgcaggccgacagc 501 58bf05807c26ccb5773f3857d624de62 avglrhaeadavfrrrlgdqhhrdartghrreharrhshhafhartrdaehrhiiqvtdalhrqavfiaagtdqgawrlrvtsvfdqtgdlelgdggngagvenfsaevgefhgflirhrlqqpgvrhlarvagidavdvspdlttvgaqtrgqhgggvvgtvta*y 167 0f807375cc1f50f9ce32eca1d790ed0a 350.7 651.3000000000001 116.89999999999999 217.1 80.0 64.0 80.0 80.0 1 0 diff --git a/locidex/example/format_db_mlst_out/results.json b/locidex/example/format_db_mlst_out/results.json index 934f548..4ed1e1a 100644 --- a/locidex/example/format_db_mlst_out/results.json +++ b/locidex/example/format_db_mlst_out/results.json @@ -1,8 +1,8 @@ { - "analysis_start_time": "2024-04-04 15:51:06", + "analysis_start_time": "2024-05-07 15:30:10", "parameters": { - "input": "locidex/example/format_db_mlst_in", - "outdir": "/tmp/pytest-of-mwells/pytest-115/build0", + "input": "./locidex/example/format_db_mlst_in/", + "outdir": "./locidex/example/format_db_mlst_out/", "min_len_frac": 0.7, "max_len_frac": 1.3, "min_ident": 80.0, @@ -11,6 +11,6 @@ "not_coding": false, "force": true }, - "result_file": "/tmp/pytest-of-mwells/pytest-115/build0/locidex.txt", - "analysis_end_time": "2024-04-04 15:51:06" + "result_file": "./locidex/example/format_db_mlst_out/locidex.txt", + "analysis_end_time": "2024-05-07 15:30:10" } \ No newline at end of file diff --git a/locidex/format.py b/locidex/format.py index aec5a05..1447365 100644 --- a/locidex/format.py +++ b/locidex/format.py @@ -32,7 +32,6 @@ class FrameSelection: seq: str count_int_stops: int revcomp: bool - default_allele: bool def __init__(self,input,header,is_protein=False,delim="_",trans_table=11, min_len_frac=0.7,max_len_frac=1.3,min_cov_perc=80.0,min_ident_perc=80.0,valid_ext=None): @@ -91,46 +90,33 @@ def get_dir_files(self, input_dir): return files def pick_frame(self, six_frame_translation) -> FrameSelection: - count_internal_stops: List[Tuple[int, str, str]] = [] + """ + Reducing the complexity of this function now only checking if the allele is reverse complimented + """ + reversed_frame_idx = 3 # all frames above this index are reverse complimented - for k, v in enumerate(six_frame_translation): - count_internal_stops.append((k, v.count(self.__stop_codon), v)) + fwd_idx, rev_idx = 0, 3 + reverse_p = False - count_internal_stops.sort(key=lambda x: x[1]) + rev = six_frame_translation[fwd_idx] # frame 1 + fwd = six_frame_translation[rev_idx] # frame 2 + fwd_stop_counts = fwd[:-1].count(self.__stop_codon) + output_seq = fwd + idx = fwd_idx + min_int_stop = fwd_stop_counts - reverse_p = False - default_qa = False - output_seq = None - - ordered_stops = filter(lambda x: x[2][-1] == self.__stop_codon or x[1] > 0, count_internal_stops) - ordered_stops = [i for i in count_internal_stops if i[1] > 0] - ordered_stops.sort(key=lambda x: x[2].index(self.__stop_codon), reverse=True) - for i in ordered_stops: - print(i) - - #if candidate_seq[-1] != self.__stop_codon: - # for i in count_internal_stops: - # print(i) - # print() - # # TODO add in orf finding - #if min_int_stop == 0 and candidate_seq[-1] == self.__stop_codon: - # seq = candidate_seq - - - if output_seq is None: - idx = 0 - min_int_stop = count_internal_stops[idx][1] - seq = six_frame_translation[idx] - reverse_p = False - default_qa = True - - offset = idx % 3 # gives offset for both revcomp and seq + if rev[-1] == self.__stop_codon and (stop_counts := rev[:-1].count(self.__stop_codon)) == 1 and fwd_stop_counts > 0: + idx = rev_idx + output_seq = rev + min_int_stop = stop_counts + + offset = idx % reversed_frame_idx # gives offset for both revcomp and seq if idx >= reversed_frame_idx: reverse_p = True - return self.FrameSelection(offset=offset, seq=seq.lower(), count_int_stops=min_int_stop, revcomp=reverse_p, default_allele=default_qa) + return self.FrameSelection(offset=offset, seq=output_seq.lower(), count_int_stops=min_int_stop, revcomp=reverse_p) def parse_fasta(self, input_file): diff --git a/tests/test_workflows.yml b/tests/test_workflows.yml index 6a611fa..a85800b 100644 --- a/tests/test_workflows.yml +++ b/tests/test_workflows.yml @@ -34,3 +34,8 @@ - path: "searched/seq_store.json" - path: "reported/report.json" +- name: Run format + command: locidex format -i locidex/example/format_db_mlst_in -o format_out + files: + - path: format_out/locidex.txt + - path: format_out/results.json \ No newline at end of file From 4e0e714b76cb6a1dd46d1921a28bb01070299f22 Mon Sep 17 00:00:00 2001 From: Matthew Wells Date: Tue, 7 May 2024 15:39:37 -0500 Subject: [PATCH 8/8] refactored some constants --- locidex/format.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/locidex/format.py b/locidex/format.py index 1447365..d77bb6e 100644 --- a/locidex/format.py +++ b/locidex/format.py @@ -26,6 +26,10 @@ class locidex_format: status = True __stop_codon = "*" + # ? These two parameters below can probably be cleaned up + __file_input = "file" + __dir_input = "dir" + @dataclass class FrameSelection: offset: int @@ -56,14 +60,14 @@ def __init__(self,input,header,is_protein=False,delim="_",trans_table=11, self.valid_ext = [valid_ext] self.set_input_type() - if self.input_type == 'dir': + if self.input_type == self.__dir_input: self.process_dir() else: self.parse_fasta(self.input) def process_dir(self): files = self.get_dir_files(self.input) - for f in files['file']: + for f in files[self.__file_input]: for e in self.valid_ext: if e in f[1]: self.gene_name = f[1].replace(f'.{e}','') @@ -72,19 +76,19 @@ def process_dir(self): def set_input_type(self): if os.path.isfile(self.input): - self.input_type = 'file' + self.input_type = self.__file_input elif os.path.isdir(self.input): - self.input_type = 'dir' + self.input_type = self.__dir_input else: raise AttributeError("Unknown input type could not be determined for: {}".format(self.input)) def get_dir_files(self, input_dir): - files = {'file': [], 'dir': []} + files = {self.__file_input: [], self.__dir_input: []} d = pathlib.Path(input_dir) for item in d.iterdir(): - type = 'file' + type = self.__file_input if item.is_dir(): - type = 'dir' + type = self.__dir_input files[type].append([f"{item.resolve()}", os.path.basename(item)]) return files @@ -125,7 +129,7 @@ def parse_fasta(self, input_file): with _open(input_file) as f: for record in SeqIO.parse(f, 'fasta'): id = str(record.id) - if self.input_type == 'file': + if self.input_type == self.__file_input: gene_name = "_".join(id.split(self.delim)[:-1]) else: gene_name = self.gene_name