diff --git a/.gitignore b/.gitignore index 0b6e57f..9c59327 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,9 @@ # Created by .ignore support plugin (hsz.mobi) ### Python template +# Custom +proc/* +.DS_Store + # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] diff --git a/README.md b/README.md index a9a2971..c906267 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ -# Phigaro v2.3.0 +# Phigaro v2.4.0 [![PyPI version](https://badge.fury.io/py/phigaro.svg)](https://badge.fury.io/py/phigaro) -![Conda installation](https://anaconda.org/bioconda/phigaro/badges/installer/conda.svg) -![Actions Status](https://github.com/bobeobibo/phigaro/workflows/Phigaro%20Tests/badge.svg) +![Conda installation](https://anaconda.org/bioconda/phigaro/badges/version.svg) ![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) diff --git a/deployment.sh b/deployment.sh new file mode 100755 index 0000000..7b4b2b0 --- /dev/null +++ b/deployment.sh @@ -0,0 +1,28 @@ +#!/bin/bash +conda activate main +pip install --upgrade twine +echo "Did you change git action and updated the package?" +read +git status +read +git pull +read +rm dist/* +python setup_version.py +python setup.py sdist bdist_wheel +read +git add --all +git status +read +read -p commit_name="Please, make up the commit name:" +tag=`cat tag_name` +git commit -m $commit_name +read +git tag $tag +read +git push +read +git push --tags +read +twine upload --repository phigaro dist/* +read \ No newline at end of file diff --git a/dist/phigaro-2.3.0-py2.py3-none-any.whl b/dist/phigaro-2.3.0-py2.py3-none-any.whl deleted file mode 100644 index 3fa6736..0000000 Binary files a/dist/phigaro-2.3.0-py2.py3-none-any.whl and /dev/null differ diff --git a/dist/phigaro-2.3.0.tar.gz b/dist/phigaro-2.3.0.tar.gz deleted file mode 100644 index 96cbe08..0000000 Binary files a/dist/phigaro-2.3.0.tar.gz and /dev/null differ diff --git a/dist/phigaro-2.4.0-py2.py3-none-any.whl b/dist/phigaro-2.4.0-py2.py3-none-any.whl new file mode 100644 index 0000000..5624cbf Binary files /dev/null and b/dist/phigaro-2.4.0-py2.py3-none-any.whl differ diff --git a/dist/phigaro-2.4.0.tar.gz b/dist/phigaro-2.4.0.tar.gz new file mode 100644 index 0000000..21ffce9 Binary files /dev/null and b/dist/phigaro-2.4.0.tar.gz differ diff --git a/environment.yml b/environment.yml index ecf699d..47f7bbf 100644 --- a/environment.yml +++ b/environment.yml @@ -1,6 +1,6 @@ name: phigaro_env dependencies: - - python=3.7 + - python<=3.12.1 - pip - bioconda::prodigal - bioconda::hmmer diff --git a/phigaro/_version.py b/phigaro/_version.py index 8c402aa..2386b50 100644 --- a/phigaro/_version.py +++ b/phigaro/_version.py @@ -1,4 +1,4 @@ """Version information.""" # The following line *must* be the last in the module, exactly as formatted: -__version__ ="2.3.0" +__version__ ="2.4.0" diff --git a/phigaro/batch/task/base.py b/phigaro/batch/task/base.py index 320e96c..6dfeb09 100644 --- a/phigaro/batch/task/base.py +++ b/phigaro/batch/task/base.py @@ -14,9 +14,7 @@ class AbstractTask(object): def __init__(self): if self.task_name is None: - raise Exception( - "{}.task_name must by set".format(self.__class__.__name__) - ) + raise Exception("{}.task_name must by set".format(self.__class__.__name__)) self.directory() self.context = Context.instance() diff --git a/phigaro/batch/task/dummy.py b/phigaro/batch/task/dummy.py index 2ecfc57..df7c298 100644 --- a/phigaro/batch/task/dummy.py +++ b/phigaro/batch/task/dummy.py @@ -4,12 +4,12 @@ class DummyTask(AbstractTask): - task_name = 'dummy' + task_name = "dummy" def __init__(self, output, old_task_name): super().__init__() self._output = output - self.task_name = '{}-dummy'.format(old_task_name) + self.task_name = "{}-dummy".format(old_task_name) def run(self): pass diff --git a/phigaro/batch/task/gene_mark.py b/phigaro/batch/task/gene_mark.py index 508b90f..364adeb 100644 --- a/phigaro/batch/task/gene_mark.py +++ b/phigaro/batch/task/gene_mark.py @@ -7,19 +7,20 @@ class GeneMarkTask(AbstractTask): - task_name = 'gene_mark' + task_name = "gene_mark" def __init__(self, input): super().__init__() self.input = input - self._lst_file = input + '.lst' - self.gene_mark = sh.Command(self.config['genemark']['bin']).bake( - m=self.config['genemark']['mod_path'], A=self.output(), + self._lst_file = input + ".lst" + self.gene_mark = sh.Command(self.config["genemark"]["bin"]).bake( + m=self.config["genemark"]["mod_path"], + A=self.output(), ) def output(self): - return self.file('{}.faa'.format(self.sample)) + return self.file("{}.faa".format(self.sample)) def run(self): self.gene_mark(self.input) diff --git a/phigaro/batch/task/hmmer.py b/phigaro/batch/task/hmmer.py index 2e18a3d..3011dbc 100644 --- a/phigaro/batch/task/hmmer.py +++ b/phigaro/batch/task/hmmer.py @@ -7,7 +7,7 @@ class HmmerTask(AbstractTask): - task_name = 'hmmer' + task_name = "hmmer" def __init__(self, prodigal_task): """ @@ -18,18 +18,18 @@ def __init__(self, prodigal_task): self.prodigal = prodigal_task def _prepare(self): - self.hmmer = sh.Command(self.config['hmmer']['bin']) + self.hmmer = sh.Command(self.config["hmmer"]["bin"]) def output(self): - return self.file('{}.hmmer_out'.format(self.sample)) + return self.file("{}.hmmer_out".format(self.sample)) def run(self): self.hmmer( - '--cpu', + "--cpu", self.context.threads, - '--notextw', - '--tblout', + "--notextw", + "--tblout", self.output(), - self.config['hmmer']['pvog_path'], + self.config["hmmer"]["pvog_path"], self.prodigal.output(), ) diff --git a/phigaro/batch/task/parse_hmmer.py b/phigaro/batch/task/parse_hmmer.py index 2cb7301..a909154 100644 --- a/phigaro/batch/task/parse_hmmer.py +++ b/phigaro/batch/task/parse_hmmer.py @@ -10,11 +10,11 @@ logger = logging.getLogger(__name__) -INFINITY = float('inf') +INFINITY = float("inf") class ParseHmmerTask(AbstractTask): - task_name = 'parse_hmmer' + task_name = "parse_hmmer" def __init__(self, hmmer_task, gene_mark_task): """ @@ -27,27 +27,27 @@ def __init__(self, hmmer_task, gene_mark_task): self.genemark_task = gene_mark_task def output(self): - return self.file('{}.npn'.format(self.sample)) + return self.file("{}.npn".format(self.sample)) def run(self): self._parse_hmmer_output() @staticmethod def parse_line(line): - tokens = re.split(r'\s+', line) - scaffold = '>' + line.split('>')[1] + tokens = re.split(r"\s+", line) + scaffold = ">" + line.split(">")[1] name = tokens[0] evalue = float(tokens[4]) return scaffold, name, evalue def _parse_hmmer_output(self): - max_evalue = self.config['hmmer']['e_value_threshold'] + max_evalue = self.config["hmmer"]["e_value_threshold"] with open(self.hmmer_task.output()) as f: lines_it = ( self.parse_line(line.strip()) for line in f - if not line.startswith('#') and line.strip() + if not line.startswith("#") and line.strip() ) hmm_res = {} @@ -63,12 +63,10 @@ def _parse_hmmer_output(self): hmm_res[scaffold][gene_name] = evalue with open(self.genemark_task.output()) as f: - with open(self.output(), 'w') as of: - writer = csv.writer(of, delimiter='\t') + with open(self.output(), "w") as of: + writer = csv.writer(of, delimiter="\t") lines_it = ( - line.strip().split('\t') - for line in f - if line.startswith('>') + line.strip().split("\t") for line in f if line.startswith(">") ) for scaffold, group in groupby(lines_it, key=lambda t: t[1]): @@ -81,7 +79,5 @@ def _parse_hmmer_output(self): for gene_name, _ in group ) - is_phage_it = ( - 'P' if is_phage else 'N' for is_phage in is_phage_it - ) - writer.writerow((scaffold, ''.join(is_phage_it))) + is_phage_it = ("P" if is_phage else "N" for is_phage in is_phage_it) + writer.writerow((scaffold, "".join(is_phage_it))) diff --git a/phigaro/batch/task/path.py b/phigaro/batch/task/path.py index 36db2fc..d5afa70 100644 --- a/phigaro/batch/task/path.py +++ b/phigaro/batch/task/path.py @@ -5,15 +5,15 @@ def sample_name(sample_path): sample_path = basename(sample_path) - tokens = sample_path.split('.') + tokens = sample_path.split(".") if len(tokens) == 1: return sample_path else: - return '.'.join(tokens[:-1]) + return ".".join(tokens[:-1]) def path(*items): - items = ('proc',) + items + items = ("proc",) + items return join(*items) diff --git a/phigaro/batch/task/preprocess.py b/phigaro/batch/task/preprocess.py index 2a18cb1..b2fc6f4 100644 --- a/phigaro/batch/task/preprocess.py +++ b/phigaro/batch/task/preprocess.py @@ -6,7 +6,7 @@ class PreprocessTask(AbstractTask): - task_name = 'input_file' + task_name = "input_file" def __init__(self, input): super().__init__() @@ -15,8 +15,8 @@ def __init__(self, input): def check_fastafile(self): def get_users_answer(question): - yes = ['yes', 'y'] - no = ['no', 'n'] + yes = ["yes", "y"] + no = ["no", "n"] try: input_ = raw_input except NameError: @@ -40,20 +40,20 @@ def get_users_answer(question): SeqIO.write(records_to_save, self.output(), "fasta") del records_to_save - if not self.config['phigaro']['delete_shorts']: + if not self.config["phigaro"]["delete_shorts"]: if len(sequences_to_delete) > 0: print( - 'Error! Your fasta file contains at least one sequence length < 20000. The short sequences are: ' + "Error! Your fasta file contains at least one sequence length < 20000. The short sequences are: " ) - print('\n'.join(sequences_to_delete)) + print("\n".join(sequences_to_delete)) if not get_users_answer( - 'Do you want to start Phigaro without these sequences?' + "Do you want to start Phigaro without these sequences?" ): self.clean() exit(1) def output(self): - return self.file('{}.fasta'.format(self.sample)) + return self.file("{}.fasta".format(self.sample)) def run(self): self.check_fastafile() diff --git a/phigaro/batch/task/prodigal.py b/phigaro/batch/task/prodigal.py index 79fad98..e2ba757 100644 --- a/phigaro/batch/task/prodigal.py +++ b/phigaro/batch/task/prodigal.py @@ -5,18 +5,18 @@ class ProdigalTask(AbstractTask): - task_name = 'prodigal' + task_name = "prodigal" def __init__(self, preprocess_task): super().__init__() self.preprocess_task = preprocess_task - self.prodigal = sh.Command(self.config['prodigal']['bin']).bake( + self.prodigal = sh.Command(self.config["prodigal"]["bin"]).bake( i=self.preprocess_task.output(), a=self.output() ) def output(self): - return self.file('{}.faa'.format(self.sample)) + return self.file("{}.faa".format(self.sample)) def run(self): self.prodigal() diff --git a/phigaro/batch/task/run_phigaro.py b/phigaro/batch/task/run_phigaro.py index f35bf61..d085ed1 100644 --- a/phigaro/batch/task/run_phigaro.py +++ b/phigaro/batch/task/run_phigaro.py @@ -25,7 +25,7 @@ class RunPhigaroTask(AbstractTask): - task_name = 'run_phigaro' + task_name = "run_phigaro" def __init__(self, hmmer_task, prodigal_task): """ @@ -37,39 +37,35 @@ def __init__(self, hmmer_task, prodigal_task): self.prodigal_task = prodigal_task def _prepare(self): - self.mode = self.config['phigaro']['mode'] + self.mode = self.config["phigaro"]["mode"] self.finder = V2Finder( - window_len=self.config['phigaro']['window_len'], - threshold_min=self.config['phigaro'][ - 'threshold_min_%s' % self.mode - ], - threshold_max=self.config['phigaro'][ - 'threshold_max_%s' % self.mode - ], + window_len=self.config["phigaro"]["window_len"], + threshold_min=self.config["phigaro"]["threshold_min_%s" % self.mode], + threshold_max=self.config["phigaro"]["threshold_max_%s" % self.mode], mode=self.mode, ) - self._wtp = self.config['phigaro'].get('wtp', False) - self._print_vogs = self.config['phigaro'].get('print_vogs', False) - self._filename = self.config['phigaro'].get('filename', False) - self._no_html = self.config['phigaro'].get('no_html', False) - self._not_open = self.config['phigaro'].get('not_open', False) - self._save_fasta = self.config['phigaro'].get('save_fasta', False) - self._output = self.config['phigaro'].get('output', False) + self._wtp = self.config["phigaro"].get("wtp", False) + self._print_vogs = self.config["phigaro"].get("print_vogs", False) + self._filename = self.config["phigaro"].get("filename", False) + self._no_html = self.config["phigaro"].get("no_html", False) + self._not_open = self.config["phigaro"].get("not_open", False) + self._save_fasta = self.config["phigaro"].get("save_fasta", False) + self._output = self.config["phigaro"].get("output", False) if self._wtp: - self._output_wtp = self.config['phigaro'].get('output_wtp', False) - self._uuid = self.config['phigaro'].get('uuid', False) + self._output_wtp = self.config["phigaro"].get("output_wtp", False) + self._uuid = self.config["phigaro"].get("uuid", False) self.context = Context.instance() def output(self): - return self.file('{}.tsv'.format(self.sample)) + return self.file("{}.tsv".format(self.sample)) def run(self): - max_evalue = self.config['hmmer']['e_value_threshold'] - penalty_black = self.config['phigaro']['penalty_black'] - penalty_white = self.config['phigaro']['penalty_white'] - gff = self.config['phigaro']['gff'] - bed = self.config['phigaro']['bed'] - mean_gc = self.config['phigaro']['mean_gc'] + max_evalue = self.config["hmmer"]["e_value_threshold"] + penalty_black = self.config["phigaro"]["penalty_black"] + penalty_white = self.config["phigaro"]["penalty_white"] + gff = self.config["phigaro"]["gff"] + bed = self.config["phigaro"]["bed"] + mean_gc = self.config["phigaro"]["mean_gc"] pvogs_black_list = const.DEFAULT_BLACK_LIST pvogs_white_list = const.DEFAULT_WHITE_LIST @@ -77,7 +73,7 @@ def run(self): scaffold_set = read_prodigal_output(self.prodigal_task.output()) hmmer_result = read_hmmer_output(self.hmmer_task.output()) - gff_base = ['##gff-version 3.2.1'] + gff_base = ["##gff-version 3.2.1"] gff_scaffold = [] gff_prophage = [] gff_gene = [] @@ -85,33 +81,34 @@ def run(self): bed_gene = [] wtp_output = [] - with open(self.output(), 'w') as of: - writer = csv.writer(of, delimiter='\t') + with open(self.output(), "w") as of: + writer = csv.writer(of, delimiter="\t") if self._print_vogs: writer.writerow( ( - 'scaffold', - 'begin', - 'end', - 'transposable', - 'taxonomy', - 'vog', + "scaffold", + "id", + "begin", + "end", + "transposable", + "taxonomy", + "vog", ) ) else: writer.writerow( - ('scaffold', 'begin', 'end', 'transposable', 'taxonomy') + ("scaffold", "id", "begin", "end", "transposable", "taxonomy") ) plotly_plots = [] phage_info = [] transposables_status = [] - phage_num = 0 for scaffold in scaffold_set: + phage_num = 0 if gff: gff_scaffold.append( - '##sequence-region %s 1 %d' + "##sequence-region %s 1 %d" % ( scaffold.name, self.context.scaffolds_info[scaffold.name], @@ -128,119 +125,118 @@ def run(self): pvogs_black_list=pvogs_black_list, pvogs_white_list=pvogs_white_list, ) - gc = hmmer_res_to_gc( - scaffold, hmmer_result, max_evalue=max_evalue - ) - if self.mode == 'abs': + gc = hmmer_res_to_gc(scaffold, hmmer_result, max_evalue=max_evalue) + if self.mode == "abs": gc = np.array(gc) gc = np.absolute(gc - mean_gc) + mean_gc gc[gc == np.absolute(0 - mean_gc) + mean_gc] = 0 phages = self.finder.find_phages(npn, gc) + for phage in phages: phage_num += 1 - begin = genes[phage.begin].begin - end = genes[phage.end].end + phage_name = "%s_prophage%d" % (scaffold.name, phage_num) + begin = genes[phage.begin].begin - 1 + end = genes[phage.end].end - 1 phage_genes = genes[phage.begin : (phage.end + 1)] + + hmmer_records = [ + hmmer_result.min_record( + hmmer_result.get_records(scaffold.name, gene.name) + ) + for gene in genes[phage.begin : phage.end] + ] + hmmer_pvogs_records = ( + record.vog_name + for record in hmmer_records + if record and record.evalue <= max_evalue + ) + pvogs_records_str = ", ".join(hmmer_pvogs_records) + taxonomy = define_taxonomy(pvogs_records_str) + hmmer_records = [ + record + for record in hmmer_records + if record and record.evalue <= max_evalue + ] + transposable = if_transposable(hmmer_records) + if gff: gff_prophage.append( - '\t'.join( + "\t".join( [ scaffold.name, - '.', - 'prophage', + ".", + "prophage", str(begin + 1), str(end + 1), - '.', - '.', - '.', - 'ID=prophage%d' % phage_num, + ".", + ".", + ".", + "ID=%s;taxonomy=%s;transposable=%s" + % (phage_name, taxonomy, transposable), ] ) ) if bed: bed_prophage.append( - '\t'.join( + "\t".join( [ scaffold.name, str(begin), - str(end), - 'prophage%d' % phage_num, - '.', - '.', + str(end + 1), + phage_name, + ".", + ".", ] ) ) - hmmer_records = [ - hmmer_result.min_record( - hmmer_result.get_records(scaffold.name, gene.name) - ) - for gene in genes[phage.begin : phage.end] - ] + if gff or bed: for record in phage_genes: hmmer_record = hmmer_result.min_record( - hmmer_result.get_records( - scaffold.name, record.name - ) + hmmer_result.get_records(scaffold.name, record.name) ) pvog = ( - '.' - if hmmer_record is None - else hmmer_record.vog_name + "." if hmmer_record is None else hmmer_record.vog_name ) evalue = ( - '.' - if hmmer_record is None - else hmmer_record.evalue + "." if hmmer_record is None else hmmer_record.evalue ) if gff: gff_gene.append( - '\t'.join( + "\t".join( [ scaffold.name, - '.', - 'gene', - str(record.begin + 1), - str(record.end + 1), + ".", + "gene", + str(record.begin), + str(record.end), str(evalue), - '+' if record.strand > 0 else '-', - '.', - 'ID=gene%s;Parent=prophage%d;pvog=%s' - % (record.name, phage_num, pvog), + "+" if record.strand > 0 else "-", + ".", + "ID=%s;Parent=%s;pvog=%s" + % (record.name, phage_name, pvog), ] ) ) if bed: bed_gene.append( - '\t'.join( + "\t".join( [ scaffold.name, - str(record.begin), - str(record.end + 1), - 'gene%s' % (record.name), + str(record.begin - 1), + str(record.end), + record.name, str(evalue), - '+' if record.strand > 0 else '-', + "+" if record.strand > 0 else "-", ] ) ) - hmmer_pvogs_records = ( - record.vog_name - for record in hmmer_records - if record and record.evalue <= max_evalue - ) - pvogs_records_str = ', '.join(hmmer_pvogs_records) - taxonomy = define_taxonomy(pvogs_records_str) - hmmer_records = [ - record - for record in hmmer_records - if record and record.evalue <= max_evalue - ] - transposable = if_transposable(hmmer_records) if self._print_vogs: writer.writerow( ( scaffold.name, + phage_name, begin, end, transposable, @@ -250,12 +246,19 @@ def run(self): ) else: writer.writerow( - (scaffold.name, begin, end, transposable, taxonomy) + ( + scaffold.name, + phage_name, + begin, + end, + transposable, + taxonomy, + ) ) sequence, record = form_sequence( self._filename, - '%s_prophage_%d' % (scaffold.name, phage_num), + "%s_prophage_%d" % (scaffold.name, phage_num), begin, end, scaffold.name, @@ -270,48 +273,37 @@ def run(self): ] phage_info[-1][1].append(the_phage_info) if self._save_fasta: - with open(self._output + '.fasta', 'a') as f: + with open(self._output + ".fasta", "a") as f: SeqIO.write( SeqRecord( record, - id='%s_prophage_%d' - % (scaffold.name, phage_num), - description='%s_prophage_%d' + id=phage_name, + description="%s_prophage_%d" % (scaffold.name, phage_num), ), f, "fasta", ) if (not self._no_html) and (self._output): - plotly_plots.append( - plot_html(hmmer_records, begin, end) - ) - - + plotly_plots.append(plot_html(hmmer_records, begin, end)) phage_info = ( - phage_info - if len(phage_info[-1][1]) > 0 - else phage_info[:-1] + phage_info if len(phage_info[-1][1]) > 0 else phage_info[:-1] ) wtp_output = [the_phage_info[0] for the_phage_info in phage_info] if self._wtp: - with open(self._output_wtp, 'w') as f: - f.write( - '\n'.join(wtp_output) - ) + with open(self._output_wtp, "w") as f: + f.write("\n".join(wtp_output)) if gff: - with open(self._output + '.gff3', 'w') as f: + with open(self._output + ".gff3", "w") as f: f.write( - '\n'.join( - gff_base + gff_scaffold + gff_prophage + gff_gene - ) + "\n".join(gff_base + gff_scaffold + gff_prophage + gff_gene) ) if bed: - with open(self._output + '.bed', 'w') as f: - f.write('\n'.join(gff_base + bed_prophage + bed_gene)) + with open(self._output + ".bed", "w") as f: + f.write("\n".join(gff_base + bed_prophage + bed_gene)) if (len(phage_info) > 0) and (not self._no_html) and (self._output): html = form_html_document( @@ -321,12 +313,12 @@ def run(self): self._filename, self._uuid, ) - with open(self._output + '.html', 'w') as f: + with open(self._output + ".html", "w") as f: f.write(html) if not self._not_open: os.system( - 'xdg-open ' + "xdg-open " + self._output - + '.html' - + ' > /dev/null 2>/dev/null' + + ".html" + + " > /dev/null 2>/dev/null" ) diff --git a/phigaro/cli/batch.py b/phigaro/cli/batch.py index 0cdb931..0303f99 100644 --- a/phigaro/cli/batch.py +++ b/phigaro/cli/batch.py @@ -35,7 +35,7 @@ def create_task(substitutions, task_class, *args, **kwargs): task = task_class(*args, **kwargs) if task.task_name in substitutions: print( - 'Substituting output for {}: {}'.format( + "Substituting output for {}: {}".format( task.task_name, substitutions[task.task_name].output() ) ) @@ -46,7 +46,7 @@ def create_task(substitutions, task_class, *args, **kwargs): def clean_fold(): is_empty = True - for root, dirs, files in os.walk('proc', topdown=False): + for root, dirs, files in os.walk("proc", topdown=False): for name in files: is_empty = False break @@ -54,174 +54,174 @@ def clean_fold(): for name in dirs: os.rmdir(os.path.join(root, name)) if is_empty: - os.rmdir('proc') + os.rmdir("proc") def main(): - default_config_path = join(os.getenv('HOME'), '.phigaro', 'config.yml') + default_config_path = join(os.getenv("HOME"), ".phigaro", "config.yml") parser = argparse.ArgumentParser( - prog='phigaro', - description='Phigaro is a scalable command-line tool for predictions phages and prophages ' - 'from nucleid acid sequences', + prog="phigaro", + description="Phigaro is a scalable command-line tool for predictions phages and prophages " + "from nucleid acid sequences", ) parser.add_argument( - '-V', - '--version', - action='version', - version='%(prog)s {version}'.format(version=__version__), + "-V", + "--version", + action="version", + version="%(prog)s {version}".format(version=__version__), ) parser.add_argument( - '-f', - '--fasta-file', - help='Assembly scaffolds/contigs or full genomes, required', + "-f", + "--fasta-file", + help="Assembly scaffolds/contigs or full genomes, required", required=True, ) parser.add_argument( - '-c', - '--config', + "-c", + "--config", default=default_config_path, - help='Path to the config file, not required. The deafult is %s'%default_config_path, + help="Path to the config file, not required. The deafult is %s" + % default_config_path, ) + parser.add_argument("-v", "--verbose", action="store_true", help=argparse.SUPPRESS) parser.add_argument( - '-v', '--verbose', action='store_true', help=argparse.SUPPRESS + "-p", + "--print-vogs", + help="Print phage vogs for each region", + action="store_true", ) parser.add_argument( - '-p', - '--print-vogs', - help='Print phage vogs for each region', - action='store_true', + "-e", + "--extension", + default=["html"], + nargs="+", + help="Type of the output: html, tsv, gff, bed or stdout. Default is html. You can specify several file formats with a space as a separator. Example: -e tsv html stdout.", ) parser.add_argument( - '-e', - '--extension', - default=['html'], - nargs='+', - help='Type of the output: html, tsv, gff, bed or stdout. Default is html. You can specify several file formats with a space as a separator. Example: -e tsv html stdout.', + "-o", + "--output", + default="", + help="Output filename for html and txt outputs. Required by default, but not required for stdout only output.", ) parser.add_argument( - '-o', - '--output', - default='', - help='Output filename for html and txt outputs. Required by default, but not required for stdout only output.', + "--not-open", + help="Do not open html file automatically, if html output type is specified.", + action="store_true", ) parser.add_argument( - '--not-open', - help='Do not open html file automatically, if html output type is specified.', - action='store_true', - ) - parser.add_argument( - '-t', - '--threads', + "-t", + "--threads", type=int, default=multiprocessing.cpu_count(), - help='Num of threads (' - 'default is num of CPUs={})'.format(multiprocessing.cpu_count()), + help="Num of threads (" + "default is num of CPUs={})".format(multiprocessing.cpu_count()), ) parser.add_argument( - '--no-cleanup', action='store_true', help="Do not delete any temporary files that was generated by Phigaro (HMMER & Prodigal outputs and some others)." + "--no-cleanup", + action="store_true", + help="Do not delete any temporary files that was generated by Phigaro (HMMER & Prodigal outputs and some others).", ) parser.add_argument( - '-S', - '--substitute-output', - action='append', - help='If you have precomputed prodigal and/or hmmer data you can provide paths to the files in the following format: program:address/to/the/file. In place of program you should write hmmer or prodigal. If you need to provide both files you should pass them separetely as two parametres.', + "-S", + "--substitute-output", + action="append", + help="If you have precomputed prodigal and/or hmmer data you can provide paths to the files in the following format: program:address/to/the/file. In place of program you should write hmmer or prodigal. If you need to provide both files you should pass them separetely as two parametres.", ) parser.add_argument( - '--save-fasta', - action='store_true', - help='Save all phage fasta sequences in a fasta file.', + "--save-fasta", + action="store_true", + help="Save all phage fasta sequences in a fasta file.", ) parser.add_argument( - '-d', - '--delete-shorts', - action='store_true', - help='Exclude sequences with length < 20000 automatically.', + "-d", + "--delete-shorts", + action="store_true", + help="Exclude sequences with length < 20000 automatically.", ) parser.add_argument( - '-m', - '--mode', - default='basic', - help='You can launch Phigaro at one of 3 modes: basic, abs, without_gc. Default is basic. Read more about modes at https://github.com/bobeobibo/phigaro/', - ) - parser.add_argument( - '--wtp', - action='store_true', - help=argparse.SUPPRESS + "-m", + "--mode", + default="basic", + help="You can launch Phigaro at one of 3 modes: basic, abs, without_gc. Default is basic. Read more about modes at https://github.com/bobeobibo/phigaro/", ) + parser.add_argument("--wtp", action="store_true", help=argparse.SUPPRESS) args = parser.parse_args() logging.basicConfig(level=logging.INFO if args.verbose else logging.WARN) - logging.getLogger('sh.command').setLevel(logging.WARN) + logging.getLogger("sh.command").setLevel(logging.WARN) logger = logging.getLogger(__name__) if not exists(args.config): # TODO: pretty message - print('Please, create config file using phigaro-setup script') + print("Please, create config file using phigaro-setup script") exit(1) args.extension = [atype.lower() for atype in args.extension] for ext in args.extension: - if ext not in ['html', 'gff', 'bed', 'tsv', 'stdout']: + if ext not in ["html", "gff", "bed", "tsv", "stdout"]: print( - 'Error! The unknown output format in -e/--extensionn parameter: %s. Please, choose one or several from the list: html, gff, bed, tsv, stdout'%ext - ) + "Error! The unknown output format in -e/--extensionn parameter: %s. Please, choose one or several from the list: html, gff, bed, tsv, stdout" + % ext + ) exit(1) - if (args.output == '') and (args.extension != ['stdout']): + if (args.output == "") and (args.extension != ["stdout"]): print( - 'Error! Argument -o/--output is required or change the type of the output to stdout.' + "Error! Argument -o/--output is required or change the type of the output to stdout." ) exit(1) with open(args.config) as f: - logger.info('Using config file: {}'.format(args.config)) + logger.info("Using config file: {}".format(args.config)) config = yaml.load(f, Loader=yaml.FullLoader) - config['phigaro']['wtp'] = args.wtp - config['phigaro']['print_vogs'] = args.print_vogs - config['phigaro']['filename'] = args.fasta_file - config['phigaro']['no_html'] = ( - True if 'html' not in args.extension else False - ) - config['phigaro']['not_open'] = args.not_open - config['phigaro']['output'] = (args.output+'/'+os.path.splitext(os.path.basename(args.fasta_file))[0]+'.phigaro').replace('//', '/') - config['phigaro']['uuid'] = uuid.uuid4().hex - config['phigaro']['delete_shorts'] = args.delete_shorts - config['phigaro']['gff'] = True if ('gff' in args.extension) else False - config['phigaro']['bed'] = True if ('bed' in args.extension) else False - config['phigaro']['mode'] = args.mode - config['phigaro']['save_fasta'] = args.save_fasta + config["phigaro"]["wtp"] = args.wtp + config["phigaro"]["print_vogs"] = args.print_vogs + config["phigaro"]["filename"] = args.fasta_file + config["phigaro"]["no_html"] = True if "html" not in args.extension else False + config["phigaro"]["not_open"] = args.not_open + config["phigaro"]["output"] = ( + args.output + + "/" + + os.path.splitext(os.path.basename(args.fasta_file))[0] + + ".phigaro" + ).replace("//", "/") + config["phigaro"]["uuid"] = uuid.uuid4().hex + config["phigaro"]["delete_shorts"] = args.delete_shorts + config["phigaro"]["gff"] = True if ("gff" in args.extension) else False + config["phigaro"]["bed"] = True if ("bed" in args.extension) else False + config["phigaro"]["mode"] = args.mode + config["phigaro"]["save_fasta"] = args.save_fasta filename = args.fasta_file - sample = '{}-{}'.format(sample_name(filename), config['phigaro']['uuid']) + sample = "{}-{}".format(sample_name(filename), config["phigaro"]["uuid"]) if args.wtp: - config['phigaro']['not_open'] = True - config['phigaro']['gff'] = True - config['phigaro']['bed'] = True - args.extension.append('tsv') - config['phigaro']['delete_shorts'] = True - config['phigaro']['print_vogs'] = True - config['phigaro']['output_wtp'] = args.output + '/phigaro.txt' - config['phigaro']['output'] = args.output +'/phigaro/phigaro' - config['phigaro']['save_fasta'] = True - - - if config['phigaro']['output'] != '': - fold = os.path.dirname(config['phigaro']['output']) + config["phigaro"]["not_open"] = True + config["phigaro"]["gff"] = True + config["phigaro"]["bed"] = True + args.extension.append("tsv") + config["phigaro"]["delete_shorts"] = True + config["phigaro"]["print_vogs"] = True + config["phigaro"]["output_wtp"] = args.output + "/phigaro.txt" + config["phigaro"]["output"] = args.output + "/phigaro/phigaro" + config["phigaro"]["save_fasta"] = True + + if config["phigaro"]["output"] != "": + fold = os.path.dirname(config["phigaro"]["output"]) if fold and not os.path.isdir(fold): os.makedirs(fold) if args.wtp: - fold = os.path.dirname(config['phigaro']['output_wtp']) + fold = os.path.dirname(config["phigaro"]["output_wtp"]) if fold and not os.path.isdir(fold): os.makedirs(fold) - - Context.initialize( - sample=sample, config=config, threads=args.threads, + sample=sample, + config=config, + threads=args.threads, ) substitutions = parse_substitute_output(args.substitute_output) @@ -231,9 +231,7 @@ def main(): prodigal_task = create_task( substitutions, ProdigalTask, preprocess_task=preprocess_task ) - hmmer_task = create_task( - substitutions, HmmerTask, prodigal_task=prodigal_task - ) + hmmer_task = create_task(substitutions, HmmerTask, prodigal_task=prodigal_task) run_phigaro_task = create_task( substitutions, @@ -245,14 +243,14 @@ def main(): tasks = [preprocess_task, prodigal_task, hmmer_task, run_phigaro_task] task_output_file = run_tasks_chain(tasks) - if ('tsv' in args.extension) or ('stdout' in args.extension): + if ("tsv" in args.extension) or ("stdout" in args.extension): with open(task_output_file) as f: f = list(f) - if 'tsv' in args.extension: - out_f = open(config['phigaro']['output'] + '.tsv', 'w') + if "tsv" in args.extension: + out_f = open(config["phigaro"]["output"] + ".tsv", "w") for line in f: out_f.write(line) - if 'stdout' in args.extension: + if "stdout" in args.extension: out_f = sys.stdout for line in f: out_f.write(line) @@ -264,5 +262,5 @@ def main(): clean_fold() -if __name__ == '__main__': +if __name__ == "__main__": main() diff --git a/phigaro/cli/helper.py b/phigaro/cli/helper.py index 6b4a240..e7c17a7 100644 --- a/phigaro/cli/helper.py +++ b/phigaro/cli/helper.py @@ -21,23 +21,23 @@ def create_config(no_update_db, config_path, pvogs_dir, force): os.makedirs(config_dir) if exists(config_path) and not force: - print('Phigaro already configured') + print("Phigaro already configured") return helper = SetupHelper(no_update_db) try: config = helper.setup() # TODO: refactor 'allpvoghmms' const - config['hmmer']['pvog_path'] = os.path.join(pvogs_dir, 'allpvoghmms') + config["hmmer"]["pvog_path"] = os.path.join(pvogs_dir, "allpvoghmms") - print("Found Prodigal in: {}".format(config['prodigal']['bin'])) - print("Found HMMER in: {}".format(config['hmmer']['bin'])) - print("HMMER model in: {}".format(config['hmmer']['pvog_path'])) + print("Found Prodigal in: {}".format(config["prodigal"]["bin"])) + print("Found HMMER in: {}".format(config["hmmer"]["bin"])) + print("HMMER model in: {}".format(config["hmmer"]["pvog_path"])) - with open(config_path, 'w') as f: + with open(config_path, "w") as f: yaml.safe_dump(config, f, default_flow_style=False) except HelperException as ex: - sys.stdout.write(ex.message + '\n') + sys.stdout.write(ex.message + "\n") exit(1) return @@ -49,71 +49,69 @@ def read_config_and_download_pvogs(config_path): with open(config_path) as f: config = yaml.load(f, Loader=yaml.FullLoader) - pvogs_dir = dirname(config['hmmer']['pvog_path']) - print('Downloading models to {}'.format(pvogs_dir)) - download_pvogs('http://download.ripcm.com/phigaro/', pvogs_dir) + pvogs_dir = dirname(config["hmmer"]["pvog_path"]) + print("Downloading models to {}".format(pvogs_dir)) + download_pvogs("http://download.ripcm.com/phigaro/", pvogs_dir) def download_test_data(): test_data_dir = input( - 'Please, write a full path to the directory you want test data saved to' - + '(by default - working directory):' + "Please, write a full path to the directory you want test data saved to" + + "(by default - working directory):" ) - if test_data_dir == '': + if test_data_dir == "": test_data_dir = os.getcwd() - test_data_dir = test_data_dir.replace('\\', '/') + test_data_dir = test_data_dir.replace("\\", "/") test_data_dir = ( - test_data_dir + '/test_data' - if (test_data_dir[-1] != '/') - else test_data_dir + 'test_data' + test_data_dir + "/test_data" + if (test_data_dir[-1] != "/") + else test_data_dir + "test_data" ) - base_url = 'https://cdn.jsdelivr.net/gh/bobeobibo/phigaro/test_data/' + base_url = "https://cdn.jsdelivr.net/gh/bobeobibo/phigaro/test_data/" if not exists(test_data_dir): os.makedirs(test_data_dir) - download_file('Bacillus_anthracis_str_ames.fna', base_url, test_data_dir) - download_file('Bacillus_anthracis_str_ames.phg', base_url, test_data_dir) - download_file( - 'Bacillus_anthracis_str_ames.phg.html', base_url, test_data_dir - ) + download_file("Bacillus_anthracis_str_ames.fna", base_url, test_data_dir) + download_file("Bacillus_anthracis_str_ames.phg", base_url, test_data_dir) + download_file("Bacillus_anthracis_str_ames.phg.html", base_url, test_data_dir) def main(): - home = os.getenv('HOME') - phigaro_dir = os.path.join(home, '.phigaro') - phigaro_config = os.path.join(phigaro_dir, 'config.yml') - pvogs_dir = os.path.join(phigaro_dir, 'pvog') + home = os.getenv("HOME") + phigaro_dir = os.path.join(home, ".phigaro") + phigaro_config = os.path.join(phigaro_dir, "config.yml") + pvogs_dir = os.path.join(phigaro_dir, "pvog") parser = argparse.ArgumentParser( - prog='phigaro-setup', + prog="phigaro-setup", description="Phigaro setup helper", formatter_class=argparse.ArgumentDefaultsHelpFormatter, ) parser.add_argument( - '-c', - '--config', + "-c", + "--config", default=phigaro_config, - help='Path to a config.yml, default is {}'.format(phigaro_config), + help="Path to a config.yml, default is {}".format(phigaro_config), ) parser.add_argument( - '-p', - '--pvog', + "-p", + "--pvog", default=pvogs_dir, - help='pvogs directory, default is {}'.format(pvogs_dir), + help="pvogs directory, default is {}".format(pvogs_dir), ) parser.add_argument( - '-f', - '--force', - action='store_true', - help='Force configuration and rewrite config.yml if exists', + "-f", + "--force", + action="store_true", + help="Force configuration and rewrite config.yml if exists", ) parser.add_argument( - '--no-updatedb', action='store_true', help='Do not run sudo updatedb' + "--no-updatedb", action="store_true", help="Do not run sudo updatedb" ) # parser.add_argument('--download-models', action='store_true', help='Skip configuration step and download models') args = parser.parse_args() if args.force: - sh.rm('-rf', args.config) + sh.rm("-rf", args.config) create_config( no_update_db=args.no_updatedb, config_path=args.config, @@ -123,26 +121,26 @@ def main(): read_config_and_download_pvogs(args.config) while True: - overwrite = input('Do you want to download test data Y/N?') - if overwrite.upper() in {'Y', 'YES'}: - overwrite = 'Y' + overwrite = input("Do you want to download test data Y/N?") + if overwrite.upper() in {"Y", "YES"}: + overwrite = "Y" break - elif overwrite.upper() in {'N', 'NO'}: - overwrite = 'N' + elif overwrite.upper() in {"N", "NO"}: + overwrite = "N" break - if overwrite == 'Y': + if overwrite == "Y": download_test_data() - print('To run phigaro on test data enter the following command:') - print('') + print("To run phigaro on test data enter the following command:") + print("") print( - ' phigaro -f test_data/Bacillus_anthracis_str_ames.fna -o test_data/Bacillus_anthracis_str_ames.phg -p --not-open' + " phigaro -f test_data/Bacillus_anthracis_str_ames.fna -o test_data/Bacillus_anthracis_str_ames.phg -p --not-open" ) - print('') + print("") print( - 'The installation process is finished. If you have any questions, you can visit our github: https://github.com/bobeobibo/phigaro.' + "The installation process is finished. If you have any questions, you can visit our github: https://github.com/bobeobibo/phigaro." ) -if __name__ == '__main__': +if __name__ == "__main__": main() diff --git a/phigaro/cli/phigaro.py b/phigaro/cli/phigaro.py index a5ffb11..c94c07a 100644 --- a/phigaro/cli/phigaro.py +++ b/phigaro/cli/phigaro.py @@ -10,16 +10,16 @@ from phigaro.data import convert_npn -def find_and_print_phages(npn_filename, finder, sep='\t'): +def find_and_print_phages(npn_filename, finder, sep="\t"): # type: (str, AbstractFinder) -> list[(str, str, list[Phage])] - writer = csv.writer(sys.stdout, delimiter='\t') - writer.writerow(('scaffold', 'begin', 'end')) + writer = csv.writer(sys.stdout, delimiter="\t") + writer.writerow(("scaffold", "begin", "end")) with open(npn_filename) as f: reader = csv.reader(f, delimiter=sep) for scaffold, npn_str in reader: - npn = convert_npn(npn_str, 'P') + npn = convert_npn(npn_str, "P") phages = finder.find_phages(npn) for phage in phages: writer.writerow((scaffold, phage.begin, phage.end)) @@ -29,10 +29,10 @@ def main(): p = argparse.ArgumentParser( description="Tool for predicting prophages in metagenomes" ) - p.add_argument('npn_file') - p.add_argument('-w', '--window-len', default=const.DEFAULT_WINDOW_SIZE) - p.add_argument('-m', '--threshold-min', default=const.DEFAULT_THRESHOLD_MIN) - p.add_argument('-M', '--threshold-max', default=const.DEFAULT_THRESHOLD_MAX) + p.add_argument("npn_file") + p.add_argument("-w", "--window-len", default=const.DEFAULT_WINDOW_SIZE) + p.add_argument("-m", "--threshold-min", default=const.DEFAULT_THRESHOLD_MIN) + p.add_argument("-M", "--threshold-max", default=const.DEFAULT_THRESHOLD_MAX) args = p.parse_args() @@ -45,5 +45,5 @@ def main(): find_and_print_phages(args.npn_file, finder) -if __name__ == '__main__': +if __name__ == "__main__": main() diff --git a/phigaro/const.py b/phigaro/const.py index 25450f1..123b021 100644 --- a/phigaro/const.py +++ b/phigaro/const.py @@ -10,51 +10,51 @@ DEFAULT_PENALTY_BLACK = 2.2 DEFAULT_PENALTY_WHITE = 0.7 DEFAULT_BLACK_LIST = [ - 'VOG0496', - 'VOG5264', - 'VOG4730', - 'VOG5818', - 'VOG7281', - 'VOG6063', - 'VOG6030', - 'VOG1710', - 'VOG0996', - 'VOG4524', - 'VOG8021', - 'VOG8536', - 'VOG2368', - 'VOG1850', - 'VOG1031', - 'VOG0985', - 'VOG0274', - 'VOG4344', - 'VOG1844', - 'VOG0088', - 'VOG8607', - 'VOG4615', - 'VOG8992', - 'VOG3235', - 'VOG0092', - 'VOG4155', - 'VOG3532', - 'VOG1045', - 'VOG4149', - 'VOG8062', - 'VOG4562', - 'VOG7442', - 'VOG7446', - 'VOG0419', - 'VOG4319', - 'VOG8429', - 'VOG4409', - 'VOG1422', - 'VOG10018', - 'VOG3101', - 'VOG5441', - 'VOG4469', - 'VOG6988', - 'VOG4678', - 'VOG3722', + "VOG0496", + "VOG5264", + "VOG4730", + "VOG5818", + "VOG7281", + "VOG6063", + "VOG6030", + "VOG1710", + "VOG0996", + "VOG4524", + "VOG8021", + "VOG8536", + "VOG2368", + "VOG1850", + "VOG1031", + "VOG0985", + "VOG0274", + "VOG4344", + "VOG1844", + "VOG0088", + "VOG8607", + "VOG4615", + "VOG8992", + "VOG3235", + "VOG0092", + "VOG4155", + "VOG3532", + "VOG1045", + "VOG4149", + "VOG8062", + "VOG4562", + "VOG7442", + "VOG7446", + "VOG0419", + "VOG4319", + "VOG8429", + "VOG4409", + "VOG1422", + "VOG10018", + "VOG3101", + "VOG5441", + "VOG4469", + "VOG6988", + "VOG4678", + "VOG3722", ] DEFAULT_WHITE_LIST = [ "VOG0568", diff --git a/phigaro/data.py b/phigaro/data.py index 6039daa..9c41bcd 100644 --- a/phigaro/data.py +++ b/phigaro/data.py @@ -1,17 +1,17 @@ import csv import re -from collections import OrderedDict, defaultdict, Iterable +from collections import OrderedDict, defaultdict from itertools import groupby -import pickle +import json from phigaro.misc.ranges import first import numpy as np import os -INFINITY = float('inf') +INFINITY = float("inf") def read_npn(filename, sep=None, as_dict=True): - sep = sep or ' ' + sep = sep or " " with open(filename) as f: reader = csv.reader(f, delimiter=sep) if as_dict: @@ -21,7 +21,7 @@ def read_npn(filename, sep=None, as_dict=True): def read_coords(filename, sep=None): - sep = sep or '\t' + sep = sep or "\t" with open(filename) as f: reader = csv.reader(f, delimiter=sep) res = {} @@ -46,11 +46,10 @@ def hmmer_res_to_npn( pvogs_black_list, pvogs_white_list, ): + # type: (Scaffold, HmmerResult, float)->list[int] ordered_records_it = ( - HmmerResult.min_record( - hmmer_result.get_records(scaffold.name, gene.name) - ) + HmmerResult.min_record(hmmer_result.get_records(scaffold.name, gene.name)) for gene in scaffold ) @@ -69,9 +68,7 @@ def hmmer_res_to_npn( def hmmer_res_to_gc(scaffold, hmmer_result, max_evalue): # type: (Scaffold, HmmerResult, float)->list[int] ordered_records_it = ( - HmmerResult.min_record( - hmmer_result.get_records(scaffold.name, gene.name) - ) + HmmerResult.min_record(hmmer_result.get_records(scaffold.name, gene.name)) for gene in scaffold ) @@ -113,9 +110,7 @@ def get_gene(self, gene_name): class ScaffoldSet(object): def __init__(self, scaffolds): # type: (list[Scaffold])->ScaffoldSet - self._scaffolds_map = { - scaffold.name: scaffold for scaffold in scaffolds - } + self._scaffolds_map = {scaffold.name: scaffold for scaffold in scaffolds} def get_scaffold(self, scaffold_name): # type: (str)->Scaffold @@ -179,19 +174,19 @@ def read_hmmer_output(file_path): def parse_line(line): # type: (str)->HmmerRecord - tokens = re.split(r'\s+', line) - begin, end, strand = line.split(' # ', 4)[1:-1] + tokens = re.split(r"\s+", line) + begin, end, strand = line.split(" # ", 4)[1:-1] gc_cont = float( [ - x.split('=')[-1] - for x in tokens[-1].split(';') - if x.startswith('gc_cont') + x.split("=")[-1] + for x in tokens[-1].split(";") + if x.startswith("gc_cont") ][0] ) return HmmerRecord( - scaffold_name='_'.join(tokens[0].split('_')[:-1]), - gene_name=tokens[0].split('_')[-1], + scaffold_name="_".join(tokens[0].split("_")[:-1]), + gene_name=tokens[0], vog_name=tokens[2], evalue=float(tokens[4]), gc_cont=gc_cont, @@ -204,7 +199,7 @@ def parse_line(line): lines_it = ( parse_line(line.strip()) for line in f - if not line.startswith('#') and line.strip() + if not line.startswith("#") and line.strip() ) hmm_res = HmmerResult(lines_it) @@ -217,7 +212,7 @@ def read_prodigal_output(file_name): def extract_coords_and_name(gene_str): # type: (str)->Gene - tokens = gene_str.split(' # ') + tokens = gene_str.split(" # ") return Gene( name=tokens[0], begin=int(tokens[1]), @@ -227,45 +222,40 @@ def extract_coords_and_name(gene_str): def parse_gene_records(gene_records): # type: (list[str])->list[Gene] - return [ - extract_coords_and_name(gene_str) for _, gene_str in gene_records - ] + return [extract_coords_and_name(gene_str) for _, gene_str in gene_records] with open(file_name) as f: genes_scaffold_recs = ( [ - '_'.join(line.strip().split(' # ', 1)[0].split('_')[:-1]), - line.strip().split(' # ', 1)[0].split('_')[-1] - + ' # ' - + line.strip().split(' # ', 1)[1], + "_".join(line.strip().split(" # ", 1)[0].split("_")[:-1]), + line.strip().split(" # ", 1)[0].replace(">", "") + + " # " + + line.strip().split(" # ", 1)[1], ] for line in f - if line.startswith('>') + if line.startswith(">") ) scaffolds = [ - Scaffold( - name=scaffold_name[1:], genes=parse_gene_records(gene_records) - ) - for scaffold_name, gene_records in groupby( - genes_scaffold_recs, key=first - ) + Scaffold(name=scaffold_name[1:], genes=parse_gene_records(gene_records)) + for scaffold_name, gene_records in groupby(genes_scaffold_recs, key=first) ] return ScaffoldSet(scaffolds=scaffolds) def define_taxonomy(pvogs_string): with open( - os.path.dirname(os.path.abspath(__file__)) + '/pvogs_taxonomy.pickle', - 'rb', + os.path.dirname(os.path.abspath(__file__)) + "/pvogs_taxonomy.json", + "r", ) as f: - pvogs_taxonomy, taxonomy_codes = pickle.load(f) - taxonomy_codes = taxonomy_codes.astype(str) - pvog_list = pvogs_string.split(', ') + data = json.load(f) + pvogs_taxonomy = data["pvogs_taxonomy"] + taxonomy_codes = np.array(data["taxonomy_codes"]) + pvog_list = pvogs_string.split(", ") taxonomy_variants = [ pvogs_taxonomy[pvog] for pvog in pvog_list if pvog in pvogs_taxonomy ] if len(taxonomy_variants) > 0: taxonomies, counts = np.unique(taxonomy_variants, return_counts=True) - return ' / '.join(taxonomy_codes[taxonomies[counts == max(counts)]]) + return " / ".join(taxonomy_codes[taxonomies[counts == max(counts)]]) else: - return 'Unknown' + return "Unknown" diff --git a/phigaro/finder/v1.py b/phigaro/finder/v1.py index 84bab7c..c380754 100644 --- a/phigaro/finder/v1.py +++ b/phigaro/finder/v1.py @@ -18,9 +18,7 @@ def find_phages(self, bacteria_npn): kkz, ar_positions = convert_npn(bacteria_npn) grad = count_grad(kkz, self.window_size) - norm_grad = count_norm_grad( - grad, self.window_size, self.min_phage_in_window - ) + norm_grad = count_norm_grad(grad, self.window_size, self.min_phage_in_window) phages = get_phages(kkz, norm_grad) for phage in phages: @@ -30,9 +28,9 @@ def find_phages(self, bacteria_npn): # ) yield Phage( - begin=phage['start'], - end=phage['end'], - is_prophage=phage['end'] - phage['start'] < 0.8 * len(kkz), + begin=phage["start"], + end=phage["end"], + is_prophage=phage["end"] - phage["start"] < 0.8 * len(kkz), ) @@ -48,9 +46,7 @@ def count_grad(sequence, window_size): end = int(i + offset) if end > len(sequence) - 1: # if end is out of range end = len(sequence) - 1 - grad[i] += sum( - sequence[start : end + 1] - ) # count sum of elements in window + grad[i] += sum(sequence[start : end + 1]) # count sum of elements in window return grad @@ -128,10 +124,10 @@ def convert_npn(npn): ar_positions = [] for i, letter in enumerate(npn): - if letter == 'P': + if letter == "P": kkz.append(1) else: kkz.append(0) - if letter == 'r': + if letter == "r": ar_positions.append(i) return kkz, ar_positions diff --git a/phigaro/finder/v2.py b/phigaro/finder/v2.py index 0caecdc..657cfd3 100644 --- a/phigaro/finder/v2.py +++ b/phigaro/finder/v2.py @@ -19,7 +19,7 @@ def __init__(self, window_len, threshold_min, threshold_max, mode): def find_phages(self, bacteria_npn, bacteria_gc): scores = calc_scores(bacteria_npn, self.window_len) - if self.mode != 'without_gc': + if self.mode != "without_gc": gc_scores = calc_scores(bacteria_gc, self.window_len) ranges = scan_phages( np.array(scores) * np.array(gc_scores), @@ -32,7 +32,9 @@ def find_phages(self, bacteria_npn, bacteria_gc): ) for (begin, end) in ranges: yield Phage( - begin=begin, end=end, is_prophage=True, + begin=begin, + end=end, + is_prophage=True, ) diff --git a/phigaro/helper.py b/phigaro/helper.py index 9d5038b..a5869c2 100644 --- a/phigaro/helper.py +++ b/phigaro/helper.py @@ -24,9 +24,7 @@ class HMMERNotFound(HelperException): def _choose_option(message, options): - options = [s.rstrip() for s in options[:-1] if isfile(s.rstrip())] + [ - options[-1] - ] + options = [s.rstrip() for s in options[:-1] if isfile(s.rstrip())] + [options[-1]] if len(options) == 1: return options[0] @@ -36,28 +34,20 @@ def _choose_option(message, options): res = None for i, option in enumerate(options): print("[{}] {}".format(i + 1, option)) - option_num = input( - 'Choose your option (Enter for {}): '.format(options[0]) - ) - if option_num == '': - option_num = '1' - if re.match(r'^\d+$', option_num): + option_num = input("Choose your option (Enter for {}): ".format(options[0])) + if option_num == "": + option_num = "1" + if re.match(r"^\d+$", option_num): if int(option_num) == len(options): - which_program = ( - 'prodigal' if 'Prodigal' in message else 'hmmsearch' - ) - res = input( - 'Please, write a path to {}: '.format(which_program) - ) + which_program = "prodigal" if "Prodigal" in message else "hmmsearch" + res = input("Please, write a path to {}: ".format(which_program)) return res option_num = int(option_num) - 1 if 0 <= option_num < len(options): res = options[option_num] if res is None: print( - 'Please select valid option number ({} to {})'.format( - 1, len(options) - ) + "Please select valid option number ({} to {})".format(1, len(options)) ) continue return res @@ -68,31 +58,34 @@ def download_file(filename, base_url, out_dir): out = join(out_dir, filename) if exists(out): while True: - overwrite = input( - 'File {} already exists, overwrite it (Y/N)?'.format(out) - ) - if overwrite.upper() in {'Y', 'YES'}: - overwrite = 'Y' + overwrite = input("File {} already exists, overwrite it (Y/N)?".format(out)) + if overwrite.upper() in {"Y", "YES"}: + overwrite = "Y" break - elif overwrite.upper() in {'N', 'NO'}: - overwrite = 'N' + elif overwrite.upper() in {"N", "NO"}: + overwrite = "N" break - if overwrite == 'N': + if overwrite == "N": return - print('Downloading {url} to {out}'.format(url=url, out=out,)) - sh.wget('-O', out, url, _tty_out=True) + print( + "Downloading {url} to {out}".format( + url=url, + out=out, + ) + ) + sh.wget("-O", out, url, _tty_out=True) def download_pvogs(base_url, out_dir): if not exists(out_dir): os.makedirs(out_dir) # TODO: refactor 'allpvoghmms' const - download_file('allpvoghmms', base_url, out_dir) - download_file('allpvoghmms.h3f', base_url, out_dir) - download_file('allpvoghmms.h3i', base_url, out_dir) - download_file('allpvoghmms.h3m', base_url, out_dir) - download_file('allpvoghmms.h3p', base_url, out_dir) + download_file("allpvoghmms", base_url, out_dir) + download_file("allpvoghmms.h3f", base_url, out_dir) + download_file("allpvoghmms.h3i", base_url, out_dir) + download_file("allpvoghmms.h3m", base_url, out_dir) + download_file("allpvoghmms.h3p", base_url, out_dir) class SetupHelper(object): @@ -104,14 +97,14 @@ def _locate(self, *args, **kwargs): if not self._dont_update_db: try: print( - 'If you do not want to run sudo, use the following command to configure Phigaro:' + "If you do not want to run sudo, use the following command to configure Phigaro:" ) - print(' phigaro-setup --no-updatedb') + print(" phigaro-setup --no-updatedb") with sh.contrib.sudo: sh.updatedb() self._dont_update_db = True except sh.ErrorReturnCode_1: - print('Invalid password') + print("Invalid password") exit(1) try: return [s.rstrip() for s in sh.locate(*args, **kwargs)] @@ -119,8 +112,8 @@ def _locate(self, *args, **kwargs): return [] def _find_binary(self, name, options_message, raise_if_not_found): - locations = [sh.which(name) or ''] + self._locate( - '-b', '-r', '^{}$'.format(name) + locations = [sh.which(name) or ""] + self._locate( + "-b", "-r", "^{}$".format(name) ) locations = [l.rstrip() for l in locations if l.rstrip()] @@ -128,32 +121,37 @@ def _find_binary(self, name, options_message, raise_if_not_found): # raise raise_if_not_found() print(raise_if_not_found) which_program = ( - 'prodigal' if 'Prodigal' in raise_if_not_found else 'hmmsearch' + "prodigal" if "Prodigal" in raise_if_not_found else "hmmsearch" ) - locations = input('Write a full path to {}:'.format(which_program)) + locations = input("Write a full path to {}:".format(which_program)) return locations - locations.append('Add another path manually') - return _choose_option(message=options_message, options=locations,) + locations.append("Add another path manually") + return _choose_option( + message=options_message, + options=locations, + ) - def _setup_prodigal(self,): + def _setup_prodigal( + self, + ): prodigal_location = self._find_binary( - name='prodigal', - options_message='Please select appropriate Prodigal location', + name="prodigal", + options_message="Please select appropriate Prodigal location", raise_if_not_found=ProdigalNotFound.message, ) return { - 'bin': prodigal_location, + "bin": prodigal_location, } def _setup_hmmer(self): hmmsearch_location = self._find_binary( - name='hmmsearch', - options_message='Please select appropriate HMMER location', + name="hmmsearch", + options_message="Please select appropriate HMMER location", raise_if_not_found=HMMERNotFound.message, ) return { - 'bin': hmmsearch_location, + "bin": hmmsearch_location, } def setup(self): @@ -161,21 +159,23 @@ def setup(self): hmmer_params = self._setup_hmmer() return { - 'prodigal': {'bin': prodigal_params['bin'],}, - 'hmmer': { - 'bin': hmmer_params['bin'], - 'e_value_threshold': const.DEFAULT_MAX_EVALUE, + "prodigal": { + "bin": prodigal_params["bin"], + }, + "hmmer": { + "bin": hmmer_params["bin"], + "e_value_threshold": const.DEFAULT_MAX_EVALUE, }, - 'phigaro': { - 'window_len': const.DEFAULT_WINDOW_SIZE, - 'threshold_min_basic': const.DEFAULT_THRESHOLD_MIN_BASIC, - 'threshold_max_basic': const.DEFAULT_THRESHOLD_MAX_BASIC, - 'threshold_min_abs': const.DEFAULT_THRESHOLD_MIN_ABS, - 'threshold_max_abs': const.DEFAULT_THRESHOLD_MAX_ABS, - 'threshold_min_without_gc': const.DEFAULT_THRESHOLD_MIN_WITHOUT_GC, - 'threshold_max_without_gc': const.DEFAULT_THRESHOLD_MAX_WITHOUT_GC, - 'mean_gc': const.DEFAULT_MEAN_GC, - 'penalty_black': const.DEFAULT_PENALTY_BLACK, - 'penalty_white': const.DEFAULT_PENALTY_WHITE, + "phigaro": { + "window_len": const.DEFAULT_WINDOW_SIZE, + "threshold_min_basic": const.DEFAULT_THRESHOLD_MIN_BASIC, + "threshold_max_basic": const.DEFAULT_THRESHOLD_MAX_BASIC, + "threshold_min_abs": const.DEFAULT_THRESHOLD_MIN_ABS, + "threshold_max_abs": const.DEFAULT_THRESHOLD_MAX_ABS, + "threshold_min_without_gc": const.DEFAULT_THRESHOLD_MIN_WITHOUT_GC, + "threshold_max_without_gc": const.DEFAULT_THRESHOLD_MAX_WITHOUT_GC, + "mean_gc": const.DEFAULT_MEAN_GC, + "penalty_black": const.DEFAULT_PENALTY_BLACK, + "penalty_white": const.DEFAULT_PENALTY_WHITE, }, } diff --git a/phigaro/misc/ranges.py b/phigaro/misc/ranges.py index 046e871..1242d66 100644 --- a/phigaro/misc/ranges.py +++ b/phigaro/misc/ranges.py @@ -74,7 +74,7 @@ def jakkard_index(ranges1, ranges2): if intersection_len != 0 and union_len == 0: print(ranges1, ranges2) - raise Exception('union error') + raise Exception("union error") if intersection_len == 0: return 0 @@ -92,17 +92,13 @@ def minus(ranges1, ranges2): max_len = max(ranges1[-1][1], ranges2[-1][1]) + 1 ranges2 = intersection(ranges1, ranges2) ranges2 = negate(ranges2, max_len) - ranges2 = [ - (begin + 1, end - 1) for (begin, end) in ranges2 if end - begin >= 2 - ] + ranges2 = [(begin + 1, end - 1) for (begin, end) in ranges2 if end - begin >= 2] for (begin, end) in intersection(ranges1, ranges2): yield (begin, end) def true_positives_rate(test_ranges, real_ranges): - return len_ranges(intersection(test_ranges, real_ranges)) / len_ranges( - real_ranges - ) + return len_ranges(intersection(test_ranges, real_ranges)) / len_ranges(real_ranges) def false_positives_rate(test_ranges, real_ranges, max_len=None): diff --git a/phigaro/misc/vis.py b/phigaro/misc/vis.py index f7f9951..8707e9e 100644 --- a/phigaro/misc/vis.py +++ b/phigaro/misc/vis.py @@ -21,7 +21,12 @@ def plot_scores(scores, title, real_phage_coords=None): if real_phage_coords is not None: colors = _make_coords_colors(len(scores), real_phage_coords) data = Bar( - x=indices, y=scores + 0.1, name=title, marker=dict(color=colors,) + x=indices, + y=scores + 0.1, + name=title, + marker=dict( + color=colors, + ), ) return data @@ -30,23 +35,30 @@ def plot_scores(scores, title, real_phage_coords=None): def plot_phage(phage, title): ind = np.arange(len(phage)) int_phage = [c + 0.1 for c in phage] - data = Bar(x=ind, y=int_phage, marker=dict(color='black',), name=title) + data = Bar( + x=ind, + y=int_phage, + marker=dict( + color="black", + ), + name=title, + ) return data def _make_rects(coords, ymin, ymax, fillcolor, opacity): return [ dict( - type='rect', - xref='x', - yref='y', + type="rect", + xref="x", + yref="y", x0=x_begin, y0=ymin, x1=x_end, y1=ymax, fillcolor=fillcolor, opacity=opacity, - line={'width': 0}, + line={"width": 0}, ) for (x_begin, x_end) in coords ] @@ -57,7 +69,7 @@ def plot_scores_and_phage( ): score_func = score_func or score_tri fig = tools.make_subplots(rows=2, cols=1, shared_xaxes=True) - title = 'Scores: window: {}'.format(window_len) + title = "Scores: window: {}".format(window_len) scores = np.array(calc_scores(phage, window_len, score_func)) ranges = [] @@ -65,17 +77,17 @@ def plot_scores_and_phage( ranges = scan_func(scores) score_fig = plot_scores(scores, title, real_phage_coords=None) - phage_fig = plot_phage(phage, 'Phage') + phage_fig = plot_phage(phage, "Phage") fig.append_trace(score_fig, 1, 1) fig.append_trace(phage_fig, 2, 1) ymax = window_len / 2 if real_phage_coords is not None or ranges: - fig['layout'].update( + fig["layout"].update( dict( - shapes=_make_rects(ranges, ymax, 'rgb(50, 171, 96)', 0.5) - + _make_rects(real_phage_coords or [], ymax, '#ff0000', 0.5) + shapes=_make_rects(ranges, ymax, "rgb(50, 171, 96)", 0.5) + + _make_rects(real_phage_coords or [], ymax, "#ff0000", 0.5) ) ) @@ -87,14 +99,14 @@ def plot_scores_and_phage2( scores, found_phage_coords, real_phage_coords=None, - filename='filename', + filename="filename", ): # real_phage_coords = real_phage_coords or [] fig = tools.make_subplots(rows=2, cols=1, shared_xaxes=True) - title = 'Scores' + title = "Scores" score_fig = plot_scores(scores, title, real_phage_coords=None) - phage_fig = plot_phage(phage, 'Phage') + phage_fig = plot_phage(phage, "Phage") fig.append_trace(score_fig, 1, 1) fig.append_trace(phage_fig, 2, 1) @@ -103,15 +115,13 @@ def plot_scores_and_phage2( # print(len(real_phage_coords), len(found_phage_coords)) if (len(real_phage_coords) + len(found_phage_coords)) != 0: # print('got real coords') - fig['layout'].update( + fig["layout"].update( dict( shapes=_make_rects( - found_phage_coords, ymax * 0.5, ymax * 0.75, '#0000ff', 0.5 - ) - + _make_rects( - real_phage_coords, ymax * 0.75, ymax, '#aaaa00', 0.5 + found_phage_coords, ymax * 0.5, ymax * 0.75, "#0000ff", 0.5 ) + + _make_rects(real_phage_coords, ymax * 0.75, ymax, "#aaaa00", 0.5) ) ) - py.plot(fig, filename=filename + '.html') + py.plot(fig, filename=filename + ".html") diff --git a/phigaro/pvogs_taxonomy.json b/phigaro/pvogs_taxonomy.json new file mode 100644 index 0000000..d9b5228 --- /dev/null +++ b/phigaro/pvogs_taxonomy.json @@ -0,0 +1 @@ +{"pvogs_taxonomy": {"VOG1544": 1, "VOG1547": 1, "VOG0819": 1, "VOG1543": 1, "VOG0816": 1, "VOG0817": 1, "VOG0367": 0, "VOG0364": 0, "VOG0813": 1, "VOG0568": 0, "VOG0569": 0, "VOG0564": 1, "VOG0566": 0, "VOG0567": 0, "VOG0562": 1, "VOG1540": 1, "VOG4699": 0, "VOG2706": 1, "VOG2704": 1, "VOG2702": 1, "VOG2703": 1, "VOG2700": 1, "VOG2701": 1, "VOG1112": 1, "VOG0811": 1, "VOG0709": 0, "VOG1386": 2, "VOG1383": 0, "VOG1141": 1, "VOG1143": 1, "VOG1142": 1, "VOG1145": 1, "VOG1144": 1, "VOG1147": 1, "VOG1146": 1, "VOG1149": 1, "VOG1148": 1, "VOG0493": 0, "VOG0495": 0, "VOG0497": 0, "VOG2663": 1, "VOG0142": 0, "VOG0143": 0, "VOG0141": 0, "VOG0144": 0, "VOG0145": 0, "VOG0639": 2, "VOG3140": 0, "VOG0384": 0, "VOG5288": 0, "VOG5289": 0, "VOG0382": 0, "VOG2669": 1, "VOG5281": 0, "VOG0388": 0, "VOG0389": 0, "VOG5284": 0, "VOG5285": 0, "VOG5518": 0, "VOG5512": 0, "VOG5513": 0, "VOG5510": 0, "VOG5516": 0, "VOG5517": 0, "VOG5514": 0, "VOG5515": 0, "VOG4649": 1, "VOG4648": 1, "VOG4399": 0, "VOG5267": 0, "VOG5260": 1, "VOG5261": 0, "VOG5263": 0, "VOG4641": 1, "VOG4390": 0, "VOG4397": 0, "VOG4644": 0, "VOG4647": 2, "VOG4646": 0, "VOG3083": 0, "VOG4248": 0, "VOG0038": 2, "VOG0037": 2, "VOG0034": 2, "VOG0035": 2, "VOG0030": 2, "VOG0031": 2, "VOG5604": 1, "VOG5605": 2, "VOG5602": 2, "VOG5603": 0, "VOG5600": 1, "VOG5601": 1, "VOG4802": 1, "VOG4801": 0, "VOG4800": 0, "VOG4805": 1, "VOG4804": 1, "VOG4808": 2, "VOG4944": 1, "VOG5869": 0, "VOG5866": 0, "VOG5867": 0, "VOG5865": 1, "VOG5862": 0, "VOG5863": 0, "VOG5860": 0, "VOG5861": 0, "VOG5462": 0, "VOG5466": 1, "VOG5467": 1, "VOG5464": 0, "VOG5465": 1, "VOG5468": 1, "VOG5469": 1, "VOG4733": 1, "VOG4735": 1, "VOG4734": 0, "VOG4737": 0, "VOG4736": 0, "VOG4739": 1, "VOG4738": 0, "VOG3423": 1, "VOG4126": 0, "VOG4025": 0, "VOG3048": 1, "VOG3049": 1, "VOG4021": 0, "VOG4020": 0, "VOG4022": 0, "VOG3042": 1, "VOG3731": 2, "VOG3044": 1, "VOG3045": 1, "VOG3557": 1, "VOG3559": 1, "VOG4667": 2, "VOG5128": 1, "VOG3136": 0, "VOG3137": 0, "VOG3130": 0, "VOG3138": 0, "VOG2553": 1, "VOG2552": 1, "VOG1609": 1, "VOG1979": 0, "VOG2555": 1, "VOG2554": 1, "VOG1602": 1, "VOG1975": 0, "VOG1600": 1, "VOG2558": 1, "VOG1607": 1, "VOG1604": 1, "VOG1605": 1, "VOG2390": 2, "VOG1775": 0, "VOG1987": 0, "VOG2171": 1, "VOG2170": 1, "VOG2173": 1, "VOG2172": 1, "VOG2174": 1, "VOG2177": 1, "VOG0701": 1, "VOG2178": 1, "VOG1636": 1, "VOG3958": 1, "VOG5893": 0, "VOG0704": 1, "VOG5327": 1, "VOG3957": 1, "VOG5326": 0, "VOG4627": 1, "VOG4626": 1, "VOG5323": 0, "VOG1803": 0, "VOG0821": 1, "VOG5322": 0, "VOG0558": 1, "VOG4895": 0, "VOG5486": 1, "VOG0557": 1, "VOG0556": 1, "VOG2778": 1, "VOG2773": 1, "VOG2771": 1, "VOG2770": 1, "VOG2774": 1, "VOG0953": 2, "VOG0952": 2, "VOG0731": 1, "VOG3390": 1, "VOG1396": 2, "VOG1391": 0, "VOG1392": 2, "VOG2607": 1, "VOG2606": 1, "VOG2602": 1, "VOG1158": 1, "VOG1159": 1, "VOG1156": 1, "VOG1157": 1, "VOG1154": 1, "VOG1152": 1, "VOG1153": 1, "VOG1150": 1, "VOG1151": 1, "VOG0603": 4, "VOG0609": 2, "VOG5643": 0, "VOG5253": 0, "VOG5252": 0, "VOG5255": 0, "VOG5254": 0, "VOG5257": 0, "VOG5256": 0, "VOG5259": 1, "VOG5706": 2, "VOG5705": 2, "VOG5704": 2, "VOG5703": 2, "VOG5702": 1, "VOG5700": 1, "VOG5383": 0, "VOG5381": 1, "VOG5380": 0, "VOG5387": 0, "VOG5386": 0, "VOG0043": 0, "VOG0041": 2, "VOG5388": 0, "VOG4254": 0, "VOG5673": 0, "VOG5672": 0, "VOG5671": 0, "VOG5670": 1, "VOG5677": 1, "VOG5676": 1, "VOG5675": 0, "VOG5674": 0, "VOG5679": 1, "VOG5678": 1, "VOG4810": 0, "VOG4811": 1, "VOG4812": 1, "VOG4815": 1, "VOG1100": 1, "VOG5811": 0, "VOG5810": 0, "VOG5817": 1, "VOG5816": 0, "VOG5815": 0, "VOG1103": 1, "VOG4656": 2, "VOG4657": 2, "VOG4654": 0, "VOG4655": 1, "VOG4653": 0, "VOG4651": 1, "VOG5497": 0, "VOG5496": 1, "VOG5495": 1, "VOG5493": 2, "VOG5492": 1, "VOG5490": 1, "VOG4728": 1, "VOG3382": 4, "VOG4726": 2, "VOG4727": 2, "VOG4724": 0, "VOG4725": 1, "VOG4722": 0, "VOG4723": 0, "VOG4721": 0, "VOG5927": 0, "VOG5926": 1, "VOG5924": 0, "VOG5922": 0, "VOG5921": 0, "VOG5920": 0, "VOG5929": 0, "VOG3709": 1, "VOG4030": 0, "VOG4031": 0, "VOG4036": 0, "VOG4037": 0, "VOG4034": 0, "VOG4038": 0, "VOG4039": 0, "VOG3569": 1, "VOG3090": 0, "VOG3094": 0, "VOG3099": 0, "VOG3654": 1, "VOG1313": 1, "VOG3143": 0, "VOG3142": 0, "VOG3141": 0, "VOG3416": 1, "VOG3411": 1, "VOG3410": 1, "VOG3413": 1, "VOG2945": 1, "VOG2940": 1, "VOG2943": 1, "VOG2540": 1, "VOG1948": 0, "VOG1683": 0, "VOG2543": 1, "VOG2544": 1, "VOG2545": 1, "VOG2547": 1, "VOG2548": 1, "VOG2549": 1, "VOG1944": 0, "VOG5287": 0, "VOG3899": 0, "VOG2383": 2, "VOG2380": 2, "VOG2381": 2, "VOG2386": 2, "VOG2384": 2, "VOG2385": 2, "VOG3891": 0, "VOG3890": 0, "VOG3892": 0, "VOG3894": 0, "VOG3921": 1, "VOG2439": 0, "VOG1708": 0, "VOG3964": 1, "VOG3967": 1, "VOG3966": 1, "VOG3961": 1, "VOG3960": 1, "VOG2168": 1, "VOG3962": 1, "VOG2167": 1, "VOG3969": 1, "VOG3968": 1, "VOG4881": 0, "VOG0546": 1, "VOG0547": 1, "VOG0544": 1, "VOG0542": 1, "VOG1836": 0, "VOG5266": 0, "VOG0548": 1, "VOG4398": 0, "VOG2768": 1, "VOG2761": 1, "VOG2763": 1, "VOG2764": 1, "VOG2765": 1, "VOG2766": 1, "VOG2767": 1, "VOG1493": 0, "VOG4393": 0, "VOG1491": 0, "VOG1490": 0, "VOG0946": 2, "VOG0947": 2, "VOG0723": 1, "VOG0720": 1, "VOG4642": 2, "VOG0727": 1, "VOG0724": 1, "VOG0725": 1, "VOG4645": 0, "VOG4395": 0, "VOG4394": 0, "VOG2616": 1, "VOG2617": 1, "VOG2610": 1, "VOG2612": 1, "VOG2613": 1, "VOG1123": 1, "VOG1122": 1, "VOG1121": 1, "VOG1120": 1, "VOG2618": 1, "VOG1126": 1, "VOG1125": 1, "VOG1124": 1, "VOG0832": 1, "VOG5451": 0, "VOG4299": 0, "VOG1237": 1, "VOG1236": 1, "VOG1234": 1, "VOG1233": 1, "VOG1232": 1, "VOG2978": 1, "VOG1238": 1, "VOG5718": 0, "VOG5719": 0, "VOG5248": 1, "VOG5249": 0, "VOG5714": 0, "VOG5247": 1, "VOG5244": 0, "VOG5717": 0, "VOG5710": 1, "VOG5711": 2, "VOG5240": 0, "VOG5713": 1, "VOG5390": 0, "VOG5391": 1, "VOG5392": 0, "VOG5393": 0, "VOG5394": 1, "VOG5396": 0, "VOG5397": 1, "VOG5398": 0, "VOG5399": 1, "VOG1446": 0, "VOG5660": 1, "VOG5664": 0, "VOG5667": 1, "VOG5669": 1, "VOG4282": 0, "VOG4284": 0, "VOG4536": 0, "VOG4535": 0, "VOG4533": 0, "VOG4530": 0, "VOG5808": 0, "VOG5809": 0, "VOG0460": 0, "VOG5800": 0, "VOG5801": 0, "VOG5802": 0, "VOG5803": 0, "VOG5804": 0, "VOG5805": 0, "VOG5806": 0, "VOG5807": 0, "VOG0462": 0, "VOG0920": 1, "VOG1448": 0, "VOG0204": 1, "VOG4622": 1, "VOG4621": 1, "VOG4620": 0, "VOG5488": 0, "VOG5489": 0, "VOG4625": 0, "VOG4624": 1, "VOG5484": 1, "VOG5485": 1, "VOG4629": 1, "VOG4628": 1, "VOG5481": 1, "VOG5482": 1, "VOG5483": 1, "VOG4759": 0, "VOG4758": 0, "VOG4753": 1, "VOG4751": 1, "VOG4750": 1, "VOG4757": 5, "VOG4754": 0, "VOG5930": 0, "VOG2573": 1, "VOG3717": 1, "VOG3714": 1, "VOG3715": 1, "VOG2644": 1, "VOG3710": 1, "VOG3711": 1, "VOG5947": 0, "VOG5414": 1, "VOG3088": 0, "VOG3086": 0, "VOG5941": 0, "VOG3085": 0, "VOG3082": 0, "VOG5487": 0, "VOG4419": 0, "VOG5286": 0, "VOG4148": 0, "VOG3150": 0, "VOG3151": 0, "VOG3153": 0, "VOG3155": 0, "VOG2971": 1, "VOG2977": 1, "VOG0868": 0, "VOG2579": 1, "VOG2574": 1, "VOG2577": 1, "VOG2576": 1, "VOG2571": 1, "VOG3888": 0, "VOG4412": 0, "VOG2379": 2, "VOG2378": 2, "VOG2377": 2, "VOG2375": 2, "VOG2371": 2, "VOG2370": 0, "VOG1714": 0, "VOG1719": 0, "VOG3972": 1, "VOG3973": 1, "VOG2119": 1, "VOG3971": 1, "VOG3976": 1, "VOG3974": 1, "VOG2113": 2, "VOG3978": 1, "VOG3979": 1, "VOG2117": 2, "VOG2116": 2, "VOG2115": 2, "VOG2114": 2, "VOG1956": 0, "VOG4128": 0, "VOG1952": 0, "VOG1953": 0, "VOG1950": 0, "VOG1951": 0, "VOG0532": 1, "VOG0534": 1, "VOG0539": 1, "VOG1821": 0, "VOG2027": 1, "VOG2025": 1, "VOG2024": 1, "VOG2023": 1, "VOG2021": 1, "VOG2020": 1, "VOG1005": 0, "VOG1006": 0, "VOG1001": 0, "VOG2029": 1, "VOG2596": 1, "VOG2595": 1, "VOG2594": 1, "VOG2593": 1, "VOG2592": 1, "VOG2591": 1, "VOG2590": 1, "VOG1483": 0, "VOG1487": 0, "VOG1489": 0, "VOG0997": 0, "VOG0448": 0, "VOG0447": 0, "VOG0445": 0, "VOG0444": 0, "VOG0443": 0, "VOG0441": 0, "VOG2621": 1, "VOG2620": 1, "VOG2622": 1, "VOG2624": 1, "VOG2626": 1, "VOG2629": 1, "VOG2628": 1, "VOG1133": 1, "VOG1137": 1, "VOG0843": 1, "VOG0842": 1, "VOG0840": 1, "VOG0847": 1, "VOG0848": 1, "VOG0668": 0, "VOG0661": 0, "VOG1348": 0, "VOG0195": 1, "VOG0194": 1, "VOG0196": 1, "VOG1224": 1, "VOG1225": 1, "VOG1227": 1, "VOG1222": 1, "VOG1223": 1, "VOG1229": 1, "VOG5728": 1, "VOG5239": 0, "VOG5238": 0, "VOG5233": 0, "VOG5232": 1, "VOG5723": 2, "VOG5230": 0, "VOG5237": 0, "VOG5236": 0, "VOG5727": 1, "VOG5726": 0, "VOG0065": 0, "VOG0064": 0, "VOG0067": 0, "VOG0066": 0, "VOG0061": 0, "VOG0069": 0, "VOG0068": 0, "VOG0265": 2, "VOG0264": 2, "VOG0263": 2, "VOG0261": 2, "VOG5659": 0, "VOG5658": 0, "VOG5129": 0, "VOG3036": 1, "VOG5127": 0, "VOG5654": 0, "VOG5125": 1, "VOG5656": 0, "VOG5651": 1, "VOG5650": 0, "VOG5653": 0, "VOG5652": 0, "VOG5835": 1, "VOG5834": 1, "VOG5345": 1, "VOG5836": 1, "VOG5831": 1, "VOG5342": 0, "VOG5341": 0, "VOG5832": 1, "VOG4524": 0, "VOG4525": 0, "VOG4294": 0, "VOG4295": 0, "VOG5839": 1, "VOG5838": 1, "VOG5349": 1, "VOG5348": 1, "VOG4630": 0, "VOG4631": 0, "VOG4632": 1, "VOG4635": 2, "VOG4636": 1, "VOG4637": 1, "VOG4638": 1, "VOG4639": 1, "VOG4748": 1, "VOG4749": 0, "VOG4740": 1, "VOG4742": 0, "VOG4744": 0, "VOG3362": 6, "VOG4747": 0, "VOG5900": 0, "VOG5902": 2, "VOG5904": 0, "VOG5907": 0, "VOG5909": 1, "VOG5908": 1, "VOG4788": 0, "VOG5196": 0, "VOG5625": 1, "VOG5195": 0, "VOG5193": 0, "VOG2963": 1, "VOG2961": 1, "VOG3167": 0, "VOG3162": 0, "VOG2921": 1, "VOG3212": 1, "VOG2560": 1, "VOG2561": 1, "VOG2566": 1, "VOG2567": 1, "VOG2565": 1, "VOG0439": 0, "VOG2364": 0, "VOG2361": 2, "VOG1829": 0, "VOG4027": 0, "VOG4026": 0, "VOG0925": 1, "VOG3738": 2, "VOG3739": 2, "VOG0436": 0, "VOG5430": 1, "VOG3989": 1, "VOG3988": 1, "VOG2100": 2, "VOG2101": 2, "VOG3985": 1, "VOG2103": 2, "VOG2104": 2, "VOG2105": 2, "VOG3981": 1, "VOG2107": 2, "VOG2290": 0, "VOG1921": 0, "VOG1920": 0, "VOG1924": 0, "VOG1589": 1, "VOG0521": 1, "VOG0523": 1, "VOG0524": 1, "VOG0525": 1, "VOG0526": 1, "VOG0528": 1, "VOG1580": 1, "VOG1583": 1, "VOG1857": 0, "VOG1584": 1, "VOG1587": 1, "VOG2036": 1, "VOG2033": 1, "VOG2038": 1, "VOG2039": 1, "VOG2585": 1, "VOG2587": 1, "VOG2580": 1, "VOG2581": 1, "VOG2582": 1, "VOG5435": 0, "VOG2588": 1, "VOG2589": 1, "VOG1105": 1, "VOG1456": 0, "VOG1107": 1, "VOG1101": 1, "VOG0459": 0, "VOG1451": 0, "VOG1102": 1, "VOG0454": 0, "VOG0456": 0, "VOG0457": 0, "VOG0450": 0, "VOG1108": 1, "VOG0452": 0, "VOG2639": 1, "VOG2634": 1, "VOG2632": 1, "VOG2633": 1, "VOG2631": 1, "VOG0850": 1, "VOG0183": 1, "VOG0181": 1, "VOG0679": 0, "VOG1210": 1, "VOG1213": 1, "VOG1212": 1, "VOG1215": 1, "VOG5440": 1, "VOG4917": 0, "VOG5228": 0, "VOG5229": 0, "VOG5220": 0, "VOG4911": 0, "VOG5223": 1, "VOG5224": 0, "VOG5225": 0, "VOG5226": 0, "VOG0079": 0, "VOG0273": 2, "VOG5648": 0, "VOG5649": 0, "VOG4729": 1, "VOG5139": 0, "VOG5134": 0, "VOG5135": 1, "VOG5641": 0, "VOG5130": 0, "VOG5131": 0, "VOG5132": 0, "VOG5645": 0, "VOG5354": 1, "VOG5823": 0, "VOG5356": 0, "VOG5357": 0, "VOG5826": 2, "VOG5827": 1, "VOG5352": 1, "VOG5825": 2, "VOG4510": 0, "VOG5828": 1, "VOG5358": 1, "VOG5359": 0, "VOG2819": 1, "VOG4199": 0, "VOG4195": 0, "VOG4194": 0, "VOG4191": 0, "VOG4190": 0, "VOG4193": 0, "VOG4192": 0, "VOG5737": 0, "VOG5735": 0, "VOG5732": 1, "VOG4608": 1, "VOG5730": 2, "VOG4605": 1, "VOG4604": 1, "VOG4607": 1, "VOG4601": 1, "VOG5738": 0, "VOG4602": 1, "VOG4177": 0, "VOG4176": 0, "VOG4173": 0, "VOG4172": 0, "VOG4171": 0, "VOG3374": 2, "VOG3371": 2, "VOG4179": 0, "VOG4178": 0, "VOG1981": 0, "VOG5919": 1, "VOG5916": 0, "VOG5914": 0, "VOG5915": 0, "VOG5912": 0, "VOG5913": 0, "VOG5910": 1, "VOG5911": 1, "VOG1505": 0, "VOG0449": 0, "VOG4137": 0, "VOG0996": 0, "VOG2550": 1, "VOG2913": 1, "VOG2912": 1, "VOG2910": 1, "VOG2917": 1, "VOG5742": 0, "VOG2919": 1, "VOG2918": 1, "VOG5741": 0, "VOG4775": 0, "VOG4774": 1, "VOG3179": 1, "VOG1603": 1, "VOG3172": 0, "VOG5747": 2, "VOG4778": 0, "VOG3174": 1, "VOG5210": 2, "VOG3206": 1, "VOG1601": 1, "VOG5213": 0, "VOG5212": 1, "VOG3196": 1, "VOG3193": 1, "VOG2350": 2, "VOG2355": 2, "VOG5749": 0, "VOG2357": 2, "VOG5748": 0, "VOG4617": 0, "VOG2829": 1, "VOG2828": 1, "VOG2827": 1, "VOG2825": 1, "VOG2824": 1, "VOG2823": 1, "VOG2822": 1, "VOG2821": 1, "VOG2820": 1, "VOG2131": 0, "VOG2130": 0, "VOG5404": 1, "VOG1930": 0, "VOG5331": 0, "VOG1849": 0, "VOG1024": 0, "VOG0514": 1, "VOG0511": 0, "VOG0510": 0, "VOG2001": 0, "VOG2000": 0, "VOG2002": 0, "VOG2005": 0, "VOG2004": 0, "VOG2006": 0, "VOG5406": 2, "VOG5844": 1, "VOG1400": 2, "VOG0469": 0, "VOG1113": 1, "VOG1110": 1, "VOG1447": 0, "VOG1443": 0, "VOG0461": 0, "VOG5334": 0, "VOG0463": 0, "VOG1119": 1, "VOG0465": 0, "VOG0464": 0, "VOG0466": 0, "VOG2649": 1, "VOG2648": 1, "VOG2643": 1, "VOG2642": 1, "VOG2641": 1, "VOG2645": 1, "VOG4864": 0, "VOG1596": 1, "VOG1597": 1, "VOG1594": 1, "VOG1595": 1, "VOG1593": 1, "VOG1590": 1, "VOG1591": 1, "VOG0861": 1, "VOG1598": 1, "VOG1599": 1, "VOG0645": 2, "VOG0644": 2, "VOG0643": 2, "VOG0642": 2, "VOG0887": 1, "VOG0889": 1, "VOG0888": 1, "VOG1208": 1, "VOG1209": 1, "VOG1206": 1, "VOG1207": 1, "VOG5585": 1, "VOG5584": 1, "VOG5587": 1, "VOG5586": 1, "VOG5581": 2, "VOG5580": 1, "VOG5583": 2, "VOG5582": 2, "VOG5589": 1, "VOG5588": 1, "VOG0080": 0, "VOG5361": 1, "VOG5360": 2, "VOG5362": 0, "VOG5365": 0, "VOG5364": 1, "VOG5367": 2, "VOG5366": 0, "VOG5368": 1, "VOG5691": 2, "VOG5690": 2, "VOG5693": 2, "VOG5692": 2, "VOG5695": 1, "VOG5694": 0, "VOG5697": 0, "VOG5696": 1, "VOG5699": 1, "VOG5698": 0, "VOG4188": 0, "VOG4189": 0, "VOG4181": 0, "VOG4186": 0, "VOG4184": 0, "VOG5743": 0, "VOG5214": 2, "VOG5217": 0, "VOG4619": 1, "VOG5211": 2, "VOG5746": 0, "VOG5745": 0, "VOG5744": 0, "VOG4612": 1, "VOG4613": 0, "VOG4610": 2, "VOG4611": 1, "VOG5219": 0, "VOG5218": 0, "VOG4164": 0, "VOG4165": 0, "VOG4166": 0, "VOG4167": 0, "VOG4161": 0, "VOG4162": 0, "VOG3340": 2, "VOG4168": 0, "VOG5969": 0, "VOG5968": 0, "VOG5963": 0, "VOG5962": 0, "VOG5961": 0, "VOG5960": 0, "VOG5967": 0, "VOG5966": 0, "VOG5964": 0, "VOG3741": 2, "VOG3740": 2, "VOG3742": 2, "VOG4507": 0, "VOG4504": 0, "VOG4505": 0, "VOG4503": 0, "VOG2900": 1, "VOG2901": 1, "VOG2902": 1, "VOG5201": 0, "VOG2906": 1, "VOG2907": 1, "VOG4762": 0, "VOG4760": 0, "VOG4761": 0, "VOG4766": 2, "VOG4764": 0, "VOG4765": 0, "VOG4768": 0, "VOG2344": 2, "VOG2341": 2, "VOG2349": 2, "VOG2838": 1, "VOG5720": 0, "VOG2834": 1, "VOG4488": 0, "VOG2830": 1, "VOG5231": 0, "VOG2120": 1, "VOG2121": 1, "VOG2127": 0, "VOG5725": 1, "VOG2128": 0, "VOG2129": 0, "VOG5724": 1, "VOG5234": 0, "VOG1909": 1, "VOG1907": 1, "VOG1901": 1, "VOG1900": 1, "VOG1903": 1, "VOG1902": 1, "VOG1053": 2, "VOG1052": 2, "VOG3685": 1, "VOG0509": 0, "VOG1057": 2, "VOG1055": 2, "VOG0506": 0, "VOG0507": 0, "VOG2018": 1, "VOG2012": 0, "VOG2011": 0, "VOG5265": 1, "VOG4296": 0, "VOG0476": 0, "VOG0477": 0, "VOG0474": 0, "VOG0475": 0, "VOG0473": 0, "VOG0471": 0, "VOG0479": 0, "VOG1472": 0, "VOG1474": 1, "VOG1478": 1, "VOG2659": 1, "VOG2651": 1, "VOG2652": 1, "VOG2653": 1, "VOG2655": 1, "VOG2656": 1, "VOG1418": 1, "VOG0870": 0, "VOG4704": 1, "VOG0651": 1, "VOG0656": 1, "VOG0658": 1, "VOG0894": 1, "VOG0897": 1, "VOG0890": 1, "VOG0893": 1, "VOG1411": 0, "VOG1278": 1, "VOG5592": 0, "VOG5593": 1, "VOG5590": 8, "VOG5591": 0, "VOG5596": 2, "VOG5594": 0, "VOG5595": 1, "VOG5599": 0, "VOG0095": 0, "VOG5657": 0, "VOG5124": 1, "VOG1302": 1, "VOG0258": 2, "VOG0259": 2, "VOG0254": 2, "VOG5347": 1, "VOG5378": 1, "VOG5346": 1, "VOG5376": 2, "VOG5377": 0, "VOG5374": 1, "VOG5375": 1, "VOG5372": 1, "VOG5371": 0, "VOG5344": 0, "VOG5688": 0, "VOG5689": 2, "VOG5686": 1, "VOG5687": 1, "VOG5684": 0, "VOG5685": 0, "VOG5682": 0, "VOG5683": 0, "VOG5680": 5, "VOG5681": 0, "VOG5428": 0, "VOG5429": 0, "VOG5750": 0, "VOG5203": 0, "VOG5200": 0, "VOG5753": 1, "VOG5206": 0, "VOG5755": 0, "VOG5756": 0, "VOG5205": 0, "VOG4371": 0, "VOG5759": 1, "VOG5208": 0, "VOG4372": 0, "VOG5424": 0, "VOG4151": 0, "VOG4150": 0, "VOG4938": 0, "VOG4154": 0, "VOG4409": 0, "VOG4408": 0, "VOG4159": 0, "VOG4406": 0, "VOG3682": 2, "VOG3683": 2, "VOG4403": 0, "VOG4402": 0, "VOG4401": 0, "VOG4521": 0, "VOG5978": 0, "VOG5979": 0, "VOG5970": 0, "VOG5971": 0, "VOG5972": 0, "VOG5973": 1, "VOG5974": 1, "VOG5975": 0, "VOG5976": 0, "VOG5977": 0, "VOG4083": 0, "VOG4080": 0, "VOG4086": 0, "VOG4085": 0, "VOG4084": 0, "VOG4088": 0, "VOG3756": 2, "VOG3754": 2, "VOG3755": 2, "VOG4576": 1, "VOG4575": 0, "VOG4574": 1, "VOG4578": 1, "VOG4889": 2, "VOG4888": 2, "VOG2935": 1, "VOG4882": 1, "VOG2937": 1, "VOG4880": 0, "VOG4887": 0, "VOG2930": 1, "VOG4885": 0, "VOG4884": 1, "VOG3356": 6, "VOG5419": 1, "VOG3355": 6, "VOG4799": 1, "VOG4798": 0, "VOG4794": 0, "VOG4793": 1, "VOG4792": 0, "VOG4790": 1, "VOG2332": 1, "VOG2803": 1, "VOG2802": 1, "VOG2804": 1, "VOG2489": 1, "VOG1993": 0, "VOG2485": 1, "VOG2484": 1, "VOG2487": 1, "VOG1520": 1, "VOG2481": 1, "VOG2482": 1, "VOG1996": 0, "VOG4208": 0, "VOG5330": 0, "VOG4946": 0, "VOG1919": 0, "VOG1629": 1, "VOG1916": 0, "VOG1917": 0, "VOG5885": 0, "VOG1044": 1, "VOG1045": 6, "VOG1049": 1, "VOG5887": 0, "VOG4201": 0, "VOG1681": 0, "VOG1684": 0, "VOG4200": 0, "VOG2791": 0, "VOG2793": 0, "VOG2792": 0, "VOG2795": 0, "VOG2794": 0, "VOG3824": 0, "VOG3822": 0, "VOG3843": 0, "VOG3847": 0, "VOG0403": 0, "VOG0402": 0, "VOG0401": 0, "VOG0400": 0, "VOG0407": 0, "VOG0404": 0, "VOG0409": 0, "VOG0408": 0, "VOG2665": 1, "VOG2661": 1, "VOG2660": 1, "VOG1468": 0, "VOG1467": 0, "VOG1462": 0, "VOG2668": 1, "VOG1460": 0, "VOG1461": 0, "VOG2463": 1, "VOG1860": 0, "VOG1861": 0, "VOG1867": 0, "VOG1864": 0, "VOG0315": 1, "VOG0311": 1, "VOG1261": 1, "VOG1262": 1, "VOG1263": 1, "VOG1266": 1, "VOG0793": 1, "VOG0792": 1, "VOG0791": 1, "VOG0790": 1, "VOG0797": 1, "VOG0795": 1, "VOG0794": 1, "VOG0799": 1, "VOG5569": 1, "VOG5565": 0, "VOG5564": 0, "VOG5561": 2, "VOG5560": 0, "VOG5162": 0, "VOG5161": 0, "VOG5167": 0, "VOG5166": 0, "VOG5165": 0, "VOG5164": 0, "VOG5169": 0, "VOG5309": 0, "VOG5308": 0, "VOG5303": 1, "VOG5302": 0, "VOG5307": 0, "VOG5305": 2, "VOG0134": 0, "VOG0133": 0, "VOG0131": 0, "VOG0139": 0, "VOG5768": 0, "VOG5765": 0, "VOG5766": 0, "VOG5761": 0, "VOG5760": 0, "VOG5763": 0, "VOG5945": 1, "VOG5416": 0, "VOG5415": 0, "VOG5946": 0, "VOG4418": 0, "VOG5940": 1, "VOG5943": 0, "VOG4149": 0, "VOG4146": 0, "VOG4416": 0, "VOG4417": 0, "VOG4410": 0, "VOG4411": 0, "VOG4140": 0, "VOG5784": 0, "VOG5783": 0, "VOG5780": 1, "VOG5789": 0, "VOG4090": 0, "VOG4093": 0, "VOG4094": 0, "VOG4097": 0, "VOG4099": 0, "VOG4560": 1, "VOG4569": 1, "VOG0238": 0, "VOG3785": 0, "VOG3789": 0, "VOG3788": 0, "VOG3034": 1, "VOG3313": 2, "VOG5984": 0, "VOG4898": 0, "VOG4899": 0, "VOG2928": 1, "VOG2929": 1, "VOG4891": 1, "VOG4892": 1, "VOG4893": 0, "VOG4894": 0, "VOG2927": 1, "VOG4896": 0, "VOG4897": 0, "VOG1329": 1, "VOG3327": 0, "VOG4789": 2, "VOG4784": 0, "VOG4785": 0, "VOG4786": 0, "VOG4787": 0, "VOG4781": 0, "VOG4783": 1, "VOG2320": 2, "VOG2323": 2, "VOG2325": 2, "VOG2326": 2, "VOG3251": 0, "VOG2998": 1, "VOG0117": 0, "VOG2499": 1, "VOG2492": 1, "VOG2493": 1, "VOG2490": 1, "VOG2491": 1, "VOG2497": 1, "VOG2494": 1, "VOG2785": 1, "VOG2783": 1, "VOG2780": 1, "VOG1074": 2, "VOG1076": 2, "VOG1073": 2, "VOG2078": 1, "VOG2072": 0, "VOG1673": 1, "VOG2075": 1, "VOG1670": 1, "VOG5258": 1, "VOG0410": 0, "VOG0411": 0, "VOG0412": 0, "VOG0413": 0, "VOG0414": 0, "VOG0415": 0, "VOG0416": 0, "VOG0417": 0, "VOG0418": 0, "VOG2672": 1, "VOG2673": 1, "VOG1419": 1, "VOG2671": 1, "VOG2676": 1, "VOG2674": 1, "VOG2678": 1, "VOG1416": 0, "VOG2474": 1, "VOG4040": 0, "VOG1899": 1, "VOG1898": 1, "VOG1897": 1, "VOG1895": 1, "VOG1893": 1, "VOG1892": 1, "VOG1890": 1, "VOG0374": 0, "VOG1527": 1, "VOG1525": 1, "VOG1256": 1, "VOG1251": 1, "VOG1250": 1, "VOG1252": 1, "VOG1259": 1, "VOG1258": 1, "VOG0302": 2, "VOG1528": 1, "VOG1095": 1, "VOG1094": 1, "VOG1092": 1, "VOG1099": 1, "VOG0784": 1, "VOG0787": 1, "VOG0789": 1, "VOG5578": 1, "VOG5579": 1, "VOG5574": 1, "VOG5575": 1, "VOG5576": 1, "VOG5577": 1, "VOG5570": 1, "VOG5571": 0, "VOG5572": 1, "VOG5573": 1, "VOG5170": 2, "VOG5171": 0, "VOG5172": 0, "VOG5173": 0, "VOG5174": 1, "VOG5175": 0, "VOG5176": 1, "VOG5177": 0, "VOG5178": 0, "VOG5179": 0, "VOG0237": 0, "VOG5389": 0, "VOG5319": 0, "VOG0040": 2, "VOG5310": 0, "VOG5312": 1, "VOG5313": 1, "VOG5314": 0, "VOG5315": 2, "VOG5317": 1, "VOG4526": 0, "VOG0125": 0, "VOG0126": 0, "VOG0127": 0, "VOG0122": 0, "VOG0573": 0, "VOG4319": 1, "VOG0128": 0, "VOG0129": 0, "VOG5778": 0, "VOG5779": 0, "VOG5772": 0, "VOG5770": 0, "VOG5771": 0, "VOG5952": 1, "VOG5405": 0, "VOG4139": 0, "VOG4138": 0, "VOG5400": 1, "VOG5401": 0, "VOG5402": 1, "VOG5403": 1, "VOG4133": 0, "VOG4420": 0, "VOG5958": 1, "VOG4130": 0, "VOG4425": 0, "VOG4136": 0, "VOG4135": 0, "VOG5794": 1, "VOG5795": 1, "VOG5796": 1, "VOG5797": 1, "VOG5791": 0, "VOG5792": 0, "VOG5793": 1, "VOG4951": 0, "VOG4950": 0, "VOG5798": 0, "VOG5799": 0, "VOG4558": 1, "VOG4228": 1, "VOG4555": 1, "VOG4554": 1, "VOG4557": 1, "VOG4553": 1, "VOG4046": 0, "VOG4045": 0, "VOG4044": 0, "VOG4043": 0, "VOG4042": 0, "VOG3798": 0, "VOG3799": 0, "VOG3796": 0, "VOG3797": 0, "VOG3794": 2, "VOG3027": 1, "VOG5950": 0, "VOG3790": 0, "VOG4048": 0, "VOG5957": 0, "VOG4421": 0, "VOG4132": 0, "VOG3339": 2, "VOG4423": 0, "VOG5959": 0, "VOG2318": 2, "VOG2315": 2, "VOG2314": 2, "VOG2317": 2, "VOG2310": 2, "VOG4424": 0, "VOG2861": 1, "VOG2860": 1, "VOG2866": 1, "VOG2864": 1, "VOG1831": 0, "VOG2044": 1, "VOG2041": 1, "VOG2040": 1, "VOG2042": 1, "VOG1063": 2, "VOG2049": 1, "VOG1668": 1, "VOG1666": 1, "VOG1661": 1, "VOG1662": 1, "VOG1663": 1, "VOG1445": 0, "VOG3804": 0, "VOG2312": 2, "VOG3803": 0, "VOG3801": 0, "VOG0429": 0, "VOG0428": 0, "VOG0939": 2, "VOG0425": 0, "VOG0936": 1, "VOG0427": 0, "VOG0426": 0, "VOG0421": 0, "VOG0930": 1, "VOG2689": 1, "VOG2688": 1, "VOG2687": 1, "VOG2686": 1, "VOG2685": 1, "VOG2684": 1, "VOG2683": 1, "VOG2682": 1, "VOG1406": 2, "VOG1407": 2, "VOG2441": 0, "VOG2440": 0, "VOG2444": 0, "VOG2447": 0, "VOG1790": 0, "VOG2448": 0, "VOG1796": 0, "VOG1888": 1, "VOG0689": 1, "VOG0681": 4, "VOG0686": 0, "VOG1242": 1, "VOG1243": 1, "VOG1241": 1, "VOG1246": 1, "VOG1248": 1, "VOG1249": 1, "VOG0337": 7, "VOG1085": 0, "VOG1080": 2, "VOG1088": 0, "VOG4659": 1, "VOG5549": 2, "VOG5548": 0, "VOG5541": 0, "VOG5540": 0, "VOG5543": 1, "VOG5545": 0, "VOG5547": 0, "VOG5546": 0, "VOG0205": 1, "VOG3987": 1, "VOG0207": 1, "VOG0202": 1, "VOG0209": 1, "VOG2102": 2, "VOG3984": 1, "VOG5149": 0, "VOG4041": 0, "VOG1336": 1, "VOG1337": 1, "VOG5147": 0, "VOG5146": 0, "VOG5141": 0, "VOG5140": 0, "VOG5143": 0, "VOG3982": 1, "VOG3024": 1, "VOG3025": 1, "VOG3793": 2, "VOG3791": 0, "VOG0113": 0, "VOG0115": 0, "VOG0114": 0, "VOG4306": 0, "VOG2959": 1, "VOG0118": 0, "VOG5431": 0, "VOG4947": 0, "VOG5433": 1, "VOG5432": 1, "VOG4942": 3, "VOG5434": 2, "VOG5437": 0, "VOG5436": 0, "VOG4120": 0, "VOG4121": 0, "VOG4122": 0, "VOG4123": 0, "VOG4124": 0, "VOG4125": 0, "VOG4948": 0, "VOG4949": 0, "VOG5325": 0, "VOG5892": 0, "VOG5891": 0, "VOG5890": 0, "VOG5897": 0, "VOG5896": 0, "VOG5895": 0, "VOG5894": 0, "VOG5899": 0, "VOG5898": 0, "VOG5329": 0, "VOG5328": 0, "VOG4232": 1, "VOG4054": 0, "VOG4055": 0, "VOG4056": 0, "VOG4050": 0, "VOG4051": 0, "VOG4052": 0, "VOG3010": 1, "VOG4058": 0, "VOG3017": 1, "VOG3016": 1, "VOG3491": 2, "VOG5647": 0, "VOG3653": 1, "VOG2306": 2, "VOG2870": 1, "VOG4032": 0, "VOG2873": 1, "VOG2876": 1, "VOG2877": 1, "VOG2878": 1, "VOG2879": 1, "VOG1581": 1, "VOG0529": 1, "VOG1630": 1, "VOG0913": 1, "VOG2278": 0, "VOG5712": 2, "VOG0393": 0, "VOG4422": 0, "VOG2052": 1, "VOG2053": 1, "VOG2051": 1, "VOG2056": 1, "VOG2057": 1, "VOG2054": 1, "VOG2059": 1, "VOG1659": 1, "VOG1658": 1, "VOG1651": 1, "VOG1650": 1, "VOG1652": 1, "VOG1655": 1, "VOG1654": 1, "VOG1657": 1, "VOG3870": 0, "VOG3986": 1, "VOG0438": 0, "VOG1436": 0, "VOG1433": 0, "VOG0924": 1, "VOG0433": 0, "VOG0926": 1, "VOG0927": 1, "VOG1439": 0, "VOG0437": 0, "VOG0922": 1, "VOG2698": 1, "VOG2696": 1, "VOG2697": 1, "VOG2690": 1, "VOG2691": 1, "VOG2692": 1, "VOG2456": 0, "VOG2457": 0, "VOG2454": 0, "VOG2452": 0, "VOG2453": 0, "VOG2451": 0, "VOG3983": 1, "VOG1508": 0, "VOG4696": 0, "VOG5379": 0, "VOG1801": 0, "VOG5953": 0, "VOG4670": 1, "VOG4671": 0, "VOG0740": 1, "VOG4673": 1, "VOG0749": 1, "VOG5159": 0, "VOG5152": 0, "VOG5153": 0, "VOG5150": 0, "VOG5621": 0, "VOG5157": 1, "VOG5154": 1, "VOG5155": 1, "VOG0697": 1, "VOG0695": 1, "VOG0692": 1, "VOG0691": 1, "VOG0108": 0, "VOG0109": 0, "VOG0106": 0, "VOG4334": 1, "VOG0104": 0, "VOG0105": 0, "VOG5555": 0, "VOG5552": 1, "VOG5550": 2, "VOG2948": 1, "VOG5559": 0, "VOG4933": 0, "VOG4932": 0, "VOG4930": 0, "VOG4937": 0, "VOG4936": 1, "VOG4935": 0, "VOG4934": 1, "VOG5426": 1, "VOG5427": 0, "VOG4939": 1, "VOG5425": 1, "VOG5422": 0, "VOG5423": 0, "VOG5420": 0, "VOG5421": 0, "VOG1457": 0, "VOG1104": 1, "VOG4277": 0, "VOG5880": 0, "VOG5881": 0, "VOG5882": 0, "VOG5883": 0, "VOG5884": 0, "VOG5337": 0, "VOG5886": 0, "VOG5335": 0, "VOG5888": 0, "VOG5889": 0, "VOG4203": 0, "VOG5339": 0, "VOG4205": 0, "VOG4204": 0, "VOG4207": 0, "VOG4206": 0, "VOG4062": 0, "VOG4065": 0, "VOG4064": 0, "VOG4067": 0, "VOG4066": 0, "VOG4068": 0, "VOG4591": 0, "VOG4592": 2, "VOG4595": 0, "VOG4594": 0, "VOG4599": 1, "VOG5202": 0, "VOG1109": 1, "VOG3480": 1, "VOG4441": 2, "VOG4116": 0, "VOG5754": 1, "VOG4119": 0, "VOG5207": 1, "VOG0116": 0, "VOG2999": 1, "VOG3467": 1, "VOG3461": 1, "VOG3462": 1, "VOG3463": 1, "VOG2992": 1, "VOG2994": 1, "VOG3970": 1, "VOG2382": 2, "VOG5209": 0, "VOG2849": 1, "VOG2848": 1, "VOG3898": 0, "VOG2845": 1, "VOG2844": 1, "VOG2847": 1, "VOG2846": 1, "VOG2842": 1, "VOG3002": 1, "VOG3000": 1, "VOG3001": 1, "VOG4414": 0, "VOG4018": 0, "VOG2201": 0, "VOG2200": 0, "VOG2389": 2, "VOG3680": 2, "VOG3681": 2, "VOG4405": 0, "VOG1646": 1, "VOG1647": 1, "VOG1644": 1, "VOG1642": 1, "VOG1643": 1, "VOG1641": 1, "VOG1648": 1, "VOG1649": 1, "VOG4016": 0, "VOG2515": 1, "VOG4400": 0, "VOG2513": 1, "VOG2512": 1, "VOG2192": 0, "VOG2191": 0, "VOG2190": 0, "VOG2196": 0, "VOG2195": 0, "VOG2194": 0, "VOG2199": 0, "VOG2198": 0, "VOG0919": 1, "VOG0918": 1, "VOG1426": 0, "VOG1427": 0, "VOG1424": 0, "VOG0911": 1, "VOG0910": 1, "VOG1428": 0, "VOG1429": 0, "VOG0914": 1, "VOG0917": 1, "VOG3916": 0, "VOG2428": 0, "VOG5638": 0, "VOG2423": 0, "VOG2422": 0, "VOG2421": 0, "VOG3918": 1, "VOG2424": 0, "VOG0351": 0, "VOG0356": 0, "VOG1518": 1, "VOG1519": 1, "VOG0598": 1, "VOG1510": 0, "VOG3751": 2, "VOG3124": 0, "VOG0776": 1, "VOG1350": 0, "VOG1352": 0, "VOG1353": 0, "VOG1355": 0, "VOG5181": 0, "VOG5180": 0, "VOG5183": 0, "VOG5182": 0, "VOG5185": 0, "VOG5184": 0, "VOG5187": 0, "VOG5186": 0, "VOG5189": 0, "VOG5188": 0, "VOG5635": 0, "VOG5634": 0, "VOG0178": 4, "VOG0173": 4, "VOG0172": 4, "VOG4320": 1, "VOG0170": 4, "VOG0177": 4, "VOG0176": 4, "VOG0175": 4, "VOG0174": 4, "VOG5523": 1, "VOG5522": 1, "VOG5521": 0, "VOG5527": 1, "VOG5526": 1, "VOG5525": 0, "VOG5524": 1, "VOG5528": 2, "VOG4692": 1, "VOG4921": 0, "VOG4922": 0, "VOG5458": 0, "VOG4924": 0, "VOG4697": 0, "VOG4927": 0, "VOG4928": 2, "VOG5980": 1, "VOG4698": 0, "VOG5450": 0, "VOG5457": 0, "VOG5456": 0, "VOG5455": 0, "VOG5454": 1, "VOG3438": 1, "VOG0006": 5, "VOG4214": 0, "VOG4212": 0, "VOG4213": 0, "VOG4210": 0, "VOG4520": 0, "VOG2681": 1, "VOG4078": 0, "VOG4079": 0, "VOG4077": 0, "VOG4074": 0, "VOG4072": 0, "VOG4070": 0, "VOG4071": 0, "VOG5856": 1, "VOG5855": 1, "VOG5854": 0, "VOG5853": 1, "VOG5852": 1, "VOG5851": 2, "VOG5850": 0, "VOG4586": 1, "VOG4584": 0, "VOG4857": 0, "VOG4582": 1, "VOG4583": 1, "VOG5858": 0, "VOG3679": 2, "VOG3678": 2, "VOG4100": 0, "VOG4101": 0, "VOG4106": 0, "VOG4104": 0, "VOG4105": 0, "VOG4458": 0, "VOG4108": 0, "VOG4109": 0, "VOG3675": 2, "VOG3677": 2, "VOG2988": 1, "VOG3453": 1, "VOG3452": 1, "VOG4523": 0, "VOG2980": 1, "VOG2981": 1, "VOG3105": 0, "VOG3102": 0, "VOG3101": 0, "VOG2858": 1, "VOG2859": 1, "VOG5639": 0, "VOG2852": 1, "VOG2853": 1, "VOG2850": 1, "VOG2851": 1, "VOG2856": 1, "VOG2857": 1, "VOG2854": 1, "VOG2855": 1, "VOG3077": 0, "VOG3074": 0, "VOG2212": 0, "VOG2215": 0, "VOG2217": 0, "VOG2219": 1, "VOG5740": 0, "VOG5949": 0, "VOG3292": 0, "VOG3291": 0, "VOG1985": 0, "VOG1632": 1, "VOG1631": 1, "VOG1986": 0, "VOG1637": 1, "VOG1980": 0, "VOG1635": 1, "VOG1982": 0, "VOG1638": 1, "VOG1989": 0, "VOG1988": 0, "VOG4886": 0, "VOG3854": 0, "VOG3857": 0, "VOG2508": 1, "VOG2505": 1, "VOG2506": 1, "VOG2507": 1, "VOG3859": 0, "VOG2501": 1, "VOG2502": 1, "VOG2503": 1, "VOG0541": 1, "VOG2180": 1, "VOG0937": 1, "VOG2183": 1, "VOG2184": 1, "VOG2185": 1, "VOG0424": 0, "VOG3963": 1, "VOG0933": 1, "VOG1186": 1, "VOG4329": 1, "VOG1743": 0, "VOG1741": 0, "VOG5145": 0, "VOG2438": 0, "VOG3920": 1, "VOG3923": 1, "VOG3922": 1, "VOG3925": 1, "VOG3924": 1, "VOG3927": 1, "VOG3926": 1, "VOG3929": 1, "VOG3928": 1, "VOG2432": 0, "VOG2434": 0, "VOG2436": 0, "VOG0171": 4, "VOG0582": 0, "VOG0583": 0, "VOG0584": 0, "VOG1563": 1, "VOG0588": 0, "VOG1403": 0, "VOG1405": 0, "VOG0906": 1, "VOG0907": 1, "VOG0904": 1, "VOG0905": 1, "VOG0902": 1, "VOG0903": 1, "VOG0900": 1, "VOG0901": 1, "VOG5138": 0, "VOG2680": 1, "VOG0908": 1, "VOG0909": 1, "VOG1799": 0, "VOG5642": 0, "VOG2234": 4, "VOG1362": 0, "VOG0766": 0, "VOG0764": 0, "VOG2235": 4, "VOG1369": 0, "VOG1167": 1, "VOG1166": 1, "VOG1165": 1, "VOG5137": 0, "VOG1160": 1, "VOG5646": 0, "VOG1168": 1, "VOG5644": 0, "VOG5133": 0, "VOG4920": 0, "VOG5628": 1, "VOG5629": 1, "VOG5198": 0, "VOG5199": 0, "VOG5624": 2, "VOG5197": 0, "VOG5194": 0, "VOG5627": 1, "VOG5192": 0, "VOG5459": 0, "VOG5190": 0, "VOG5191": 0, "VOG4923": 1, "VOG5350": 1, "VOG5351": 0, "VOG0168": 4, "VOG0169": 4, "VOG0162": 0, "VOG4695": 0, "VOG0167": 8, "VOG5981": 1, "VOG5533": 0, "VOG5537": 2, "VOG5538": 2, "VOG5539": 1, "VOG5983": 0, "VOG5449": 1, "VOG5982": 0, "VOG4918": 0, "VOG4668": 5, "VOG4915": 0, "VOG4666": 1, "VOG5442": 0, "VOG4664": 2, "VOG4663": 1, "VOG4662": 1, "VOG4913": 0, "VOG4912": 0, "VOG5986": 1, "VOG0014": 5, "VOG0016": 2, "VOG0017": 2, "VOG0013": 5, "VOG0019": 2, "VOG4869": 0, "VOG5845": 1, "VOG5846": 1, "VOG5840": 3, "VOG5841": 1, "VOG5842": 2, "VOG5843": 1, "VOG4860": 0, "VOG4862": 0, "VOG4865": 0, "VOG5849": 1, "VOG4867": 0, "VOG4866": 1, "VOG4469": 0, "VOG4468": 0, "VOG4464": 0, "VOG4460": 0, "VOG4463": 0, "VOG4462": 0, "VOG4717": 0, "VOG4716": 1, "VOG4715": 0, "VOG4713": 1, "VOG4712": 0, "VOG4217": 1, "VOG0005": 5, "VOG4719": 0, "VOG4718": 1, "VOG0002": 5, "VOG3594": 0, "VOG3064": 0, "VOG3066": 0, "VOG2881": 1, "VOG2880": 1, "VOG2883": 1, "VOG2887": 1, "VOG2889": 1, "VOG2888": 1, "VOG2897": 1, "VOG2222": 1, "VOG1967": 0, "VOG3285": 1, "VOG3287": 1, "VOG1992": 0, "VOG1621": 1, "VOG1622": 1, "VOG1623": 1, "VOG1624": 1, "VOG1625": 1, "VOG1626": 1, "VOG1627": 1, "VOG1628": 1, "VOG2080": 1, "VOG1998": 0, "VOG2086": 2, "VOG2539": 1, "VOG2538": 1, "VOG2528": 1, "VOG3844": 0, "VOG2531": 1, "VOG2533": 1, "VOG2534": 1, "VOG2537": 1, "VOG4603": 1, "VOG5739": 0, "VOG1190": 0, "VOG1191": 0, "VOG2405": 2, "VOG2404": 2, "VOG2401": 2, "VOG2152": 1, "VOG2403": 2, "VOG2409": 2, "VOG3938": 1, "VOG3939": 1, "VOG3936": 1, "VOG3937": 1, "VOG3934": 1, "VOG3935": 1, "VOG3932": 1, "VOG3933": 1, "VOG3930": 1, "VOG0809": 1, "VOG0808": 1, "VOG0375": 0, "VOG0806": 1, "VOG0804": 1, "VOG0371": 0, "VOG0370": 0, "VOG0801": 1, "VOG0800": 1, "VOG0577": 0, "VOG0574": 0, "VOG1574": 1, "VOG1575": 1, "VOG0571": 0, "VOG1577": 1, "VOG0976": 0, "VOG4858": 0, "VOG4859": 0, "VOG1372": 0, "VOG1373": 0, "VOG1370": 0, "VOG1371": 0, "VOG1374": 0, "VOG1375": 0, "VOG0713": 1, "VOG0712": 1, "VOG0717": 1, "VOG0714": 1, "VOG1175": 1, "VOG1176": 1, "VOG0488": 0, "VOG1172": 1, "VOG1173": 1, "VOG0483": 0, "VOG0482": 0, "VOG0481": 0, "VOG0480": 0, "VOG0487": 0, "VOG0486": 0, "VOG0485": 0, "VOG0484": 0, "VOG5619": 0, "VOG5618": 0, "VOG5613": 4, "VOG5612": 0, "VOG5615": 2, "VOG0396": 0, "VOG0395": 0, "VOG0394": 0, "VOG5299": 1, "VOG5298": 0, "VOG0390": 0, "VOG5294": 0, "VOG5291": 0, "VOG5290": 0, "VOG5293": 1, "VOG0398": 0, "VOG5509": 0, "VOG5505": 0, "VOG5507": 0, "VOG5506": 2, "VOG5501": 0, "VOG5503": 0, "VOG5276": 1, "VOG5275": 2, "VOG5274": 1, "VOG5273": 1, "VOG5272": 0, "VOG5271": 1, "VOG4902": 0, "VOG4903": 0, "VOG4900": 0, "VOG4901": 0, "VOG4906": 0, "VOG4907": 0, "VOG4905": 0, "VOG4273": 0, "VOG4103": 0, "VOG0029": 2, "VOG4279": 0, "VOG4876": 0, "VOG4877": 0, "VOG4874": 0, "VOG4875": 1, "VOG4870": 0, "VOG4012": 0, "VOG4013": 0, "VOG4014": 0, "VOG4015": 0, "VOG4878": 0, "VOG4017": 0, "VOG5871": 0, "VOG5870": 0, "VOG5873": 1, "VOG5875": 0, "VOG5874": 1, "VOG5877": 0, "VOG5876": 0, "VOG3614": 0, "VOG5475": 1, "VOG5474": 1, "VOG5476": 0, "VOG5471": 1, "VOG5470": 1, "VOG5473": 0, "VOG5144": 0, "VOG1984b": 0, "VOG1984a": 0, "VOG5479": 2, "VOG5478": 1, "VOG3129": 0, "VOG4706": 0, "VOG4707": 1, "VOG4700": 0, "VOG4701": 1, "VOG4702": 0, "VOG4703": 0, "VOG1685": 0, "VOG3125": 0, "VOG4709": 0, "VOG2063": 0, "VOG2419": 0, "VOG4691": 0, "VOG3459": 1, "VOG3058": 0, "VOG3729": 2, "VOG3055": 0, "VOG3057": 0, "VOG3056": 0, "VOG3051": 1, "VOG3050": 1, "VOG2238": 0, "VOG2899": 1, "VOG2233": 4, "VOG2894": 1, "VOG2895": 1, "VOG2892": 1, "VOG2893": 1, "VOG2890": 1, "VOG2891": 1, "VOG2526": 1, "VOG2527": 1, "VOG2522": 1, "VOG2523": 1, "VOG1968": 0, "VOG1615": 1, "VOG1614": 1, "VOG1964": 0, "VOG1611": 1, "VOG1610": 1, "VOG1613": 1, "VOG2529": 1, "VOG5246": 0, "VOG5716": 1, "VOG5243": 0, "VOG2412": 0, "VOG2413": 0, "VOG2147": 1, "VOG2417": 0, "VOG2414": 0, "VOG2415": 0, "VOG2418": 0, "VOG5241": 0, "VOG3949": 1, "VOG3943": 1, "VOG3942": 1, "VOG3941": 1, "VOG3940": 1, "VOG3947": 1, "VOG3946": 1, "VOG3944": 1, "VOG2097": 2, "VOG2094": 2, "VOG2095": 2, "VOG2098": 2}, "taxonomy_codes": ["Myoviridae", "Siphoviridae", "Podoviridae", "Bicaudaviridae", "Microviridae", "Inoviridae", "Fuselloviridae", "Tectiviridae", "Leviviridae"]} \ No newline at end of file diff --git a/phigaro/pvogs_taxonomy.pickle b/phigaro/pvogs_taxonomy.pickle deleted file mode 100644 index 1f41b5a..0000000 --- a/phigaro/pvogs_taxonomy.pickle +++ /dev/null @@ -1,7127 +0,0 @@ -((dp0 -S'VOG1544' -p1 -I1 -sS'VOG1547' -p2 -I1 -sS'VOG0819' -p3 -I1 -sS'VOG1543' -p4 -I1 -sS'VOG0816' -p5 -I1 -sS'VOG0817' -p6 -I1 -sS'VOG0367' -p7 -I0 -sS'VOG0364' -p8 -I0 -sS'VOG0813' -p9 -I1 -sS'VOG0568' -p10 -I0 -sS'VOG0569' -p11 -I0 -sS'VOG0564' -p12 -I1 -sS'VOG0566' -p13 -I0 -sS'VOG0567' -p14 -I0 -sS'VOG0562' -p15 -I1 -sS'VOG1540' -p16 -I1 -sS'VOG4699' -p17 -I0 -sS'VOG2706' -p18 -I1 -sS'VOG2704' -p19 -I1 -sS'VOG2702' -p20 -I1 -sS'VOG2703' -p21 -I1 -sS'VOG2700' -p22 -I1 -sS'VOG2701' -p23 -I1 -sS'VOG1112' -p24 -I1 -sS'VOG0811' -p25 -I1 -sS'VOG0709' -p26 -I0 -sS'VOG1386' -p27 -I2 -sS'VOG1383' -p28 -I0 -sS'VOG1141' -p29 -I1 -sS'VOG1143' -p30 -I1 -sS'VOG1142' -p31 -I1 -sS'VOG1145' -p32 -I1 -sS'VOG1144' -p33 -I1 -sS'VOG1147' -p34 -I1 -sS'VOG1146' -p35 -I1 -sS'VOG1149' -p36 -I1 -sS'VOG1148' -p37 -I1 -sS'VOG0493' -p38 -I0 -sS'VOG0495' -p39 -I0 -sS'VOG0497' -p40 -I0 -sS'VOG2663' -p41 -I1 -sS'VOG0142' -p42 -I0 -sS'VOG0143' -p43 -I0 -sS'VOG0141' -p44 -I0 -sS'VOG0144' -p45 -I0 -sS'VOG0145' -p46 -I0 -sS'VOG0639' -p47 -I2 -sS'VOG3140' -p48 -I0 -sS'VOG0384' -p49 -I0 -sS'VOG5288' -p50 -I0 -sS'VOG5289' -p51 -I0 -sS'VOG0382' -p52 -I0 -sS'VOG2669' -p53 -I1 -sS'VOG5281' -p54 -I0 -sS'VOG0388' -p55 -I0 -sS'VOG0389' -p56 -I0 -sS'VOG5284' -p57 -I0 -sS'VOG5285' -p58 -I0 -sS'VOG5518' -p59 -I0 -sS'VOG5512' -p60 -I0 -sS'VOG5513' -p61 -I0 -sS'VOG5510' -p62 -I0 -sS'VOG5516' -p63 -I0 -sS'VOG5517' -p64 -I0 -sS'VOG5514' -p65 -I0 -sS'VOG5515' -p66 -I0 -sS'VOG4649' -p67 -I1 -sS'VOG4648' -p68 -I1 -sS'VOG4399' -p69 -I0 -sS'VOG5267' -p70 -I0 -sS'VOG5260' -p71 -I1 -sS'VOG5261' -p72 -I0 -sS'VOG5263' -p73 -I0 -sS'VOG4641' -p74 -I1 -sS'VOG4390' -p75 -I0 -sS'VOG4397' -p76 -I0 -sS'VOG4644' -p77 -I0 -sS'VOG4647' -p78 -I2 -sS'VOG4646' -p79 -I0 -sS'VOG3083' -p80 -I0 -sS'VOG4248' -p81 -I0 -sS'VOG0038' -p82 -I2 -sS'VOG0037' -p83 -I2 -sS'VOG0034' -p84 -I2 -sS'VOG0035' -p85 -I2 -sS'VOG0030' -p86 -I2 -sS'VOG0031' -p87 -I2 -sS'VOG5604' -p88 -I1 -sS'VOG5605' -p89 -I2 -sS'VOG5602' -p90 -I2 -sS'VOG5603' -p91 -I0 -sS'VOG5600' -p92 -I1 -sS'VOG5601' -p93 -I1 -sS'VOG4802' -p94 -I1 -sS'VOG4801' -p95 -I0 -sS'VOG4800' -p96 -I0 -sS'VOG4805' -p97 -I1 -sS'VOG4804' -p98 -I1 -sS'VOG4808' -p99 -I2 -sS'VOG4944' -p100 -I1 -sS'VOG5869' -p101 -I0 -sS'VOG5866' -p102 -I0 -sS'VOG5867' -p103 -I0 -sS'VOG5865' -p104 -I1 -sS'VOG5862' -p105 -I0 -sS'VOG5863' -p106 -I0 -sS'VOG5860' -p107 -I0 -sS'VOG5861' -p108 -I0 -sS'VOG5462' -p109 -I0 -sS'VOG5466' -p110 -I1 -sS'VOG5467' -p111 -I1 -sS'VOG5464' -p112 -I0 -sS'VOG5465' -p113 -I1 -sS'VOG5468' -p114 -I1 -sS'VOG5469' -p115 -I1 -sS'VOG4733' -p116 -I1 -sS'VOG4735' -p117 -I1 -sS'VOG4734' -p118 -I0 -sS'VOG4737' -p119 -I0 -sS'VOG4736' -p120 -I0 -sS'VOG4739' -p121 -I1 -sS'VOG4738' -p122 -I0 -sS'VOG3423' -p123 -I1 -sS'VOG4126' -p124 -I0 -sS'VOG4025' -p125 -I0 -sS'VOG3048' -p126 -I1 -sS'VOG3049' -p127 -I1 -sS'VOG4021' -p128 -I0 -sS'VOG4020' -p129 -I0 -sS'VOG4022' -p130 -I0 -sS'VOG3042' -p131 -I1 -sS'VOG3731' -p132 -I2 -sS'VOG3044' -p133 -I1 -sS'VOG3045' -p134 -I1 -sS'VOG3557' -p135 -I1 -sS'VOG3559' -p136 -I1 -sS'VOG4667' -p137 -I2 -sS'VOG5128' -p138 -I1 -sS'VOG3136' -p139 -I0 -sS'VOG3137' -p140 -I0 -sS'VOG3130' -p141 -I0 -sS'VOG3138' -p142 -I0 -sS'VOG2553' -p143 -I1 -sS'VOG2552' -p144 -I1 -sS'VOG1609' -p145 -I1 -sS'VOG1979' -p146 -I0 -sS'VOG2555' -p147 -I1 -sS'VOG2554' -p148 -I1 -sS'VOG1602' -p149 -I1 -sS'VOG1975' -p150 -I0 -sS'VOG1600' -p151 -I1 -sS'VOG2558' -p152 -I1 -sS'VOG1607' -p153 -I1 -sS'VOG1604' -p154 -I1 -sS'VOG1605' -p155 -I1 -sS'VOG2390' -p156 -I2 -sS'VOG1775' -p157 -I0 -sS'VOG1987' -p158 -I0 -sS'VOG2171' -p159 -I1 -sS'VOG2170' -p160 -I1 -sS'VOG2173' -p161 -I1 -sS'VOG2172' -p162 -I1 -sS'VOG2174' -p163 -I1 -sS'VOG2177' -p164 -I1 -sS'VOG0701' -p165 -I1 -sS'VOG2178' -p166 -I1 -sS'VOG1636' -p167 -I1 -sS'VOG3958' -p168 -I1 -sS'VOG5893' -p169 -I0 -sS'VOG0704' -p170 -I1 -sS'VOG5327' -p171 -I1 -sS'VOG3957' -p172 -I1 -sS'VOG5326' -p173 -I0 -sS'VOG4627' -p174 -I1 -sS'VOG4626' -p175 -I1 -sS'VOG5323' -p176 -I0 -sS'VOG1803' -p177 -I0 -sS'VOG0821' -p178 -I1 -sS'VOG5322' -p179 -I0 -sS'VOG0558' -p180 -I1 -sS'VOG4895' -p181 -I0 -sS'VOG5486' -p182 -I1 -sS'VOG0557' -p183 -I1 -sS'VOG0556' -p184 -I1 -sS'VOG2778' -p185 -I1 -sS'VOG2773' -p186 -I1 -sS'VOG2771' -p187 -I1 -sS'VOG2770' -p188 -I1 -sS'VOG2774' -p189 -I1 -sS'VOG0953' -p190 -I2 -sS'VOG0952' -p191 -I2 -sS'VOG0731' -p192 -I1 -sS'VOG3390' -p193 -I1 -sS'VOG1396' -p194 -I2 -sS'VOG1391' -p195 -I0 -sS'VOG1392' -p196 -I2 -sS'VOG2607' -p197 -I1 -sS'VOG2606' -p198 -I1 -sS'VOG2602' -p199 -I1 -sS'VOG1158' -p200 -I1 -sS'VOG1159' -p201 -I1 -sS'VOG1156' -p202 -I1 -sS'VOG1157' -p203 -I1 -sS'VOG1154' -p204 -I1 -sS'VOG1152' -p205 -I1 -sS'VOG1153' -p206 -I1 -sS'VOG1150' -p207 -I1 -sS'VOG1151' -p208 -I1 -sS'VOG0603' -p209 -I4 -sS'VOG0609' -p210 -I2 -sS'VOG5643' -p211 -I0 -sS'VOG5253' -p212 -I0 -sS'VOG5252' -p213 -I0 -sS'VOG5255' -p214 -I0 -sS'VOG5254' -p215 -I0 -sS'VOG5257' -p216 -I0 -sS'VOG5256' -p217 -I0 -sS'VOG5259' -p218 -I1 -sS'VOG5706' -p219 -I2 -sS'VOG5705' -p220 -I2 -sS'VOG5704' -p221 -I2 -sS'VOG5703' -p222 -I2 -sS'VOG5702' -p223 -I1 -sS'VOG5700' -p224 -I1 -sS'VOG5383' -p225 -I0 -sS'VOG5381' -p226 -I1 -sS'VOG5380' -p227 -I0 -sS'VOG5387' -p228 -I0 -sS'VOG5386' -p229 -I0 -sS'VOG0043' -p230 -I0 -sS'VOG0041' -p231 -I2 -sS'VOG5388' -p232 -I0 -sS'VOG4254' -p233 -I0 -sS'VOG5673' -p234 -I0 -sS'VOG5672' -p235 -I0 -sS'VOG5671' -p236 -I0 -sS'VOG5670' -p237 -I1 -sS'VOG5677' -p238 -I1 -sS'VOG5676' -p239 -I1 -sS'VOG5675' -p240 -I0 -sS'VOG5674' -p241 -I0 -sS'VOG5679' -p242 -I1 -sS'VOG5678' -p243 -I1 -sS'VOG4810' -p244 -I0 -sS'VOG4811' -p245 -I1 -sS'VOG4812' -p246 -I1 -sS'VOG4815' -p247 -I1 -sS'VOG1100' -p248 -I1 -sS'VOG5811' -p249 -I0 -sS'VOG5810' -p250 -I0 -sS'VOG5817' -p251 -I1 -sS'VOG5816' -p252 -I0 -sS'VOG5815' -p253 -I0 -sS'VOG1103' -p254 -I1 -sS'VOG4656' -p255 -I2 -sS'VOG4657' -p256 -I2 -sS'VOG4654' -p257 -I0 -sS'VOG4655' -p258 -I1 -sS'VOG4653' -p259 -I0 -sS'VOG4651' -p260 -I1 -sS'VOG5497' -p261 -I0 -sS'VOG5496' -p262 -I1 -sS'VOG5495' -p263 -I1 -sS'VOG5493' -p264 -I2 -sS'VOG5492' -p265 -I1 -sS'VOG5490' -p266 -I1 -sS'VOG4728' -p267 -I1 -sS'VOG3382' -p268 -I4 -sS'VOG4726' -p269 -I2 -sS'VOG4727' -p270 -I2 -sS'VOG4724' -p271 -I0 -sS'VOG4725' -p272 -I1 -sS'VOG4722' -p273 -I0 -sS'VOG4723' -p274 -I0 -sS'VOG4721' -p275 -I0 -sS'VOG5927' -p276 -I0 -sS'VOG5926' -p277 -I1 -sS'VOG5924' -p278 -I0 -sS'VOG5922' -p279 -I0 -sS'VOG5921' -p280 -I0 -sS'VOG5920' -p281 -I0 -sS'VOG5929' -p282 -I0 -sS'VOG3709' -p283 -I1 -sS'VOG4030' -p284 -I0 -sS'VOG4031' -p285 -I0 -sS'VOG4036' -p286 -I0 -sS'VOG4037' -p287 -I0 -sS'VOG4034' -p288 -I0 -sS'VOG4038' -p289 -I0 -sS'VOG4039' -p290 -I0 -sS'VOG3569' -p291 -I1 -sS'VOG3090' -p292 -I0 -sS'VOG3094' -p293 -I0 -sS'VOG3099' -p294 -I0 -sS'VOG3654' -p295 -I1 -sS'VOG1313' -p296 -I1 -sS'VOG3143' -p297 -I0 -sS'VOG3142' -p298 -I0 -sS'VOG3141' -p299 -I0 -sS'VOG3416' -p300 -I1 -sS'VOG3411' -p301 -I1 -sS'VOG3410' -p302 -I1 -sS'VOG3413' -p303 -I1 -sS'VOG2945' -p304 -I1 -sS'VOG2940' -p305 -I1 -sS'VOG2943' -p306 -I1 -sS'VOG2540' -p307 -I1 -sS'VOG1948' -p308 -I0 -sS'VOG1683' -p309 -I0 -sS'VOG2543' -p310 -I1 -sS'VOG2544' -p311 -I1 -sS'VOG2545' -p312 -I1 -sS'VOG2547' -p313 -I1 -sS'VOG2548' -p314 -I1 -sS'VOG2549' -p315 -I1 -sS'VOG1944' -p316 -I0 -sS'VOG5287' -p317 -I0 -sS'VOG3899' -p318 -I0 -sS'VOG2383' -p319 -I2 -sS'VOG2380' -p320 -I2 -sS'VOG2381' -p321 -I2 -sS'VOG2386' -p322 -I2 -sS'VOG2384' -p323 -I2 -sS'VOG2385' -p324 -I2 -sS'VOG3891' -p325 -I0 -sS'VOG3890' -p326 -I0 -sS'VOG3892' -p327 -I0 -sS'VOG3894' -p328 -I0 -sS'VOG3921' -p329 -I1 -sS'VOG2439' -p330 -I0 -sS'VOG1708' -p331 -I0 -sS'VOG3964' -p332 -I1 -sS'VOG3967' -p333 -I1 -sS'VOG3966' -p334 -I1 -sS'VOG3961' -p335 -I1 -sS'VOG3960' -p336 -I1 -sS'VOG2168' -p337 -I1 -sS'VOG3962' -p338 -I1 -sS'VOG2167' -p339 -I1 -sS'VOG3969' -p340 -I1 -sS'VOG3968' -p341 -I1 -sS'VOG4881' -p342 -I0 -sS'VOG0546' -p343 -I1 -sS'VOG0547' -p344 -I1 -sS'VOG0544' -p345 -I1 -sS'VOG0542' -p346 -I1 -sS'VOG1836' -p347 -I0 -sS'VOG5266' -p348 -I0 -sS'VOG0548' -p349 -I1 -sS'VOG4398' -p350 -I0 -sS'VOG2768' -p351 -I1 -sS'VOG2761' -p352 -I1 -sS'VOG2763' -p353 -I1 -sS'VOG2764' -p354 -I1 -sS'VOG2765' -p355 -I1 -sS'VOG2766' -p356 -I1 -sS'VOG2767' -p357 -I1 -sS'VOG1493' -p358 -I0 -sS'VOG4393' -p359 -I0 -sS'VOG1491' -p360 -I0 -sS'VOG1490' -p361 -I0 -sS'VOG0946' -p362 -I2 -sS'VOG0947' -p363 -I2 -sS'VOG0723' -p364 -I1 -sS'VOG0720' -p365 -I1 -sS'VOG4642' -p366 -I2 -sS'VOG0727' -p367 -I1 -sS'VOG0724' -p368 -I1 -sS'VOG0725' -p369 -I1 -sS'VOG4645' -p370 -I0 -sS'VOG4395' -p371 -I0 -sS'VOG4394' -p372 -I0 -sS'VOG2616' -p373 -I1 -sS'VOG2617' -p374 -I1 -sS'VOG2610' -p375 -I1 -sS'VOG2612' -p376 -I1 -sS'VOG2613' -p377 -I1 -sS'VOG1123' -p378 -I1 -sS'VOG1122' -p379 -I1 -sS'VOG1121' -p380 -I1 -sS'VOG1120' -p381 -I1 -sS'VOG2618' -p382 -I1 -sS'VOG1126' -p383 -I1 -sS'VOG1125' -p384 -I1 -sS'VOG1124' -p385 -I1 -sS'VOG0832' -p386 -I1 -sS'VOG5451' -p387 -I0 -sS'VOG4299' -p388 -I0 -sS'VOG1237' -p389 -I1 -sS'VOG1236' -p390 -I1 -sS'VOG1234' -p391 -I1 -sS'VOG1233' -p392 -I1 -sS'VOG1232' -p393 -I1 -sS'VOG2978' -p394 -I1 -sS'VOG1238' -p395 -I1 -sS'VOG5718' -p396 -I0 -sS'VOG5719' -p397 -I0 -sS'VOG5248' -p398 -I1 -sS'VOG5249' -p399 -I0 -sS'VOG5714' -p400 -I0 -sS'VOG5247' -p401 -I1 -sS'VOG5244' -p402 -I0 -sS'VOG5717' -p403 -I0 -sS'VOG5710' -p404 -I1 -sS'VOG5711' -p405 -I2 -sS'VOG5240' -p406 -I0 -sS'VOG5713' -p407 -I1 -sS'VOG5390' -p408 -I0 -sS'VOG5391' -p409 -I1 -sS'VOG5392' -p410 -I0 -sS'VOG5393' -p411 -I0 -sS'VOG5394' -p412 -I1 -sS'VOG5396' -p413 -I0 -sS'VOG5397' -p414 -I1 -sS'VOG5398' -p415 -I0 -sS'VOG5399' -p416 -I1 -sS'VOG1446' -p417 -I0 -sS'VOG5660' -p418 -I1 -sS'VOG5664' -p419 -I0 -sS'VOG5667' -p420 -I1 -sS'VOG5669' -p421 -I1 -sS'VOG4282' -p422 -I0 -sS'VOG4284' -p423 -I0 -sS'VOG4536' -p424 -I0 -sS'VOG4535' -p425 -I0 -sS'VOG4533' -p426 -I0 -sS'VOG4530' -p427 -I0 -sS'VOG5808' -p428 -I0 -sS'VOG5809' -p429 -I0 -sS'VOG0460' -p430 -I0 -sS'VOG5800' -p431 -I0 -sS'VOG5801' -p432 -I0 -sS'VOG5802' -p433 -I0 -sS'VOG5803' -p434 -I0 -sS'VOG5804' -p435 -I0 -sS'VOG5805' -p436 -I0 -sS'VOG5806' -p437 -I0 -sS'VOG5807' -p438 -I0 -sS'VOG0462' -p439 -I0 -sS'VOG0920' -p440 -I1 -sS'VOG1448' -p441 -I0 -sS'VOG0204' -p442 -I1 -sS'VOG4622' -p443 -I1 -sS'VOG4621' -p444 -I1 -sS'VOG4620' -p445 -I0 -sS'VOG5488' -p446 -I0 -sS'VOG5489' -p447 -I0 -sS'VOG4625' -p448 -I0 -sS'VOG4624' -p449 -I1 -sS'VOG5484' -p450 -I1 -sS'VOG5485' -p451 -I1 -sS'VOG4629' -p452 -I1 -sS'VOG4628' -p453 -I1 -sS'VOG5481' -p454 -I1 -sS'VOG5482' -p455 -I1 -sS'VOG5483' -p456 -I1 -sS'VOG4759' -p457 -I0 -sS'VOG4758' -p458 -I0 -sS'VOG4753' -p459 -I1 -sS'VOG4751' -p460 -I1 -sS'VOG4750' -p461 -I1 -sS'VOG4757' -p462 -I5 -sS'VOG4754' -p463 -I0 -sS'VOG5930' -p464 -I0 -sS'VOG2573' -p465 -I1 -sS'VOG3717' -p466 -I1 -sS'VOG3714' -p467 -I1 -sS'VOG3715' -p468 -I1 -sS'VOG2644' -p469 -I1 -sS'VOG3710' -p470 -I1 -sS'VOG3711' -p471 -I1 -sS'VOG5947' -p472 -I0 -sS'VOG5414' -p473 -I1 -sS'VOG3088' -p474 -I0 -sS'VOG3086' -p475 -I0 -sS'VOG5941' -p476 -I0 -sS'VOG3085' -p477 -I0 -sS'VOG3082' -p478 -I0 -sS'VOG5487' -p479 -I0 -sS'VOG4419' -p480 -I0 -sS'VOG5286' -p481 -I0 -sS'VOG4148' -p482 -I0 -sS'VOG3150' -p483 -I0 -sS'VOG3151' -p484 -I0 -sS'VOG3153' -p485 -I0 -sS'VOG3155' -p486 -I0 -sS'VOG2971' -p487 -I1 -sS'VOG2977' -p488 -I1 -sS'VOG0868' -p489 -I0 -sS'VOG2579' -p490 -I1 -sS'VOG2574' -p491 -I1 -sS'VOG2577' -p492 -I1 -sS'VOG2576' -p493 -I1 -sS'VOG2571' -p494 -I1 -sS'VOG3888' -p495 -I0 -sS'VOG4412' -p496 -I0 -sS'VOG2379' -p497 -I2 -sS'VOG2378' -p498 -I2 -sS'VOG2377' -p499 -I2 -sS'VOG2375' -p500 -I2 -sS'VOG2371' -p501 -I2 -sS'VOG2370' -p502 -I0 -sS'VOG1714' -p503 -I0 -sS'VOG1719' -p504 -I0 -sS'VOG3972' -p505 -I1 -sS'VOG3973' -p506 -I1 -sS'VOG2119' -p507 -I1 -sS'VOG3971' -p508 -I1 -sS'VOG3976' -p509 -I1 -sS'VOG3974' -p510 -I1 -sS'VOG2113' -p511 -I2 -sS'VOG3978' -p512 -I1 -sS'VOG3979' -p513 -I1 -sS'VOG2117' -p514 -I2 -sS'VOG2116' -p515 -I2 -sS'VOG2115' -p516 -I2 -sS'VOG2114' -p517 -I2 -sS'VOG1956' -p518 -I0 -sS'VOG4128' -p519 -I0 -sS'VOG1952' -p520 -I0 -sS'VOG1953' -p521 -I0 -sS'VOG1950' -p522 -I0 -sS'VOG1951' -p523 -I0 -sS'VOG0532' -p524 -I1 -sS'VOG0534' -p525 -I1 -sS'VOG0539' -p526 -I1 -sS'VOG1821' -p527 -I0 -sS'VOG2027' -p528 -I1 -sS'VOG2025' -p529 -I1 -sS'VOG2024' -p530 -I1 -sS'VOG2023' -p531 -I1 -sS'VOG2021' -p532 -I1 -sS'VOG2020' -p533 -I1 -sS'VOG1005' -p534 -I0 -sS'VOG1006' -p535 -I0 -sS'VOG1001' -p536 -I0 -sS'VOG2029' -p537 -I1 -sS'VOG2596' -p538 -I1 -sS'VOG2595' -p539 -I1 -sS'VOG2594' -p540 -I1 -sS'VOG2593' -p541 -I1 -sS'VOG2592' -p542 -I1 -sS'VOG2591' -p543 -I1 -sS'VOG2590' -p544 -I1 -sS'VOG1483' -p545 -I0 -sS'VOG1487' -p546 -I0 -sS'VOG1489' -p547 -I0 -sS'VOG0997' -p548 -I0 -sS'VOG0448' -p549 -I0 -sS'VOG0447' -p550 -I0 -sS'VOG0445' -p551 -I0 -sS'VOG0444' -p552 -I0 -sS'VOG0443' -p553 -I0 -sS'VOG0441' -p554 -I0 -sS'VOG2621' -p555 -I1 -sS'VOG2620' -p556 -I1 -sS'VOG2622' -p557 -I1 -sS'VOG2624' -p558 -I1 -sS'VOG2626' -p559 -I1 -sS'VOG2629' -p560 -I1 -sS'VOG2628' -p561 -I1 -sS'VOG1133' -p562 -I1 -sS'VOG1137' -p563 -I1 -sS'VOG0843' -p564 -I1 -sS'VOG0842' -p565 -I1 -sS'VOG0840' -p566 -I1 -sS'VOG0847' -p567 -I1 -sS'VOG0848' -p568 -I1 -sS'VOG0668' -p569 -I0 -sS'VOG0661' -p570 -I0 -sS'VOG1348' -p571 -I0 -sS'VOG0195' -p572 -I1 -sS'VOG0194' -p573 -I1 -sS'VOG0196' -p574 -I1 -sS'VOG1224' -p575 -I1 -sS'VOG1225' -p576 -I1 -sS'VOG1227' -p577 -I1 -sS'VOG1222' -p578 -I1 -sS'VOG1223' -p579 -I1 -sS'VOG1229' -p580 -I1 -sS'VOG5728' -p581 -I1 -sS'VOG5239' -p582 -I0 -sS'VOG5238' -p583 -I0 -sS'VOG5233' -p584 -I0 -sS'VOG5232' -p585 -I1 -sS'VOG5723' -p586 -I2 -sS'VOG5230' -p587 -I0 -sS'VOG5237' -p588 -I0 -sS'VOG5236' -p589 -I0 -sS'VOG5727' -p590 -I1 -sS'VOG5726' -p591 -I0 -sS'VOG0065' -p592 -I0 -sS'VOG0064' -p593 -I0 -sS'VOG0067' -p594 -I0 -sS'VOG0066' -p595 -I0 -sS'VOG0061' -p596 -I0 -sS'VOG0069' -p597 -I0 -sS'VOG0068' -p598 -I0 -sS'VOG0265' -p599 -I2 -sS'VOG0264' -p600 -I2 -sS'VOG0263' -p601 -I2 -sS'VOG0261' -p602 -I2 -sS'VOG5659' -p603 -I0 -sS'VOG5658' -p604 -I0 -sS'VOG5129' -p605 -I0 -sS'VOG3036' -p606 -I1 -sS'VOG5127' -p607 -I0 -sS'VOG5654' -p608 -I0 -sS'VOG5125' -p609 -I1 -sS'VOG5656' -p610 -I0 -sS'VOG5651' -p611 -I1 -sS'VOG5650' -p612 -I0 -sS'VOG5653' -p613 -I0 -sS'VOG5652' -p614 -I0 -sS'VOG5835' -p615 -I1 -sS'VOG5834' -p616 -I1 -sS'VOG5345' -p617 -I1 -sS'VOG5836' -p618 -I1 -sS'VOG5831' -p619 -I1 -sS'VOG5342' -p620 -I0 -sS'VOG5341' -p621 -I0 -sS'VOG5832' -p622 -I1 -sS'VOG4524' -p623 -I0 -sS'VOG4525' -p624 -I0 -sS'VOG4294' -p625 -I0 -sS'VOG4295' -p626 -I0 -sS'VOG5839' -p627 -I1 -sS'VOG5838' -p628 -I1 -sS'VOG5349' -p629 -I1 -sS'VOG5348' -p630 -I1 -sS'VOG4630' -p631 -I0 -sS'VOG4631' -p632 -I0 -sS'VOG4632' -p633 -I1 -sS'VOG4635' -p634 -I2 -sS'VOG4636' -p635 -I1 -sS'VOG4637' -p636 -I1 -sS'VOG4638' -p637 -I1 -sS'VOG4639' -p638 -I1 -sS'VOG4748' -p639 -I1 -sS'VOG4749' -p640 -I0 -sS'VOG4740' -p641 -I1 -sS'VOG4742' -p642 -I0 -sS'VOG4744' -p643 -I0 -sS'VOG3362' -p644 -I6 -sS'VOG4747' -p645 -I0 -sS'VOG5900' -p646 -I0 -sS'VOG5902' -p647 -I2 -sS'VOG5904' -p648 -I0 -sS'VOG5907' -p649 -I0 -sS'VOG5909' -p650 -I1 -sS'VOG5908' -p651 -I1 -sS'VOG4788' -p652 -I0 -sS'VOG5196' -p653 -I0 -sS'VOG5625' -p654 -I1 -sS'VOG5195' -p655 -I0 -sS'VOG5193' -p656 -I0 -sS'VOG2963' -p657 -I1 -sS'VOG2961' -p658 -I1 -sS'VOG3167' -p659 -I0 -sS'VOG3162' -p660 -I0 -sS'VOG2921' -p661 -I1 -sS'VOG3212' -p662 -I1 -sS'VOG2560' -p663 -I1 -sS'VOG2561' -p664 -I1 -sS'VOG2566' -p665 -I1 -sS'VOG2567' -p666 -I1 -sS'VOG2565' -p667 -I1 -sS'VOG0439' -p668 -I0 -sS'VOG2364' -p669 -I0 -sS'VOG2361' -p670 -I2 -sS'VOG1829' -p671 -I0 -sS'VOG4027' -p672 -I0 -sS'VOG4026' -p673 -I0 -sS'VOG0925' -p674 -I1 -sS'VOG3738' -p675 -I2 -sS'VOG3739' -p676 -I2 -sS'VOG0436' -p677 -I0 -sS'VOG5430' -p678 -I1 -sS'VOG3989' -p679 -I1 -sS'VOG3988' -p680 -I1 -sS'VOG2100' -p681 -I2 -sS'VOG2101' -p682 -I2 -sS'VOG3985' -p683 -I1 -sS'VOG2103' -p684 -I2 -sS'VOG2104' -p685 -I2 -sS'VOG2105' -p686 -I2 -sS'VOG3981' -p687 -I1 -sS'VOG2107' -p688 -I2 -sS'VOG2290' -p689 -I0 -sS'VOG1921' -p690 -I0 -sS'VOG1920' -p691 -I0 -sS'VOG1924' -p692 -I0 -sS'VOG1589' -p693 -I1 -sS'VOG0521' -p694 -I1 -sS'VOG0523' -p695 -I1 -sS'VOG0524' -p696 -I1 -sS'VOG0525' -p697 -I1 -sS'VOG0526' -p698 -I1 -sS'VOG0528' -p699 -I1 -sS'VOG1580' -p700 -I1 -sS'VOG1583' -p701 -I1 -sS'VOG1857' -p702 -I0 -sS'VOG1584' -p703 -I1 -sS'VOG1587' -p704 -I1 -sS'VOG2036' -p705 -I1 -sS'VOG2033' -p706 -I1 -sS'VOG2038' -p707 -I1 -sS'VOG2039' -p708 -I1 -sS'VOG2585' -p709 -I1 -sS'VOG2587' -p710 -I1 -sS'VOG2580' -p711 -I1 -sS'VOG2581' -p712 -I1 -sS'VOG2582' -p713 -I1 -sS'VOG5435' -p714 -I0 -sS'VOG2588' -p715 -I1 -sS'VOG2589' -p716 -I1 -sS'VOG1105' -p717 -I1 -sS'VOG1456' -p718 -I0 -sS'VOG1107' -p719 -I1 -sS'VOG1101' -p720 -I1 -sS'VOG0459' -p721 -I0 -sS'VOG1451' -p722 -I0 -sS'VOG1102' -p723 -I1 -sS'VOG0454' -p724 -I0 -sS'VOG0456' -p725 -I0 -sS'VOG0457' -p726 -I0 -sS'VOG0450' -p727 -I0 -sS'VOG1108' -p728 -I1 -sS'VOG0452' -p729 -I0 -sS'VOG2639' -p730 -I1 -sS'VOG2634' -p731 -I1 -sS'VOG2632' -p732 -I1 -sS'VOG2633' -p733 -I1 -sS'VOG2631' -p734 -I1 -sS'VOG0850' -p735 -I1 -sS'VOG0183' -p736 -I1 -sS'VOG0181' -p737 -I1 -sS'VOG0679' -p738 -I0 -sS'VOG1210' -p739 -I1 -sS'VOG1213' -p740 -I1 -sS'VOG1212' -p741 -I1 -sS'VOG1215' -p742 -I1 -sS'VOG5440' -p743 -I1 -sS'VOG4917' -p744 -I0 -sS'VOG5228' -p745 -I0 -sS'VOG5229' -p746 -I0 -sS'VOG5220' -p747 -I0 -sS'VOG4911' -p748 -I0 -sS'VOG5223' -p749 -I1 -sS'VOG5224' -p750 -I0 -sS'VOG5225' -p751 -I0 -sS'VOG5226' -p752 -I0 -sS'VOG0079' -p753 -I0 -sS'VOG0273' -p754 -I2 -sS'VOG5648' -p755 -I0 -sS'VOG5649' -p756 -I0 -sS'VOG4729' -p757 -I1 -sS'VOG5139' -p758 -I0 -sS'VOG5134' -p759 -I0 -sS'VOG5135' -p760 -I1 -sS'VOG5641' -p761 -I0 -sS'VOG5130' -p762 -I0 -sS'VOG5131' -p763 -I0 -sS'VOG5132' -p764 -I0 -sS'VOG5645' -p765 -I0 -sS'VOG5354' -p766 -I1 -sS'VOG5823' -p767 -I0 -sS'VOG5356' -p768 -I0 -sS'VOG5357' -p769 -I0 -sS'VOG5826' -p770 -I2 -sS'VOG5827' -p771 -I1 -sS'VOG5352' -p772 -I1 -sS'VOG5825' -p773 -I2 -sS'VOG4510' -p774 -I0 -sS'VOG5828' -p775 -I1 -sS'VOG5358' -p776 -I1 -sS'VOG5359' -p777 -I0 -sS'VOG2819' -p778 -I1 -sS'VOG4199' -p779 -I0 -sS'VOG4195' -p780 -I0 -sS'VOG4194' -p781 -I0 -sS'VOG4191' -p782 -I0 -sS'VOG4190' -p783 -I0 -sS'VOG4193' -p784 -I0 -sS'VOG4192' -p785 -I0 -sS'VOG5737' -p786 -I0 -sS'VOG5735' -p787 -I0 -sS'VOG5732' -p788 -I1 -sS'VOG4608' -p789 -I1 -sS'VOG5730' -p790 -I2 -sS'VOG4605' -p791 -I1 -sS'VOG4604' -p792 -I1 -sS'VOG4607' -p793 -I1 -sS'VOG4601' -p794 -I1 -sS'VOG5738' -p795 -I0 -sS'VOG4602' -p796 -I1 -sS'VOG4177' -p797 -I0 -sS'VOG4176' -p798 -I0 -sS'VOG4173' -p799 -I0 -sS'VOG4172' -p800 -I0 -sS'VOG4171' -p801 -I0 -sS'VOG3374' -p802 -I2 -sS'VOG3371' -p803 -I2 -sS'VOG4179' -p804 -I0 -sS'VOG4178' -p805 -I0 -sS'VOG1981' -p806 -I0 -sS'VOG5919' -p807 -I1 -sS'VOG5916' -p808 -I0 -sS'VOG5914' -p809 -I0 -sS'VOG5915' -p810 -I0 -sS'VOG5912' -p811 -I0 -sS'VOG5913' -p812 -I0 -sS'VOG5910' -p813 -I1 -sS'VOG5911' -p814 -I1 -sS'VOG1505' -p815 -I0 -sS'VOG0449' -p816 -I0 -sS'VOG4137' -p817 -I0 -sS'VOG0996' -p818 -I0 -sS'VOG2550' -p819 -I1 -sS'VOG2913' -p820 -I1 -sS'VOG2912' -p821 -I1 -sS'VOG2910' -p822 -I1 -sS'VOG2917' -p823 -I1 -sS'VOG5742' -p824 -I0 -sS'VOG2919' -p825 -I1 -sS'VOG2918' -p826 -I1 -sS'VOG5741' -p827 -I0 -sS'VOG4775' -p828 -I0 -sS'VOG4774' -p829 -I1 -sS'VOG3179' -p830 -I1 -sS'VOG1603' -p831 -I1 -sS'VOG3172' -p832 -I0 -sS'VOG5747' -p833 -I2 -sS'VOG4778' -p834 -I0 -sS'VOG3174' -p835 -I1 -sS'VOG5210' -p836 -I2 -sS'VOG3206' -p837 -I1 -sS'VOG1601' -p838 -I1 -sS'VOG5213' -p839 -I0 -sS'VOG5212' -p840 -I1 -sS'VOG3196' -p841 -I1 -sS'VOG3193' -p842 -I1 -sS'VOG2350' -p843 -I2 -sS'VOG2355' -p844 -I2 -sS'VOG5749' -p845 -I0 -sS'VOG2357' -p846 -I2 -sS'VOG5748' -p847 -I0 -sS'VOG4617' -p848 -I0 -sS'VOG2829' -p849 -I1 -sS'VOG2828' -p850 -I1 -sS'VOG2827' -p851 -I1 -sS'VOG2825' -p852 -I1 -sS'VOG2824' -p853 -I1 -sS'VOG2823' -p854 -I1 -sS'VOG2822' -p855 -I1 -sS'VOG2821' -p856 -I1 -sS'VOG2820' -p857 -I1 -sS'VOG2131' -p858 -I0 -sS'VOG2130' -p859 -I0 -sS'VOG5404' -p860 -I1 -sS'VOG1930' -p861 -I0 -sS'VOG5331' -p862 -I0 -sS'VOG1849' -p863 -I0 -sS'VOG1024' -p864 -I0 -sS'VOG0514' -p865 -I1 -sS'VOG0511' -p866 -I0 -sS'VOG0510' -p867 -I0 -sS'VOG2001' -p868 -I0 -sS'VOG2000' -p869 -I0 -sS'VOG2002' -p870 -I0 -sS'VOG2005' -p871 -I0 -sS'VOG2004' -p872 -I0 -sS'VOG2006' -p873 -I0 -sS'VOG5406' -p874 -I2 -sS'VOG5844' -p875 -I1 -sS'VOG1400' -p876 -I2 -sS'VOG0469' -p877 -I0 -sS'VOG1113' -p878 -I1 -sS'VOG1110' -p879 -I1 -sS'VOG1447' -p880 -I0 -sS'VOG1443' -p881 -I0 -sS'VOG0461' -p882 -I0 -sS'VOG5334' -p883 -I0 -sS'VOG0463' -p884 -I0 -sS'VOG1119' -p885 -I1 -sS'VOG0465' -p886 -I0 -sS'VOG0464' -p887 -I0 -sS'VOG0466' -p888 -I0 -sS'VOG2649' -p889 -I1 -sS'VOG2648' -p890 -I1 -sS'VOG2643' -p891 -I1 -sS'VOG2642' -p892 -I1 -sS'VOG2641' -p893 -I1 -sS'VOG2645' -p894 -I1 -sS'VOG4864' -p895 -I0 -sS'VOG1596' -p896 -I1 -sS'VOG1597' -p897 -I1 -sS'VOG1594' -p898 -I1 -sS'VOG1595' -p899 -I1 -sS'VOG1593' -p900 -I1 -sS'VOG1590' -p901 -I1 -sS'VOG1591' -p902 -I1 -sS'VOG0861' -p903 -I1 -sS'VOG1598' -p904 -I1 -sS'VOG1599' -p905 -I1 -sS'VOG0645' -p906 -I2 -sS'VOG0644' -p907 -I2 -sS'VOG0643' -p908 -I2 -sS'VOG0642' -p909 -I2 -sS'VOG0887' -p910 -I1 -sS'VOG0889' -p911 -I1 -sS'VOG0888' -p912 -I1 -sS'VOG1208' -p913 -I1 -sS'VOG1209' -p914 -I1 -sS'VOG1206' -p915 -I1 -sS'VOG1207' -p916 -I1 -sS'VOG5585' -p917 -I1 -sS'VOG5584' -p918 -I1 -sS'VOG5587' -p919 -I1 -sS'VOG5586' -p920 -I1 -sS'VOG5581' -p921 -I2 -sS'VOG5580' -p922 -I1 -sS'VOG5583' -p923 -I2 -sS'VOG5582' -p924 -I2 -sS'VOG5589' -p925 -I1 -sS'VOG5588' -p926 -I1 -sS'VOG0080' -p927 -I0 -sS'VOG5361' -p928 -I1 -sS'VOG5360' -p929 -I2 -sS'VOG5362' -p930 -I0 -sS'VOG5365' -p931 -I0 -sS'VOG5364' -p932 -I1 -sS'VOG5367' -p933 -I2 -sS'VOG5366' -p934 -I0 -sS'VOG5368' -p935 -I1 -sS'VOG5691' -p936 -I2 -sS'VOG5690' -p937 -I2 -sS'VOG5693' -p938 -I2 -sS'VOG5692' -p939 -I2 -sS'VOG5695' -p940 -I1 -sS'VOG5694' -p941 -I0 -sS'VOG5697' -p942 -I0 -sS'VOG5696' -p943 -I1 -sS'VOG5699' -p944 -I1 -sS'VOG5698' -p945 -I0 -sS'VOG4188' -p946 -I0 -sS'VOG4189' -p947 -I0 -sS'VOG4181' -p948 -I0 -sS'VOG4186' -p949 -I0 -sS'VOG4184' -p950 -I0 -sS'VOG5743' -p951 -I0 -sS'VOG5214' -p952 -I2 -sS'VOG5217' -p953 -I0 -sS'VOG4619' -p954 -I1 -sS'VOG5211' -p955 -I2 -sS'VOG5746' -p956 -I0 -sS'VOG5745' -p957 -I0 -sS'VOG5744' -p958 -I0 -sS'VOG4612' -p959 -I1 -sS'VOG4613' -p960 -I0 -sS'VOG4610' -p961 -I2 -sS'VOG4611' -p962 -I1 -sS'VOG5219' -p963 -I0 -sS'VOG5218' -p964 -I0 -sS'VOG4164' -p965 -I0 -sS'VOG4165' -p966 -I0 -sS'VOG4166' -p967 -I0 -sS'VOG4167' -p968 -I0 -sS'VOG4161' -p969 -I0 -sS'VOG4162' -p970 -I0 -sS'VOG3340' -p971 -I2 -sS'VOG4168' -p972 -I0 -sS'VOG5969' -p973 -I0 -sS'VOG5968' -p974 -I0 -sS'VOG5963' -p975 -I0 -sS'VOG5962' -p976 -I0 -sS'VOG5961' -p977 -I0 -sS'VOG5960' -p978 -I0 -sS'VOG5967' -p979 -I0 -sS'VOG5966' -p980 -I0 -sS'VOG5964' -p981 -I0 -sS'VOG3741' -p982 -I2 -sS'VOG3740' -p983 -I2 -sS'VOG3742' -p984 -I2 -sS'VOG4507' -p985 -I0 -sS'VOG4504' -p986 -I0 -sS'VOG4505' -p987 -I0 -sS'VOG4503' -p988 -I0 -sS'VOG2900' -p989 -I1 -sS'VOG2901' -p990 -I1 -sS'VOG2902' -p991 -I1 -sS'VOG5201' -p992 -I0 -sS'VOG2906' -p993 -I1 -sS'VOG2907' -p994 -I1 -sS'VOG4762' -p995 -I0 -sS'VOG4760' -p996 -I0 -sS'VOG4761' -p997 -I0 -sS'VOG4766' -p998 -I2 -sS'VOG4764' -p999 -I0 -sS'VOG4765' -p1000 -I0 -sS'VOG4768' -p1001 -I0 -sS'VOG2344' -p1002 -I2 -sS'VOG2341' -p1003 -I2 -sS'VOG2349' -p1004 -I2 -sS'VOG2838' -p1005 -I1 -sS'VOG5720' -p1006 -I0 -sS'VOG2834' -p1007 -I1 -sS'VOG4488' -p1008 -I0 -sS'VOG2830' -p1009 -I1 -sS'VOG5231' -p1010 -I0 -sS'VOG2120' -p1011 -I1 -sS'VOG2121' -p1012 -I1 -sS'VOG2127' -p1013 -I0 -sS'VOG5725' -p1014 -I1 -sS'VOG2128' -p1015 -I0 -sS'VOG2129' -p1016 -I0 -sS'VOG5724' -p1017 -I1 -sS'VOG5234' -p1018 -I0 -sS'VOG1909' -p1019 -I1 -sS'VOG1907' -p1020 -I1 -sS'VOG1901' -p1021 -I1 -sS'VOG1900' -p1022 -I1 -sS'VOG1903' -p1023 -I1 -sS'VOG1902' -p1024 -I1 -sS'VOG1053' -p1025 -I2 -sS'VOG1052' -p1026 -I2 -sS'VOG3685' -p1027 -I1 -sS'VOG0509' -p1028 -I0 -sS'VOG1057' -p1029 -I2 -sS'VOG1055' -p1030 -I2 -sS'VOG0506' -p1031 -I0 -sS'VOG0507' -p1032 -I0 -sS'VOG2018' -p1033 -I1 -sS'VOG2012' -p1034 -I0 -sS'VOG2011' -p1035 -I0 -sS'VOG5265' -p1036 -I1 -sS'VOG4296' -p1037 -I0 -sS'VOG0476' -p1038 -I0 -sS'VOG0477' -p1039 -I0 -sS'VOG0474' -p1040 -I0 -sS'VOG0475' -p1041 -I0 -sS'VOG0473' -p1042 -I0 -sS'VOG0471' -p1043 -I0 -sS'VOG0479' -p1044 -I0 -sS'VOG1472' -p1045 -I0 -sS'VOG1474' -p1046 -I1 -sS'VOG1478' -p1047 -I1 -sS'VOG2659' -p1048 -I1 -sS'VOG2651' -p1049 -I1 -sS'VOG2652' -p1050 -I1 -sS'VOG2653' -p1051 -I1 -sS'VOG2655' -p1052 -I1 -sS'VOG2656' -p1053 -I1 -sS'VOG1418' -p1054 -I1 -sS'VOG0870' -p1055 -I0 -sS'VOG4704' -p1056 -I1 -sS'VOG0651' -p1057 -I1 -sS'VOG0656' -p1058 -I1 -sS'VOG0658' -p1059 -I1 -sS'VOG0894' -p1060 -I1 -sS'VOG0897' -p1061 -I1 -sS'VOG0890' -p1062 -I1 -sS'VOG0893' -p1063 -I1 -sS'VOG1411' -p1064 -I0 -sS'VOG1278' -p1065 -I1 -sS'VOG5592' -p1066 -I0 -sS'VOG5593' -p1067 -I1 -sS'VOG5590' -p1068 -I8 -sS'VOG5591' -p1069 -I0 -sS'VOG5596' -p1070 -I2 -sS'VOG5594' -p1071 -I0 -sS'VOG5595' -p1072 -I1 -sS'VOG5599' -p1073 -I0 -sS'VOG0095' -p1074 -I0 -sS'VOG5657' -p1075 -I0 -sS'VOG5124' -p1076 -I1 -sS'VOG1302' -p1077 -I1 -sS'VOG0258' -p1078 -I2 -sS'VOG0259' -p1079 -I2 -sS'VOG0254' -p1080 -I2 -sS'VOG5347' -p1081 -I1 -sS'VOG5378' -p1082 -I1 -sS'VOG5346' -p1083 -I1 -sS'VOG5376' -p1084 -I2 -sS'VOG5377' -p1085 -I0 -sS'VOG5374' -p1086 -I1 -sS'VOG5375' -p1087 -I1 -sS'VOG5372' -p1088 -I1 -sS'VOG5371' -p1089 -I0 -sS'VOG5344' -p1090 -I0 -sS'VOG5688' -p1091 -I0 -sS'VOG5689' -p1092 -I2 -sS'VOG5686' -p1093 -I1 -sS'VOG5687' -p1094 -I1 -sS'VOG5684' -p1095 -I0 -sS'VOG5685' -p1096 -I0 -sS'VOG5682' -p1097 -I0 -sS'VOG5683' -p1098 -I0 -sS'VOG5680' -p1099 -I5 -sS'VOG5681' -p1100 -I0 -sS'VOG5428' -p1101 -I0 -sS'VOG5429' -p1102 -I0 -sS'VOG5750' -p1103 -I0 -sS'VOG5203' -p1104 -I0 -sS'VOG5200' -p1105 -I0 -sS'VOG5753' -p1106 -I1 -sS'VOG5206' -p1107 -I0 -sS'VOG5755' -p1108 -I0 -sS'VOG5756' -p1109 -I0 -sS'VOG5205' -p1110 -I0 -sS'VOG4371' -p1111 -I0 -sS'VOG5759' -p1112 -I1 -sS'VOG5208' -p1113 -I0 -sS'VOG4372' -p1114 -I0 -sS'VOG5424' -p1115 -I0 -sS'VOG4151' -p1116 -I0 -sS'VOG4150' -p1117 -I0 -sS'VOG4938' -p1118 -I0 -sS'VOG4154' -p1119 -I0 -sS'VOG4409' -p1120 -I0 -sS'VOG4408' -p1121 -I0 -sS'VOG4159' -p1122 -I0 -sS'VOG4406' -p1123 -I0 -sS'VOG3682' -p1124 -I2 -sS'VOG3683' -p1125 -I2 -sS'VOG4403' -p1126 -I0 -sS'VOG4402' -p1127 -I0 -sS'VOG4401' -p1128 -I0 -sS'VOG4521' -p1129 -I0 -sS'VOG5978' -p1130 -I0 -sS'VOG5979' -p1131 -I0 -sS'VOG5970' -p1132 -I0 -sS'VOG5971' -p1133 -I0 -sS'VOG5972' -p1134 -I0 -sS'VOG5973' -p1135 -I1 -sS'VOG5974' -p1136 -I1 -sS'VOG5975' -p1137 -I0 -sS'VOG5976' -p1138 -I0 -sS'VOG5977' -p1139 -I0 -sS'VOG4083' -p1140 -I0 -sS'VOG4080' -p1141 -I0 -sS'VOG4086' -p1142 -I0 -sS'VOG4085' -p1143 -I0 -sS'VOG4084' -p1144 -I0 -sS'VOG4088' -p1145 -I0 -sS'VOG3756' -p1146 -I2 -sS'VOG3754' -p1147 -I2 -sS'VOG3755' -p1148 -I2 -sS'VOG4576' -p1149 -I1 -sS'VOG4575' -p1150 -I0 -sS'VOG4574' -p1151 -I1 -sS'VOG4578' -p1152 -I1 -sS'VOG4889' -p1153 -I2 -sS'VOG4888' -p1154 -I2 -sS'VOG2935' -p1155 -I1 -sS'VOG4882' -p1156 -I1 -sS'VOG2937' -p1157 -I1 -sS'VOG4880' -p1158 -I0 -sS'VOG4887' -p1159 -I0 -sS'VOG2930' -p1160 -I1 -sS'VOG4885' -p1161 -I0 -sS'VOG4884' -p1162 -I1 -sS'VOG3356' -p1163 -I6 -sS'VOG5419' -p1164 -I1 -sS'VOG3355' -p1165 -I6 -sS'VOG4799' -p1166 -I1 -sS'VOG4798' -p1167 -I0 -sS'VOG4794' -p1168 -I0 -sS'VOG4793' -p1169 -I1 -sS'VOG4792' -p1170 -I0 -sS'VOG4790' -p1171 -I1 -sS'VOG2332' -p1172 -I1 -sS'VOG2803' -p1173 -I1 -sS'VOG2802' -p1174 -I1 -sS'VOG2804' -p1175 -I1 -sS'VOG2489' -p1176 -I1 -sS'VOG1993' -p1177 -I0 -sS'VOG2485' -p1178 -I1 -sS'VOG2484' -p1179 -I1 -sS'VOG2487' -p1180 -I1 -sS'VOG1520' -p1181 -I1 -sS'VOG2481' -p1182 -I1 -sS'VOG2482' -p1183 -I1 -sS'VOG1996' -p1184 -I0 -sS'VOG4208' -p1185 -I0 -sS'VOG5330' -p1186 -I0 -sS'VOG4946' -p1187 -I0 -sS'VOG1919' -p1188 -I0 -sS'VOG1629' -p1189 -I1 -sS'VOG1916' -p1190 -I0 -sS'VOG1917' -p1191 -I0 -sS'VOG5885' -p1192 -I0 -sS'VOG1044' -p1193 -I1 -sS'VOG1045' -p1194 -I6 -sS'VOG1049' -p1195 -I1 -sS'VOG5887' -p1196 -I0 -sS'VOG4201' -p1197 -I0 -sS'VOG1681' -p1198 -I0 -sS'VOG1684' -p1199 -I0 -sS'VOG4200' -p1200 -I0 -sS'VOG2791' -p1201 -I0 -sS'VOG2793' -p1202 -I0 -sS'VOG2792' -p1203 -I0 -sS'VOG2795' -p1204 -I0 -sS'VOG2794' -p1205 -I0 -sS'VOG3824' -p1206 -I0 -sS'VOG3822' -p1207 -I0 -sS'VOG3843' -p1208 -I0 -sS'VOG3847' -p1209 -I0 -sS'VOG0403' -p1210 -I0 -sS'VOG0402' -p1211 -I0 -sS'VOG0401' -p1212 -I0 -sS'VOG0400' -p1213 -I0 -sS'VOG0407' -p1214 -I0 -sS'VOG0404' -p1215 -I0 -sS'VOG0409' -p1216 -I0 -sS'VOG0408' -p1217 -I0 -sS'VOG2665' -p1218 -I1 -sS'VOG2661' -p1219 -I1 -sS'VOG2660' -p1220 -I1 -sS'VOG1468' -p1221 -I0 -sS'VOG1467' -p1222 -I0 -sS'VOG1462' -p1223 -I0 -sS'VOG2668' -p1224 -I1 -sS'VOG1460' -p1225 -I0 -sS'VOG1461' -p1226 -I0 -sS'VOG2463' -p1227 -I1 -sS'VOG1860' -p1228 -I0 -sS'VOG1861' -p1229 -I0 -sS'VOG1867' -p1230 -I0 -sS'VOG1864' -p1231 -I0 -sS'VOG0315' -p1232 -I1 -sS'VOG0311' -p1233 -I1 -sS'VOG1261' -p1234 -I1 -sS'VOG1262' -p1235 -I1 -sS'VOG1263' -p1236 -I1 -sS'VOG1266' -p1237 -I1 -sS'VOG0793' -p1238 -I1 -sS'VOG0792' -p1239 -I1 -sS'VOG0791' -p1240 -I1 -sS'VOG0790' -p1241 -I1 -sS'VOG0797' -p1242 -I1 -sS'VOG0795' -p1243 -I1 -sS'VOG0794' -p1244 -I1 -sS'VOG0799' -p1245 -I1 -sS'VOG5569' -p1246 -I1 -sS'VOG5565' -p1247 -I0 -sS'VOG5564' -p1248 -I0 -sS'VOG5561' -p1249 -I2 -sS'VOG5560' -p1250 -I0 -sS'VOG5162' -p1251 -I0 -sS'VOG5161' -p1252 -I0 -sS'VOG5167' -p1253 -I0 -sS'VOG5166' -p1254 -I0 -sS'VOG5165' -p1255 -I0 -sS'VOG5164' -p1256 -I0 -sS'VOG5169' -p1257 -I0 -sS'VOG5309' -p1258 -I0 -sS'VOG5308' -p1259 -I0 -sS'VOG5303' -p1260 -I1 -sS'VOG5302' -p1261 -I0 -sS'VOG5307' -p1262 -I0 -sS'VOG5305' -p1263 -I2 -sS'VOG0134' -p1264 -I0 -sS'VOG0133' -p1265 -I0 -sS'VOG0131' -p1266 -I0 -sS'VOG0139' -p1267 -I0 -sS'VOG5768' -p1268 -I0 -sS'VOG5765' -p1269 -I0 -sS'VOG5766' -p1270 -I0 -sS'VOG5761' -p1271 -I0 -sS'VOG5760' -p1272 -I0 -sS'VOG5763' -p1273 -I0 -sS'VOG5945' -p1274 -I1 -sS'VOG5416' -p1275 -I0 -sS'VOG5415' -p1276 -I0 -sS'VOG5946' -p1277 -I0 -sS'VOG4418' -p1278 -I0 -sS'VOG5940' -p1279 -I1 -sS'VOG5943' -p1280 -I0 -sS'VOG4149' -p1281 -I0 -sS'VOG4146' -p1282 -I0 -sS'VOG4416' -p1283 -I0 -sS'VOG4417' -p1284 -I0 -sS'VOG4410' -p1285 -I0 -sS'VOG4411' -p1286 -I0 -sS'VOG4140' -p1287 -I0 -sS'VOG5784' -p1288 -I0 -sS'VOG5783' -p1289 -I0 -sS'VOG5780' -p1290 -I1 -sS'VOG5789' -p1291 -I0 -sS'VOG4090' -p1292 -I0 -sS'VOG4093' -p1293 -I0 -sS'VOG4094' -p1294 -I0 -sS'VOG4097' -p1295 -I0 -sS'VOG4099' -p1296 -I0 -sS'VOG4560' -p1297 -I1 -sS'VOG4569' -p1298 -I1 -sS'VOG0238' -p1299 -I0 -sS'VOG3785' -p1300 -I0 -sS'VOG3789' -p1301 -I0 -sS'VOG3788' -p1302 -I0 -sS'VOG3034' -p1303 -I1 -sS'VOG3313' -p1304 -I2 -sS'VOG5984' -p1305 -I0 -sS'VOG4898' -p1306 -I0 -sS'VOG4899' -p1307 -I0 -sS'VOG2928' -p1308 -I1 -sS'VOG2929' -p1309 -I1 -sS'VOG4891' -p1310 -I1 -sS'VOG4892' -p1311 -I1 -sS'VOG4893' -p1312 -I0 -sS'VOG4894' -p1313 -I0 -sS'VOG2927' -p1314 -I1 -sS'VOG4896' -p1315 -I0 -sS'VOG4897' -p1316 -I0 -sS'VOG1329' -p1317 -I1 -sS'VOG3327' -p1318 -I0 -sS'VOG4789' -p1319 -I2 -sS'VOG4784' -p1320 -I0 -sS'VOG4785' -p1321 -I0 -sS'VOG4786' -p1322 -I0 -sS'VOG4787' -p1323 -I0 -sS'VOG4781' -p1324 -I0 -sS'VOG4783' -p1325 -I1 -sS'VOG2320' -p1326 -I2 -sS'VOG2323' -p1327 -I2 -sS'VOG2325' -p1328 -I2 -sS'VOG2326' -p1329 -I2 -sS'VOG3251' -p1330 -I0 -sS'VOG2998' -p1331 -I1 -sS'VOG0117' -p1332 -I0 -sS'VOG2499' -p1333 -I1 -sS'VOG2492' -p1334 -I1 -sS'VOG2493' -p1335 -I1 -sS'VOG2490' -p1336 -I1 -sS'VOG2491' -p1337 -I1 -sS'VOG2497' -p1338 -I1 -sS'VOG2494' -p1339 -I1 -sS'VOG2785' -p1340 -I1 -sS'VOG2783' -p1341 -I1 -sS'VOG2780' -p1342 -I1 -sS'VOG1074' -p1343 -I2 -sS'VOG1076' -p1344 -I2 -sS'VOG1073' -p1345 -I2 -sS'VOG2078' -p1346 -I1 -sS'VOG2072' -p1347 -I0 -sS'VOG1673' -p1348 -I1 -sS'VOG2075' -p1349 -I1 -sS'VOG1670' -p1350 -I1 -sS'VOG5258' -p1351 -I1 -sS'VOG0410' -p1352 -I0 -sS'VOG0411' -p1353 -I0 -sS'VOG0412' -p1354 -I0 -sS'VOG0413' -p1355 -I0 -sS'VOG0414' -p1356 -I0 -sS'VOG0415' -p1357 -I0 -sS'VOG0416' -p1358 -I0 -sS'VOG0417' -p1359 -I0 -sS'VOG0418' -p1360 -I0 -sS'VOG2672' -p1361 -I1 -sS'VOG2673' -p1362 -I1 -sS'VOG1419' -p1363 -I1 -sS'VOG2671' -p1364 -I1 -sS'VOG2676' -p1365 -I1 -sS'VOG2674' -p1366 -I1 -sS'VOG2678' -p1367 -I1 -sS'VOG1416' -p1368 -I0 -sS'VOG2474' -p1369 -I1 -sS'VOG4040' -p1370 -I0 -sS'VOG1899' -p1371 -I1 -sS'VOG1898' -p1372 -I1 -sS'VOG1897' -p1373 -I1 -sS'VOG1895' -p1374 -I1 -sS'VOG1893' -p1375 -I1 -sS'VOG1892' -p1376 -I1 -sS'VOG1890' -p1377 -I1 -sS'VOG0374' -p1378 -I0 -sS'VOG1527' -p1379 -I1 -sS'VOG1525' -p1380 -I1 -sS'VOG1256' -p1381 -I1 -sS'VOG1251' -p1382 -I1 -sS'VOG1250' -p1383 -I1 -sS'VOG1252' -p1384 -I1 -sS'VOG1259' -p1385 -I1 -sS'VOG1258' -p1386 -I1 -sS'VOG0302' -p1387 -I2 -sS'VOG1528' -p1388 -I1 -sS'VOG1095' -p1389 -I1 -sS'VOG1094' -p1390 -I1 -sS'VOG1092' -p1391 -I1 -sS'VOG1099' -p1392 -I1 -sS'VOG0784' -p1393 -I1 -sS'VOG0787' -p1394 -I1 -sS'VOG0789' -p1395 -I1 -sS'VOG5578' -p1396 -I1 -sS'VOG5579' -p1397 -I1 -sS'VOG5574' -p1398 -I1 -sS'VOG5575' -p1399 -I1 -sS'VOG5576' -p1400 -I1 -sS'VOG5577' -p1401 -I1 -sS'VOG5570' -p1402 -I1 -sS'VOG5571' -p1403 -I0 -sS'VOG5572' -p1404 -I1 -sS'VOG5573' -p1405 -I1 -sS'VOG5170' -p1406 -I2 -sS'VOG5171' -p1407 -I0 -sS'VOG5172' -p1408 -I0 -sS'VOG5173' -p1409 -I0 -sS'VOG5174' -p1410 -I1 -sS'VOG5175' -p1411 -I0 -sS'VOG5176' -p1412 -I1 -sS'VOG5177' -p1413 -I0 -sS'VOG5178' -p1414 -I0 -sS'VOG5179' -p1415 -I0 -sS'VOG0237' -p1416 -I0 -sS'VOG5389' -p1417 -I0 -sS'VOG5319' -p1418 -I0 -sS'VOG0040' -p1419 -I2 -sS'VOG5310' -p1420 -I0 -sS'VOG5312' -p1421 -I1 -sS'VOG5313' -p1422 -I1 -sS'VOG5314' -p1423 -I0 -sS'VOG5315' -p1424 -I2 -sS'VOG5317' -p1425 -I1 -sS'VOG4526' -p1426 -I0 -sS'VOG0125' -p1427 -I0 -sS'VOG0126' -p1428 -I0 -sS'VOG0127' -p1429 -I0 -sS'VOG0122' -p1430 -I0 -sS'VOG0573' -p1431 -I0 -sS'VOG4319' -p1432 -I1 -sS'VOG0128' -p1433 -I0 -sS'VOG0129' -p1434 -I0 -sS'VOG5778' -p1435 -I0 -sS'VOG5779' -p1436 -I0 -sS'VOG5772' -p1437 -I0 -sS'VOG5770' -p1438 -I0 -sS'VOG5771' -p1439 -I0 -sS'VOG5952' -p1440 -I1 -sS'VOG5405' -p1441 -I0 -sS'VOG4139' -p1442 -I0 -sS'VOG4138' -p1443 -I0 -sS'VOG5400' -p1444 -I1 -sS'VOG5401' -p1445 -I0 -sS'VOG5402' -p1446 -I1 -sS'VOG5403' -p1447 -I1 -sS'VOG4133' -p1448 -I0 -sS'VOG4420' -p1449 -I0 -sS'VOG5958' -p1450 -I1 -sS'VOG4130' -p1451 -I0 -sS'VOG4425' -p1452 -I0 -sS'VOG4136' -p1453 -I0 -sS'VOG4135' -p1454 -I0 -sS'VOG5794' -p1455 -I1 -sS'VOG5795' -p1456 -I1 -sS'VOG5796' -p1457 -I1 -sS'VOG5797' -p1458 -I1 -sS'VOG5791' -p1459 -I0 -sS'VOG5792' -p1460 -I0 -sS'VOG5793' -p1461 -I1 -sS'VOG4951' -p1462 -I0 -sS'VOG4950' -p1463 -I0 -sS'VOG5798' -p1464 -I0 -sS'VOG5799' -p1465 -I0 -sS'VOG4558' -p1466 -I1 -sS'VOG4228' -p1467 -I1 -sS'VOG4555' -p1468 -I1 -sS'VOG4554' -p1469 -I1 -sS'VOG4557' -p1470 -I1 -sS'VOG4553' -p1471 -I1 -sS'VOG4046' -p1472 -I0 -sS'VOG4045' -p1473 -I0 -sS'VOG4044' -p1474 -I0 -sS'VOG4043' -p1475 -I0 -sS'VOG4042' -p1476 -I0 -sS'VOG3798' -p1477 -I0 -sS'VOG3799' -p1478 -I0 -sS'VOG3796' -p1479 -I0 -sS'VOG3797' -p1480 -I0 -sS'VOG3794' -p1481 -I2 -sS'VOG3027' -p1482 -I1 -sS'VOG5950' -p1483 -I0 -sS'VOG3790' -p1484 -I0 -sS'VOG4048' -p1485 -I0 -sS'VOG5957' -p1486 -I0 -sS'VOG4421' -p1487 -I0 -sS'VOG4132' -p1488 -I0 -sS'VOG3339' -p1489 -I2 -sS'VOG4423' -p1490 -I0 -sS'VOG5959' -p1491 -I0 -sS'VOG2318' -p1492 -I2 -sS'VOG2315' -p1493 -I2 -sS'VOG2314' -p1494 -I2 -sS'VOG2317' -p1495 -I2 -sS'VOG2310' -p1496 -I2 -sS'VOG4424' -p1497 -I0 -sS'VOG2861' -p1498 -I1 -sS'VOG2860' -p1499 -I1 -sS'VOG2866' -p1500 -I1 -sS'VOG2864' -p1501 -I1 -sS'VOG1831' -p1502 -I0 -sS'VOG2044' -p1503 -I1 -sS'VOG2041' -p1504 -I1 -sS'VOG2040' -p1505 -I1 -sS'VOG2042' -p1506 -I1 -sS'VOG1063' -p1507 -I2 -sS'VOG2049' -p1508 -I1 -sS'VOG1668' -p1509 -I1 -sS'VOG1666' -p1510 -I1 -sS'VOG1661' -p1511 -I1 -sS'VOG1662' -p1512 -I1 -sS'VOG1663' -p1513 -I1 -sS'VOG1445' -p1514 -I0 -sS'VOG3804' -p1515 -I0 -sS'VOG2312' -p1516 -I2 -sS'VOG3803' -p1517 -I0 -sS'VOG3801' -p1518 -I0 -sS'VOG0429' -p1519 -I0 -sS'VOG0428' -p1520 -I0 -sS'VOG0939' -p1521 -I2 -sS'VOG0425' -p1522 -I0 -sS'VOG0936' -p1523 -I1 -sS'VOG0427' -p1524 -I0 -sS'VOG0426' -p1525 -I0 -sS'VOG0421' -p1526 -I0 -sS'VOG0930' -p1527 -I1 -sS'VOG2689' -p1528 -I1 -sS'VOG2688' -p1529 -I1 -sS'VOG2687' -p1530 -I1 -sS'VOG2686' -p1531 -I1 -sS'VOG2685' -p1532 -I1 -sS'VOG2684' -p1533 -I1 -sS'VOG2683' -p1534 -I1 -sS'VOG2682' -p1535 -I1 -sS'VOG1406' -p1536 -I2 -sS'VOG1407' -p1537 -I2 -sS'VOG2441' -p1538 -I0 -sS'VOG2440' -p1539 -I0 -sS'VOG2444' -p1540 -I0 -sS'VOG2447' -p1541 -I0 -sS'VOG1790' -p1542 -I0 -sS'VOG2448' -p1543 -I0 -sS'VOG1796' -p1544 -I0 -sS'VOG1888' -p1545 -I1 -sS'VOG0689' -p1546 -I1 -sS'VOG0681' -p1547 -I4 -sS'VOG0686' -p1548 -I0 -sS'VOG1242' -p1549 -I1 -sS'VOG1243' -p1550 -I1 -sS'VOG1241' -p1551 -I1 -sS'VOG1246' -p1552 -I1 -sS'VOG1248' -p1553 -I1 -sS'VOG1249' -p1554 -I1 -sS'VOG0337' -p1555 -I7 -sS'VOG1085' -p1556 -I0 -sS'VOG1080' -p1557 -I2 -sS'VOG1088' -p1558 -I0 -sS'VOG4659' -p1559 -I1 -sS'VOG5549' -p1560 -I2 -sS'VOG5548' -p1561 -I0 -sS'VOG5541' -p1562 -I0 -sS'VOG5540' -p1563 -I0 -sS'VOG5543' -p1564 -I1 -sS'VOG5545' -p1565 -I0 -sS'VOG5547' -p1566 -I0 -sS'VOG5546' -p1567 -I0 -sS'VOG0205' -p1568 -I1 -sS'VOG3987' -p1569 -I1 -sS'VOG0207' -p1570 -I1 -sS'VOG0202' -p1571 -I1 -sS'VOG0209' -p1572 -I1 -sS'VOG2102' -p1573 -I2 -sS'VOG3984' -p1574 -I1 -sS'VOG5149' -p1575 -I0 -sS'VOG4041' -p1576 -I0 -sS'VOG1336' -p1577 -I1 -sS'VOG1337' -p1578 -I1 -sS'VOG5147' -p1579 -I0 -sS'VOG5146' -p1580 -I0 -sS'VOG5141' -p1581 -I0 -sS'VOG5140' -p1582 -I0 -sS'VOG5143' -p1583 -I0 -sS'VOG3982' -p1584 -I1 -sS'VOG3024' -p1585 -I1 -sS'VOG3025' -p1586 -I1 -sS'VOG3793' -p1587 -I2 -sS'VOG3791' -p1588 -I0 -sS'VOG0113' -p1589 -I0 -sS'VOG0115' -p1590 -I0 -sS'VOG0114' -p1591 -I0 -sS'VOG4306' -p1592 -I0 -sS'VOG2959' -p1593 -I1 -sS'VOG0118' -p1594 -I0 -sS'VOG5431' -p1595 -I0 -sS'VOG4947' -p1596 -I0 -sS'VOG5433' -p1597 -I1 -sS'VOG5432' -p1598 -I1 -sS'VOG4942' -p1599 -I3 -sS'VOG5434' -p1600 -I2 -sS'VOG5437' -p1601 -I0 -sS'VOG5436' -p1602 -I0 -sS'VOG4120' -p1603 -I0 -sS'VOG4121' -p1604 -I0 -sS'VOG4122' -p1605 -I0 -sS'VOG4123' -p1606 -I0 -sS'VOG4124' -p1607 -I0 -sS'VOG4125' -p1608 -I0 -sS'VOG4948' -p1609 -I0 -sS'VOG4949' -p1610 -I0 -sS'VOG5325' -p1611 -I0 -sS'VOG5892' -p1612 -I0 -sS'VOG5891' -p1613 -I0 -sS'VOG5890' -p1614 -I0 -sS'VOG5897' -p1615 -I0 -sS'VOG5896' -p1616 -I0 -sS'VOG5895' -p1617 -I0 -sS'VOG5894' -p1618 -I0 -sS'VOG5899' -p1619 -I0 -sS'VOG5898' -p1620 -I0 -sS'VOG5329' -p1621 -I0 -sS'VOG5328' -p1622 -I0 -sS'VOG4232' -p1623 -I1 -sS'VOG4054' -p1624 -I0 -sS'VOG4055' -p1625 -I0 -sS'VOG4056' -p1626 -I0 -sS'VOG4050' -p1627 -I0 -sS'VOG4051' -p1628 -I0 -sS'VOG4052' -p1629 -I0 -sS'VOG3010' -p1630 -I1 -sS'VOG4058' -p1631 -I0 -sS'VOG3017' -p1632 -I1 -sS'VOG3016' -p1633 -I1 -sS'VOG3491' -p1634 -I2 -sS'VOG5647' -p1635 -I0 -sS'VOG3653' -p1636 -I1 -sS'VOG2306' -p1637 -I2 -sS'VOG2870' -p1638 -I1 -sS'VOG4032' -p1639 -I0 -sS'VOG2873' -p1640 -I1 -sS'VOG2876' -p1641 -I1 -sS'VOG2877' -p1642 -I1 -sS'VOG2878' -p1643 -I1 -sS'VOG2879' -p1644 -I1 -sS'VOG1581' -p1645 -I1 -sS'VOG0529' -p1646 -I1 -sS'VOG1630' -p1647 -I1 -sS'VOG0913' -p1648 -I1 -sS'VOG2278' -p1649 -I0 -sS'VOG5712' -p1650 -I2 -sS'VOG0393' -p1651 -I0 -sS'VOG4422' -p1652 -I0 -sS'VOG2052' -p1653 -I1 -sS'VOG2053' -p1654 -I1 -sS'VOG2051' -p1655 -I1 -sS'VOG2056' -p1656 -I1 -sS'VOG2057' -p1657 -I1 -sS'VOG2054' -p1658 -I1 -sS'VOG2059' -p1659 -I1 -sS'VOG1659' -p1660 -I1 -sS'VOG1658' -p1661 -I1 -sS'VOG1651' -p1662 -I1 -sS'VOG1650' -p1663 -I1 -sS'VOG1652' -p1664 -I1 -sS'VOG1655' -p1665 -I1 -sS'VOG1654' -p1666 -I1 -sS'VOG1657' -p1667 -I1 -sS'VOG3870' -p1668 -I0 -sS'VOG3986' -p1669 -I1 -sS'VOG0438' -p1670 -I0 -sS'VOG1436' -p1671 -I0 -sS'VOG1433' -p1672 -I0 -sS'VOG0924' -p1673 -I1 -sS'VOG0433' -p1674 -I0 -sS'VOG0926' -p1675 -I1 -sS'VOG0927' -p1676 -I1 -sS'VOG1439' -p1677 -I0 -sS'VOG0437' -p1678 -I0 -sS'VOG0922' -p1679 -I1 -sS'VOG2698' -p1680 -I1 -sS'VOG2696' -p1681 -I1 -sS'VOG2697' -p1682 -I1 -sS'VOG2690' -p1683 -I1 -sS'VOG2691' -p1684 -I1 -sS'VOG2692' -p1685 -I1 -sS'VOG2456' -p1686 -I0 -sS'VOG2457' -p1687 -I0 -sS'VOG2454' -p1688 -I0 -sS'VOG2452' -p1689 -I0 -sS'VOG2453' -p1690 -I0 -sS'VOG2451' -p1691 -I0 -sS'VOG3983' -p1692 -I1 -sS'VOG1508' -p1693 -I0 -sS'VOG4696' -p1694 -I0 -sS'VOG5379' -p1695 -I0 -sS'VOG1801' -p1696 -I0 -sS'VOG5953' -p1697 -I0 -sS'VOG4670' -p1698 -I1 -sS'VOG4671' -p1699 -I0 -sS'VOG0740' -p1700 -I1 -sS'VOG4673' -p1701 -I1 -sS'VOG0749' -p1702 -I1 -sS'VOG5159' -p1703 -I0 -sS'VOG5152' -p1704 -I0 -sS'VOG5153' -p1705 -I0 -sS'VOG5150' -p1706 -I0 -sS'VOG5621' -p1707 -I0 -sS'VOG5157' -p1708 -I1 -sS'VOG5154' -p1709 -I1 -sS'VOG5155' -p1710 -I1 -sS'VOG0697' -p1711 -I1 -sS'VOG0695' -p1712 -I1 -sS'VOG0692' -p1713 -I1 -sS'VOG0691' -p1714 -I1 -sS'VOG0108' -p1715 -I0 -sS'VOG0109' -p1716 -I0 -sS'VOG0106' -p1717 -I0 -sS'VOG4334' -p1718 -I1 -sS'VOG0104' -p1719 -I0 -sS'VOG0105' -p1720 -I0 -sS'VOG5555' -p1721 -I0 -sS'VOG5552' -p1722 -I1 -sS'VOG5550' -p1723 -I2 -sS'VOG2948' -p1724 -I1 -sS'VOG5559' -p1725 -I0 -sS'VOG4933' -p1726 -I0 -sS'VOG4932' -p1727 -I0 -sS'VOG4930' -p1728 -I0 -sS'VOG4937' -p1729 -I0 -sS'VOG4936' -p1730 -I1 -sS'VOG4935' -p1731 -I0 -sS'VOG4934' -p1732 -I1 -sS'VOG5426' -p1733 -I1 -sS'VOG5427' -p1734 -I0 -sS'VOG4939' -p1735 -I1 -sS'VOG5425' -p1736 -I1 -sS'VOG5422' -p1737 -I0 -sS'VOG5423' -p1738 -I0 -sS'VOG5420' -p1739 -I0 -sS'VOG5421' -p1740 -I0 -sS'VOG1457' -p1741 -I0 -sS'VOG1104' -p1742 -I1 -sS'VOG4277' -p1743 -I0 -sS'VOG5880' -p1744 -I0 -sS'VOG5881' -p1745 -I0 -sS'VOG5882' -p1746 -I0 -sS'VOG5883' -p1747 -I0 -sS'VOG5884' -p1748 -I0 -sS'VOG5337' -p1749 -I0 -sS'VOG5886' -p1750 -I0 -sS'VOG5335' -p1751 -I0 -sS'VOG5888' -p1752 -I0 -sS'VOG5889' -p1753 -I0 -sS'VOG4203' -p1754 -I0 -sS'VOG5339' -p1755 -I0 -sS'VOG4205' -p1756 -I0 -sS'VOG4204' -p1757 -I0 -sS'VOG4207' -p1758 -I0 -sS'VOG4206' -p1759 -I0 -sS'VOG4062' -p1760 -I0 -sS'VOG4065' -p1761 -I0 -sS'VOG4064' -p1762 -I0 -sS'VOG4067' -p1763 -I0 -sS'VOG4066' -p1764 -I0 -sS'VOG4068' -p1765 -I0 -sS'VOG4591' -p1766 -I0 -sS'VOG4592' -p1767 -I2 -sS'VOG4595' -p1768 -I0 -sS'VOG4594' -p1769 -I0 -sS'VOG4599' -p1770 -I1 -sS'VOG5202' -p1771 -I0 -sS'VOG1109' -p1772 -I1 -sS'VOG3480' -p1773 -I1 -sS'VOG4441' -p1774 -I2 -sS'VOG4116' -p1775 -I0 -sS'VOG5754' -p1776 -I1 -sS'VOG4119' -p1777 -I0 -sS'VOG5207' -p1778 -I1 -sS'VOG0116' -p1779 -I0 -sS'VOG2999' -p1780 -I1 -sS'VOG3467' -p1781 -I1 -sS'VOG3461' -p1782 -I1 -sS'VOG3462' -p1783 -I1 -sS'VOG3463' -p1784 -I1 -sS'VOG2992' -p1785 -I1 -sS'VOG2994' -p1786 -I1 -sS'VOG3970' -p1787 -I1 -sS'VOG2382' -p1788 -I2 -sS'VOG5209' -p1789 -I0 -sS'VOG2849' -p1790 -I1 -sS'VOG2848' -p1791 -I1 -sS'VOG3898' -p1792 -I0 -sS'VOG2845' -p1793 -I1 -sS'VOG2844' -p1794 -I1 -sS'VOG2847' -p1795 -I1 -sS'VOG2846' -p1796 -I1 -sS'VOG2842' -p1797 -I1 -sS'VOG3002' -p1798 -I1 -sS'VOG3000' -p1799 -I1 -sS'VOG3001' -p1800 -I1 -sS'VOG4414' -p1801 -I0 -sS'VOG4018' -p1802 -I0 -sS'VOG2201' -p1803 -I0 -sS'VOG2200' -p1804 -I0 -sS'VOG2389' -p1805 -I2 -sS'VOG3680' -p1806 -I2 -sS'VOG3681' -p1807 -I2 -sS'VOG4405' -p1808 -I0 -sS'VOG1646' -p1809 -I1 -sS'VOG1647' -p1810 -I1 -sS'VOG1644' -p1811 -I1 -sS'VOG1642' -p1812 -I1 -sS'VOG1643' -p1813 -I1 -sS'VOG1641' -p1814 -I1 -sS'VOG1648' -p1815 -I1 -sS'VOG1649' -p1816 -I1 -sS'VOG4016' -p1817 -I0 -sS'VOG2515' -p1818 -I1 -sS'VOG4400' -p1819 -I0 -sS'VOG2513' -p1820 -I1 -sS'VOG2512' -p1821 -I1 -sS'VOG2192' -p1822 -I0 -sS'VOG2191' -p1823 -I0 -sS'VOG2190' -p1824 -I0 -sS'VOG2196' -p1825 -I0 -sS'VOG2195' -p1826 -I0 -sS'VOG2194' -p1827 -I0 -sS'VOG2199' -p1828 -I0 -sS'VOG2198' -p1829 -I0 -sS'VOG0919' -p1830 -I1 -sS'VOG0918' -p1831 -I1 -sS'VOG1426' -p1832 -I0 -sS'VOG1427' -p1833 -I0 -sS'VOG1424' -p1834 -I0 -sS'VOG0911' -p1835 -I1 -sS'VOG0910' -p1836 -I1 -sS'VOG1428' -p1837 -I0 -sS'VOG1429' -p1838 -I0 -sS'VOG0914' -p1839 -I1 -sS'VOG0917' -p1840 -I1 -sS'VOG3916' -p1841 -I0 -sS'VOG2428' -p1842 -I0 -sS'VOG5638' -p1843 -I0 -sS'VOG2423' -p1844 -I0 -sS'VOG2422' -p1845 -I0 -sS'VOG2421' -p1846 -I0 -sS'VOG3918' -p1847 -I1 -sS'VOG2424' -p1848 -I0 -sS'VOG0351' -p1849 -I0 -sS'VOG0356' -p1850 -I0 -sS'VOG1518' -p1851 -I1 -sS'VOG1519' -p1852 -I1 -sS'VOG0598' -p1853 -I1 -sS'VOG1510' -p1854 -I0 -sS'VOG3751' -p1855 -I2 -sS'VOG3124' -p1856 -I0 -sS'VOG0776' -p1857 -I1 -sS'VOG1350' -p1858 -I0 -sS'VOG1352' -p1859 -I0 -sS'VOG1353' -p1860 -I0 -sS'VOG1355' -p1861 -I0 -sS'VOG5181' -p1862 -I0 -sS'VOG5180' -p1863 -I0 -sS'VOG5183' -p1864 -I0 -sS'VOG5182' -p1865 -I0 -sS'VOG5185' -p1866 -I0 -sS'VOG5184' -p1867 -I0 -sS'VOG5187' -p1868 -I0 -sS'VOG5186' -p1869 -I0 -sS'VOG5189' -p1870 -I0 -sS'VOG5188' -p1871 -I0 -sS'VOG5635' -p1872 -I0 -sS'VOG5634' -p1873 -I0 -sS'VOG0178' -p1874 -I4 -sS'VOG0173' -p1875 -I4 -sS'VOG0172' -p1876 -I4 -sS'VOG4320' -p1877 -I1 -sS'VOG0170' -p1878 -I4 -sS'VOG0177' -p1879 -I4 -sS'VOG0176' -p1880 -I4 -sS'VOG0175' -p1881 -I4 -sS'VOG0174' -p1882 -I4 -sS'VOG5523' -p1883 -I1 -sS'VOG5522' -p1884 -I1 -sS'VOG5521' -p1885 -I0 -sS'VOG5527' -p1886 -I1 -sS'VOG5526' -p1887 -I1 -sS'VOG5525' -p1888 -I0 -sS'VOG5524' -p1889 -I1 -sS'VOG5528' -p1890 -I2 -sS'VOG4692' -p1891 -I1 -sS'VOG4921' -p1892 -I0 -sS'VOG4922' -p1893 -I0 -sS'VOG5458' -p1894 -I0 -sS'VOG4924' -p1895 -I0 -sS'VOG4697' -p1896 -I0 -sS'VOG4927' -p1897 -I0 -sS'VOG4928' -p1898 -I2 -sS'VOG5980' -p1899 -I1 -sS'VOG4698' -p1900 -I0 -sS'VOG5450' -p1901 -I0 -sS'VOG5457' -p1902 -I0 -sS'VOG5456' -p1903 -I0 -sS'VOG5455' -p1904 -I0 -sS'VOG5454' -p1905 -I1 -sS'VOG3438' -p1906 -I1 -sS'VOG0006' -p1907 -I5 -sS'VOG4214' -p1908 -I0 -sS'VOG4212' -p1909 -I0 -sS'VOG4213' -p1910 -I0 -sS'VOG4210' -p1911 -I0 -sS'VOG4520' -p1912 -I0 -sS'VOG2681' -p1913 -I1 -sS'VOG4078' -p1914 -I0 -sS'VOG4079' -p1915 -I0 -sS'VOG4077' -p1916 -I0 -sS'VOG4074' -p1917 -I0 -sS'VOG4072' -p1918 -I0 -sS'VOG4070' -p1919 -I0 -sS'VOG4071' -p1920 -I0 -sS'VOG5856' -p1921 -I1 -sS'VOG5855' -p1922 -I1 -sS'VOG5854' -p1923 -I0 -sS'VOG5853' -p1924 -I1 -sS'VOG5852' -p1925 -I1 -sS'VOG5851' -p1926 -I2 -sS'VOG5850' -p1927 -I0 -sS'VOG4586' -p1928 -I1 -sS'VOG4584' -p1929 -I0 -sS'VOG4857' -p1930 -I0 -sS'VOG4582' -p1931 -I1 -sS'VOG4583' -p1932 -I1 -sS'VOG5858' -p1933 -I0 -sS'VOG3679' -p1934 -I2 -sS'VOG3678' -p1935 -I2 -sS'VOG4100' -p1936 -I0 -sS'VOG4101' -p1937 -I0 -sS'VOG4106' -p1938 -I0 -sS'VOG4104' -p1939 -I0 -sS'VOG4105' -p1940 -I0 -sS'VOG4458' -p1941 -I0 -sS'VOG4108' -p1942 -I0 -sS'VOG4109' -p1943 -I0 -sS'VOG3675' -p1944 -I2 -sS'VOG3677' -p1945 -I2 -sS'VOG2988' -p1946 -I1 -sS'VOG3453' -p1947 -I1 -sS'VOG3452' -p1948 -I1 -sS'VOG4523' -p1949 -I0 -sS'VOG2980' -p1950 -I1 -sS'VOG2981' -p1951 -I1 -sS'VOG3105' -p1952 -I0 -sS'VOG3102' -p1953 -I0 -sS'VOG3101' -p1954 -I0 -sS'VOG2858' -p1955 -I1 -sS'VOG2859' -p1956 -I1 -sS'VOG5639' -p1957 -I0 -sS'VOG2852' -p1958 -I1 -sS'VOG2853' -p1959 -I1 -sS'VOG2850' -p1960 -I1 -sS'VOG2851' -p1961 -I1 -sS'VOG2856' -p1962 -I1 -sS'VOG2857' -p1963 -I1 -sS'VOG2854' -p1964 -I1 -sS'VOG2855' -p1965 -I1 -sS'VOG3077' -p1966 -I0 -sS'VOG3074' -p1967 -I0 -sS'VOG2212' -p1968 -I0 -sS'VOG2215' -p1969 -I0 -sS'VOG2217' -p1970 -I0 -sS'VOG2219' -p1971 -I1 -sS'VOG5740' -p1972 -I0 -sS'VOG5949' -p1973 -I0 -sS'VOG3292' -p1974 -I0 -sS'VOG3291' -p1975 -I0 -sS'VOG1985' -p1976 -I0 -sS'VOG1632' -p1977 -I1 -sS'VOG1631' -p1978 -I1 -sS'VOG1986' -p1979 -I0 -sS'VOG1637' -p1980 -I1 -sS'VOG1980' -p1981 -I0 -sS'VOG1635' -p1982 -I1 -sS'VOG1982' -p1983 -I0 -sS'VOG1638' -p1984 -I1 -sS'VOG1989' -p1985 -I0 -sS'VOG1988' -p1986 -I0 -sS'VOG4886' -p1987 -I0 -sS'VOG3854' -p1988 -I0 -sS'VOG3857' -p1989 -I0 -sS'VOG2508' -p1990 -I1 -sS'VOG2505' -p1991 -I1 -sS'VOG2506' -p1992 -I1 -sS'VOG2507' -p1993 -I1 -sS'VOG3859' -p1994 -I0 -sS'VOG2501' -p1995 -I1 -sS'VOG2502' -p1996 -I1 -sS'VOG2503' -p1997 -I1 -sS'VOG0541' -p1998 -I1 -sS'VOG2180' -p1999 -I1 -sS'VOG0937' -p2000 -I1 -sS'VOG2183' -p2001 -I1 -sS'VOG2184' -p2002 -I1 -sS'VOG2185' -p2003 -I1 -sS'VOG0424' -p2004 -I0 -sS'VOG3963' -p2005 -I1 -sS'VOG0933' -p2006 -I1 -sS'VOG1186' -p2007 -I1 -sS'VOG4329' -p2008 -I1 -sS'VOG1743' -p2009 -I0 -sS'VOG1741' -p2010 -I0 -sS'VOG5145' -p2011 -I0 -sS'VOG2438' -p2012 -I0 -sS'VOG3920' -p2013 -I1 -sS'VOG3923' -p2014 -I1 -sS'VOG3922' -p2015 -I1 -sS'VOG3925' -p2016 -I1 -sS'VOG3924' -p2017 -I1 -sS'VOG3927' -p2018 -I1 -sS'VOG3926' -p2019 -I1 -sS'VOG3929' -p2020 -I1 -sS'VOG3928' -p2021 -I1 -sS'VOG2432' -p2022 -I0 -sS'VOG2434' -p2023 -I0 -sS'VOG2436' -p2024 -I0 -sS'VOG0171' -p2025 -I4 -sS'VOG0582' -p2026 -I0 -sS'VOG0583' -p2027 -I0 -sS'VOG0584' -p2028 -I0 -sS'VOG1563' -p2029 -I1 -sS'VOG0588' -p2030 -I0 -sS'VOG1403' -p2031 -I0 -sS'VOG1405' -p2032 -I0 -sS'VOG0906' -p2033 -I1 -sS'VOG0907' -p2034 -I1 -sS'VOG0904' -p2035 -I1 -sS'VOG0905' -p2036 -I1 -sS'VOG0902' -p2037 -I1 -sS'VOG0903' -p2038 -I1 -sS'VOG0900' -p2039 -I1 -sS'VOG0901' -p2040 -I1 -sS'VOG5138' -p2041 -I0 -sS'VOG2680' -p2042 -I1 -sS'VOG0908' -p2043 -I1 -sS'VOG0909' -p2044 -I1 -sS'VOG1799' -p2045 -I0 -sS'VOG5642' -p2046 -I0 -sS'VOG2234' -p2047 -I4 -sS'VOG1362' -p2048 -I0 -sS'VOG0766' -p2049 -I0 -sS'VOG0764' -p2050 -I0 -sS'VOG2235' -p2051 -I4 -sS'VOG1369' -p2052 -I0 -sS'VOG1167' -p2053 -I1 -sS'VOG1166' -p2054 -I1 -sS'VOG1165' -p2055 -I1 -sS'VOG5137' -p2056 -I0 -sS'VOG1160' -p2057 -I1 -sS'VOG5646' -p2058 -I0 -sS'VOG1168' -p2059 -I1 -sS'VOG5644' -p2060 -I0 -sS'VOG5133' -p2061 -I0 -sS'VOG4920' -p2062 -I0 -sS'VOG5628' -p2063 -I1 -sS'VOG5629' -p2064 -I1 -sS'VOG5198' -p2065 -I0 -sS'VOG5199' -p2066 -I0 -sS'VOG5624' -p2067 -I2 -sS'VOG5197' -p2068 -I0 -sS'VOG5194' -p2069 -I0 -sS'VOG5627' -p2070 -I1 -sS'VOG5192' -p2071 -I0 -sS'VOG5459' -p2072 -I0 -sS'VOG5190' -p2073 -I0 -sS'VOG5191' -p2074 -I0 -sS'VOG4923' -p2075 -I1 -sS'VOG5350' -p2076 -I1 -sS'VOG5351' -p2077 -I0 -sS'VOG0168' -p2078 -I4 -sS'VOG0169' -p2079 -I4 -sS'VOG0162' -p2080 -I0 -sS'VOG4695' -p2081 -I0 -sS'VOG0167' -p2082 -I8 -sS'VOG5981' -p2083 -I1 -sS'VOG5533' -p2084 -I0 -sS'VOG5537' -p2085 -I2 -sS'VOG5538' -p2086 -I2 -sS'VOG5539' -p2087 -I1 -sS'VOG5983' -p2088 -I0 -sS'VOG5449' -p2089 -I1 -sS'VOG5982' -p2090 -I0 -sS'VOG4918' -p2091 -I0 -sS'VOG4668' -p2092 -I5 -sS'VOG4915' -p2093 -I0 -sS'VOG4666' -p2094 -I1 -sS'VOG5442' -p2095 -I0 -sS'VOG4664' -p2096 -I2 -sS'VOG4663' -p2097 -I1 -sS'VOG4662' -p2098 -I1 -sS'VOG4913' -p2099 -I0 -sS'VOG4912' -p2100 -I0 -sS'VOG5986' -p2101 -I1 -sS'VOG0014' -p2102 -I5 -sS'VOG0016' -p2103 -I2 -sS'VOG0017' -p2104 -I2 -sS'VOG0013' -p2105 -I5 -sS'VOG0019' -p2106 -I2 -sS'VOG4869' -p2107 -I0 -sS'VOG5845' -p2108 -I1 -sS'VOG5846' -p2109 -I1 -sS'VOG5840' -p2110 -I3 -sS'VOG5841' -p2111 -I1 -sS'VOG5842' -p2112 -I2 -sS'VOG5843' -p2113 -I1 -sS'VOG4860' -p2114 -I0 -sS'VOG4862' -p2115 -I0 -sS'VOG4865' -p2116 -I0 -sS'VOG5849' -p2117 -I1 -sS'VOG4867' -p2118 -I0 -sS'VOG4866' -p2119 -I1 -sS'VOG4469' -p2120 -I0 -sS'VOG4468' -p2121 -I0 -sS'VOG4464' -p2122 -I0 -sS'VOG4460' -p2123 -I0 -sS'VOG4463' -p2124 -I0 -sS'VOG4462' -p2125 -I0 -sS'VOG4717' -p2126 -I0 -sS'VOG4716' -p2127 -I1 -sS'VOG4715' -p2128 -I0 -sS'VOG4713' -p2129 -I1 -sS'VOG4712' -p2130 -I0 -sS'VOG4217' -p2131 -I1 -sS'VOG0005' -p2132 -I5 -sS'VOG4719' -p2133 -I0 -sS'VOG4718' -p2134 -I1 -sS'VOG0002' -p2135 -I5 -sS'VOG3594' -p2136 -I0 -sS'VOG3064' -p2137 -I0 -sS'VOG3066' -p2138 -I0 -sS'VOG2881' -p2139 -I1 -sS'VOG2880' -p2140 -I1 -sS'VOG2883' -p2141 -I1 -sS'VOG2887' -p2142 -I1 -sS'VOG2889' -p2143 -I1 -sS'VOG2888' -p2144 -I1 -sS'VOG2897' -p2145 -I1 -sS'VOG2222' -p2146 -I1 -sS'VOG1967' -p2147 -I0 -sS'VOG3285' -p2148 -I1 -sS'VOG3287' -p2149 -I1 -sS'VOG1992' -p2150 -I0 -sS'VOG1621' -p2151 -I1 -sS'VOG1622' -p2152 -I1 -sS'VOG1623' -p2153 -I1 -sS'VOG1624' -p2154 -I1 -sS'VOG1625' -p2155 -I1 -sS'VOG1626' -p2156 -I1 -sS'VOG1627' -p2157 -I1 -sS'VOG1628' -p2158 -I1 -sS'VOG2080' -p2159 -I1 -sS'VOG1998' -p2160 -I0 -sS'VOG2086' -p2161 -I2 -sS'VOG2539' -p2162 -I1 -sS'VOG2538' -p2163 -I1 -sS'VOG2528' -p2164 -I1 -sS'VOG3844' -p2165 -I0 -sS'VOG2531' -p2166 -I1 -sS'VOG2533' -p2167 -I1 -sS'VOG2534' -p2168 -I1 -sS'VOG2537' -p2169 -I1 -sS'VOG4603' -p2170 -I1 -sS'VOG5739' -p2171 -I0 -sS'VOG1190' -p2172 -I0 -sS'VOG1191' -p2173 -I0 -sS'VOG2405' -p2174 -I2 -sS'VOG2404' -p2175 -I2 -sS'VOG2401' -p2176 -I2 -sS'VOG2152' -p2177 -I1 -sS'VOG2403' -p2178 -I2 -sS'VOG2409' -p2179 -I2 -sS'VOG3938' -p2180 -I1 -sS'VOG3939' -p2181 -I1 -sS'VOG3936' -p2182 -I1 -sS'VOG3937' -p2183 -I1 -sS'VOG3934' -p2184 -I1 -sS'VOG3935' -p2185 -I1 -sS'VOG3932' -p2186 -I1 -sS'VOG3933' -p2187 -I1 -sS'VOG3930' -p2188 -I1 -sS'VOG0809' -p2189 -I1 -sS'VOG0808' -p2190 -I1 -sS'VOG0375' -p2191 -I0 -sS'VOG0806' -p2192 -I1 -sS'VOG0804' -p2193 -I1 -sS'VOG0371' -p2194 -I0 -sS'VOG0370' -p2195 -I0 -sS'VOG0801' -p2196 -I1 -sS'VOG0800' -p2197 -I1 -sS'VOG0577' -p2198 -I0 -sS'VOG0574' -p2199 -I0 -sS'VOG1574' -p2200 -I1 -sS'VOG1575' -p2201 -I1 -sS'VOG0571' -p2202 -I0 -sS'VOG1577' -p2203 -I1 -sS'VOG0976' -p2204 -I0 -sS'VOG4858' -p2205 -I0 -sS'VOG4859' -p2206 -I0 -sS'VOG1372' -p2207 -I0 -sS'VOG1373' -p2208 -I0 -sS'VOG1370' -p2209 -I0 -sS'VOG1371' -p2210 -I0 -sS'VOG1374' -p2211 -I0 -sS'VOG1375' -p2212 -I0 -sS'VOG0713' -p2213 -I1 -sS'VOG0712' -p2214 -I1 -sS'VOG0717' -p2215 -I1 -sS'VOG0714' -p2216 -I1 -sS'VOG1175' -p2217 -I1 -sS'VOG1176' -p2218 -I1 -sS'VOG0488' -p2219 -I0 -sS'VOG1172' -p2220 -I1 -sS'VOG1173' -p2221 -I1 -sS'VOG0483' -p2222 -I0 -sS'VOG0482' -p2223 -I0 -sS'VOG0481' -p2224 -I0 -sS'VOG0480' -p2225 -I0 -sS'VOG0487' -p2226 -I0 -sS'VOG0486' -p2227 -I0 -sS'VOG0485' -p2228 -I0 -sS'VOG0484' -p2229 -I0 -sS'VOG5619' -p2230 -I0 -sS'VOG5618' -p2231 -I0 -sS'VOG5613' -p2232 -I4 -sS'VOG5612' -p2233 -I0 -sS'VOG5615' -p2234 -I2 -sS'VOG0396' -p2235 -I0 -sS'VOG0395' -p2236 -I0 -sS'VOG0394' -p2237 -I0 -sS'VOG5299' -p2238 -I1 -sS'VOG5298' -p2239 -I0 -sS'VOG0390' -p2240 -I0 -sS'VOG5294' -p2241 -I0 -sS'VOG5291' -p2242 -I0 -sS'VOG5290' -p2243 -I0 -sS'VOG5293' -p2244 -I1 -sS'VOG0398' -p2245 -I0 -sS'VOG5509' -p2246 -I0 -sS'VOG5505' -p2247 -I0 -sS'VOG5507' -p2248 -I0 -sS'VOG5506' -p2249 -I2 -sS'VOG5501' -p2250 -I0 -sS'VOG5503' -p2251 -I0 -sS'VOG5276' -p2252 -I1 -sS'VOG5275' -p2253 -I2 -sS'VOG5274' -p2254 -I1 -sS'VOG5273' -p2255 -I1 -sS'VOG5272' -p2256 -I0 -sS'VOG5271' -p2257 -I1 -sS'VOG4902' -p2258 -I0 -sS'VOG4903' -p2259 -I0 -sS'VOG4900' -p2260 -I0 -sS'VOG4901' -p2261 -I0 -sS'VOG4906' -p2262 -I0 -sS'VOG4907' -p2263 -I0 -sS'VOG4905' -p2264 -I0 -sS'VOG4273' -p2265 -I0 -sS'VOG4103' -p2266 -I0 -sS'VOG0029' -p2267 -I2 -sS'VOG4279' -p2268 -I0 -sS'VOG4876' -p2269 -I0 -sS'VOG4877' -p2270 -I0 -sS'VOG4874' -p2271 -I0 -sS'VOG4875' -p2272 -I1 -sS'VOG4870' -p2273 -I0 -sS'VOG4012' -p2274 -I0 -sS'VOG4013' -p2275 -I0 -sS'VOG4014' -p2276 -I0 -sS'VOG4015' -p2277 -I0 -sS'VOG4878' -p2278 -I0 -sS'VOG4017' -p2279 -I0 -sS'VOG5871' -p2280 -I0 -sS'VOG5870' -p2281 -I0 -sS'VOG5873' -p2282 -I1 -sS'VOG5875' -p2283 -I0 -sS'VOG5874' -p2284 -I1 -sS'VOG5877' -p2285 -I0 -sS'VOG5876' -p2286 -I0 -sS'VOG3614' -p2287 -I0 -sS'VOG5475' -p2288 -I1 -sS'VOG5474' -p2289 -I1 -sS'VOG5476' -p2290 -I0 -sS'VOG5471' -p2291 -I1 -sS'VOG5470' -p2292 -I1 -sS'VOG5473' -p2293 -I0 -sS'VOG5144' -p2294 -I0 -sS'VOG1984b' -p2295 -I0 -sS'VOG1984a' -p2296 -I0 -sS'VOG5479' -p2297 -I2 -sS'VOG5478' -p2298 -I1 -sS'VOG3129' -p2299 -I0 -sS'VOG4706' -p2300 -I0 -sS'VOG4707' -p2301 -I1 -sS'VOG4700' -p2302 -I0 -sS'VOG4701' -p2303 -I1 -sS'VOG4702' -p2304 -I0 -sS'VOG4703' -p2305 -I0 -sS'VOG1685' -p2306 -I0 -sS'VOG3125' -p2307 -I0 -sS'VOG4709' -p2308 -I0 -sS'VOG2063' -p2309 -I0 -sS'VOG2419' -p2310 -I0 -sS'VOG4691' -p2311 -I0 -sS'VOG3459' -p2312 -I1 -sS'VOG3058' -p2313 -I0 -sS'VOG3729' -p2314 -I2 -sS'VOG3055' -p2315 -I0 -sS'VOG3057' -p2316 -I0 -sS'VOG3056' -p2317 -I0 -sS'VOG3051' -p2318 -I1 -sS'VOG3050' -p2319 -I1 -sS'VOG2238' -p2320 -I0 -sS'VOG2899' -p2321 -I1 -sS'VOG2233' -p2322 -I4 -sS'VOG2894' -p2323 -I1 -sS'VOG2895' -p2324 -I1 -sS'VOG2892' -p2325 -I1 -sS'VOG2893' -p2326 -I1 -sS'VOG2890' -p2327 -I1 -sS'VOG2891' -p2328 -I1 -sS'VOG2526' -p2329 -I1 -sS'VOG2527' -p2330 -I1 -sS'VOG2522' -p2331 -I1 -sS'VOG2523' -p2332 -I1 -sS'VOG1968' -p2333 -I0 -sS'VOG1615' -p2334 -I1 -sS'VOG1614' -p2335 -I1 -sS'VOG1964' -p2336 -I0 -sS'VOG1611' -p2337 -I1 -sS'VOG1610' -p2338 -I1 -sS'VOG1613' -p2339 -I1 -sS'VOG2529' -p2340 -I1 -sS'VOG5246' -p2341 -I0 -sS'VOG5716' -p2342 -I1 -sS'VOG5243' -p2343 -I0 -sS'VOG2412' -p2344 -I0 -sS'VOG2413' -p2345 -I0 -sS'VOG2147' -p2346 -I1 -sS'VOG2417' -p2347 -I0 -sS'VOG2414' -p2348 -I0 -sS'VOG2415' -p2349 -I0 -sS'VOG2418' -p2350 -I0 -sS'VOG5241' -p2351 -I0 -sS'VOG3949' -p2352 -I1 -sS'VOG3943' -p2353 -I1 -sS'VOG3942' -p2354 -I1 -sS'VOG3941' -p2355 -I1 -sS'VOG3940' -p2356 -I1 -sS'VOG3947' -p2357 -I1 -sS'VOG3946' -p2358 -I1 -sS'VOG3944' -p2359 -I1 -sS'VOG2097' -p2360 -I2 -sS'VOG2094' -p2361 -I2 -sS'VOG2095' -p2362 -I2 -sS'VOG2098' -p2363 -I2 -scnumpy.core.multiarray -_reconstruct -p2364 -(cnumpy -ndarray -p2365 -(I0 -tp2366 -S'b' -p2367 -tp2368 -Rp2369 -(I1 -(I9 -tp2370 -cnumpy -dtype -p2371 -(S'S14' -p2372 -I0 -I1 -tp2373 -Rp2374 -(I3 -S'|' -p2375 -NNNI14 -I1 -I0 -tp2376 -bI00 -S'Myoviridae\x00\x00\x00\x00Siphoviridae\x00\x00Podoviridae\x00\x00\x00BicaudaviridaeMicroviridae\x00\x00Inoviridae\x00\x00\x00\x00FuselloviridaeTectiviridae\x00\x00Leviviridae\x00\x00\x00' -p2377 -tp2378 -btp2379 -. \ No newline at end of file diff --git a/phigaro/to_html/html_formation.py b/phigaro/to_html/html_formation.py index 7854abd..579d406 100644 --- a/phigaro/to_html/html_formation.py +++ b/phigaro/to_html/html_formation.py @@ -7,38 +7,32 @@ def form_html_document( ): def form_tbody(data, transposables_data): prophage_index = 1 - tbody = BeautifulSoup(features="lxml").new_tag('tbody') + tbody = BeautifulSoup(features="lxml").new_tag("tbody") for scaffold, scaffold_info in data: tr = BeautifulSoup(features="lxml").new_tag( - 'tr', **{'class': 'scaffold-name'} - ) - th = BeautifulSoup(features="lxml").new_tag( - 'th', scope="row", colspan="4" + "tr", **{"class": "scaffold-name"} ) + th = BeautifulSoup(features="lxml").new_tag("th", scope="row", colspan="4") th.append(scaffold) tr.append(th) tbody.append(tr) for prophage_info in scaffold_info: index_to_paste = ( BeautifulSoup( - transposable_index.format(prophage_index), 'html.parser' + transposable_index.format(prophage_index), "html.parser" ) if transposables_data[prophage_index - 1] else prophage_index ) if prophage_index == 1: prophage_info = ( - [prophage_index] - + prophage_info - + ['active', index_to_paste] + [prophage_index] + prophage_info + ["active", index_to_paste] ) else: prophage_info = ( - [prophage_index] + prophage_info + ['', index_to_paste] + [prophage_index] + prophage_info + ["", index_to_paste] ) - tbody.append( - BeautifulSoup(row.format(*prophage_info), 'html.parser') - ) + tbody.append(BeautifulSoup(row.format(*prophage_info), "html.parser")) prophage_index += 1 return str(tbody) @@ -47,27 +41,27 @@ def form_plots_body(data): for prophage_index, plot in enumerate(data): if prophage_index == 0: div = BeautifulSoup(features="lxml").new_tag( - 'div', + "div", **{ "class": "tab-pane fade show active", "id": "phage-%d" % (prophage_index + 1), } ) inner_div = BeautifulSoup(features="lxml").new_tag( - 'div', **{"class": "prophage-plot"} + "div", **{"class": "prophage-plot"} ) else: div = BeautifulSoup(features="lxml").new_tag( - 'div', + "div", **{ "class": "tab-pane fade show", "id": "phage-%d" % (prophage_index + 1), } ) inner_div = BeautifulSoup(features="lxml").new_tag( - 'div', **{"class": "prophage-plot", "style": "display:none"} + "div", **{"class": "prophage-plot", "style": "display:none"} ) - inner_div.append(BeautifulSoup(plot, 'html.parser')) + inner_div.append(BeautifulSoup(plot, "html.parser")) div.append(inner_div) plots_body.append(div) return str(plots_body) diff --git a/phigaro/to_html/html_templates.py b/phigaro/to_html/html_templates.py index 0fd9e45..3e04eb8 100644 --- a/phigaro/to_html/html_templates.py +++ b/phigaro/to_html/html_templates.py @@ -1,4 +1,4 @@ -header = ''' +header = """ Phigaro report: {0} @@ -7,8 +7,8 @@ - ''' -style_css = ''' + """ +style_css = """ - ''' + """ -body_main = ''' +body_main = """
{0} {1}
-''' +""" -body_table = '''
+body_table = """
@@ -441,11 +441,11 @@ -''' +""" -body_plots = '''''' +body_plots = """""" -transposable_index = '''
+transposable_index = """
@@ -455,9 +455,9 @@ {0}
-''' +""" -row = '''
+row = """ -''' +""" -footer = ''' - ''' + """ diff --git a/phigaro/to_html/preprocess.py b/phigaro/to_html/preprocess.py index 7f1464c..937c55a 100644 --- a/phigaro/to_html/preprocess.py +++ b/phigaro/to_html/preprocess.py @@ -1,4 +1,4 @@ -import pickle +import pandas as pd import plotly.graph_objs as go from plotly.offline import plot import numpy as np @@ -6,17 +6,17 @@ from Bio import SeqIO pvogs_groups = [ - 'Lysis', - 'Integration', - 'Terminase', - 'Replication', - 'Coat', - 'Baseplate', - 'Tail', - 'Assembly', - 'Portal', - 'Other (structural)', - 'Other', + "Lysis", + "Integration", + "Terminase", + "Replication", + "Coat", + "Baseplate", + "Tail", + "Assembly", + "Portal", + "Other (structural)", + "Other", ] cmap = [ (31, 119, 180), @@ -33,21 +33,19 @@ ] colors = {group: cmap[i] for i, group in enumerate(pvogs_groups)} -with open( - os.path.dirname(os.path.abspath(__file__)) + '/pvogs_annotations.pickle', - 'rb', -) as f: - annotations = pickle.load(f) +annotations = pd.read_csv( + os.path.dirname(os.path.abspath(__file__)) + "/pvogs_annotations.csv", index_col=0 +) def form_arrow(begin, end, nonreverse, width): - ''' + """ :param begin: int (of gene) :param end: int (of gene) :param nonreverse: boolean :param width: :return: tuple of tuples (arrow coords) - ''' + """ k = 0.05 height = 0.9 if width < 0.4 else 1 width = width if width > 0.6 else 0.6 @@ -74,10 +72,10 @@ def form_arrow(begin, end, nonreverse, width): def plot_html(records, prophage_begin, prophage_end): - ''' + """ :param records: list of Gene :return: html_plot - ''' + """ def _plotly_to_html_( prophage_begin, prophage_end, func_groups, widths, coords, arrow_coords @@ -87,12 +85,12 @@ def _plotly_to_html_( go.Scatter( x=[prophage_begin], y=[100], - mode='markers', + mode="markers", opacity=1, - hoverinfo='none', + hoverinfo="none", marker=dict( size=10, - color='rgba(%.5f, %.5f, %.5f, 0.8)' % colors[group], + color="rgba(%.5f, %.5f, %.5f, 0.8)" % colors[group], ), name=group, ) @@ -103,11 +101,11 @@ def _plotly_to_html_( x=np.array(coords)[elements], y=[1] * len(elements), text=np.array(records_info)[elements], - hoverinfo='text', - mode='markers', + hoverinfo="text", + mode="markers", marker=dict( size=90 * np.array(widths)[elements], - color='rgba(%.5f, %.5f, %.5f, 1)' % colors[group], + color="rgba(%.5f, %.5f, %.5f, 1)" % colors[group], opacity=0, ), showlegend=False, @@ -118,39 +116,39 @@ def _plotly_to_html_( go.Scatter( x=[prophage_begin, prophage_end], y=[1, 1], - mode='lines', - line=dict(color='rgba(116,116,116, 0.5)', width=1), - hoverinfo='none', + mode="lines", + line=dict(color="rgba(116,116,116, 0.5)", width=1), + hoverinfo="none", showlegend=False, ) ] layout = { - 'template':'plotly_white', - 'yaxis': dict( + "template": "plotly_white", + "yaxis": dict( range=[-0.5, 2.5], showgrid=False, zeroline=False, showline=False, - ticks='', + ticks="", showticklabels=False, ), - 'xaxis': dict(title='Nucleotide Number'), - 'shapes': [ + "xaxis": dict(title="Nucleotide Number"), + "shapes": [ { - 'type': 'path', - 'path': 'M ' - + ' '.join( + "type": "path", + "path": "M " + + " ".join( [ - 'L {:.5f},{:.5f}'.format(*arrow_point) + "L {:.5f},{:.5f}".format(*arrow_point) for arrow_point in arrow ] )[1:] - + ' Z', - 'fillcolor': 'rgba(%.5f, %.5f, %.5f, 1)' + + " Z", + "fillcolor": "rgba(%.5f, %.5f, %.5f, 1)" % colors[group], # 'rgba(44, 160, 101, 0.5)' - 'opacity': 0.7, - 'line': { - 'color': 'rgba(%.5f, %.5f, %.5f, 0.7)' % colors[group], + "opacity": 0.7, + "line": { + "color": "rgba(%.5f, %.5f, %.5f, 0.7)" % colors[group], }, } for group, elements in func_groups.items() @@ -159,8 +157,8 @@ def _plotly_to_html_( } data = traces0 + trace1 fig = { - 'data': data, - 'layout': layout, + "data": data, + "layout": layout, } return fig @@ -176,47 +174,44 @@ def _plotly_to_html_( coords.append(record.begin + (record.end - record.begin) / 2.0) arrow_coords.append((record.begin, record.end, (record.strand + 1) / 2)) records_info.append( - '%s
%d-%d
gc_cont = %s' + "%s
%d-%d
gc_cont = %s" % (record.vog_name, record.begin, record.end, record.gc_cont) ) group = ( annotations.loc[record.vog_name.strip()].group if record.vog_name.strip() in annotations.index - else 'Other' + else "Other" ) if group in func_groups.keys(): func_groups[group].append(i) else: func_groups[group] = [i] if len(widths) > 0: - widths = 1.0 * (np.array(widths) - min(widths)) / max(widths) + 0.1 - arrow_coords = [ - form_arrow(*info, width=width) - for info, width in zip(arrow_coords, widths) - ] + widths = 1.0 * (np.array(widths) - min(widths)) / max(widths) + 0.1 + arrow_coords = [ + form_arrow(*info, width=width) for info, width in zip(arrow_coords, widths) + ] plotly_fig = _plotly_to_html_( prophage_begin, prophage_end, func_groups, widths, coords, arrow_coords ) return plot( plotly_fig, include_plotlyjs=False, - filename='gene_map.html', - output_type='div', + filename="gene_map.html", + output_type="div", ) -def form_sequence( - fasta_file, fasta_name, prophage_begin, prophage_end, scaffold_name -): +def form_sequence(fasta_file, fasta_name, prophage_begin, prophage_end, scaffold_name): for record in SeqIO.parse(fasta_file, "fasta"): if record.id.strip() == scaffold_name.strip(): sequence = record.seq[prophage_begin : (prophage_end + 1)] clean_sequence = sequence ins_ind = 77 while ins_ind < len(sequence): - sequence = sequence[:ins_ind] + '%0A' + sequence[ins_ind:] + sequence = sequence[:ins_ind] + "%0A" + sequence[ins_ind:] ins_ind += 80 - sequence = '%' + '3E%s' % fasta_name + '%' + '0A%s' % sequence + sequence = "%" + "3E%s" % fasta_name + "%" + "0A%s" % sequence return sequence, clean_sequence @@ -226,12 +221,12 @@ def if_transposable(records): group = ( annotations.loc[record.vog_name.strip()].group if record.vog_name.strip() in annotations.index - else 'Other' + else "Other" ) - if (group == 'Integration') & status: + if (group == "Integration") & status: return True - elif group == 'Integration': + elif group == "Integration": status = True - elif (group != 'Integration') & (group != 'Other'): + elif (group != "Integration") & (group != "Other"): status = False return False diff --git a/phigaro/to_html/pvogs_annotations.csv b/phigaro/to_html/pvogs_annotations.csv new file mode 100644 index 0000000..bd449a2 --- /dev/null +++ b/phigaro/to_html/pvogs_annotations.csv @@ -0,0 +1,1475 @@ +,function,group +VOG0001,V protein,Other +VOG0002,major coat protein,Coat +VOG0005,phage assembly protein,Assembly +VOG0006,Vpf491,Other +VOG0007,putative minor coat protein,Coat +VOG0009,putative transcription regulator,Other +VOG0013,DNA replication initiation protein,Replication +VOG0015,putative major coat protein,Coat +VOG0016,S-adenosyl-L-methionine hydrolase,Other +VOG0018,DNA ligase,Replication +VOG0019,RNA polymerase,Other +VOG0025,putative DNA helicase,Replication +VOG0026,DNA polymerase,Replication +VOG0028,exonuclease,Other +VOG0030,head-tail connector protein,Other (structural) +VOG0031,capsid assembly protein,Assembly +VOG0034,tail tubular protein B,Tail +VOG0035,internal virion protein A,Other +VOG0037,internal virion protein C,Other +VOG0038,internal virion protein D,Other +VOG0040,type II holin,Lysis +VOG0046,superinfection exclusion protein,Other +VOG0049,RtcB,Other +VOG0050,dCMP deaminase,Other +VOG0051,terminase large subunit,Terminase +VOG0052,RNA polymerase sigma factor,Other +VOG0054,holin,Lysis +VOG0058,P-starvation inducible protein,Other +VOG0061,major capsid protein,Coat +VOG0067,tail sheath protein,Tail +VOG0083,recombination endonuclease subunit,Other +VOG0085,deoxyuridine 5'-triphosphate nucleotidohydrolase,Other +VOG0088,ribonucleotide reductase,Other +VOG0092,thymidylate synthase,Other +VOG0106,terminase large subunit,Terminase +VOG0136,holin,Lysis +VOG0156,serine/threonine protein phosphatase,Other +VOG0166,maturation protein,Assembly +VOG0167,replicase,Replication +VOG0168,gpA,Other +VOG0169,gpA*,Other +VOG0170,gpB,Other +VOG0171,gpK,Other +VOG0172,gpC,Other +VOG0173,gpD,Other +VOG0174,gpE,Other +VOG0175,gpJ,Other +VOG0176,gpF,Other +VOG0177,gpG,Other +VOG0178,gpH,Other +VOG0183,putative transcription regulator,Other +VOG0189,DNA replication protein,Replication +VOG0202,putative head-tail joining protein,Other (structural) +VOG0205,putative head-tail joining protein,Other (structural) +VOG0209,putative tail component protein,Tail +VOG0221,integrase,Integration +VOG0227,tail fiber assembly protein,Assembly +VOG0234,ParB,Other +VOG0236,Gp63,Other +VOG0237,LysC,Other +VOG0249,Doc,Other +VOG0253,terminase small subunit,Terminase +VOG0254,portal protein,Portal +VOG0258,DNA stabilization protein,Other +VOG0259,DNA stabilization protein,Other +VOG0261,head assembly protein,Assembly +VOG0263,DNA transfer protein,Other +VOG0265,DNA transfer protein,Other +VOG0273,O-antigen conversion protein C,Other +VOG0274,GtrB,Other +VOG0275,integrase,Integration +VOG0281,Abc2 protein,Other +VOG0284,Arf,Other +VOG0285,Kil,Other +VOG0286,CIII protein,Other +VOG0287,SieB,Other +VOG0288,antitermination protein N,Other +VOG0292,NinB protein,Other +VOG0293,NinE protein,Other +VOG0295,NinF protein,Other +VOG0296,NinG protein,Other +VOG0298,late gene regulator Q,Other +VOG0299,endopeptidase,Other +VOG0300,Rz1 protein,Other +VOG0312,Gp18 protein,Other +VOG0320,Gp45 protein,Other +VOG0334,DNA polymerase,Replication +VOG0337,putative DNA-packaging protein,Other +VOG0350,nicotinamide phosphoribosyltransferase,Other +VOG0351,prohead core scaffolding protein and protease,Other +VOG0355,replication protein P,Replication +VOG0356,tail sheath protein,Tail +VOG0372,NAD-dependent DNA ligase subunit A,Replication +VOG0377,DNA helicase,Replication +VOG0382,DNA topoisomerase II large subunit,Replication +VOG0384,DNA topisomerase II medium subunit,Other +VOG0393,ADP-ribosylase,Other +VOG0397,dUTPase,Other +VOG0400,spackle periplasmic protein,Other +VOG0402,head vertex assembly chaperone,Assembly +VOG0408,clamp loader subunit,Other +VOG0409,sliding clamp DNA polymerase accessory protein,Replication +VOG0410,RNA polymerase binding protein,Other +VOG0412,alpha-glucosyl-transferase,Other +VOG0419,anaerobic NTP reductase small subunit,Other +VOG0420,anaerobic NTP reductase large subunit,Other +VOG0421,inhibitor of host Lon protease,Other +VOG0436,site-specific RNA endonuclease,Other +VOG0443,nudix hydrolase,Other +VOG0451,head completion protein,Assembly +VOG0452,baseplate wedge subunit,Baseplate +VOG0454,baseplate wedge subunit,Baseplate +VOG0456,baseplate wedge subunit and tail pin,Tail +VOG0457,baseplate wedge subunit and tail pin,Tail +VOG0459,fibritin,Other +VOG0460,neck protein,Other +VOG0461,neck protein,Other +VOG0462,tail sheath stabilizer and completion protein,Assembly +VOG0463,prohead core protein,Other +VOG0464,prohead core protein,Other +VOG0465,scaffold prohead core protein,Other +VOG0466,major capsid protein,Coat +VOG0471,inhibitor of prohead protease,Other +VOG0473,UvsY,Other +VOG0474,baseplate hub subunit,Baseplate +VOG0475,baseplate hub distal subunit,Baseplate +VOG0476,baseplate hub subunit tail length determinator,Tail +VOG0477,baseplate tail tube cap,Tail +VOG0480,ADP-ribosyltransferase,Other +VOG0485,lysis inhibition accessory protein,Other +VOG0493,endonuclease II,Other +VOG0496,dihydrofolate reductase,Other +VOG0499,single-stranded DNA binding protein,Other +VOG0505,holin lysis mediator,Lysis +VOG0509,activator of middle period transcription,Other +VOG0510,nucleoid disruption protein,Other +VOG0529,Na/K ATPase,Other +VOG0544,Panton-Valentine leukocidin chain S precursor,Other +VOG0545,Panton-Valentine leukocidin chain F precursor,Other +VOG0559,transcriptional activator RinB,Other +VOG0566,capsid-scaffolding protein,Other +VOG0567,terminase endonuclease subunit,Terminase +VOG0568,head completion-stabilization protein,Assembly +VOG0569,tail synthesis protein X,Tail +VOG0571,tail protein,Tail +VOG0574,tail formation protein I,Assembly +VOG0577,major tail tube protein,Tail +VOG0582,tail protein,Tail +VOG0588,replication protein A,Replication +VOG0602,holin,Lysis +VOG0603,gpJ,Other +VOG0609,scaffolding protein,Other +VOG0612,terminase small subunit,Terminase +VOG0614,lysin,Lysis +VOG0615,holin,Lysis +VOG0639,DNA encapsidation protein,Assembly +VOG0641,holin,Lysis +VOG0642,lower collar protein,Other +VOG0643,major head protein,Other +VOG0644,upper collar protein,Other +VOG0645,tail protein,Tail +VOG0647,putative minor structural protein,Other +VOG0668,putative DNA polymerase I,Replication +VOG0676,RNA ligase,Other +VOG0681,gpK,Other +VOG0691,portal protein,Portal +VOG0692,minor capsid protein,Coat +VOG0694,major capsid protein,Coat +VOG0697,putative minor capsid protein,Coat +VOG0698,putative minor capsid protein,Coat +VOG0703,holin,Lysis +VOG0705,FtsK/SpoIIIE protein,Other +VOG0707,conserved phage protein,Other +VOG0720,portal protein,Portal +VOG0731,holin,Lysis +VOG0739,putative topoisomerase,Replication +VOG0756,Rad52/22 family double-strand break repair protein,Other +VOG0764,capsid protein,Coat +VOG0765,holin,Lysis +VOG0785,excisionase,Other +VOG0796,terminase small subunit,Terminase +VOG0799,major tail protein,Tail +VOG0816,head-tail adaptor,Other +VOG0823,excisionase,Other +VOG0827,mobile element protein,Other +VOG0828,putative single-stranded DNA binding protein,Other +VOG0830,Bor protein precursor,Other +VOG0831,terminase small subunit nu1,Terminase +VOG0832,head-to-tail joining protein,Other (structural) +VOG0833,portal protein,Portal +VOG0835,head-DNA stabilization protein,Other +VOG0837,DNA packaging protein,Other +VOG0838,head-tail connector Fii,Other (structural) +VOG0839,minor tail protein,Tail +VOG0840,minor tail protein U,Tail +VOG0842,minor tail protein G,Tail +VOG0843,minor tail protein,Tail +VOG0847,minor tail protein,Tail +VOG0848,minor tail protein,Tail +VOG0850,tail protein,Tail +VOG0855,attachment invasion locus protein precursor,Other +VOG0875,terminal protein,Other +VOG0876,transcriptional regulator,Other +VOG0877,single stranded DNA-binding protein,Other +VOG0878,dsDNA binding protein,Other +VOG0879,scaffolding protein,Other +VOG0880,head fiber protein,Other +VOG0885,DNA replication organizer,Replication +VOG0886,putative protein 16.8,Other +VOG0887,putative terminase small subunit,Terminase +VOG0889,putative strucural protein 2,Other +VOG0890,putative strucural protein 4,Other +VOG0897,holin,Lysis +VOG0906,putative sak protein,Other +VOG0913,putative structural protein,Other +VOG0924,putative DNA polymerase subunit,Replication +VOG0930,putative strucural protein 3,Other +VOG0933,neck passage structure,Other +VOG0944,transposase,Integration +VOG0945,mobile element protein,Other +VOG0946,shiga-like toxin II subunit A precursor,Other +VOG0947,Shiga toxin 2 subunit B,Other +VOG0975,Putative small subunit (Nu1 homolog) of DNA packaging dimer,Other +VOG0976,major capsid protein,Coat +VOG0979,retron-type RNA-directed DNA polymerase,Other +VOG0985,ParA,Other +VOG0986,protelomerase,Other +VOG0991,gp55 protein,Other +VOG0992,putative endolysin,Lysis +VOG0996,clamp loader subunit,Other +VOG0997,baseplate hub subunit,Baseplate +VOG0998,queuosine biosynthesis QueE radical SAM,Other +VOG1001,portal vertex protein,Portal +VOG1005,tail tube protein,Tail +VOG1006,sigma factor for late transcription,Other +VOG1020,QueC,Other +VOG1026,transposase,Integration +VOG1030,thymidine kinase,Other +VOG1031,nucleotide-sugar epimerase,Other +VOG1032,gp4,Other +VOG1036,putative co-chaperonin GroES,Other +VOG1045,putative HTH transcription regulator,Other +VOG1051,UDP-galactopyranose mutase,Other +VOG1072,EPS-depolymerase,Replication +VOG1092,terminase small subunit,Terminase +VOG1099,major capsid protein,Coat +VOG1105,major tail subunit,Tail +VOG1112,minor tail protein,Tail +VOG1113,minor tail protein,Tail +VOG1146,RNaseE,Other +VOG1165,minor tail protein,Tail +VOG1166,minor tail protein,Tail +VOG1167,minor tail protein,Tail +VOG1179,gp81,Other +VOG1184,gp40,Other +VOG1190,portal protein,Portal +VOG1191,major capsid protein,Coat +VOG1198,DNA polymerase III alpha subunit,Replication +VOG1200,galactosyltransferase,Other +VOG1201,glycosyltransferase,Other +VOG1213,tail assembly chaperone,Assembly +VOG1215,minor tail protein,Tail +VOG1222,holin,Lysis +VOG1225,Lsr2,Other +VOG1270,gp13,Other +VOG1279,predicted hydrolase,Other +VOG1284,CHC2 zinc finger protein,Other +VOG1297,conserved hypothetical protein,Other +VOG1298,putative methyltransferase,Other +VOG1300,conserved hypothetical protein,Other +VOG1309,RecT,Other +VOG1311,PcfU,Other +VOG1314,conserved hypothetical protein,Other +VOG1319,major head protein,Other +VOG1329,major capsid protein,Coat +VOG1337,HNH endonuclease,Other +VOG1344,nicotinamide mononucleotide transporter,Other +VOG1363,putative Sir2-like protein,Other +VOG1391,transaldolase-like protein,Other +VOG1403,DUF680 domain-containing protein,Other +VOG1404,photosystem II D1 protein,Other +VOG1405,high light inducible protein,Other +VOG1436,tail fiber protein,Tail +VOG1517,putative terminase small subunit,Terminase +VOG1519,putative tail protein,Tail +VOG1587,tail assembly chaperone,Assembly +VOG1590,minor tail protein,Tail +VOG1609,DNA primase,Replication +VOG1617,gp63,Other +VOG1618,gp80,Other +VOG1619,gp75,Other +VOG1647,ParB,Other +VOG1654,esterase/lipase,Other +VOG1681,translation repressor,Other +VOG1801,base plate hub assembly catalyst,Assembly +VOG1829,head assembly cochaperone with GroEL,Assembly +VOG1850,tRNA nucleotidyltransferase,Other +VOG1860,loader of DNA helicase,Replication +VOG1861,late promoter transcription accessory protein,Other +VOG1864,anti-sigma 70 protein,Other +VOG1871,NudE nudix hydrolase,Other +VOG1874,gp35 hinge long tail fiber proximal connector,Other (structural) +VOG1883,gp13,Other +VOG1886,putative terminase large subunit,Terminase +VOG1887,major capsid protein,Coat +VOG1894,holin,Lysis +VOG1898,cell adhesion domain-containing protein,Other +VOG1912,putative portal protein,Portal +VOG1936,AAA ATPase,Other +VOG1981,small outer capsid protein,Coat +VOG1992,internal head protein,Other +VOG2005,homing endonuclease,Other +VOG2006,hinge connector of long tail fiber proximal connector,Other (structural) +VOG2012,DNA endonuclease IV,Other +VOG2015,gp5,Other +VOG2017,gp8,Other +VOG2044,gp3,Other +VOG2054,phosphoribosyl transferase,Other +VOG2075,terminase small subunit,Terminase +VOG2080,Cor protein,Other +VOG2090,serine/threonine kinase,Other +VOG2098,DNA packaging protein,Other +VOG2120,putative major tail protein,Tail +VOG2123,methyltransferase,Other +VOG2124,Ren protein,Other +VOG2137,major tropism determinant,Other +VOG2142,transposase A,Integration +VOG2200,acridine resistance protein,Other +VOG2210,putative tail tube protein,Tail +VOG2211,putative tail sheath protein,Tail +VOG2215,CI,Other +VOG2217,holin,Lysis +VOG2218,Apl,Other +VOG2232,minor capsid protein,Coat +VOG2233,replication protein VP4,Replication +VOG2234,major capsid protein VP1,Coat +VOG2235,internal scaffolding protein VP3,Other +VOG2310,protein kinase,Other +VOG2312,host dGTPase inhibitor,Other +VOG2313,gp1.5,Other +VOG2315,host RNA polymerase inhibitor,Other +VOG2332,HNH endonuclease,Other +VOG2352,guanylate kinase,Other +VOG2368,"ribonucleoside triphosphate reductase, alpha chain",Other +VOG2379,virion RNA polymerase,Other +VOG2384,major coat protein,Coat +VOG2386,portal protein,Portal +VOG2397,single stranded DNA-binding protein,Other +VOG2403,phage lambda Rz1-like protein,Other +VOG2422,valyl-tRNA synthetase modifier,Other +VOG2444,transcription modulator,Other +VOG2450,distal long tail fiber assembly catalyst,Assembly +VOG2457,IpI,Other +VOG2497,gp3,Other +VOG2513,tail assembly chaperone,Assembly +VOG2518,minor tail protein,Tail +VOG2526,holin,Lysis +VOG2557,antirestriction protein,Other +VOG2559,gp1,Other +VOG2560,terminase small subunit,Terminase +VOG2567,tail assembly chaperone,Assembly +VOG2570,gp28,Other +VOG2571,gp31,Other +VOG2575,metallophosphoesterase,Other +VOG2612,gp2,Other +VOG2613,gp9,Other +VOG2617,gp16,Other +VOG2621,gp24,Other +VOG2622,tail assembly chaperone,Assembly +VOG2624,gp28,Other +VOG2626,gp33,Other +VOG2627,gp34,Other +VOG2634,gp1,Other +VOG2636,gp59,Other +VOG2637,gp2,Other +VOG2644,holin,Lysis +VOG2648,HTH DNA binding protein,Other +VOG2649,GIY-YIG endonuclease,Other +VOG2654,HTH DNA binding protein,Other +VOG2666,gp96,Other +VOG2766,putative holin,Lysis +VOG2773,putative transcriptional regulator,Other +VOG2774,putative DNA primase,Replication +VOG2786,Ner-like protein,Other +VOG2788,DNA transposition protein,Other +VOG2791,tail sheath protein,Tail +VOG2792,tail/DNA circulation protein,Tail +VOG2793,tail protein,Tail +VOG2806,putative head protein,Other +VOG2819,Ser/Thr kinase,Other +VOG2820,glycosyltransferase,Other +VOG2821,gp18,Other +VOG2822,gp21,Other +VOG2842,LipC,Other +VOG2848,AddA-like protein,Other +VOG2875,gp205,Other +VOG2876,Ku protein,Other +VOG2894,gp4,Other +VOG2895,gp7,Other +VOG2914,gp78,Other +VOG2920,gp56,Other +VOG2922,RDF protein,Other +VOG2923,gp82,Other +VOG2924,gp85,Other +VOG2925,gp86,Other +VOG2932,terminase small subunit,Terminase +VOG2933,enoyl-CoA-hydratase,Other +VOG2936,methyltransferase,Other +VOG2937,gp19,Other +VOG2947,gp91,Other +VOG2950,gp94,Other +VOG2957,gp148,Other +VOG2958,gp131,Other +VOG2973,gp205,Other +VOG2993,gp5,Other +VOG2995,phosphoesterase,Other +VOG3011,tyrosine phosphatase,Other +VOG3015,gp37,Other +VOG3020,gp4,Other +VOG3022,gp67,Other +VOG3028,gp1,Other +VOG3029,gp3,Other +VOG3030,gp139,Other +VOG3050,RecA,Other +VOG3093,ATP-dependent helicase,Replication +VOG3178,major capsid protein,Coat +VOG3180,maturation/adhesion protein,Assembly +VOG3181,gp82,Other +VOG3188,gp18,Other +VOG3199,gp22,Other +VOG3201,gp29,Other +VOG3202,gp30,Other +VOG3211,gp15,Other +VOG3215,FtsK-like protein,Other +VOG3221,gp90,Other +VOG3222,GTP cyclohydrolase I,Other +VOG3227,putative tail fiber,Tail +VOG3233,phosphatidylglycerophosphatase A,Other +VOG3235,IMP dehydrogenase/GMP reductase,Other +VOG3238,small acid-soluble spore protein,Other +VOG3239,putative DNA helicase,Replication +VOG3241,Ser/Thr protein phosphatase family protein,Other +VOG3244,putative UV damage repair endonuclease,Other +VOG3255,virion structural protein,Other +VOG3256,virion structural protein,Other +VOG3262,putative helicase,Replication +VOG3263,major capsid protein,Coat +VOG3271,virion structural protein,Other +VOG3275,virion structural protein,Other +VOG3278,putative tail sheath protein,Tail +VOG3279,putative virion structural protein,Other +VOG3280,putative virion structural protein,Other +VOG3287,"addiction module toxin, RelE/StbE family",Other +VOG3288,Vpf76,Other +VOG3294,activator of host PrrC lysyl-tRNA endonuclease,Other +VOG3309,putative excisionase,Other +VOG3341,minor coat protein,Coat +VOG3344,integrase,Integration +VOG3346,putative HTH transcriptional regulator,Other +VOG3347,helix-turn-helix protein,Other +VOG3356,structural protein V1,Other +VOG3357,structural protein VP3,Other +VOG3358,VP2-like protein,Other +VOG3369,NinD,Other +VOG3376,host recBCD nuclease inhibitor,Other +VOG3379,Cox,Other +VOG3381,Hol,Other +VOG3382,nonstructural protein,Other +VOG3396,Gp29,Other +VOG3397,gp33,Other +VOG3399,gp42 protein,Other +VOG3401,transcription antiterminator,Other +VOG3404,gp51,Other +VOG3416,minor tail protein,Tail +VOG3418,gp3,Other +VOG3419,gp4a,Other +VOG3420,gp5,Other +VOG3421,gp12,Other +VOG3427,major tail subunit,Tail +VOG3443,GtrA,Other +VOG3445,NinY,Other +VOG3447,O-polysaccharide acetyltransferase protein,Other +VOG3475,putative transcription regulator,Other +VOG3478,excisionase,Other +VOG3505,CRISPR-associated Cas4-like protein,Other +VOG3506,putative helicase,Replication +VOG3518,DNA binding protein,Other +VOG3519,putative regulatory protein,Other +VOG3520,putative regulatory protein,Other +VOG3525,structural protein,Other +VOG3526,structural protein,Other +VOG3530,putative glycosyltransferase,Other +VOG3546,gp32,Other +VOG3550,gp40,Other +VOG3552,gp46,Other +VOG3562,exfoliative toxin A,Other +VOG3563,"gp8, conserved hypothetical protein",Other +VOG3564,gp71,Other +VOG3567,gp17,Other +VOG3570,"gp26, bacteriophage lysis protein",Lysis +VOG3571,gp27,Other +VOG3574,gp29,Other +VOG3576,gp30,Other +VOG3577,gp31,Other +VOG3578,"gp32, hypothetical protein",Other +VOG3583,"gp45, hypothetical protein",Other +VOG3585,gp63,Other +VOG3586,putative chromosome partitioning protein,Other +VOG3588,gp62,Other +VOG3590,gp4,Other +VOG3591,gp65,Other +VOG3593,"gp43, conserved domain protein",Other +VOG3607,putative integral membrane protein,Other +VOG3624,putative transposase,Integration +VOG3653,tail protein,Tail +VOG3654,putative protease,Other +VOG3660,gp19,Other +VOG3667,BcepNY3gp56,Other +VOG3669,gp62,Other +VOG3675,scaffolding protein,Other +VOG3676,major head protein,Other +VOG3704,excisionase,Other +VOG3708,77ORF046,Other +VOG3721,virion structural protein,Other +VOG3722,thymidylate kinase,Other +VOG3724,putative SNF2 domain helicase,Replication +VOG3739,putative endoprotease,Other +VOG3740,major capsid protein,Coat +VOG3744,Rz1 gp24',Other +VOG3760,p11,Other +VOG3777,p53,Other +VOG3793,putative internal virion protein A,Other +VOG3824,DNA polymerase,Replication +VOG3843,putative glutathionylspermidine synthase,Other +VOG3887,"gp40, hypothetical protein",Other +VOG3890,putative tail sheath protein,Tail +VOG3897,gp2,Other +VOG3900,gp63,Other +VOG3921,A2 protein,Other +VOG3967,D2 protein,Other +VOG3969,D3 protein,Other +VOG3972,D5 protein,Other +VOG3978,tail protein Pb4,Tail +VOG3979,tail protein,Tail +VOG3981,pore-forming tail tip protein,Tail +VOG3984,minor tail protein,Tail +VOG3995,putative transposase A subunit,Integration +VOG4006,gp35,Other +VOG4017,2OG-Fe(II) oxygenase,Other +VOG4023,structural protein,Other +VOG4026,virion structural protein,Other +VOG4027,tail fiber-like protein,Tail +VOG4037,methylamine protein,Other +VOG4040,peptidase,Other +VOG4044,heat shock protein,Other +VOG4059,virion structural protein,Other +VOG4062,photosystem II D2 protein,Other +VOG4070,S-adenosylmethionine decarboxylase,Other +VOG4079,antenna protein,Other +VOG4080,2OG-Fe(II) oxygenase,Other +VOG4085,ferrochelatase,Other +VOG4088,tryptophan halogenase,Other +VOG4097,phycoerythrobilin,Other +VOG4099,CP12 protein,Other +VOG4111,baseplate wedge initiator,Baseplate +VOG4120,DNA endonuclease V,Other +VOG4123,5-phosphoribosylformylglycinamide amidotransferase,Other +VOG4124,phosphoribosylaminoimidazole synthetase,Other +VOG4125,phosphoribosylaminoimidazole synthetase,Other +VOG4126,cytitidyltransferase,Other +VOG4128,plasmid stability protein,Other +VOG4133,plastocyanine,Other +VOG4138,phosphate transporter subunit,Other +VOG4142,glycosyltransferase family 11,Other +VOG4143,glycosyltransferase family 25,Other +VOG4149,ferredoxin,Other +VOG4152,heme oxygenase,Other +VOG4154,carbamoyltransferase,Other +VOG4155,putative nucleotidyltransferase,Other +VOG4156,putative carbohydrate kinase,Other +VOG4157,putative nucleotidyltransferase,Other +VOG4161,cAMP phosphodiesterase,Other +VOG4165,structural protein,Other +VOG4166,putative short tail fiber,Tail +VOG4191,hemagglutinin domain-containing protein,Other +VOG4192,structural protein,Other +VOG4195,plastoquinol terminal oxidase,Other +VOG4204,S-layer domain protein,Other +VOG4210,carboxylesterase,Other +VOG4319,putative major capsid protein,Coat +VOG4341,gp2,Other +VOG4344,putative membrane protein,Other +VOG4357,transposase,Integration +VOG4359,putative transposase,Integration +VOG4409,6-phosphogluconate dehydrogenase,Other +VOG4410,glucose 6-phosphate dehydrogenase,Other +VOG4418,DUF1583 domain-containing protein,Other +VOG4447,putative phosphatase,Other +VOG4495,putative bacterial NUDIX hydrolase,Other +VOG4524,phosphoribosylaminoimidazole-succinocarboxamide synthase,Other +VOG4536,PA14 domain-containing protein,Other +VOG4542,RNA-dependent RNA polymerase,Other +VOG4544,terminase large subunit,Terminase +VOG4545,tape measure protein,Other +VOG4547,lysin A,Lysis +VOG4548,helicase,Replication +VOG4549,glutaredoxin,Other +VOG4551,DNA primase,Replication +VOG4553,major capsid protein,Coat +VOG4555,scaffolding protein,Other +VOG4556,portal protein,Portal +VOG4557,major tail subunit,Tail +VOG4558,minor tail protein,Tail +VOG4560,lysin B,Lysis +VOG4561,thymidylate synthase,Other +VOG4562,ribonucleotide reductase subunit B,Other +VOG4565,lysozyme,Other +VOG4567,DNA methylase,Other +VOG4569,minor tail protein,Tail +VOG4571,DNA methylase,Other +VOG4572,major capsid protein,Coat +VOG4574,lysin A,Lysis +VOG4575,recombination endonuclease subunit,Other +VOG4577,DNA polymerase,Replication +VOG4582,tail assembly chaperone,Assembly +VOG4583,WhiB,Other +VOG4584,baseplate hub subunit and tail lysozyme,Tail +VOG4586,major tail protein,Tail +VOG4588,D-ala-D-ala carboxypeptidase,Other +VOG4591,baseplate wedge tail fiber connector,Other (structural) +VOG4592,tail tubular protein A,Tail +VOG4594,protector from prophage-induced early lysis,Other +VOG4595,DNA end protector protein,Other +VOG4598,tail fiber protein,Tail +VOG4599,minor structural protein,Other +VOG4600,exonuclease,Other +VOG4601,major capsid protein,Coat +VOG4603,gp46,Other +VOG4604,portal protein,Portal +VOG4606,DNA primase,Replication +VOG4608,replicative helicase,Replication +VOG4610,internal virion protein B,Other +VOG4613,putative tail lysin,Lysis +VOG4618,gp1,Other +VOG4625,hinge connector of long tail fiber distal connector,Other (structural) +VOG4627,glycosyltransferase,Other +VOG4630,tail protein,Tail +VOG4634,major tail subunit,Tail +VOG4637,tail assembly chaperone,Assembly +VOG4640,tailspike protein,Tail +VOG4641,capsid maturation protease,Assembly +VOG4644,baseplate J,Baseplate +VOG4645,LysB,Other +VOG4646,putative tail fiber protein,Tail +VOG4648,putative helicase-primase,Replication +VOG4649,lysin,Lysis +VOG4650,integrase,Integration +VOG4652,virion morphogenesis protein,Other +VOG4653,baseplate hub subunit and tail lysozyme,Tail +VOG4658,DNA methylase,Other +VOG4659,putative antireceptor,Other +VOG4660,pre-neck appendage protein,Other +VOG4661,putative replication origin binding protein,Replication +VOG4663,gp29,Other +VOG4666,lysin A,Lysis +VOG4668,assembly protein,Assembly +VOG4669,tailspike 63D sialidase,Tail +VOG4672,head maturation protease,Assembly +VOG4673,conserved phage protein,Other +VOG4676,WhiB,Other +VOG4677,putative poly A polymerase,Replication +VOG4678,glycosyltransferase/methyl transferase,Other +VOG4681,gp22,Other +VOG4683,structural protein,Other +VOG4686,morphogenesis protein,Other +VOG4689,gp54,Other +VOG4690,transcriptional regulator,Other +VOG4692,exonuclease,Other +VOG4695,baseplate wedge subunit,Baseplate +VOG4696,terminase small subunit,Terminase +VOG4697,tail completion and sheath stabilizer protein,Assembly +VOG4698,RNA ligase,Other +VOG4701,tail assembly protein,Assembly +VOG4702,baseplate wedge subunit,Baseplate +VOG4707,putative endolysin,Lysis +VOG4708,RecE,Other +VOG4711,major capsid protein,Coat +VOG4712,inhibitor of host transcription,Other +VOG4714,ribonuclease H,Other +VOG4715,baseplate wedge protein,Baseplate +VOG4719,modifier of suppressor tRNAs,Other +VOG4725,gp6,Other +VOG4730,flavodoxin,Other +VOG4733,DNA methylase,Other +VOG4735,tail protein,Tail +VOG4736,tail protein,Tail +VOG4745,Kil protein,Other +VOG4759,glycosyl transferase,Other +VOG4760,minor tail protein,Tail +VOG4761,minor tail protein,Tail +VOG4763,peptidase_S74 domain protein,Other +VOG4771,terminase small subunit,Terminase +VOG4772,N-acetylmuramoyl-L-alanine amidase,Other +VOG4773,capsid portal protein Q,Portal +VOG4774,gp11,Other +VOG4777,histidine triad domain protein,Other +VOG4779,DNA delivery,Other +VOG4781,putative tail protein,Tail +VOG4790,major tail protein,Tail +VOG4795,endolysin,Lysis +VOG4802,O-methyltransferase,Other +VOG4806,putative ribonuclease H,Other +VOG4809,NAD-dependent DNA ligase,Replication +VOG4810,modifier of transcription,Other +VOG4811,tapemeasure,Other +VOG4814,DNA packaging ATPase,Other +VOG4815,gp74,Other +VOG4820,tail protein,Tail +VOG4823,Hoc large outer capsid protein,Coat +VOG4825,homing endonuclease,Other +VOG4827,putative baseplate wedge protein,Baseplate +VOG4832,long tail fiber distal subunit,Tail +VOG4835,gp142,Other +VOG4837,gp31,Other +VOG4838,WhiB,Other +VOG4840,gp13,Other +VOG4844,putative terminase small subunit,Terminase +VOG4850,lysin,Lysis +VOG4854,putative excisionase,Other +VOG4855,recombinase,Other +VOG4860,internal (core) protein,Other +VOG4865,LysM domain-containing protein,Other +VOG4868,tailspike,Tail +VOG4882,DR0530-like primase,Replication +VOG4884,distal tail protein,Tail +VOG4885,late control D protein,Other +VOG4909,tail protein,Tail +VOG4910,putative peptidase M23,Other +VOG4934,putative holin,Lysis +VOG4942,Uncharacterized protein MJ0770,Other +VOG4952,ATPase family protein,Other +VOG4955,lytic protein Rz1,Other +VOG4968,virion structural protein,Other +VOG4971,HTH DNA binding domain protein,Other +VOG4979,Vs valyl-tRNA synthetase modifier,Other +VOG4985,putative minor structural protein,Other +VOG4995,gp35,Other +VOG4999,DNA primase,Replication +VOG5008,glycerophosphoryl diesterphosphodiesterase,Other +VOG5012,portal protein,Portal +VOG5022,putative site-specific intron-like DNA endonuclease,Other +VOG5024,tail assembly protein,Assembly +VOG5027,head morphogeneis protein,Other +VOG5031,lysin,Lysis +VOG5032,virion-associated phage protein,Other +VOG5035,CHAP domain protein,Other +VOG5036,DarB-like antirestriction protein,Other +VOG5046,replication protein,Replication +VOG5052,partition protein ParB,Other +VOG5053,putative gp37,Other +VOG5055,gp10,Other +VOG5062,gp13,Other +VOG5063,putative transcriptional regulator,Other +VOG5083,DarB,Other +VOG5084,Ant1,Other +VOG5085,"gp41, hypothetical protein",Other +VOG5086,gp43,Other +VOG5088,putative transposase,Integration +VOG5089,putative phage repressor,Other +VOG5091,cytosine-specific DNA methyltransferase,Other +VOG5095,gp61,Other +VOG5096,gp23,Other +VOG5098,gp33,Other +VOG5100,tail fiber,Tail +VOG5101,gp10,Other +VOG5106,phage terminase large subunit,Terminase +VOG5116,putative endonuclease,Other +VOG5118,gp50,Other +VOG5121,DNA methylase,Other +VOG5125,gp20,Other +VOG5126,putative bifunctional DNA primase/polymerase,Replication +VOG5127,tail assembly chaperone,Assembly +VOG5148,metal-dependent hydrolase,Other +VOG5156,gp4,Other +VOG5162,Ro protein,Other +VOG5170,putative DNA-PolB associated exonuclease,Other +VOG5173,putative tail fiber,Tail +VOG5188,tapemeasure,Other +VOG5196,gp205,Other +VOG5203,HNH endonuclease domain protein,Other +VOG5211,structural protein,Other +VOG5213,membrane protein,Other +VOG5214,structural protein,Other +VOG5227,replicative clamp,Replication +VOG5231,6-phosphogluconate dehydrogenase,Other +VOG5235,DNA polymerase III beta subunit,Replication +VOG5239,restriction endonuclease,Other +VOG5249,TreO,Other +VOG5255,putative head stabilization/decoration protein,Other +VOG5260,tail fiber,Tail +VOG5268,tail fiber protein,Tail +VOG5280,replication terminator protein,Replication +VOG5302,flavodoxin,Other +VOG5305,putative DNA methylase,Other +VOG5329,TreB,Other +VOG5332,putative peptidase,Other +VOG5345,holin,Lysis +VOG5372,neck passage structure protein,Other +VOG5392,transposase-like protein,Integration +VOG5435,putative outer membrane protein,Other +VOG5441,colanic acid-degrading protein,Other +VOG5443,Kil protein,Other +VOG5447,positive control sigma-like factor,Other +VOG5448,putative peptidyl-tRNA hydrolase,Other +VOG5456,TreA,Other +VOG5477,holin,Lysis +VOG5478,head-tail adaptor,Other +VOG5481,NAD-dependent DNA ligase subunit B,Replication +VOG5511,tail fiber protein,Tail +VOG5520,pre-TMP frameshift protein,Other +VOG5551,RNAse H,Other +VOG5556,pre-tape measure frameshift protein G-T,Other +VOG5566,putative phage tail protein,Tail +VOG5573,putative terminase small subunit,Terminase +VOG5575,putative structural protein,Other +VOG5577,putative holin,Lysis +VOG5581,constituent protein,Other +VOG5584,major capsid & capsid maturation protease,Assembly +VOG5585,head-to-tail connector,Other (structural) +VOG5587,major tail protein,Tail +VOG5589,minor tail protein,Tail +VOG5590,major coat protein,Coat +VOG5593,gp23,Other +VOG5595,putative DNA primase/polymerase,Replication +VOG5604,portal protein,Portal +VOG5617,recombination protein U,Other +VOG5656,topoisomerase II large subunit,Replication +VOG5657,beta glucosyl transferase,Other +VOG5661,structural protein,Other +VOG5680,VI protein,Other +VOG5687,HTH DNA binding domain protein,Other +VOG5698,putative DNA N6-adenine methyltransferase,Other +VOG5700,gp18,Other +VOG5707,rare lipoprotein A,Other +VOG5742,putative regulatory protein,Other +VOG5751,putative phage DNA primase,Replication +VOG5769,structural protein,Other +VOG5775,AAA ATPase,Other +VOG5781,pectate lyase,Other +VOG5782,exonuclease,Other +VOG5786,structural protein,Other +VOG5793,tapemeasure,Other +VOG5794,gp26,Other +VOG5817,gp37,Other +VOG5818,gp65,Other +VOG5840,putative cell division control protein,Other +VOG5846,receptor-binding tail protein,Tail +VOG5861,putative short tail fiber,Tail +VOG5862,putative short tail fiber,Tail +VOG5871,putative minor structural protein 1,Other +VOG5902,putative lower collar protein,Other +VOG5904,putative cell wall hydrolase protein,Other +VOG5918,carboxypeptidase A,Other +VOG5938,putative primase,Replication +VOG5942,putative DNA replication protein,Replication +VOG5946,tail protein,Tail +VOG5950,recombinase,Other +VOG5953,internal head protein,Other +VOG5979,phospho-2-dehydro-3-deoxyheptonate aldolase,Other +VOG5982,homing endonuclease,Other +VOG5986,MazG,Other +VOG6001,prohead protease,Other +VOG6034,Appr-1-p processing protein,Other +VOG6042,putative tail fiber protein,Tail +VOG6058,putative encapsidation protein,Assembly +VOG6076,DNA pilot protein VP2,Other +VOG6085,putative DHH phosphoesterase protein,Other +VOG6131,HTH binding protein,Other +VOG6133,tail protein,Tail +VOG6152,putative pre-tape measure chaperone protein,Other +VOG6163,putative tape measure protein,Other +VOG6166,tail lysozyme,Tail +VOG6167,complement inhibitor,Other +VOG6170,DNA methylase,Other +VOG6193,putative endolysin,Lysis +VOG6196,coat protein,Coat +VOG6200,VP4 precursor,Other +VOG6207,DnaA protein,Other +VOG6230,receptor-blocking protein,Other +VOG6232,major capsid protein,Coat +VOG6236,methyltransferase,Other +VOG6246,putative structural protein,Other +VOG6247,antioxidant protein,Other +VOG6275,putative sporulation protein YhbH,Other +VOG6282,putative IS transposase (OrfA),Integration +VOG6288,putative DNA injection protein,Other +VOG6302,capsid maturation protease,Assembly +VOG6313,putative terminase small subunit,Terminase +VOG6314,receptor-binding protein,Other +VOG6331,cell wall peptidase,Other +VOG6343,portal protein,Portal +VOG6345,major capsid subunit,Coat +VOG6350,terminase large subunit,Terminase +VOG6371,LysM,Other +VOG6373,minor tail protein,Tail +VOG6389,conserved phage protein,Other +VOG6391,scaffolding protein,Other +VOG6396,DNA polymerase IV,Replication +VOG6422,abortive infection bacteriophage resistance protein,Other +VOG6427,pyruvate kinase,Other +VOG6449,peptide deformylase,Other +VOG6452,gpB,Other +VOG6457,virion structural protein,Other +VOG6465,Rz,Other +VOG6479,transcriptional regulator,Other +VOG6488,terminase large subunit,Terminase +VOG6513,chaperonin GroEL,Other +VOG6520,RecE,Other +VOG6535,baseplate wedge subunit,Baseplate +VOG6537,gp11,Other +VOG6540,putative adsorption protein,Other +VOG6551,lysozyme,Other +VOG6560,von Willebrand factor domain protein,Other +VOG6565,putative holin,Lysis +VOG6566,EaC protein,Other +VOG6568,putative tail fiber protein,Tail +VOG6599,putative DNAse/helicase protein,Replication +VOG6602,LAGLIDADG endonuclease,Other +VOG6628,AbrB family transcriptional regulator,Other +VOG6632,putative transcriptional activator,Other +VOG6633,putative tail protein,Tail +VOG6648,HTH DNA binding protein,Other +VOG6667,DNA primase,Replication +VOG6669,cell wall hydrolase,Other +VOG6672,minor structural protein,Other +VOG6676,DNA primase,Replication +VOG6751,tail connector protein,Other (structural) +VOG6796,PE/PPE-like protein,Other +VOG6813,acetyltransferase,Other +VOG6815,bacteriocin biosynthesis protein,Other +VOG6821,putative rIIa-like protein,Other +VOG6822,putative DNA polymerase,Replication +VOG6823,Cro-like protein,Other +VOG6857,gp42,Other +VOG6879,lytic protein Rz,Other +VOG6888,DNA polymerase III subunit beta,Replication +VOG6912,LysA,Other +VOG6924,putative 2-component regulator,Other +VOG6942,QueF,Other +VOG6945,putative transcriptional regulator,Other +VOG6965,"transposase InsH, IS5D, IS5 family",Integration +VOG6967,CRO protein,Other +VOG6975,YolD-like protein,Other +VOG6988,putative glucose-1-phosphate thymidylyltransferase,Other +VOG7037,putative base plate lysozyme,Other +VOG7054,adhesin,Other +VOG7066,structural protein,Other +VOG7067,chaperonin cpn10,Other +VOG7069,structural protein,Other +VOG7071,structural protein,Other +VOG7073,structural protein,Other +VOG7074,structural protein,Other +VOG7075,structural protein,Other +VOG7089,tailspike,Tail +VOG7099,DNA polymerase,Replication +VOG7104,phage tail fiber protein,Tail +VOG7110,HicA-like protein,Other +VOG7125,putative transcriptional regulator,Other +VOG7137,gene transfer agent,Other +VOG7152,minor tail protein,Tail +VOG7154,MutT/NUDIX hydrolase family protein,Other +VOG7167,putative holin,Lysis +VOG7168,bacterial surface protein,Other +VOG7172,RNA polymerase ECF sigma factor,Other +VOG7188,phosphoribosyl transferase,Other +VOG7232,tail assembly chaperone,Assembly +VOG7238,phage tail protein,Tail +VOG7243,tail fiber protein,Tail +VOG7260,Tail fiber protein,Tail +VOG7264,DNA primase,Replication +VOG7266,putative IS transposase (OrfB),Integration +VOG7274,putative transglutaminase-like cysteine peptidase,Other +VOG7277,putative minor capsid protein,Coat +VOG7279,putative lectin-like domain protein,Other +VOG7284,putative tail protein,Tail +VOG7285,putative tail protein,Tail +VOG7286,putative holin protein,Lysis +VOG7287,putative inner membrane spanin component,Other +VOG7288,putative outer membrane spanin component,Other +VOG7298,putative HTH domain protein,Other +VOG7302,putative TAT signal protein,Other +VOG7312,terminase small subunit,Terminase +VOG7318,putative ArdC-like antirestriction protein,Other +VOG7320,structural protein,Other +VOG7321,structural protein,Other +VOG7325,portal protein,Portal +VOG7329,tape measure,Other +VOG7340,potassium voltage-gated channel subfamily A member 1 protein,Other +VOG7364,putative small terminase subunit,Terminase +VOG7391,tail assembly chaperone,Assembly +VOG7403,putative portal protein,Portal +VOG7405,putative rIIb-like protein,Other +VOG7407,intein-containing putative terminase large subunit precursor,Terminase +VOG7415,baseplate hub subunit,Baseplate +VOG7416,putative HNH endonuclease inducing intron mobility,Other +VOG7417,phage head-tail joining protein,Other (structural) +VOG7419,RNA polymerase-ADP-ribosyltransferase Alt,Other +VOG7421,DNA binding protein,Other +VOG7424,putative phage-related hydrogenase,Other +VOG7428,scaffolding protein,Other +VOG7430,virion structural protein,Other +VOG7434,staphylokinase,Other +VOG7435,chemotaxis-inhibiting protein CHIPS,Other +VOG7437,TerB,Other +VOG7440,long tail fiber distal subunit adhesine,Tail +VOG7442,putative ABC transporter ATP-binding protein,Other +VOG7443,ea59,Other +VOG7444,putative DNA polymerase,Replication +VOG7451,AlpA-like transcriptional regulator,Other +VOG7454,methyltransferase,Other +VOG7456,ATP-dependent metalloprotease,Other +VOG7495,putative tail protein,Tail +VOG7497,major capsid protein,Coat +VOG7503,putative amidotransferase,Other +VOG7511,terminase small subunit,Terminase +VOG7515,tRNA (cmo5U34)-methyltransferase,Other +VOG7516,EaI protein,Other +VOG7554,RecA-like recombination protein,Other +VOG7563,glycosyltransferase-family protein,Other +VOG7569,gp19,Other +VOG7575,virion structural protein,Other +VOG7581,cI-like putative transcriptional regulator,Other +VOG7606,phycobilisome degredation protein,Other +VOG7623,VP4,Other +VOG7629,putative phage structural protein,Other +VOG7633,putative HD domain protein,Other +VOG7641,type II restriction enzyme BsuBI,Other +VOG7642,modification methylase BsuBI,Other +VOG7652,putative virion structural protein,Other +VOG7687,gp51,Other +VOG7689,gp31,Other +VOG7695,structural protein,Other +VOG7701,RstB,Other +VOG7718,YomR-like protein,Other +VOG7767,RIIA-like protein,Other +VOG7789,putative tail fiber,Tail +VOG7808,conserved hypothetical protein (XkdN-like),Other +VOG7823,tail sheath,Tail +VOG7880,aerobic NDP reductase small subunit,Other +VOG7884,putative DNA segregation ATPase FtsK/SpoIIIE,Other +VOG7887,PemK-like protein,Other +VOG7900,tail spike protein,Tail +VOG7907,gp10,Other +VOG7913,gp25,Other +VOG7917,RNA polymerase sigma factor,Other +VOG7941,replication factor C small subunit,Replication +VOG7946,Mu F-like capsid morphogenesis protein,Other +VOG7961,virion structural protein,Other +VOG7962,putative holin,Lysis +VOG7981,regulator of chromosome condensation RCC1,Other +VOG8001,putative lysozyme,Other +VOG8004,tail sheath protein,Tail +VOG8023,putative virion protein and lysozyme murein,Other +VOG8085,methyltransferase,Other +VOG8134,putative tail fiber protein 1,Tail +VOG8138,major capsid protein,Coat +VOG8163,VRR-NUC domain containing protein,Other +VOG8165,DNA methylase,Other +VOG8166,putative glycosyltransferase,Other +VOG8169,head-tail connector protein,Other (structural) +VOG8171,putative tail length tape measure protein,Tail +VOG8172,structural protein,Other +VOG8173,structural protein,Other +VOG8187,head outer capsid protein,Coat +VOG8215,gp165,Other +VOG8216,base plate lysozyme,Other +VOG8218,integrase,Integration +VOG8223,putative tail fiber protein,Tail +VOG8226,terminase small subunit,Terminase +VOG8237,HNH endonuclease,Other +VOG8238,putative DNA endonuclease VII,Other +VOG8244,"site specific recombinase, tyrosine",Other +VOG8257,RNA polymerase sigma factor,Other +VOG8262,phage tail protein,Tail +VOG8290,major coat protein,Coat +VOG8295,LydD,Other +VOG8296,OdaA,Other +VOG8297,PmgA,Other +VOG8298,RepA,Other +VOG8299,ShtB,Other +VOG8303,putative S-adenosylmethionine synthetase,Other +VOG8306,putative envelope protein,Other +VOG8313,gp8,Other +VOG8314,gp11,Other +VOG8315,gp15,Other +VOG8316,gp21,Other +VOG8317,gp23,Other +VOG8332,virion protein,Other +VOG8343,putative tail fiber,Tail +VOG8384,peptidase-like protein,Other +VOG8387,transposase,Integration +VOG8389,capsid and scaffold protein,Other +VOG8414,PblB-type protein,Other +VOG8438,minor capsid protein,Coat +VOG8473,RNA polymerase sigma factor,Other +VOG8487,transcription regulatory protein,Other +VOG8492,zinc-ribbon domain-containing protein,Other +VOG8495,internal virion protein,Other +VOG8498,PCNA protein,Other +VOG8502,virion structural protein,Other +VOG8506,RNA polymerase sigma-70 factor,Other +VOG8516,virion-associated phage protein,Other +VOG8519,holin,Lysis +VOG8520,helix-turn-helix domain protein,Other +VOG8534,high light inducible protein,Other +VOG8536,phosphohydrolase,Other +VOG8549,tail protein,Tail +VOG8550,PfWMP3_27,Other +VOG8551,tail tubular protein B,Tail +VOG8552,tail tubular protein A,Tail +VOG8553,scaffold protein,Other +VOG8556,enterotoxin type A precursor,Other +VOG8557,160 kDa protein,Other +VOG8578,putative virion structural protein,Other +VOG8579,tailspike protein,Tail +VOG8586,gp63,Other +VOG8599,thymidylate synthase,Other +VOG8607,ribonucleotide diphosphate reductas alpha subunit,Other +VOG8609,structural protein,Other +VOG8616,NAD+ synthetase,Other +VOG8617,putative tail fiber adhesion protein,Tail +VOG8625,terminase small subunit,Terminase +VOG8643,putative ribosomal-protein-alanine N-acetyltransferase,Other +VOG8650,pre-neck appendage protein,Other +VOG8651,putative lysozyme-peptidase,Other +VOG8653,putative DNA modification methylase,Other +VOG8678,putative aminoacyl-tRNA hydrolase,Other +VOG8684,tail fiber protein,Tail +VOG8687,possible virion structural protein,Other +VOG8725,carboxylesterase,Other +VOG8726,phenylalanyl-tRNA synthetase subunit beta,Other +VOG8742,chaperonin cpn10,Other +VOG8751,structural protein,Other +VOG8752,structural protein,Other +VOG8754,structural protein,Other +VOG8779,NifU-like protein,Other +VOG8783,gp63,Other +VOG8820,beta-glucanase,Other +VOG8849,gp42,Other +VOG8850,gp101,Other +VOG8855,DNA polymerase,Replication +VOG8863,helix-turn-helix XRE-family of transcriptional regulators,Other +VOG8866,thymidylate kinase,Other +VOG8868,major tail protein extension,Tail +VOG8870,pIII-CTX,Other +VOG8877,putative regulatory protein,Other +VOG8882,major tail protein,Tail +VOG8888,RecA-like recombinase,Other +VOG8899,virion structural protein,Other +VOG8905,nonstructural protein,Other +VOG8909,HNH protein,Other +VOG8916,putative transposase,Integration +VOG8925,Gp40 protein,Other +VOG8926,Gp41 protein,Other +VOG8954,Gp7 protein,Other +VOG8985,putative dehalogenase hydrolase-like protein,Other +VOG8986,putative phosphoribosyltransferase-like domain protein,Other +VOG8992,"putative dTDP-4-dehydrorhamnose 3,5-epimerase",Other +VOG9038,tail assembly chaperone,Assembly +VOG9064,putative virion structural protein 19,Other +VOG9086,internal virion protein,Other +VOG9093,putative RNA 2'-phosphotransferase,Other +VOG9099,putative NAD+ diphosphatase,Other +VOG9115,primase/polymerase,Replication +VOG9191,Cre,Other +VOG9192,portal vertex protein of head,Portal +VOG9193,LydA,Other +VOG9195,Phd,Other +VOG9203,membrane protein,Other +VOG9209,minor tail protein L,Tail +VOG9211,LysB,Other +VOG9234,putative DNA binding protein,Other +VOG9237,tail fiber protein,Tail +VOG9243,putative nicotinamide mononucleotide transporter,Other +VOG9244,putative tail protein,Tail +VOG9258,tape measure,Other +VOG9259,tail fiber protein,Tail +VOG9260,structural protein,Other +VOG9261,deaminase,Other +VOG9262,prohead protease,Other +VOG9274,middle expressed protein 4,Other +VOG9286,putative bacterial RNA polymerase inhibitor,Other +VOG9288,glycosidase,Other +VOG9305,EaD protein,Other +VOG9306,tail fiber protein,Tail +VOG9308,phage DNA end protector during packaging,Other +VOG9310,HNH endonuclease domain protein,Other +VOG9315,terminase large subunit,Terminase +VOG9322,HNH endonuclease,Other +VOG9323,putative major tail protein,Tail +VOG9325,immunoglobulin I-set domain protein,Other +VOG9328,tail protein,Tail +VOG9339,minor tail protein Z,Tail +VOG9340,tail fiber protein,Tail +VOG9348,tail fiber protein,Tail +VOG9358,C8,Other +VOG9359,Mat,Other +VOG9360,putative protein Ulx,Other +VOG9361,Pro,Other +VOG9362,"conserved protein of unknown function, DdrB",Other +VOG9363,Upf26.7,Other +VOG9364,DarA,Other +VOG9365,conserved protein of unknown function Hdf,Other +VOG9366,LydB,Other +VOG9367,gpR,Other +VOG9368,gp16,Other +VOG9369,PmgB,Other +VOG9370,major tail tube protein TubB,Tail +VOG9371,PmgC,Other +VOG9373,putative outer membrane lipoprotein,Other +VOG9374,Icd,Other +VOG9375,RepL,Other +VOG9376,Upf52.7,Other +VOG9377,upf54.2,Other +VOG9378,tail sheath protein Gp22,Tail +VOG9379,Upf57.5,Other +VOG9380,Upf62.7,Other +VOG9381,conserved protein of unknown function UpfB,Other +VOG9382,Upf64.0,Other +VOG9383,Dbn,Other +VOG9384,gp6,Other +VOG9385,Upf78.5,Other +VOG9386,gp7,Other +VOG9387,gp25,Other +VOG9388,gp26,Other +VOG9389,PmgN,Other +VOG9390,putative morphogenetic protein PmgP,Other +VOG9391,HdmD,Other +VOG9392,PmgR,Other +VOG9393,Fdc,Other +VOG9394,Lpa,Other +VOG9395,PacA,Other +VOG9396,C1.100,Other +VOG9397,Coi,Other +VOG9404,YolD-like protein,Other +VOG9410,ea8.5,Other +VOG9414,putative mitochondrial DNA polymerase gamma homologue,Replication +VOG9415,putative DNA primase,Replication +VOG9417,DNA polymerase I-like flap endonuclease (FEN),Replication +VOG9420,IS1 transposase B,Integration +VOG9425,putative minor coat protein,Coat +VOG9429,gp74,Other +VOG9431,gp87,Other +VOG9433,gp114,Other +VOG9434,gp135,Other +VOG9437,gp59,Other +VOG9438,HNH endonuclease,Other +VOG9446,gp20,Other +VOG9447,gp51,Other +VOG9453,gp97,Other +VOG9454,lytic conversion lipoprotein precursor,Other +VOG9462,BofR,Other +VOG9475,head-tail connector,Other (structural) +VOG9481,nucleoid-associated protein,Other +VOG9485,structural protein,Other +VOG9487,structural protein,Other +VOG9493,holin,Lysis +VOG9502,putative lysin,Lysis +VOG9509,membrane protein,Other +VOG9532,glycosyl transferase group I,Other +VOG9534,structural protein,Other +VOG9539,putative amidotransferase,Other +VOG9551,plasmid maintenance system killer HigB,Other +VOG9556,holin,Lysis +VOG9563,capsid and scaffold protein,Other +VOG9572,core encoded pilin,Other +VOG9573,accessory cholera enterotoxin,Other +VOG9586,terminase large subunit,Terminase +VOG9588,tail protein P,Tail +VOG9629,formamidopyrimidine-DNA glycosylase,Other +VOG9632,putative head-tail connector protein,Other (structural) +VOG9639,Conserved hypothetical,Other +VOG9657,lysophospholipase L1-related esterase,Other +VOG9659,endolysin,Lysis +VOG9661,acetyltransferase domain protein,Other +VOG9663,HNH endonuclease domain protein,Other +VOG9667,XRE family transcriptional regulator,Other +VOG9686,S-layer domain-containing protein,Other +VOG9690,Hypothetical-Protein ,Other +VOG9697,sulfotransferase,Other +VOG9701,gp5,Other +VOG9702,gp69,Other +VOG9705,palmitoyltransferase,Other +VOG9709,Ea47 protein,Other +VOG9710,Ea31 protein,Other +VOG9712,putative excinuclease ABC,Other +VOG9717,minor coat protein,Coat +VOG9718,gp37,Other +VOG9719,gp38,Other +VOG9720,gp39,Other +VOG9721,gp41,Other +VOG9722,gp45,Other +VOG9723,gp47,Other +VOG9724,gp51,Other +VOG9725,Phage repressor,Other +VOG9726,gp2,Other +VOG9727,gp4,Other +VOG9728,gp15,Other +VOG9729,gp18,Other +VOG9730,gp22,Other +VOG9731,gp23,Other +VOG9732,gp25,Other +VOG9733,nonstructural protein,Other +VOG9736,O-antigen beta polymerase,Replication +VOG9738,putative transcriptional regulator,Other +VOG9740,ssDNA-binding,Other +VOG9741,putative repressor,Other +VOG9746,gp23,Other +VOG9747,gp28,Other +VOG9761,gp34.26,Other +VOG9771,gp34 protein,Other +VOG9773,gp03 protein,Other +VOG9778,virion structural protein,Other +VOG9787,putative Kelch-like ECH-associated protein,Other +VOG9788,virion structural protein,Other +VOG9789,virion structural protein,Other +VOG9790,virion structural protein,Other +VOG9791,virion structural protein,Other +VOG9792,virion structural protein,Other +VOG9793,virion structural protein,Other +VOG9795,virion structural protein,Other +VOG9797,virion structural protein,Other +VOG9798,virion structural protein,Other +VOG9799,virion structural protein,Other +VOG9803,virion structural protein,Other +VOG9804,virion structural protein,Other +VOG9809,virion structural protein,Other +VOG9810,virion structural protein,Other +VOG9821,putative nucleotidyltransferase protein,Other +VOG9834,gp59,Other +VOG9836,gp29,Other +VOG9839,putative Fe-S oxidoreductase,Other +VOG9857,gp11,Other +VOG9869,Hypothetical-Protein ,Other +VOG9873,tail fiber-like protein,Tail +VOG9876,PRGA-formyltransferase,Other +VOG9904,putative protein 2,Other +VOG9915,VP13,Other +VOG9916,VP2,Other +VOG9917,capsid protein VP5,Coat +VOG9922,putative protein 31,Other +VOG9924,putative protein 33,Other +VOG9941,putative terminase large subunit-like protein,Terminase +VOG9948,gp38,Other +VOG9957,C-terminal part of the MCM2-like helicase,Replication +VOG9959,capsid and scaffold protein,Other +VOG9995,tail fiber protein,Tail +VOG10005,putative antirestriction protein,Other +VOG10009,putative tail fiber,Tail +VOG10016,tail assembly protein,Assembly +VOG10022,baseplate wedge initiator,Baseplate +VOG10023,putative topoisomerasae I protein,Replication +VOG10026,putative ATPase,Other +VOG10038,trypsin-like serine protease domain protein,Other +VOG10044,gp14-like protein,Other +VOG10059,antirepressor,Other +VOG10065,gp18.5,Other +VOG10069,capsid protein,Coat +VOG10080,glycerophosphodiester phosphodiesterase,Other +VOG10086,baseplate wedge subunit,Baseplate +VOG10088,DNA primase,Replication +VOG10095,putative quaternary ammonium compound-resistance protein qacE,Other +VOG10106,gp134,Other +VOG10155,Very-short-patch mismatch repair endonuclease,Other +VOG10157,putative cytoplasmic protein,Other +VOG10158,alkaline phosphatase,Other +VOG10195,putative DNA binding excisionase protein,Other +VOG10217,metallo-beta-lactamase domain-containing protein,Other +VOG10224,putative SpoVG protein,Other +VOG10227,terminase large subunit,Terminase +VOG10254,CobS porphyrin biosynthetic protein,Other +VOG10264,putative tail fiber protein,Tail +VOG10277,Possible tail sheath protein,Tail +VOG10284,Possible phage tail tube protein,Tail +VOG10285,putative transketolase,Other +VOG10286,putative N-acetylneuraminate pyruvate lyase,Other +VOG10292,putative minor tail assembly protein,Assembly +VOG10294,putative UDP-glucose dehydrogenase,Other +VOG10330,putative holin,Lysis +VOG10342,HicB protein,Other +VOG10343,tail fiber protein,Tail +VOG10352,putative acetyltransferase,Other +VOG10371,putative radical SAM superfamily protein 2,Other +VOG10429,Hef nuclease,Other +VOG10443,replication factor C large subunit,Replication +VOG10448,RadA,Other +VOG10452,portal protein,Portal +VOG10453,gpF-like protein,Other +VOG10454,zeta toxin domain protein,Other +VOG10456,major capsid protein,Coat +VOG10460,tail assembly chaperone,Assembly +VOG10462,RNAse HI,Other +VOG10471,DNA polymerase,Replication +VOG10512,major capsid protein,Coat +VOG10520,tail fiber protein,Tail +VOG10522,DUF3800 domain-containing protein,Other +VOG10538,structural protein,Other +VOG10544,VirE N-domain protein,Other +VOG10570,gp77,Other +VOG10596,putative primase,Replication +VOG10608,prophage protein,Other +VOG10633,gp004,Other +VOG10634,gp80,Other +VOG10636,gp241,Other +VOG10637,gp1,Other +VOG10638,gp44,Other +VOG10641,gp35,Other +VOG10654,tail tape measure chaperone protein,Tail +VOG10666,BTLCP-like protein,Other +VOG10674,terminase large subunit,Terminase +VOG10717,putative protein containing Nos-D like domain,Other +VOG10719,peptidase M15,Other +VOG10724,putative homing endonuclease,Other +VOG10737,elongation factor Ts-like protein,Other +VOG10738,S-adenosylmethionine decarboxylase-like protein,Other +VOG10739,putative peptidase-like protein,Other +VOG10763,signal peptide protein,Other +VOG10787,RelA/SpoT family protein,Other +VOG10842,terminase small subunit,Terminase +VOG10856,DNA topoisomerase II large subunit C-terminal region,Replication +VOG10861,gp22,Other +VOG10868,minor capsid protein,Coat +VOG10870,putative Transcription initiation factor B,Other +VOG10880,packaging NTPase P4,Other +VOG10883,gpJ,Other +VOG10887,RNA ligase 2,Other +VOG10898,gp15,Other +VOG10909,putative tail fiber protein,Tail +VOG10914,chaperone protein DnaK,Other +VOG10915,capsid decoration protein,Coat +VOG10916,gp14,Other +VOG10917,prophage antirepressor,Other +VOG10920,gp35,Other +VOG10930,long tail fiber distal subunit,Tail +VOG10934,putative amidotransferase,Other +VOG10942,minor coat protein,Coat +VOG10943,gp19,Other +VOG10944,minor structural protein,Other +VOG10945,holin,Lysis +VOG10951,o-spanin,Other +VOG10953,gp38,Other +VOG10957,putative tail protein,Tail +VOG10962,tail protein,Tail +VOG10967,putative tail sheath protein,Tail +VOG10969,putative tail fiber protein,Tail +VOG10971,cytolethal distending toxin V B subunit,Other +VOG10972,minor structural protein gp58,Other +VOG10978,putative peptidase/serine protease,Other +VOG10979,DNA polymerase subunit III,Replication +VOG10986,adenosylribosyltransferase,Other +VOG10993,peptidase domain-containing protein,Other +VOG10995,head morphogenesis protein,Other +VOG11009,putative TROVE-like domain protein,Other +VOG11016,putative transcriptional regulator,Other +VOG11017,putative radical SAM superfamily protein 1,Other +VOG11026,scaffolding protein,Other +VOG11048,structural protein,Other +VOG11053,tape measure protein,Other +VOG11065,gp53 protein,Other +VOG11070,tail fiber protein,Tail +VOG11071,putative tape measure protein,Other +VOG11075,DNA-binding protein,Other +VOG11080,putative crossover junction endodeoxyribonuclease RusA,Other +VOG11081,Rec A-like recombinase,Other diff --git a/phigaro/to_html/pvogs_annotations.pickle b/phigaro/to_html/pvogs_annotations.pickle deleted file mode 100644 index 7ee8d04..0000000 --- a/phigaro/to_html/pvogs_annotations.pickle +++ /dev/null @@ -1,7030 +0,0 @@ -ccopy_reg -_reconstructor -p0 -(cpandas.core.frame -DataFrame -p1 -c__builtin__ -object -p2 -Ntp3 -Rp4 -(dp5 -S'_metadata' -p6 -(lp7 -sS'_typ' -p8 -S'dataframe' -p9 -sS'_data' -p10 -g0 -(cpandas.core.internals -BlockManager -p11 -g2 -Ntp12 -Rp13 -((lp14 -cpandas.core.indexes.base -_new_Index -p15 -(cpandas.core.indexes.base -Index -p16 -(dp17 -S'data' -p18 -cnumpy.core.multiarray -_reconstruct -p19 -(cnumpy -ndarray -p20 -(I0 -tp21 -S'b' -p22 -tp23 -Rp24 -(I1 -(I2 -tp25 -cnumpy -dtype -p26 -(S'O8' -p27 -I0 -I1 -tp28 -Rp29 -(I3 -S'|' -p30 -NNNI-1 -I-1 -I63 -tp31 -bI00 -(lp32 -S'function' -p33 -aS'group' -p34 -atp35 -bsS'name' -p36 -Nstp37 -Rp38 -ag15 -(g16 -(dp39 -g18 -g19 -(g20 -(I0 -tp40 -g22 -tp41 -Rp42 -(I1 -(I1474 -tp43 -g29 -I00 -(lp44 -S'VOG0001' -p45 -aS'VOG0002' -p46 -aS'VOG0005' -p47 -aS'VOG0006' -p48 -aS'VOG0007' -p49 -aS'VOG0009' -p50 -aS'VOG0013' -p51 -aS'VOG0015' -p52 -aS'VOG0016' -p53 -aS'VOG0018' -p54 -aS'VOG0019' -p55 -aS'VOG0025' -p56 -aS'VOG0026' -p57 -aS'VOG0028' -p58 -aS'VOG0030' -p59 -aS'VOG0031' -p60 -aS'VOG0034' -p61 -aS'VOG0035' -p62 -aS'VOG0037' -p63 -aS'VOG0038' -p64 -aS'VOG0040' -p65 -aS'VOG0046' -p66 -aS'VOG0049' -p67 -aS'VOG0050' -p68 -aS'VOG0051' -p69 -aS'VOG0052' -p70 -aS'VOG0054' -p71 -aS'VOG0058' -p72 -aS'VOG0061' -p73 -aS'VOG0067' -p74 -aS'VOG0083' -p75 -aS'VOG0085' -p76 -aS'VOG0088' -p77 -aS'VOG0092' -p78 -aS'VOG0106' -p79 -aS'VOG0136' -p80 -aS'VOG0156' -p81 -aS'VOG0166' -p82 -aS'VOG0167' -p83 -aS'VOG0168' -p84 -aS'VOG0169' -p85 -aS'VOG0170' -p86 -aS'VOG0171' -p87 -aS'VOG0172' -p88 -aS'VOG0173' -p89 -aS'VOG0174' -p90 -aS'VOG0175' -p91 -aS'VOG0176' -p92 -aS'VOG0177' -p93 -aS'VOG0178' -p94 -aS'VOG0183' -p95 -aS'VOG0189' -p96 -aS'VOG0202' -p97 -aS'VOG0205' -p98 -aS'VOG0209' -p99 -aS'VOG0221' -p100 -aS'VOG0227' -p101 -aS'VOG0234' -p102 -aS'VOG0236' -p103 -aS'VOG0237' -p104 -aS'VOG0249' -p105 -aS'VOG0253' -p106 -aS'VOG0254' -p107 -aS'VOG0258' -p108 -aS'VOG0259' -p109 -aS'VOG0261' -p110 -aS'VOG0263' -p111 -aS'VOG0265' -p112 -aS'VOG0273' -p113 -aS'VOG0274' -p114 -aS'VOG0275' -p115 -aS'VOG0281' -p116 -aS'VOG0284' -p117 -aS'VOG0285' -p118 -aS'VOG0286' -p119 -aS'VOG0287' -p120 -aS'VOG0288' -p121 -aS'VOG0292' -p122 -aS'VOG0293' -p123 -aS'VOG0295' -p124 -aS'VOG0296' -p125 -aS'VOG0298' -p126 -aS'VOG0299' -p127 -aS'VOG0300' -p128 -aS'VOG0312' -p129 -aS'VOG0320' -p130 -aS'VOG0334' -p131 -aS'VOG0337' -p132 -aS'VOG0350' -p133 -aS'VOG0351' -p134 -aS'VOG0355' -p135 -aS'VOG0356' -p136 -aS'VOG0372' -p137 -aS'VOG0377' -p138 -aS'VOG0382' -p139 -aS'VOG0384' -p140 -aS'VOG0393' -p141 -aS'VOG0397' -p142 -aS'VOG0400' -p143 -aS'VOG0402' -p144 -aS'VOG0408' -p145 -aS'VOG0409' -p146 -aS'VOG0410' -p147 -aS'VOG0412' -p148 -aS'VOG0419' -p149 -aS'VOG0420' -p150 -aS'VOG0421' -p151 -aS'VOG0436' -p152 -aS'VOG0443' -p153 -aS'VOG0451' -p154 -aS'VOG0452' -p155 -aS'VOG0454' -p156 -aS'VOG0456' -p157 -aS'VOG0457' -p158 -aS'VOG0459' -p159 -aS'VOG0460' -p160 -aS'VOG0461' -p161 -aS'VOG0462' -p162 -aS'VOG0463' -p163 -aS'VOG0464' -p164 -aS'VOG0465' -p165 -aS'VOG0466' -p166 -aS'VOG0471' -p167 -aS'VOG0473' -p168 -aS'VOG0474' -p169 -aS'VOG0475' -p170 -aS'VOG0476' -p171 -aS'VOG0477' -p172 -aS'VOG0480' -p173 -aS'VOG0485' -p174 -aS'VOG0493' -p175 -aS'VOG0496' -p176 -aS'VOG0499' -p177 -aS'VOG0505' -p178 -aS'VOG0509' -p179 -aS'VOG0510' -p180 -aS'VOG0529' -p181 -aS'VOG0544' -p182 -aS'VOG0545' -p183 -aS'VOG0559' -p184 -aS'VOG0566' -p185 -aS'VOG0567' -p186 -aS'VOG0568' -p187 -aS'VOG0569' -p188 -aS'VOG0571' -p189 -aS'VOG0574' -p190 -aS'VOG0577' -p191 -aS'VOG0582' -p192 -aS'VOG0588' -p193 -aS'VOG0602' -p194 -aS'VOG0603' -p195 -aS'VOG0609' -p196 -aS'VOG0612' -p197 -aS'VOG0614' -p198 -aS'VOG0615' -p199 -aS'VOG0639' -p200 -aS'VOG0641' -p201 -aS'VOG0642' -p202 -aS'VOG0643' -p203 -aS'VOG0644' -p204 -aS'VOG0645' -p205 -aS'VOG0647' -p206 -aS'VOG0668' -p207 -aS'VOG0676' -p208 -aS'VOG0681' -p209 -aS'VOG0691' -p210 -aS'VOG0692' -p211 -aS'VOG0694' -p212 -aS'VOG0697' -p213 -aS'VOG0698' -p214 -aS'VOG0703' -p215 -aS'VOG0705' -p216 -aS'VOG0707' -p217 -aS'VOG0720' -p218 -aS'VOG0731' -p219 -aS'VOG0739' -p220 -aS'VOG0756' -p221 -aS'VOG0764' -p222 -aS'VOG0765' -p223 -aS'VOG0785' -p224 -aS'VOG0796' -p225 -aS'VOG0799' -p226 -aS'VOG0816' -p227 -aS'VOG0823' -p228 -aS'VOG0827' -p229 -aS'VOG0828' -p230 -aS'VOG0830' -p231 -aS'VOG0831' -p232 -aS'VOG0832' -p233 -aS'VOG0833' -p234 -aS'VOG0835' -p235 -aS'VOG0837' -p236 -aS'VOG0838' -p237 -aS'VOG0839' -p238 -aS'VOG0840' -p239 -aS'VOG0842' -p240 -aS'VOG0843' -p241 -aS'VOG0847' -p242 -aS'VOG0848' -p243 -aS'VOG0850' -p244 -aS'VOG0855' -p245 -aS'VOG0875' -p246 -aS'VOG0876' -p247 -aS'VOG0877' -p248 -aS'VOG0878' -p249 -aS'VOG0879' -p250 -aS'VOG0880' -p251 -aS'VOG0885' -p252 -aS'VOG0886' -p253 -aS'VOG0887' -p254 -aS'VOG0889' -p255 -aS'VOG0890' -p256 -aS'VOG0897' -p257 -aS'VOG0906' -p258 -aS'VOG0913' -p259 -aS'VOG0924' -p260 -aS'VOG0930' -p261 -aS'VOG0933' -p262 -aS'VOG0944' -p263 -aS'VOG0945' -p264 -aS'VOG0946' -p265 -aS'VOG0947' -p266 -aS'VOG0975' -p267 -aS'VOG0976' -p268 -aS'VOG0979' -p269 -aS'VOG0985' -p270 -aS'VOG0986' -p271 -aS'VOG0991' -p272 -aS'VOG0992' -p273 -aS'VOG0996' -p274 -aS'VOG0997' -p275 -aS'VOG0998' -p276 -aS'VOG1001' -p277 -aS'VOG1005' -p278 -aS'VOG1006' -p279 -aS'VOG1020' -p280 -aS'VOG1026' -p281 -aS'VOG1030' -p282 -aS'VOG1031' -p283 -aS'VOG1032' -p284 -aS'VOG1036' -p285 -aS'VOG1045' -p286 -aS'VOG1051' -p287 -aS'VOG1072' -p288 -aS'VOG1092' -p289 -aS'VOG1099' -p290 -aS'VOG1105' -p291 -aS'VOG1112' -p292 -aS'VOG1113' -p293 -aS'VOG1146' -p294 -aS'VOG1165' -p295 -aS'VOG1166' -p296 -aS'VOG1167' -p297 -aS'VOG1179' -p298 -aS'VOG1184' -p299 -aS'VOG1190' -p300 -aS'VOG1191' -p301 -aS'VOG1198' -p302 -aS'VOG1200' -p303 -aS'VOG1201' -p304 -aS'VOG1213' -p305 -aS'VOG1215' -p306 -aS'VOG1222' -p307 -aS'VOG1225' -p308 -aS'VOG1270' -p309 -aS'VOG1279' -p310 -aS'VOG1284' -p311 -aS'VOG1297' -p312 -aS'VOG1298' -p313 -aS'VOG1300' -p314 -aS'VOG1309' -p315 -aS'VOG1311' -p316 -aS'VOG1314' -p317 -aS'VOG1319' -p318 -aS'VOG1329' -p319 -aS'VOG1337' -p320 -aS'VOG1344' -p321 -aS'VOG1363' -p322 -aS'VOG1391' -p323 -aS'VOG1403' -p324 -aS'VOG1404' -p325 -aS'VOG1405' -p326 -aS'VOG1436' -p327 -aS'VOG1517' -p328 -aS'VOG1519' -p329 -aS'VOG1587' -p330 -aS'VOG1590' -p331 -aS'VOG1609' -p332 -aS'VOG1617' -p333 -aS'VOG1618' -p334 -aS'VOG1619' -p335 -aS'VOG1647' -p336 -aS'VOG1654' -p337 -aS'VOG1681' -p338 -aS'VOG1801' -p339 -aS'VOG1829' -p340 -aS'VOG1850' -p341 -aS'VOG1860' -p342 -aS'VOG1861' -p343 -aS'VOG1864' -p344 -aS'VOG1871' -p345 -aS'VOG1874' -p346 -aS'VOG1883' -p347 -aS'VOG1886' -p348 -aS'VOG1887' -p349 -aS'VOG1894' -p350 -aS'VOG1898' -p351 -aS'VOG1912' -p352 -aS'VOG1936' -p353 -aS'VOG1981' -p354 -aS'VOG1992' -p355 -aS'VOG2005' -p356 -aS'VOG2006' -p357 -aS'VOG2012' -p358 -aS'VOG2015' -p359 -aS'VOG2017' -p360 -aS'VOG2044' -p361 -aS'VOG2054' -p362 -aS'VOG2075' -p363 -aS'VOG2080' -p364 -aS'VOG2090' -p365 -aS'VOG2098' -p366 -aS'VOG2120' -p367 -aS'VOG2123' -p368 -aS'VOG2124' -p369 -aS'VOG2137' -p370 -aS'VOG2142' -p371 -aS'VOG2200' -p372 -aS'VOG2210' -p373 -aS'VOG2211' -p374 -aS'VOG2215' -p375 -aS'VOG2217' -p376 -aS'VOG2218' -p377 -aS'VOG2232' -p378 -aS'VOG2233' -p379 -aS'VOG2234' -p380 -aS'VOG2235' -p381 -aS'VOG2310' -p382 -aS'VOG2312' -p383 -aS'VOG2313' -p384 -aS'VOG2315' -p385 -aS'VOG2332' -p386 -aS'VOG2352' -p387 -aS'VOG2368' -p388 -aS'VOG2379' -p389 -aS'VOG2384' -p390 -aS'VOG2386' -p391 -aS'VOG2397' -p392 -aS'VOG2403' -p393 -aS'VOG2422' -p394 -aS'VOG2444' -p395 -aS'VOG2450' -p396 -aS'VOG2457' -p397 -aS'VOG2497' -p398 -aS'VOG2513' -p399 -aS'VOG2518' -p400 -aS'VOG2526' -p401 -aS'VOG2557' -p402 -aS'VOG2559' -p403 -aS'VOG2560' -p404 -aS'VOG2567' -p405 -aS'VOG2570' -p406 -aS'VOG2571' -p407 -aS'VOG2575' -p408 -aS'VOG2612' -p409 -aS'VOG2613' -p410 -aS'VOG2617' -p411 -aS'VOG2621' -p412 -aS'VOG2622' -p413 -aS'VOG2624' -p414 -aS'VOG2626' -p415 -aS'VOG2627' -p416 -aS'VOG2634' -p417 -aS'VOG2636' -p418 -aS'VOG2637' -p419 -aS'VOG2644' -p420 -aS'VOG2648' -p421 -aS'VOG2649' -p422 -aS'VOG2654' -p423 -aS'VOG2666' -p424 -aS'VOG2766' -p425 -aS'VOG2773' -p426 -aS'VOG2774' -p427 -aS'VOG2786' -p428 -aS'VOG2788' -p429 -aS'VOG2791' -p430 -aS'VOG2792' -p431 -aS'VOG2793' -p432 -aS'VOG2806' -p433 -aS'VOG2819' -p434 -aS'VOG2820' -p435 -aS'VOG2821' -p436 -aS'VOG2822' -p437 -aS'VOG2842' -p438 -aS'VOG2848' -p439 -aS'VOG2875' -p440 -aS'VOG2876' -p441 -aS'VOG2894' -p442 -aS'VOG2895' -p443 -aS'VOG2914' -p444 -aS'VOG2920' -p445 -aS'VOG2922' -p446 -aS'VOG2923' -p447 -aS'VOG2924' -p448 -aS'VOG2925' -p449 -aS'VOG2932' -p450 -aS'VOG2933' -p451 -aS'VOG2936' -p452 -aS'VOG2937' -p453 -aS'VOG2947' -p454 -aS'VOG2950' -p455 -aS'VOG2957' -p456 -aS'VOG2958' -p457 -aS'VOG2973' -p458 -aS'VOG2993' -p459 -aS'VOG2995' -p460 -aS'VOG3011' -p461 -aS'VOG3015' -p462 -aS'VOG3020' -p463 -aS'VOG3022' -p464 -aS'VOG3028' -p465 -aS'VOG3029' -p466 -aS'VOG3030' -p467 -aS'VOG3050' -p468 -aS'VOG3093' -p469 -aS'VOG3178' -p470 -aS'VOG3180' -p471 -aS'VOG3181' -p472 -aS'VOG3188' -p473 -aS'VOG3199' -p474 -aS'VOG3201' -p475 -aS'VOG3202' -p476 -aS'VOG3211' -p477 -aS'VOG3215' -p478 -aS'VOG3221' -p479 -aS'VOG3222' -p480 -aS'VOG3227' -p481 -aS'VOG3233' -p482 -aS'VOG3235' -p483 -aS'VOG3238' -p484 -aS'VOG3239' -p485 -aS'VOG3241' -p486 -aS'VOG3244' -p487 -aS'VOG3255' -p488 -aS'VOG3256' -p489 -aS'VOG3262' -p490 -aS'VOG3263' -p491 -aS'VOG3271' -p492 -aS'VOG3275' -p493 -aS'VOG3278' -p494 -aS'VOG3279' -p495 -aS'VOG3280' -p496 -aS'VOG3287' -p497 -aS'VOG3288' -p498 -aS'VOG3294' -p499 -aS'VOG3309' -p500 -aS'VOG3341' -p501 -aS'VOG3344' -p502 -aS'VOG3346' -p503 -aS'VOG3347' -p504 -aS'VOG3356' -p505 -aS'VOG3357' -p506 -aS'VOG3358' -p507 -aS'VOG3369' -p508 -aS'VOG3376' -p509 -aS'VOG3379' -p510 -aS'VOG3381' -p511 -aS'VOG3382' -p512 -aS'VOG3396' -p513 -aS'VOG3397' -p514 -aS'VOG3399' -p515 -aS'VOG3401' -p516 -aS'VOG3404' -p517 -aS'VOG3416' -p518 -aS'VOG3418' -p519 -aS'VOG3419' -p520 -aS'VOG3420' -p521 -aS'VOG3421' -p522 -aS'VOG3427' -p523 -aS'VOG3443' -p524 -aS'VOG3445' -p525 -aS'VOG3447' -p526 -aS'VOG3475' -p527 -aS'VOG3478' -p528 -aS'VOG3505' -p529 -aS'VOG3506' -p530 -aS'VOG3518' -p531 -aS'VOG3519' -p532 -aS'VOG3520' -p533 -aS'VOG3525' -p534 -aS'VOG3526' -p535 -aS'VOG3530' -p536 -aS'VOG3546' -p537 -aS'VOG3550' -p538 -aS'VOG3552' -p539 -aS'VOG3562' -p540 -aS'VOG3563' -p541 -aS'VOG3564' -p542 -aS'VOG3567' -p543 -aS'VOG3570' -p544 -aS'VOG3571' -p545 -aS'VOG3574' -p546 -aS'VOG3576' -p547 -aS'VOG3577' -p548 -aS'VOG3578' -p549 -aS'VOG3583' -p550 -aS'VOG3585' -p551 -aS'VOG3586' -p552 -aS'VOG3588' -p553 -aS'VOG3590' -p554 -aS'VOG3591' -p555 -aS'VOG3593' -p556 -aS'VOG3607' -p557 -aS'VOG3624' -p558 -aS'VOG3653' -p559 -aS'VOG3654' -p560 -aS'VOG3660' -p561 -aS'VOG3667' -p562 -aS'VOG3669' -p563 -aS'VOG3675' -p564 -aS'VOG3676' -p565 -aS'VOG3704' -p566 -aS'VOG3708' -p567 -aS'VOG3721' -p568 -aS'VOG3722' -p569 -aS'VOG3724' -p570 -aS'VOG3739' -p571 -aS'VOG3740' -p572 -aS'VOG3744' -p573 -aS'VOG3760' -p574 -aS'VOG3777' -p575 -aS'VOG3793' -p576 -aS'VOG3824' -p577 -aS'VOG3843' -p578 -aS'VOG3887' -p579 -aS'VOG3890' -p580 -aS'VOG3897' -p581 -aS'VOG3900' -p582 -aS'VOG3921' -p583 -aS'VOG3967' -p584 -aS'VOG3969' -p585 -aS'VOG3972' -p586 -aS'VOG3978' -p587 -aS'VOG3979' -p588 -aS'VOG3981' -p589 -aS'VOG3984' -p590 -aS'VOG3995' -p591 -aS'VOG4006' -p592 -aS'VOG4017' -p593 -aS'VOG4023' -p594 -aS'VOG4026' -p595 -aS'VOG4027' -p596 -aS'VOG4037' -p597 -aS'VOG4040' -p598 -aS'VOG4044' -p599 -aS'VOG4059' -p600 -aS'VOG4062' -p601 -aS'VOG4070' -p602 -aS'VOG4079' -p603 -aS'VOG4080' -p604 -aS'VOG4085' -p605 -aS'VOG4088' -p606 -aS'VOG4097' -p607 -aS'VOG4099' -p608 -aS'VOG4111' -p609 -aS'VOG4120' -p610 -aS'VOG4123' -p611 -aS'VOG4124' -p612 -aS'VOG4125' -p613 -aS'VOG4126' -p614 -aS'VOG4128' -p615 -aS'VOG4133' -p616 -aS'VOG4138' -p617 -aS'VOG4142' -p618 -aS'VOG4143' -p619 -aS'VOG4149' -p620 -aS'VOG4152' -p621 -aS'VOG4154' -p622 -aS'VOG4155' -p623 -aS'VOG4156' -p624 -aS'VOG4157' -p625 -aS'VOG4161' -p626 -aS'VOG4165' -p627 -aS'VOG4166' -p628 -aS'VOG4191' -p629 -aS'VOG4192' -p630 -aS'VOG4195' -p631 -aS'VOG4204' -p632 -aS'VOG4210' -p633 -aS'VOG4319' -p634 -aS'VOG4341' -p635 -aS'VOG4344' -p636 -aS'VOG4357' -p637 -aS'VOG4359' -p638 -aS'VOG4409' -p639 -aS'VOG4410' -p640 -aS'VOG4418' -p641 -aS'VOG4447' -p642 -aS'VOG4495' -p643 -aS'VOG4524' -p644 -aS'VOG4536' -p645 -aS'VOG4542' -p646 -aS'VOG4544' -p647 -aS'VOG4545' -p648 -aS'VOG4547' -p649 -aS'VOG4548' -p650 -aS'VOG4549' -p651 -aS'VOG4551' -p652 -aS'VOG4553' -p653 -aS'VOG4555' -p654 -aS'VOG4556' -p655 -aS'VOG4557' -p656 -aS'VOG4558' -p657 -aS'VOG4560' -p658 -aS'VOG4561' -p659 -aS'VOG4562' -p660 -aS'VOG4565' -p661 -aS'VOG4567' -p662 -aS'VOG4569' -p663 -aS'VOG4571' -p664 -aS'VOG4572' -p665 -aS'VOG4574' -p666 -aS'VOG4575' -p667 -aS'VOG4577' -p668 -aS'VOG4582' -p669 -aS'VOG4583' -p670 -aS'VOG4584' -p671 -aS'VOG4586' -p672 -aS'VOG4588' -p673 -aS'VOG4591' -p674 -aS'VOG4592' -p675 -aS'VOG4594' -p676 -aS'VOG4595' -p677 -aS'VOG4598' -p678 -aS'VOG4599' -p679 -aS'VOG4600' -p680 -aS'VOG4601' -p681 -aS'VOG4603' -p682 -aS'VOG4604' -p683 -aS'VOG4606' -p684 -aS'VOG4608' -p685 -aS'VOG4610' -p686 -aS'VOG4613' -p687 -aS'VOG4618' -p688 -aS'VOG4625' -p689 -aS'VOG4627' -p690 -aS'VOG4630' -p691 -aS'VOG4634' -p692 -aS'VOG4637' -p693 -aS'VOG4640' -p694 -aS'VOG4641' -p695 -aS'VOG4644' -p696 -aS'VOG4645' -p697 -aS'VOG4646' -p698 -aS'VOG4648' -p699 -aS'VOG4649' -p700 -aS'VOG4650' -p701 -aS'VOG4652' -p702 -aS'VOG4653' -p703 -aS'VOG4658' -p704 -aS'VOG4659' -p705 -aS'VOG4660' -p706 -aS'VOG4661' -p707 -aS'VOG4663' -p708 -aS'VOG4666' -p709 -aS'VOG4668' -p710 -aS'VOG4669' -p711 -aS'VOG4672' -p712 -aS'VOG4673' -p713 -aS'VOG4676' -p714 -aS'VOG4677' -p715 -aS'VOG4678' -p716 -aS'VOG4681' -p717 -aS'VOG4683' -p718 -aS'VOG4686' -p719 -aS'VOG4689' -p720 -aS'VOG4690' -p721 -aS'VOG4692' -p722 -aS'VOG4695' -p723 -aS'VOG4696' -p724 -aS'VOG4697' -p725 -aS'VOG4698' -p726 -aS'VOG4701' -p727 -aS'VOG4702' -p728 -aS'VOG4707' -p729 -aS'VOG4708' -p730 -aS'VOG4711' -p731 -aS'VOG4712' -p732 -aS'VOG4714' -p733 -aS'VOG4715' -p734 -aS'VOG4719' -p735 -aS'VOG4725' -p736 -aS'VOG4730' -p737 -aS'VOG4733' -p738 -aS'VOG4735' -p739 -aS'VOG4736' -p740 -aS'VOG4745' -p741 -aS'VOG4759' -p742 -aS'VOG4760' -p743 -aS'VOG4761' -p744 -aS'VOG4763' -p745 -aS'VOG4771' -p746 -aS'VOG4772' -p747 -aS'VOG4773' -p748 -aS'VOG4774' -p749 -aS'VOG4777' -p750 -aS'VOG4779' -p751 -aS'VOG4781' -p752 -aS'VOG4790' -p753 -aS'VOG4795' -p754 -aS'VOG4802' -p755 -aS'VOG4806' -p756 -aS'VOG4809' -p757 -aS'VOG4810' -p758 -aS'VOG4811' -p759 -aS'VOG4814' -p760 -aS'VOG4815' -p761 -aS'VOG4820' -p762 -aS'VOG4823' -p763 -aS'VOG4825' -p764 -aS'VOG4827' -p765 -aS'VOG4832' -p766 -aS'VOG4835' -p767 -aS'VOG4837' -p768 -aS'VOG4838' -p769 -aS'VOG4840' -p770 -aS'VOG4844' -p771 -aS'VOG4850' -p772 -aS'VOG4854' -p773 -aS'VOG4855' -p774 -aS'VOG4860' -p775 -aS'VOG4865' -p776 -aS'VOG4868' -p777 -aS'VOG4882' -p778 -aS'VOG4884' -p779 -aS'VOG4885' -p780 -aS'VOG4909' -p781 -aS'VOG4910' -p782 -aS'VOG4934' -p783 -aS'VOG4942' -p784 -aS'VOG4952' -p785 -aS'VOG4955' -p786 -aS'VOG4968' -p787 -aS'VOG4971' -p788 -aS'VOG4979' -p789 -aS'VOG4985' -p790 -aS'VOG4995' -p791 -aS'VOG4999' -p792 -aS'VOG5008' -p793 -aS'VOG5012' -p794 -aS'VOG5022' -p795 -aS'VOG5024' -p796 -aS'VOG5027' -p797 -aS'VOG5031' -p798 -aS'VOG5032' -p799 -aS'VOG5035' -p800 -aS'VOG5036' -p801 -aS'VOG5046' -p802 -aS'VOG5052' -p803 -aS'VOG5053' -p804 -aS'VOG5055' -p805 -aS'VOG5062' -p806 -aS'VOG5063' -p807 -aS'VOG5083' -p808 -aS'VOG5084' -p809 -aS'VOG5085' -p810 -aS'VOG5086' -p811 -aS'VOG5088' -p812 -aS'VOG5089' -p813 -aS'VOG5091' -p814 -aS'VOG5095' -p815 -aS'VOG5096' -p816 -aS'VOG5098' -p817 -aS'VOG5100' -p818 -aS'VOG5101' -p819 -aS'VOG5106' -p820 -aS'VOG5116' -p821 -aS'VOG5118' -p822 -aS'VOG5121' -p823 -aS'VOG5125' -p824 -aS'VOG5126' -p825 -aS'VOG5127' -p826 -aS'VOG5148' -p827 -aS'VOG5156' -p828 -aS'VOG5162' -p829 -aS'VOG5170' -p830 -aS'VOG5173' -p831 -aS'VOG5188' -p832 -aS'VOG5196' -p833 -aS'VOG5203' -p834 -aS'VOG5211' -p835 -aS'VOG5213' -p836 -aS'VOG5214' -p837 -aS'VOG5227' -p838 -aS'VOG5231' -p839 -aS'VOG5235' -p840 -aS'VOG5239' -p841 -aS'VOG5249' -p842 -aS'VOG5255' -p843 -aS'VOG5260' -p844 -aS'VOG5268' -p845 -aS'VOG5280' -p846 -aS'VOG5302' -p847 -aS'VOG5305' -p848 -aS'VOG5329' -p849 -aS'VOG5332' -p850 -aS'VOG5345' -p851 -aS'VOG5372' -p852 -aS'VOG5392' -p853 -aS'VOG5435' -p854 -aS'VOG5441' -p855 -aS'VOG5443' -p856 -aS'VOG5447' -p857 -aS'VOG5448' -p858 -aS'VOG5456' -p859 -aS'VOG5477' -p860 -aS'VOG5478' -p861 -aS'VOG5481' -p862 -aS'VOG5511' -p863 -aS'VOG5520' -p864 -aS'VOG5551' -p865 -aS'VOG5556' -p866 -aS'VOG5566' -p867 -aS'VOG5573' -p868 -aS'VOG5575' -p869 -aS'VOG5577' -p870 -aS'VOG5581' -p871 -aS'VOG5584' -p872 -aS'VOG5585' -p873 -aS'VOG5587' -p874 -aS'VOG5589' -p875 -aS'VOG5590' -p876 -aS'VOG5593' -p877 -aS'VOG5595' -p878 -aS'VOG5604' -p879 -aS'VOG5617' -p880 -aS'VOG5656' -p881 -aS'VOG5657' -p882 -aS'VOG5661' -p883 -aS'VOG5680' -p884 -aS'VOG5687' -p885 -aS'VOG5698' -p886 -aS'VOG5700' -p887 -aS'VOG5707' -p888 -aS'VOG5742' -p889 -aS'VOG5751' -p890 -aS'VOG5769' -p891 -aS'VOG5775' -p892 -aS'VOG5781' -p893 -aS'VOG5782' -p894 -aS'VOG5786' -p895 -aS'VOG5793' -p896 -aS'VOG5794' -p897 -aS'VOG5817' -p898 -aS'VOG5818' -p899 -aS'VOG5840' -p900 -aS'VOG5846' -p901 -aS'VOG5861' -p902 -aS'VOG5862' -p903 -aS'VOG5871' -p904 -aS'VOG5902' -p905 -aS'VOG5904' -p906 -aS'VOG5918' -p907 -aS'VOG5938' -p908 -aS'VOG5942' -p909 -aS'VOG5946' -p910 -aS'VOG5950' -p911 -aS'VOG5953' -p912 -aS'VOG5979' -p913 -aS'VOG5982' -p914 -aS'VOG5986' -p915 -aS'VOG6001' -p916 -aS'VOG6034' -p917 -aS'VOG6042' -p918 -aS'VOG6058' -p919 -aS'VOG6076' -p920 -aS'VOG6085' -p921 -aS'VOG6131' -p922 -aS'VOG6133' -p923 -aS'VOG6152' -p924 -aS'VOG6163' -p925 -aS'VOG6166' -p926 -aS'VOG6167' -p927 -aS'VOG6170' -p928 -aS'VOG6193' -p929 -aS'VOG6196' -p930 -aS'VOG6200' -p931 -aS'VOG6207' -p932 -aS'VOG6230' -p933 -aS'VOG6232' -p934 -aS'VOG6236' -p935 -aS'VOG6246' -p936 -aS'VOG6247' -p937 -aS'VOG6275' -p938 -aS'VOG6282' -p939 -aS'VOG6288' -p940 -aS'VOG6302' -p941 -aS'VOG6313' -p942 -aS'VOG6314' -p943 -aS'VOG6331' -p944 -aS'VOG6343' -p945 -aS'VOG6345' -p946 -aS'VOG6350' -p947 -aS'VOG6371' -p948 -aS'VOG6373' -p949 -aS'VOG6389' -p950 -aS'VOG6391' -p951 -aS'VOG6396' -p952 -aS'VOG6422' -p953 -aS'VOG6427' -p954 -aS'VOG6449' -p955 -aS'VOG6452' -p956 -aS'VOG6457' -p957 -aS'VOG6465' -p958 -aS'VOG6479' -p959 -aS'VOG6488' -p960 -aS'VOG6513' -p961 -aS'VOG6520' -p962 -aS'VOG6535' -p963 -aS'VOG6537' -p964 -aS'VOG6540' -p965 -aS'VOG6551' -p966 -aS'VOG6560' -p967 -aS'VOG6565' -p968 -aS'VOG6566' -p969 -aS'VOG6568' -p970 -aS'VOG6599' -p971 -aS'VOG6602' -p972 -aS'VOG6628' -p973 -aS'VOG6632' -p974 -aS'VOG6633' -p975 -aS'VOG6648' -p976 -aS'VOG6667' -p977 -aS'VOG6669' -p978 -aS'VOG6672' -p979 -aS'VOG6676' -p980 -aS'VOG6751' -p981 -aS'VOG6796' -p982 -aS'VOG6813' -p983 -aS'VOG6815' -p984 -aS'VOG6821' -p985 -aS'VOG6822' -p986 -aS'VOG6823' -p987 -aS'VOG6857' -p988 -aS'VOG6879' -p989 -aS'VOG6888' -p990 -aS'VOG6912' -p991 -aS'VOG6924' -p992 -aS'VOG6942' -p993 -aS'VOG6945' -p994 -aS'VOG6965' -p995 -aS'VOG6967' -p996 -aS'VOG6975' -p997 -aS'VOG6988' -p998 -aS'VOG7037' -p999 -aS'VOG7054' -p1000 -aS'VOG7066' -p1001 -aS'VOG7067' -p1002 -aS'VOG7069' -p1003 -aS'VOG7071' -p1004 -aS'VOG7073' -p1005 -aS'VOG7074' -p1006 -aS'VOG7075' -p1007 -aS'VOG7089' -p1008 -aS'VOG7099' -p1009 -aS'VOG7104' -p1010 -aS'VOG7110' -p1011 -aS'VOG7125' -p1012 -aS'VOG7137' -p1013 -aS'VOG7152' -p1014 -aS'VOG7154' -p1015 -aS'VOG7167' -p1016 -aS'VOG7168' -p1017 -aS'VOG7172' -p1018 -aS'VOG7188' -p1019 -aS'VOG7232' -p1020 -aS'VOG7238' -p1021 -aS'VOG7243' -p1022 -aS'VOG7260' -p1023 -aS'VOG7264' -p1024 -aS'VOG7266' -p1025 -aS'VOG7274' -p1026 -aS'VOG7277' -p1027 -aS'VOG7279' -p1028 -aS'VOG7284' -p1029 -aS'VOG7285' -p1030 -aS'VOG7286' -p1031 -aS'VOG7287' -p1032 -aS'VOG7288' -p1033 -aS'VOG7298' -p1034 -aS'VOG7302' -p1035 -aS'VOG7312' -p1036 -aS'VOG7318' -p1037 -aS'VOG7320' -p1038 -aS'VOG7321' -p1039 -aS'VOG7325' -p1040 -aS'VOG7329' -p1041 -aS'VOG7340' -p1042 -aS'VOG7364' -p1043 -aS'VOG7391' -p1044 -aS'VOG7403' -p1045 -aS'VOG7405' -p1046 -aS'VOG7407' -p1047 -aS'VOG7415' -p1048 -aS'VOG7416' -p1049 -aS'VOG7417' -p1050 -aS'VOG7419' -p1051 -aS'VOG7421' -p1052 -aS'VOG7424' -p1053 -aS'VOG7428' -p1054 -aS'VOG7430' -p1055 -aS'VOG7434' -p1056 -aS'VOG7435' -p1057 -aS'VOG7437' -p1058 -aS'VOG7440' -p1059 -aS'VOG7442' -p1060 -aS'VOG7443' -p1061 -aS'VOG7444' -p1062 -aS'VOG7451' -p1063 -aS'VOG7454' -p1064 -aS'VOG7456' -p1065 -aS'VOG7495' -p1066 -aS'VOG7497' -p1067 -aS'VOG7503' -p1068 -aS'VOG7511' -p1069 -aS'VOG7515' -p1070 -aS'VOG7516' -p1071 -aS'VOG7554' -p1072 -aS'VOG7563' -p1073 -aS'VOG7569' -p1074 -aS'VOG7575' -p1075 -aS'VOG7581' -p1076 -aS'VOG7606' -p1077 -aS'VOG7623' -p1078 -aS'VOG7629' -p1079 -aS'VOG7633' -p1080 -aS'VOG7641' -p1081 -aS'VOG7642' -p1082 -aS'VOG7652' -p1083 -aS'VOG7687' -p1084 -aS'VOG7689' -p1085 -aS'VOG7695' -p1086 -aS'VOG7701' -p1087 -aS'VOG7718' -p1088 -aS'VOG7767' -p1089 -aS'VOG7789' -p1090 -aS'VOG7808' -p1091 -aS'VOG7823' -p1092 -aS'VOG7880' -p1093 -aS'VOG7884' -p1094 -aS'VOG7887' -p1095 -aS'VOG7900' -p1096 -aS'VOG7907' -p1097 -aS'VOG7913' -p1098 -aS'VOG7917' -p1099 -aS'VOG7941' -p1100 -aS'VOG7946' -p1101 -aS'VOG7961' -p1102 -aS'VOG7962' -p1103 -aS'VOG7981' -p1104 -aS'VOG8001' -p1105 -aS'VOG8004' -p1106 -aS'VOG8023' -p1107 -aS'VOG8085' -p1108 -aS'VOG8134' -p1109 -aS'VOG8138' -p1110 -aS'VOG8163' -p1111 -aS'VOG8165' -p1112 -aS'VOG8166' -p1113 -aS'VOG8169' -p1114 -aS'VOG8171' -p1115 -aS'VOG8172' -p1116 -aS'VOG8173' -p1117 -aS'VOG8187' -p1118 -aS'VOG8215' -p1119 -aS'VOG8216' -p1120 -aS'VOG8218' -p1121 -aS'VOG8223' -p1122 -aS'VOG8226' -p1123 -aS'VOG8237' -p1124 -aS'VOG8238' -p1125 -aS'VOG8244' -p1126 -aS'VOG8257' -p1127 -aS'VOG8262' -p1128 -aS'VOG8290' -p1129 -aS'VOG8295' -p1130 -aS'VOG8296' -p1131 -aS'VOG8297' -p1132 -aS'VOG8298' -p1133 -aS'VOG8299' -p1134 -aS'VOG8303' -p1135 -aS'VOG8306' -p1136 -aS'VOG8313' -p1137 -aS'VOG8314' -p1138 -aS'VOG8315' -p1139 -aS'VOG8316' -p1140 -aS'VOG8317' -p1141 -aS'VOG8332' -p1142 -aS'VOG8343' -p1143 -aS'VOG8384' -p1144 -aS'VOG8387' -p1145 -aS'VOG8389' -p1146 -aS'VOG8414' -p1147 -aS'VOG8438' -p1148 -aS'VOG8473' -p1149 -aS'VOG8487' -p1150 -aS'VOG8492' -p1151 -aS'VOG8495' -p1152 -aS'VOG8498' -p1153 -aS'VOG8502' -p1154 -aS'VOG8506' -p1155 -aS'VOG8516' -p1156 -aS'VOG8519' -p1157 -aS'VOG8520' -p1158 -aS'VOG8534' -p1159 -aS'VOG8536' -p1160 -aS'VOG8549' -p1161 -aS'VOG8550' -p1162 -aS'VOG8551' -p1163 -aS'VOG8552' -p1164 -aS'VOG8553' -p1165 -aS'VOG8556' -p1166 -aS'VOG8557' -p1167 -aS'VOG8578' -p1168 -aS'VOG8579' -p1169 -aS'VOG8586' -p1170 -aS'VOG8599' -p1171 -aS'VOG8607' -p1172 -aS'VOG8609' -p1173 -aS'VOG8616' -p1174 -aS'VOG8617' -p1175 -aS'VOG8625' -p1176 -aS'VOG8643' -p1177 -aS'VOG8650' -p1178 -aS'VOG8651' -p1179 -aS'VOG8653' -p1180 -aS'VOG8678' -p1181 -aS'VOG8684' -p1182 -aS'VOG8687' -p1183 -aS'VOG8725' -p1184 -aS'VOG8726' -p1185 -aS'VOG8742' -p1186 -aS'VOG8751' -p1187 -aS'VOG8752' -p1188 -aS'VOG8754' -p1189 -aS'VOG8779' -p1190 -aS'VOG8783' -p1191 -aS'VOG8820' -p1192 -aS'VOG8849' -p1193 -aS'VOG8850' -p1194 -aS'VOG8855' -p1195 -aS'VOG8863' -p1196 -aS'VOG8866' -p1197 -aS'VOG8868' -p1198 -aS'VOG8870' -p1199 -aS'VOG8877' -p1200 -aS'VOG8882' -p1201 -aS'VOG8888' -p1202 -aS'VOG8899' -p1203 -aS'VOG8905' -p1204 -aS'VOG8909' -p1205 -aS'VOG8916' -p1206 -aS'VOG8925' -p1207 -aS'VOG8926' -p1208 -aS'VOG8954' -p1209 -aS'VOG8985' -p1210 -aS'VOG8986' -p1211 -aS'VOG8992' -p1212 -aS'VOG9038' -p1213 -aS'VOG9064' -p1214 -aS'VOG9086' -p1215 -aS'VOG9093' -p1216 -aS'VOG9099' -p1217 -aS'VOG9115' -p1218 -aS'VOG9191' -p1219 -aS'VOG9192' -p1220 -aS'VOG9193' -p1221 -aS'VOG9195' -p1222 -aS'VOG9203' -p1223 -aS'VOG9209' -p1224 -aS'VOG9211' -p1225 -aS'VOG9234' -p1226 -aS'VOG9237' -p1227 -aS'VOG9243' -p1228 -aS'VOG9244' -p1229 -aS'VOG9258' -p1230 -aS'VOG9259' -p1231 -aS'VOG9260' -p1232 -aS'VOG9261' -p1233 -aS'VOG9262' -p1234 -aS'VOG9274' -p1235 -aS'VOG9286' -p1236 -aS'VOG9288' -p1237 -aS'VOG9305' -p1238 -aS'VOG9306' -p1239 -aS'VOG9308' -p1240 -aS'VOG9310' -p1241 -aS'VOG9315' -p1242 -aS'VOG9322' -p1243 -aS'VOG9323' -p1244 -aS'VOG9325' -p1245 -aS'VOG9328' -p1246 -aS'VOG9339' -p1247 -aS'VOG9340' -p1248 -aS'VOG9348' -p1249 -aS'VOG9358' -p1250 -aS'VOG9359' -p1251 -aS'VOG9360' -p1252 -aS'VOG9361' -p1253 -aS'VOG9362' -p1254 -aS'VOG9363' -p1255 -aS'VOG9364' -p1256 -aS'VOG9365' -p1257 -aS'VOG9366' -p1258 -aS'VOG9367' -p1259 -aS'VOG9368' -p1260 -aS'VOG9369' -p1261 -aS'VOG9370' -p1262 -aS'VOG9371' -p1263 -aS'VOG9373' -p1264 -aS'VOG9374' -p1265 -aS'VOG9375' -p1266 -aS'VOG9376' -p1267 -aS'VOG9377' -p1268 -aS'VOG9378' -p1269 -aS'VOG9379' -p1270 -aS'VOG9380' -p1271 -aS'VOG9381' -p1272 -aS'VOG9382' -p1273 -aS'VOG9383' -p1274 -aS'VOG9384' -p1275 -aS'VOG9385' -p1276 -aS'VOG9386' -p1277 -aS'VOG9387' -p1278 -aS'VOG9388' -p1279 -aS'VOG9389' -p1280 -aS'VOG9390' -p1281 -aS'VOG9391' -p1282 -aS'VOG9392' -p1283 -aS'VOG9393' -p1284 -aS'VOG9394' -p1285 -aS'VOG9395' -p1286 -aS'VOG9396' -p1287 -aS'VOG9397' -p1288 -aS'VOG9404' -p1289 -aS'VOG9410' -p1290 -aS'VOG9414' -p1291 -aS'VOG9415' -p1292 -aS'VOG9417' -p1293 -aS'VOG9420' -p1294 -aS'VOG9425' -p1295 -aS'VOG9429' -p1296 -aS'VOG9431' -p1297 -aS'VOG9433' -p1298 -aS'VOG9434' -p1299 -aS'VOG9437' -p1300 -aS'VOG9438' -p1301 -aS'VOG9446' -p1302 -aS'VOG9447' -p1303 -aS'VOG9453' -p1304 -aS'VOG9454' -p1305 -aS'VOG9462' -p1306 -aS'VOG9475' -p1307 -aS'VOG9481' -p1308 -aS'VOG9485' -p1309 -aS'VOG9487' -p1310 -aS'VOG9493' -p1311 -aS'VOG9502' -p1312 -aS'VOG9509' -p1313 -aS'VOG9532' -p1314 -aS'VOG9534' -p1315 -aS'VOG9539' -p1316 -aS'VOG9551' -p1317 -aS'VOG9556' -p1318 -aS'VOG9563' -p1319 -aS'VOG9572' -p1320 -aS'VOG9573' -p1321 -aS'VOG9586' -p1322 -aS'VOG9588' -p1323 -aS'VOG9629' -p1324 -aS'VOG9632' -p1325 -aS'VOG9639' -p1326 -aS'VOG9657' -p1327 -aS'VOG9659' -p1328 -aS'VOG9661' -p1329 -aS'VOG9663' -p1330 -aS'VOG9667' -p1331 -aS'VOG9686' -p1332 -aS'VOG9690' -p1333 -aS'VOG9697' -p1334 -aS'VOG9701' -p1335 -aS'VOG9702' -p1336 -aS'VOG9705' -p1337 -aS'VOG9709' -p1338 -aS'VOG9710' -p1339 -aS'VOG9712' -p1340 -aS'VOG9717' -p1341 -aS'VOG9718' -p1342 -aS'VOG9719' -p1343 -aS'VOG9720' -p1344 -aS'VOG9721' -p1345 -aS'VOG9722' -p1346 -aS'VOG9723' -p1347 -aS'VOG9724' -p1348 -aS'VOG9725' -p1349 -aS'VOG9726' -p1350 -aS'VOG9727' -p1351 -aS'VOG9728' -p1352 -aS'VOG9729' -p1353 -aS'VOG9730' -p1354 -aS'VOG9731' -p1355 -aS'VOG9732' -p1356 -aS'VOG9733' -p1357 -aS'VOG9736' -p1358 -aS'VOG9738' -p1359 -aS'VOG9740' -p1360 -aS'VOG9741' -p1361 -aS'VOG9746' -p1362 -aS'VOG9747' -p1363 -aS'VOG9761' -p1364 -aS'VOG9771' -p1365 -aS'VOG9773' -p1366 -aS'VOG9778' -p1367 -aS'VOG9787' -p1368 -aS'VOG9788' -p1369 -aS'VOG9789' -p1370 -aS'VOG9790' -p1371 -aS'VOG9791' -p1372 -aS'VOG9792' -p1373 -aS'VOG9793' -p1374 -aS'VOG9795' -p1375 -aS'VOG9797' -p1376 -aS'VOG9798' -p1377 -aS'VOG9799' -p1378 -aS'VOG9803' -p1379 -aS'VOG9804' -p1380 -aS'VOG9809' -p1381 -aS'VOG9810' -p1382 -aS'VOG9821' -p1383 -aS'VOG9834' -p1384 -aS'VOG9836' -p1385 -aS'VOG9839' -p1386 -aS'VOG9857' -p1387 -aS'VOG9869' -p1388 -aS'VOG9873' -p1389 -aS'VOG9876' -p1390 -aS'VOG9904' -p1391 -aS'VOG9915' -p1392 -aS'VOG9916' -p1393 -aS'VOG9917' -p1394 -aS'VOG9922' -p1395 -aS'VOG9924' -p1396 -aS'VOG9941' -p1397 -aS'VOG9948' -p1398 -aS'VOG9957' -p1399 -aS'VOG9959' -p1400 -aS'VOG9995' -p1401 -aS'VOG10005' -p1402 -aS'VOG10009' -p1403 -aS'VOG10016' -p1404 -aS'VOG10022' -p1405 -aS'VOG10023' -p1406 -aS'VOG10026' -p1407 -aS'VOG10038' -p1408 -aS'VOG10044' -p1409 -aS'VOG10059' -p1410 -aS'VOG10065' -p1411 -aS'VOG10069' -p1412 -aS'VOG10080' -p1413 -aS'VOG10086' -p1414 -aS'VOG10088' -p1415 -aS'VOG10095' -p1416 -aS'VOG10106' -p1417 -aS'VOG10155' -p1418 -aS'VOG10157' -p1419 -aS'VOG10158' -p1420 -aS'VOG10195' -p1421 -aS'VOG10217' -p1422 -aS'VOG10224' -p1423 -aS'VOG10227' -p1424 -aS'VOG10254' -p1425 -aS'VOG10264' -p1426 -aS'VOG10277' -p1427 -aS'VOG10284' -p1428 -aS'VOG10285' -p1429 -aS'VOG10286' -p1430 -aS'VOG10292' -p1431 -aS'VOG10294' -p1432 -aS'VOG10330' -p1433 -aS'VOG10342' -p1434 -aS'VOG10343' -p1435 -aS'VOG10352' -p1436 -aS'VOG10371' -p1437 -aS'VOG10429' -p1438 -aS'VOG10443' -p1439 -aS'VOG10448' -p1440 -aS'VOG10452' -p1441 -aS'VOG10453' -p1442 -aS'VOG10454' -p1443 -aS'VOG10456' -p1444 -aS'VOG10460' -p1445 -aS'VOG10462' -p1446 -aS'VOG10471' -p1447 -aS'VOG10512' -p1448 -aS'VOG10520' -p1449 -aS'VOG10522' -p1450 -aS'VOG10538' -p1451 -aS'VOG10544' -p1452 -aS'VOG10570' -p1453 -aS'VOG10596' -p1454 -aS'VOG10608' -p1455 -aS'VOG10633' -p1456 -aS'VOG10634' -p1457 -aS'VOG10636' -p1458 -aS'VOG10637' -p1459 -aS'VOG10638' -p1460 -aS'VOG10641' -p1461 -aS'VOG10654' -p1462 -aS'VOG10666' -p1463 -aS'VOG10674' -p1464 -aS'VOG10717' -p1465 -aS'VOG10719' -p1466 -aS'VOG10724' -p1467 -aS'VOG10737' -p1468 -aS'VOG10738' -p1469 -aS'VOG10739' -p1470 -aS'VOG10763' -p1471 -aS'VOG10787' -p1472 -aS'VOG10842' -p1473 -aS'VOG10856' -p1474 -aS'VOG10861' -p1475 -aS'VOG10868' -p1476 -aS'VOG10870' -p1477 -aS'VOG10880' -p1478 -aS'VOG10883' -p1479 -aS'VOG10887' -p1480 -aS'VOG10898' -p1481 -aS'VOG10909' -p1482 -aS'VOG10914' -p1483 -aS'VOG10915' -p1484 -aS'VOG10916' -p1485 -aS'VOG10917' -p1486 -aS'VOG10920' -p1487 -aS'VOG10930' -p1488 -aS'VOG10934' -p1489 -aS'VOG10942' -p1490 -aS'VOG10943' -p1491 -aS'VOG10944' -p1492 -aS'VOG10945' -p1493 -aS'VOG10951' -p1494 -aS'VOG10953' -p1495 -aS'VOG10957' -p1496 -aS'VOG10962' -p1497 -aS'VOG10967' -p1498 -aS'VOG10969' -p1499 -aS'VOG10971' -p1500 -aS'VOG10972' -p1501 -aS'VOG10978' -p1502 -aS'VOG10979' -p1503 -aS'VOG10986' -p1504 -aS'VOG10993' -p1505 -aS'VOG10995' -p1506 -aS'VOG11009' -p1507 -aS'VOG11016' -p1508 -aS'VOG11017' -p1509 -aS'VOG11026' -p1510 -aS'VOG11048' -p1511 -aS'VOG11053' -p1512 -aS'VOG11065' -p1513 -aS'VOG11070' -p1514 -aS'VOG11071' -p1515 -aS'VOG11075' -p1516 -aS'VOG11080' -p1517 -aS'VOG11081' -p1518 -atp1519 -bsg36 -Nstp1520 -Rp1521 -a(lp1522 -g19 -(g20 -(I0 -tp1523 -g22 -tp1524 -Rp1525 -(I1 -(I2 -I1474 -tp1526 -g29 -I00 -(lp1527 -S'V protein' -p1528 -aS'major coat protein' -p1529 -aS'phage assembly protein' -p1530 -aS'Vpf491' -p1531 -aS'putative minor coat protein' -p1532 -aS'putative transcription regulator' -p1533 -aS'DNA replication initiation protein' -p1534 -aS'putative major coat protein' -p1535 -aS'S-adenosyl-L-methionine hydrolase' -p1536 -aS'DNA ligase' -p1537 -aS'RNA polymerase' -p1538 -aS'putative DNA helicase' -p1539 -aS'DNA polymerase' -p1540 -aS'exonuclease' -p1541 -aS'head-tail connector protein' -p1542 -aS'capsid assembly protein' -p1543 -aS'tail tubular protein B' -p1544 -aS'internal virion protein A' -p1545 -aS'internal virion protein C' -p1546 -aS'internal virion protein D' -p1547 -aS'type II holin' -p1548 -aS'superinfection exclusion protein' -p1549 -aS'RtcB' -p1550 -aS'dCMP deaminase' -p1551 -aS'terminase large subunit' -p1552 -aS'RNA polymerase sigma factor' -p1553 -aS'holin' -p1554 -aS'P-starvation inducible protein' -p1555 -aS'major capsid protein' -p1556 -aS'tail sheath protein' -p1557 -aS'recombination endonuclease subunit' -p1558 -aS"deoxyuridine 5'-triphosphate nucleotidohydrolase" -p1559 -aS'ribonucleotide reductase' -p1560 -aS'thymidylate synthase' -p1561 -ag1552 -ag1554 -aS'serine/threonine protein phosphatase' -p1562 -aS'maturation protein' -p1563 -aS'replicase' -p1564 -aS'gpA' -p1565 -aS'gpA*' -p1566 -aS'gpB' -p1567 -aS'gpK' -p1568 -aS'gpC' -p1569 -aS'gpD' -p1570 -aS'gpE' -p1571 -aS'gpJ' -p1572 -aS'gpF' -p1573 -aS'gpG' -p1574 -aS'gpH' -p1575 -ag1533 -aS'DNA replication protein' -p1576 -aS'putative head-tail joining protein' -p1577 -ag1577 -aS'putative tail component protein' -p1578 -aS'integrase' -p1579 -aS'tail fiber assembly protein' -p1580 -aS'ParB' -p1581 -aS'Gp63' -p1582 -aS'LysC' -p1583 -aS'Doc' -p1584 -aS'terminase small subunit' -p1585 -aS'portal protein' -p1586 -aS'DNA stabilization protein' -p1587 -ag1587 -aS'head assembly protein' -p1588 -aS'DNA transfer protein' -p1589 -ag1589 -aS'O-antigen conversion protein C' -p1590 -aS'GtrB' -p1591 -ag1579 -aS'Abc2 protein' -p1592 -aS'Arf' -p1593 -aS'Kil' -p1594 -aS'CIII protein' -p1595 -aS'SieB' -p1596 -aS'antitermination protein N' -p1597 -aS'NinB protein' -p1598 -aS'NinE protein' -p1599 -aS'NinF protein' -p1600 -aS'NinG protein' -p1601 -aS'late gene regulator Q' -p1602 -aS'endopeptidase' -p1603 -aS'Rz1 protein' -p1604 -aS'Gp18 protein' -p1605 -aS'Gp45 protein' -p1606 -ag1540 -aS'putative DNA-packaging protein' -p1607 -aS'nicotinamide phosphoribosyltransferase' -p1608 -aS'prohead core scaffolding protein and protease' -p1609 -aS'replication protein P' -p1610 -ag1557 -aS'NAD-dependent DNA ligase subunit A' -p1611 -aS'DNA helicase' -p1612 -aS'DNA topoisomerase II large subunit' -p1613 -aS'DNA topisomerase II medium subunit' -p1614 -aS'ADP-ribosylase' -p1615 -aS'dUTPase' -p1616 -aS'spackle periplasmic protein' -p1617 -aS'head vertex assembly chaperone' -p1618 -aS'clamp loader subunit' -p1619 -aS'sliding clamp DNA polymerase accessory protein' -p1620 -aS'RNA polymerase binding protein' -p1621 -aS'alpha-glucosyl-transferase' -p1622 -aS'anaerobic NTP reductase small subunit' -p1623 -aS'anaerobic NTP reductase large subunit' -p1624 -aS'inhibitor of host Lon protease' -p1625 -aS'site-specific RNA endonuclease' -p1626 -aS'nudix hydrolase' -p1627 -aS'head completion protein' -p1628 -aS'baseplate wedge subunit' -p1629 -ag1629 -aS'baseplate wedge subunit and tail pin' -p1630 -ag1630 -aS'fibritin' -p1631 -aS'neck protein' -p1632 -ag1632 -aS'tail sheath stabilizer and completion protein' -p1633 -aS'prohead core protein' -p1634 -ag1634 -aS'scaffold prohead core protein' -p1635 -ag1556 -aS'inhibitor of prohead protease' -p1636 -aS'UvsY' -p1637 -aS'baseplate hub subunit' -p1638 -aS'baseplate hub distal subunit' -p1639 -aS'baseplate hub subunit tail length determinator' -p1640 -aS'baseplate tail tube cap' -p1641 -aS'ADP-ribosyltransferase' -p1642 -aS'lysis inhibition accessory protein' -p1643 -aS'endonuclease II' -p1644 -aS'dihydrofolate reductase' -p1645 -aS'single-stranded DNA binding protein' -p1646 -aS'holin lysis mediator' -p1647 -aS'activator of middle period transcription' -p1648 -aS'nucleoid disruption protein' -p1649 -aS'Na/K ATPase' -p1650 -aS'Panton-Valentine leukocidin chain S precursor' -p1651 -aS'Panton-Valentine leukocidin chain F precursor' -p1652 -aS'transcriptional activator RinB' -p1653 -aS'capsid-scaffolding protein' -p1654 -aS'terminase endonuclease subunit' -p1655 -aS'head completion-stabilization protein' -p1656 -aS'tail synthesis protein X' -p1657 -aS'tail protein' -p1658 -aS'tail formation protein I' -p1659 -aS'major tail tube protein' -p1660 -ag1658 -aS'replication protein A' -p1661 -ag1554 -ag1572 -aS'scaffolding protein' -p1662 -ag1585 -aS'lysin' -p1663 -ag1554 -aS'DNA encapsidation protein' -p1664 -ag1554 -aS'lower collar protein' -p1665 -aS'major head protein' -p1666 -aS'upper collar protein' -p1667 -ag1658 -aS'putative minor structural protein' -p1668 -aS'putative DNA polymerase I' -p1669 -aS'RNA ligase' -p1670 -ag1568 -ag1586 -aS'minor capsid protein' -p1671 -ag1556 -aS'putative minor capsid protein' -p1672 -ag1672 -ag1554 -aS'FtsK/SpoIIIE protein' -p1673 -aS'conserved phage protein' -p1674 -ag1586 -ag1554 -aS'putative topoisomerase' -p1675 -aS'Rad52/22 family double-strand break repair protein' -p1676 -aS'capsid protein' -p1677 -ag1554 -aS'excisionase' -p1678 -ag1585 -aS'major tail protein' -p1679 -aS'head-tail adaptor' -p1680 -ag1678 -aS'mobile element protein' -p1681 -aS'putative single-stranded DNA binding protein' -p1682 -aS'Bor protein precursor' -p1683 -aS'terminase small subunit nu1' -p1684 -aS'head-to-tail joining protein' -p1685 -ag1586 -aS'head-DNA stabilization protein' -p1686 -aS'DNA packaging protein' -p1687 -aS'head-tail connector Fii' -p1688 -aS'minor tail protein' -p1689 -aS'minor tail protein U' -p1690 -aS'minor tail protein G' -p1691 -ag1689 -ag1689 -ag1689 -ag1658 -aS'attachment invasion locus protein precursor' -p1692 -aS'terminal protein' -p1693 -aS'transcriptional regulator' -p1694 -aS'single stranded DNA-binding protein' -p1695 -aS'dsDNA binding protein' -p1696 -ag1662 -aS'head fiber protein' -p1697 -aS'DNA replication organizer' -p1698 -aS'putative protein 16.8' -p1699 -aS'putative terminase small subunit' -p1700 -aS'putative strucural protein 2' -p1701 -aS'putative strucural protein 4' -p1702 -ag1554 -aS'putative sak protein' -p1703 -aS'putative structural protein' -p1704 -aS'putative DNA polymerase subunit' -p1705 -aS'putative strucural protein 3' -p1706 -aS'neck passage structure' -p1707 -aS'transposase' -p1708 -ag1681 -aS'shiga-like toxin II subunit A precursor' -p1709 -aS'Shiga toxin 2 subunit B' -p1710 -aS'Putative small subunit (Nu1 homolog) of DNA packaging dimer' -p1711 -ag1556 -aS'retron-type RNA-directed DNA polymerase' -p1712 -aS'ParA' -p1713 -aS'protelomerase' -p1714 -aS'gp55 protein' -p1715 -aS'putative endolysin' -p1716 -ag1619 -ag1638 -aS'queuosine biosynthesis QueE radical SAM' -p1717 -aS'portal vertex protein' -p1718 -aS'tail tube protein' -p1719 -aS'sigma factor for late transcription' -p1720 -aS'QueC' -p1721 -ag1708 -aS'thymidine kinase' -p1722 -aS'nucleotide-sugar epimerase' -p1723 -aS'gp4' -p1724 -aS'putative co-chaperonin GroES' -p1725 -aS'putative HTH transcription regulator' -p1726 -aS'UDP-galactopyranose mutase' -p1727 -aS'EPS-depolymerase' -p1728 -ag1585 -ag1556 -aS'major tail subunit' -p1729 -ag1689 -ag1689 -aS'RNaseE' -p1730 -ag1689 -ag1689 -ag1689 -aS'gp81' -p1731 -aS'gp40' -p1732 -ag1586 -ag1556 -aS'DNA polymerase III alpha subunit' -p1733 -aS'galactosyltransferase' -p1734 -aS'glycosyltransferase' -p1735 -aS'tail assembly chaperone' -p1736 -ag1689 -ag1554 -aS'Lsr2' -p1737 -aS'gp13' -p1738 -aS'predicted hydrolase' -p1739 -aS'CHC2 zinc finger protein' -p1740 -aS'conserved hypothetical protein' -p1741 -aS'putative methyltransferase' -p1742 -ag1741 -aS'RecT' -p1743 -aS'PcfU' -p1744 -ag1741 -ag1666 -ag1556 -aS'HNH endonuclease' -p1745 -aS'nicotinamide mononucleotide transporter' -p1746 -aS'putative Sir2-like protein' -p1747 -aS'transaldolase-like protein' -p1748 -aS'DUF680 domain-containing protein' -p1749 -aS'photosystem II D1 protein' -p1750 -aS'high light inducible protein' -p1751 -aS'tail fiber protein' -p1752 -ag1700 -aS'putative tail protein' -p1753 -ag1736 -ag1689 -aS'DNA primase' -p1754 -aS'gp63' -p1755 -aS'gp80' -p1756 -aS'gp75' -p1757 -ag1581 -aS'esterase/lipase' -p1758 -aS'translation repressor' -p1759 -aS'base plate hub assembly catalyst' -p1760 -aS'head assembly cochaperone with GroEL' -p1761 -aS'tRNA nucleotidyltransferase' -p1762 -aS'loader of DNA helicase' -p1763 -aS'late promoter transcription accessory protein' -p1764 -aS'anti-sigma 70 protein' -p1765 -aS'NudE nudix hydrolase' -p1766 -aS'gp35 hinge long tail fiber proximal connector' -p1767 -ag1738 -aS'putative terminase large subunit' -p1768 -ag1556 -ag1554 -aS'cell adhesion domain-containing protein' -p1769 -aS'putative portal protein' -p1770 -aS'AAA ATPase' -p1771 -aS'small outer capsid protein' -p1772 -aS'internal head protein' -p1773 -aS'homing endonuclease' -p1774 -aS'hinge connector of long tail fiber proximal connector' -p1775 -aS'DNA endonuclease IV' -p1776 -aS'gp5' -p1777 -aS'gp8' -p1778 -aS'gp3' -p1779 -aS'phosphoribosyl transferase' -p1780 -ag1585 -aS'Cor protein' -p1781 -aS'serine/threonine kinase' -p1782 -ag1687 -aS'putative major tail protein' -p1783 -aS'methyltransferase' -p1784 -aS'Ren protein' -p1785 -aS'major tropism determinant' -p1786 -aS'transposase A' -p1787 -aS'acridine resistance protein' -p1788 -aS'putative tail tube protein' -p1789 -aS'putative tail sheath protein' -p1790 -aS'CI' -p1791 -ag1554 -aS'Apl' -p1792 -ag1671 -aS'replication protein VP4' -p1793 -aS'major capsid protein VP1' -p1794 -aS'internal scaffolding protein VP3' -p1795 -aS'protein kinase' -p1796 -aS'host dGTPase inhibitor' -p1797 -aS'gp1.5' -p1798 -aS'host RNA polymerase inhibitor' -p1799 -ag1745 -aS'guanylate kinase' -p1800 -aS'ribonucleoside triphosphate reductase, alpha chain' -p1801 -aS'virion RNA polymerase' -p1802 -ag1529 -ag1586 -ag1695 -aS'phage lambda Rz1-like protein' -p1803 -aS'valyl-tRNA synthetase modifier' -p1804 -aS'transcription modulator' -p1805 -aS'distal long tail fiber assembly catalyst' -p1806 -aS'IpI' -p1807 -ag1779 -ag1736 -ag1689 -ag1554 -aS'antirestriction protein' -p1808 -aS'gp1' -p1809 -ag1585 -ag1736 -aS'gp28' -p1810 -aS'gp31' -p1811 -aS'metallophosphoesterase' -p1812 -aS'gp2' -p1813 -aS'gp9' -p1814 -aS'gp16' -p1815 -aS'gp24' -p1816 -ag1736 -ag1810 -aS'gp33' -p1817 -aS'gp34' -p1818 -ag1809 -aS'gp59' -p1819 -ag1813 -ag1554 -aS'HTH DNA binding protein' -p1820 -aS'GIY-YIG endonuclease' -p1821 -ag1820 -aS'gp96' -p1822 -aS'putative holin' -p1823 -aS'putative transcriptional regulator' -p1824 -aS'putative DNA primase' -p1825 -aS'Ner-like protein' -p1826 -aS'DNA transposition protein' -p1827 -ag1557 -aS'tail/DNA circulation protein' -p1828 -ag1658 -aS'putative head protein' -p1829 -aS'Ser/Thr kinase' -p1830 -ag1735 -aS'gp18' -p1831 -aS'gp21' -p1832 -aS'LipC' -p1833 -aS'AddA-like protein' -p1834 -aS'gp205' -p1835 -aS'Ku protein' -p1836 -ag1724 -aS'gp7' -p1837 -aS'gp78' -p1838 -aS'gp56' -p1839 -aS'RDF protein' -p1840 -aS'gp82' -p1841 -aS'gp85' -p1842 -aS'gp86' -p1843 -ag1585 -aS'enoyl-CoA-hydratase' -p1844 -ag1784 -aS'gp19' -p1845 -aS'gp91' -p1846 -aS'gp94' -p1847 -aS'gp148' -p1848 -aS'gp131' -p1849 -ag1835 -ag1777 -aS'phosphoesterase' -p1850 -aS'tyrosine phosphatase' -p1851 -aS'gp37' -p1852 -ag1724 -aS'gp67' -p1853 -ag1809 -ag1779 -aS'gp139' -p1854 -aS'RecA' -p1855 -aS'ATP-dependent helicase' -p1856 -ag1556 -aS'maturation/adhesion protein' -p1857 -ag1841 -ag1831 -aS'gp22' -p1858 -aS'gp29' -p1859 -aS'gp30' -p1860 -aS'gp15' -p1861 -aS'FtsK-like protein' -p1862 -aS'gp90' -p1863 -aS'GTP cyclohydrolase I' -p1864 -aS'putative tail fiber' -p1865 -aS'phosphatidylglycerophosphatase A' -p1866 -aS'IMP dehydrogenase/GMP reductase' -p1867 -aS'small acid-soluble spore protein' -p1868 -ag1539 -aS'Ser/Thr protein phosphatase family protein' -p1869 -aS'putative UV damage repair endonuclease' -p1870 -aS'virion structural protein' -p1871 -ag1871 -aS'putative helicase' -p1872 -ag1556 -ag1871 -ag1871 -ag1790 -aS'putative virion structural protein' -p1873 -ag1873 -aS'addiction module toxin, RelE/StbE family' -p1874 -aS'Vpf76' -p1875 -aS'activator of host PrrC lysyl-tRNA endonuclease' -p1876 -aS'putative excisionase' -p1877 -aS'minor coat protein' -p1878 -ag1579 -aS'putative HTH transcriptional regulator' -p1879 -aS'helix-turn-helix protein' -p1880 -aS'structural protein V1' -p1881 -aS'structural protein VP3' -p1882 -aS'VP2-like protein' -p1883 -aS'NinD' -p1884 -aS'host recBCD nuclease inhibitor' -p1885 -aS'Cox' -p1886 -aS'Hol' -p1887 -aS'nonstructural protein' -p1888 -aS'Gp29' -p1889 -ag1817 -aS'gp42 protein' -p1890 -aS'transcription antiterminator' -p1891 -aS'gp51' -p1892 -ag1689 -ag1779 -aS'gp4a' -p1893 -ag1777 -aS'gp12' -p1894 -ag1729 -aS'GtrA' -p1895 -aS'NinY' -p1896 -aS'O-polysaccharide acetyltransferase protein' -p1897 -ag1533 -ag1678 -aS'CRISPR-associated Cas4-like protein' -p1898 -ag1872 -aS'DNA binding protein' -p1899 -aS'putative regulatory protein' -p1900 -ag1900 -aS'structural protein' -p1901 -ag1901 -aS'putative glycosyltransferase' -p1902 -aS'gp32' -p1903 -ag1732 -aS'gp46' -p1904 -aS'exfoliative toxin A' -p1905 -aS'gp8, conserved hypothetical protein' -p1906 -aS'gp71' -p1907 -aS'gp17' -p1908 -aS'gp26, bacteriophage lysis protein' -p1909 -aS'gp27' -p1910 -ag1859 -ag1860 -ag1811 -aS'gp32, hypothetical protein' -p1911 -aS'gp45, hypothetical protein' -p1912 -ag1755 -aS'putative chromosome partitioning protein' -p1913 -aS'gp62' -p1914 -ag1724 -aS'gp65' -p1915 -aS'gp43, conserved domain protein' -p1916 -aS'putative integral membrane protein' -p1917 -aS'putative transposase' -p1918 -ag1658 -aS'putative protease' -p1919 -ag1845 -aS'BcepNY3gp56' -p1920 -ag1914 -ag1662 -ag1666 -ag1678 -aS'77ORF046' -p1921 -ag1871 -aS'thymidylate kinase' -p1922 -aS'putative SNF2 domain helicase' -p1923 -aS'putative endoprotease' -p1924 -ag1556 -aS"Rz1 gp24'" -p1925 -aS'p11' -p1926 -aS'p53' -p1927 -aS'putative internal virion protein A' -p1928 -ag1540 -aS'putative glutathionylspermidine synthase' -p1929 -aS'gp40, hypothetical protein' -p1930 -ag1790 -ag1813 -ag1755 -aS'A2 protein' -p1931 -aS'D2 protein' -p1932 -aS'D3 protein' -p1933 -aS'D5 protein' -p1934 -aS'tail protein Pb4' -p1935 -ag1658 -aS'pore-forming tail tip protein' -p1936 -ag1689 -aS'putative transposase A subunit' -p1937 -aS'gp35' -p1938 -aS'2OG-Fe(II) oxygenase' -p1939 -ag1901 -ag1871 -aS'tail fiber-like protein' -p1940 -aS'methylamine protein' -p1941 -aS'peptidase' -p1942 -aS'heat shock protein' -p1943 -ag1871 -aS'photosystem II D2 protein' -p1944 -aS'S-adenosylmethionine decarboxylase' -p1945 -aS'antenna protein' -p1946 -ag1939 -aS'ferrochelatase' -p1947 -aS'tryptophan halogenase' -p1948 -aS'phycoerythrobilin' -p1949 -aS'CP12 protein' -p1950 -aS'baseplate wedge initiator' -p1951 -aS'DNA endonuclease V' -p1952 -aS'5-phosphoribosylformylglycinamide amidotransferase' -p1953 -aS'phosphoribosylaminoimidazole synthetase' -p1954 -ag1954 -aS'cytitidyltransferase' -p1955 -aS'plasmid stability protein' -p1956 -aS'plastocyanine' -p1957 -aS'phosphate transporter subunit' -p1958 -aS'glycosyltransferase family 11' -p1959 -aS'glycosyltransferase family 25' -p1960 -aS'ferredoxin' -p1961 -aS'heme oxygenase' -p1962 -aS'carbamoyltransferase' -p1963 -aS'putative nucleotidyltransferase' -p1964 -aS'putative carbohydrate kinase' -p1965 -ag1964 -aS'cAMP phosphodiesterase' -p1966 -ag1901 -aS'putative short tail fiber' -p1967 -aS'hemagglutinin domain-containing protein' -p1968 -ag1901 -aS'plastoquinol terminal oxidase' -p1969 -aS'S-layer domain protein' -p1970 -aS'carboxylesterase' -p1971 -aS'putative major capsid protein' -p1972 -ag1813 -aS'putative membrane protein' -p1973 -ag1708 -ag1918 -aS'6-phosphogluconate dehydrogenase' -p1974 -aS'glucose 6-phosphate dehydrogenase' -p1975 -aS'DUF1583 domain-containing protein' -p1976 -aS'putative phosphatase' -p1977 -aS'putative bacterial NUDIX hydrolase' -p1978 -aS'phosphoribosylaminoimidazole-succinocarboxamide synthase' -p1979 -aS'PA14 domain-containing protein' -p1980 -aS'RNA-dependent RNA polymerase' -p1981 -ag1552 -aS'tape measure protein' -p1982 -aS'lysin A' -p1983 -aS'helicase' -p1984 -aS'glutaredoxin' -p1985 -ag1754 -ag1556 -ag1662 -ag1586 -ag1729 -ag1689 -aS'lysin B' -p1986 -ag1561 -aS'ribonucleotide reductase subunit B' -p1987 -aS'lysozyme' -p1988 -aS'DNA methylase' -p1989 -ag1689 -ag1989 -ag1556 -ag1983 -ag1558 -ag1540 -ag1736 -aS'WhiB' -p1990 -aS'baseplate hub subunit and tail lysozyme' -p1991 -ag1679 -aS'D-ala-D-ala carboxypeptidase' -p1992 -aS'baseplate wedge tail fiber connector' -p1993 -aS'tail tubular protein A' -p1994 -aS'protector from prophage-induced early lysis' -p1995 -aS'DNA end protector protein' -p1996 -ag1752 -aS'minor structural protein' -p1997 -ag1541 -ag1556 -ag1904 -ag1586 -ag1754 -aS'replicative helicase' -p1998 -aS'internal virion protein B' -p1999 -aS'putative tail lysin' -p2000 -ag1809 -aS'hinge connector of long tail fiber distal connector' -p2001 -ag1735 -ag1658 -ag1729 -ag1736 -aS'tailspike protein' -p2002 -aS'capsid maturation protease' -p2003 -aS'baseplate J' -p2004 -aS'LysB' -p2005 -aS'putative tail fiber protein' -p2006 -aS'putative helicase-primase' -p2007 -ag1663 -ag1579 -aS'virion morphogenesis protein' -p2008 -ag1991 -ag1989 -aS'putative antireceptor' -p2009 -aS'pre-neck appendage protein' -p2010 -aS'putative replication origin binding protein' -p2011 -ag1859 -ag1983 -aS'assembly protein' -p2012 -aS'tailspike 63D sialidase' -p2013 -aS'head maturation protease' -p2014 -ag1674 -ag1990 -aS'putative poly A polymerase' -p2015 -aS'glycosyltransferase/methyl transferase' -p2016 -ag1858 -ag1901 -aS'morphogenesis protein' -p2017 -aS'gp54' -p2018 -ag1694 -ag1541 -ag1629 -ag1585 -aS'tail completion and sheath stabilizer protein' -p2019 -ag1670 -aS'tail assembly protein' -p2020 -ag1629 -ag1716 -aS'RecE' -p2021 -ag1556 -aS'inhibitor of host transcription' -p2022 -aS'ribonuclease H' -p2023 -aS'baseplate wedge protein' -p2024 -aS'modifier of suppressor tRNAs' -p2025 -aS'gp6' -p2026 -aS'flavodoxin' -p2027 -ag1989 -ag1658 -ag1658 -aS'Kil protein' -p2028 -aS'glycosyl transferase' -p2029 -ag1689 -ag1689 -aS'peptidase_S74 domain protein' -p2030 -ag1585 -aS'N-acetylmuramoyl-L-alanine amidase' -p2031 -aS'capsid portal protein Q' -p2032 -aS'gp11' -p2033 -aS'histidine triad domain protein' -p2034 -aS'DNA delivery' -p2035 -ag1753 -ag1679 -aS'endolysin' -p2036 -aS'O-methyltransferase' -p2037 -aS'putative ribonuclease H' -p2038 -aS'NAD-dependent DNA ligase' -p2039 -aS'modifier of transcription' -p2040 -aS'tapemeasure' -p2041 -aS'DNA packaging ATPase' -p2042 -aS'gp74' -p2043 -ag1658 -aS'Hoc large outer capsid protein' -p2044 -ag1774 -aS'putative baseplate wedge protein' -p2045 -aS'long tail fiber distal subunit' -p2046 -aS'gp142' -p2047 -ag1811 -ag1990 -ag1738 -ag1700 -ag1663 -ag1877 -aS'recombinase' -p2048 -aS'internal (core) protein' -p2049 -aS'LysM domain-containing protein' -p2050 -aS'tailspike' -p2051 -aS'DR0530-like primase' -p2052 -aS'distal tail protein' -p2053 -aS'late control D protein' -p2054 -ag1658 -aS'putative peptidase M23' -p2055 -ag1823 -aS'Uncharacterized protein MJ0770' -p2056 -aS'ATPase family protein' -p2057 -aS'lytic protein Rz1' -p2058 -ag1871 -aS'HTH DNA binding domain protein' -p2059 -aS'Vs valyl-tRNA synthetase modifier' -p2060 -ag1668 -ag1938 -ag1754 -aS'glycerophosphoryl diesterphosphodiesterase' -p2061 -ag1586 -aS'putative site-specific intron-like DNA endonuclease' -p2062 -ag2020 -aS'head morphogeneis protein' -p2063 -ag1663 -aS'virion-associated phage protein' -p2064 -aS'CHAP domain protein' -p2065 -aS'DarB-like antirestriction protein' -p2066 -aS'replication protein' -p2067 -aS'partition protein ParB' -p2068 -aS'putative gp37' -p2069 -aS'gp10' -p2070 -ag1738 -ag1824 -aS'DarB' -p2071 -aS'Ant1' -p2072 -aS'gp41, hypothetical protein' -p2073 -aS'gp43' -p2074 -ag1918 -aS'putative phage repressor' -p2075 -aS'cytosine-specific DNA methyltransferase' -p2076 -aS'gp61' -p2077 -aS'gp23' -p2078 -ag1817 -aS'tail fiber' -p2079 -ag2070 -aS'phage terminase large subunit' -p2080 -aS'putative endonuclease' -p2081 -aS'gp50' -p2082 -ag1989 -aS'gp20' -p2083 -aS'putative bifunctional DNA primase/polymerase' -p2084 -ag1736 -aS'metal-dependent hydrolase' -p2085 -ag1724 -aS'Ro protein' -p2086 -aS'putative DNA-PolB associated exonuclease' -p2087 -ag1865 -ag2041 -ag1835 -aS'HNH endonuclease domain protein' -p2088 -ag1901 -aS'membrane protein' -p2089 -ag1901 -aS'replicative clamp' -p2090 -ag1974 -aS'DNA polymerase III beta subunit' -p2091 -aS'restriction endonuclease' -p2092 -aS'TreO' -p2093 -aS'putative head stabilization/decoration protein' -p2094 -ag2079 -ag1752 -aS'replication terminator protein' -p2095 -ag2027 -aS'putative DNA methylase' -p2096 -aS'TreB' -p2097 -aS'putative peptidase' -p2098 -ag1554 -aS'neck passage structure protein' -p2099 -aS'transposase-like protein' -p2100 -aS'putative outer membrane protein' -p2101 -aS'colanic acid-degrading protein' -p2102 -ag2028 -aS'positive control sigma-like factor' -p2103 -aS'putative peptidyl-tRNA hydrolase' -p2104 -aS'TreA' -p2105 -ag1554 -ag1680 -aS'NAD-dependent DNA ligase subunit B' -p2106 -ag1752 -aS'pre-TMP frameshift protein' -p2107 -aS'RNAse H' -p2108 -aS'pre-tape measure frameshift protein G-T' -p2109 -aS'putative phage tail protein' -p2110 -ag1700 -ag1704 -ag1823 -aS'constituent protein' -p2111 -aS'major capsid & capsid maturation protease' -p2112 -aS'head-to-tail connector' -p2113 -ag1679 -ag1689 -ag1529 -ag2078 -aS'putative DNA primase/polymerase' -p2114 -ag1586 -aS'recombination protein U' -p2115 -aS'topoisomerase II large subunit' -p2116 -aS'beta glucosyl transferase' -p2117 -ag1901 -aS'VI protein' -p2118 -ag2059 -aS'putative DNA N6-adenine methyltransferase' -p2119 -ag1831 -aS'rare lipoprotein A' -p2120 -ag1900 -aS'putative phage DNA primase' -p2121 -ag1901 -ag1771 -aS'pectate lyase' -p2122 -ag1541 -ag1901 -ag2041 -aS'gp26' -p2123 -ag1852 -ag1915 -aS'putative cell division control protein' -p2124 -aS'receptor-binding tail protein' -p2125 -ag1967 -ag1967 -aS'putative minor structural protein 1' -p2126 -aS'putative lower collar protein' -p2127 -aS'putative cell wall hydrolase protein' -p2128 -aS'carboxypeptidase A' -p2129 -aS'putative primase' -p2130 -aS'putative DNA replication protein' -p2131 -ag1658 -ag2048 -ag1773 -aS'phospho-2-dehydro-3-deoxyheptonate aldolase' -p2132 -ag1774 -aS'MazG' -p2133 -aS'prohead protease' -p2134 -aS'Appr-1-p processing protein' -p2135 -ag2006 -aS'putative encapsidation protein' -p2136 -aS'DNA pilot protein VP2' -p2137 -aS'putative DHH phosphoesterase protein' -p2138 -aS'HTH binding protein' -p2139 -ag1658 -aS'putative pre-tape measure chaperone protein' -p2140 -aS'putative tape measure protein' -p2141 -aS'tail lysozyme' -p2142 -aS'complement inhibitor' -p2143 -ag1989 -ag1716 -aS'coat protein' -p2144 -aS'VP4 precursor' -p2145 -aS'DnaA protein' -p2146 -aS'receptor-blocking protein' -p2147 -ag1556 -ag1784 -ag1704 -aS'antioxidant protein' -p2148 -aS'putative sporulation protein YhbH' -p2149 -aS'putative IS transposase (OrfA)' -p2150 -aS'putative DNA injection protein' -p2151 -ag2003 -ag1700 -aS'receptor-binding protein' -p2152 -aS'cell wall peptidase' -p2153 -ag1586 -aS'major capsid subunit' -p2154 -ag1552 -aS'LysM' -p2155 -ag1689 -ag1674 -ag1662 -aS'DNA polymerase IV' -p2156 -aS'abortive infection bacteriophage resistance protein' -p2157 -aS'pyruvate kinase' -p2158 -aS'peptide deformylase' -p2159 -ag1567 -ag1871 -aS'Rz' -p2160 -ag1694 -ag1552 -aS'chaperonin GroEL' -p2161 -ag2021 -ag1629 -ag2033 -aS'putative adsorption protein' -p2162 -ag1988 -aS'von Willebrand factor domain protein' -p2163 -ag1823 -aS'EaC protein' -p2164 -ag2006 -aS'putative DNAse/helicase protein' -p2165 -aS'LAGLIDADG endonuclease' -p2166 -aS'AbrB family transcriptional regulator' -p2167 -aS'putative transcriptional activator' -p2168 -ag1753 -ag1820 -ag1754 -aS'cell wall hydrolase' -p2169 -ag1997 -ag1754 -aS'tail connector protein' -p2170 -aS'PE/PPE-like protein' -p2171 -aS'acetyltransferase' -p2172 -aS'bacteriocin biosynthesis protein' -p2173 -aS'putative rIIa-like protein' -p2174 -aS'putative DNA polymerase' -p2175 -aS'Cro-like protein' -p2176 -aS'gp42' -p2177 -aS'lytic protein Rz' -p2178 -aS'DNA polymerase III subunit beta' -p2179 -aS'LysA' -p2180 -aS'putative 2-component regulator' -p2181 -aS'QueF' -p2182 -ag1824 -aS'transposase InsH, IS5D, IS5 family' -p2183 -aS'CRO protein' -p2184 -aS'YolD-like protein' -p2185 -aS'putative glucose-1-phosphate thymidylyltransferase' -p2186 -aS'putative base plate lysozyme' -p2187 -aS'adhesin' -p2188 -ag1901 -aS'chaperonin cpn10' -p2189 -ag1901 -ag1901 -ag1901 -ag1901 -ag1901 -ag2051 -ag1540 -aS'phage tail fiber protein' -p2190 -aS'HicA-like protein' -p2191 -ag1824 -aS'gene transfer agent' -p2192 -ag1689 -aS'MutT/NUDIX hydrolase family protein' -p2193 -ag1823 -aS'bacterial surface protein' -p2194 -aS'RNA polymerase ECF sigma factor' -p2195 -ag1780 -ag1736 -aS'phage tail protein' -p2196 -ag1752 -aS'Tail fiber protein' -p2197 -ag1754 -aS'putative IS transposase (OrfB)' -p2198 -aS'putative transglutaminase-like cysteine peptidase' -p2199 -ag1672 -aS'putative lectin-like domain protein' -p2200 -ag1753 -ag1753 -aS'putative holin protein' -p2201 -aS'putative inner membrane spanin component' -p2202 -aS'putative outer membrane spanin component' -p2203 -aS'putative HTH domain protein' -p2204 -aS'putative TAT signal protein' -p2205 -ag1585 -aS'putative ArdC-like antirestriction protein' -p2206 -ag1901 -ag1901 -ag1586 -aS'tape measure' -p2207 -aS'potassium voltage-gated channel subfamily A member 1 protein' -p2208 -aS'putative small terminase subunit' -p2209 -ag1736 -ag1770 -aS'putative rIIb-like protein' -p2210 -aS'intein-containing putative terminase large subunit precursor' -p2211 -ag1638 -aS'putative HNH endonuclease inducing intron mobility' -p2212 -aS'phage head-tail joining protein' -p2213 -aS'RNA polymerase-ADP-ribosyltransferase Alt' -p2214 -ag1899 -aS'putative phage-related hydrogenase' -p2215 -ag1662 -ag1871 -aS'staphylokinase' -p2216 -aS'chemotaxis-inhibiting protein CHIPS' -p2217 -aS'TerB' -p2218 -aS'long tail fiber distal subunit adhesine' -p2219 -aS'putative ABC transporter ATP-binding protein' -p2220 -aS'ea59' -p2221 -ag2175 -aS'AlpA-like transcriptional regulator' -p2222 -ag1784 -aS'ATP-dependent metalloprotease' -p2223 -ag1753 -ag1556 -aS'putative amidotransferase' -p2224 -ag1585 -aS'tRNA (cmo5U34)-methyltransferase' -p2225 -aS'EaI protein' -p2226 -aS'RecA-like recombination protein' -p2227 -aS'glycosyltransferase-family protein' -p2228 -ag1845 -ag1871 -aS'cI-like putative transcriptional regulator' -p2229 -aS'phycobilisome degredation protein' -p2230 -aS'VP4' -p2231 -aS'putative phage structural protein' -p2232 -aS'putative HD domain protein' -p2233 -aS'type II restriction enzyme BsuBI' -p2234 -aS'modification methylase BsuBI' -p2235 -ag1873 -ag1892 -ag1811 -ag1901 -aS'RstB' -p2236 -aS'YomR-like protein' -p2237 -aS'RIIA-like protein' -p2238 -ag1865 -aS'conserved hypothetical protein (XkdN-like)' -p2239 -aS'tail sheath' -p2240 -aS'aerobic NDP reductase small subunit' -p2241 -aS'putative DNA segregation ATPase FtsK/SpoIIIE' -p2242 -aS'PemK-like protein' -p2243 -aS'tail spike protein' -p2244 -ag2070 -aS'gp25' -p2245 -ag1553 -aS'replication factor C small subunit' -p2246 -aS'Mu F-like capsid morphogenesis protein' -p2247 -ag1871 -ag1823 -aS'regulator of chromosome condensation RCC1' -p2248 -aS'putative lysozyme' -p2249 -ag1557 -aS'putative virion protein and lysozyme murein' -p2250 -ag1784 -aS'putative tail fiber protein 1' -p2251 -ag1556 -aS'VRR-NUC domain containing protein' -p2252 -ag1989 -ag1902 -ag1542 -aS'putative tail length tape measure protein' -p2253 -ag1901 -ag1901 -aS'head outer capsid protein' -p2254 -aS'gp165' -p2255 -aS'base plate lysozyme' -p2256 -ag1579 -ag2006 -ag1585 -ag1745 -aS'putative DNA endonuclease VII' -p2257 -aS'site specific recombinase, tyrosine' -p2258 -ag1553 -ag2196 -ag1529 -aS'LydD' -p2259 -aS'OdaA' -p2260 -aS'PmgA' -p2261 -aS'RepA' -p2262 -aS'ShtB' -p2263 -aS'putative S-adenosylmethionine synthetase' -p2264 -aS'putative envelope protein' -p2265 -ag1778 -ag2033 -ag1861 -ag1832 -ag2078 -aS'virion protein' -p2266 -ag1865 -aS'peptidase-like protein' -p2267 -ag1708 -aS'capsid and scaffold protein' -p2268 -aS'PblB-type protein' -p2269 -ag1671 -ag1553 -aS'transcription regulatory protein' -p2270 -aS'zinc-ribbon domain-containing protein' -p2271 -aS'internal virion protein' -p2272 -aS'PCNA protein' -p2273 -ag1871 -aS'RNA polymerase sigma-70 factor' -p2274 -ag2064 -ag1554 -aS'helix-turn-helix domain protein' -p2275 -ag1751 -aS'phosphohydrolase' -p2276 -ag1658 -aS'PfWMP3_27' -p2277 -ag1544 -ag1994 -aS'scaffold protein' -p2278 -aS'enterotoxin type A precursor' -p2279 -aS'160 kDa protein' -p2280 -ag1873 -ag2002 -ag1755 -ag1561 -aS'ribonucleotide diphosphate reductas alpha subunit' -p2281 -ag1901 -aS'NAD+ synthetase' -p2282 -aS'putative tail fiber adhesion protein' -p2283 -ag1585 -aS'putative ribosomal-protein-alanine N-acetyltransferase' -p2284 -ag2010 -aS'putative lysozyme-peptidase' -p2285 -aS'putative DNA modification methylase' -p2286 -aS'putative aminoacyl-tRNA hydrolase' -p2287 -ag1752 -aS'possible virion structural protein' -p2288 -ag1971 -aS'phenylalanyl-tRNA synthetase subunit beta' -p2289 -ag2189 -ag1901 -ag1901 -ag1901 -aS'NifU-like protein' -p2290 -ag1755 -aS'beta-glucanase' -p2291 -ag2177 -aS'gp101' -p2292 -ag1540 -aS'helix-turn-helix XRE-family of transcriptional regulators' -p2293 -ag1922 -aS'major tail protein extension' -p2294 -aS'pIII-CTX' -p2295 -ag1900 -ag1679 -aS'RecA-like recombinase' -p2296 -ag1871 -ag1888 -aS'HNH protein' -p2297 -ag1918 -aS'Gp40 protein' -p2298 -aS'Gp41 protein' -p2299 -aS'Gp7 protein' -p2300 -aS'putative dehalogenase hydrolase-like protein' -p2301 -aS'putative phosphoribosyltransferase-like domain protein' -p2302 -aS'putative dTDP-4-dehydrorhamnose 3,5-epimerase' -p2303 -ag1736 -aS'putative virion structural protein 19' -p2304 -ag2272 -aS"putative RNA 2'-phosphotransferase" -p2305 -aS'putative NAD+ diphosphatase' -p2306 -aS'primase/polymerase' -p2307 -aS'Cre' -p2308 -aS'portal vertex protein of head' -p2309 -aS'LydA' -p2310 -aS'Phd' -p2311 -ag2089 -aS'minor tail protein L' -p2312 -ag2005 -aS'putative DNA binding protein' -p2313 -ag1752 -aS'putative nicotinamide mononucleotide transporter' -p2314 -ag1753 -ag2207 -ag1752 -ag1901 -aS'deaminase' -p2315 -ag2134 -aS'middle expressed protein 4' -p2316 -aS'putative bacterial RNA polymerase inhibitor' -p2317 -aS'glycosidase' -p2318 -aS'EaD protein' -p2319 -ag1752 -aS'phage DNA end protector during packaging' -p2320 -ag2088 -ag1552 -ag1745 -ag1783 -aS'immunoglobulin I-set domain protein' -p2321 -ag1658 -aS'minor tail protein Z' -p2322 -ag1752 -ag1752 -aS'C8' -p2323 -aS'Mat' -p2324 -aS'putative protein Ulx' -p2325 -aS'Pro' -p2326 -aS'conserved protein of unknown function, DdrB' -p2327 -aS'Upf26.7' -p2328 -aS'DarA' -p2329 -aS'conserved protein of unknown function Hdf' -p2330 -aS'LydB' -p2331 -aS'gpR' -p2332 -ag1815 -aS'PmgB' -p2333 -aS'major tail tube protein TubB' -p2334 -aS'PmgC' -p2335 -aS'putative outer membrane lipoprotein' -p2336 -aS'Icd' -p2337 -aS'RepL' -p2338 -aS'Upf52.7' -p2339 -aS'upf54.2' -p2340 -aS'tail sheath protein Gp22' -p2341 -aS'Upf57.5' -p2342 -aS'Upf62.7' -p2343 -aS'conserved protein of unknown function UpfB' -p2344 -aS'Upf64.0' -p2345 -aS'Dbn' -p2346 -ag2026 -aS'Upf78.5' -p2347 -ag1837 -ag2245 -ag2123 -aS'PmgN' -p2348 -aS'putative morphogenetic protein PmgP' -p2349 -aS'HdmD' -p2350 -aS'PmgR' -p2351 -aS'Fdc' -p2352 -aS'Lpa' -p2353 -aS'PacA' -p2354 -aS'C1.100' -p2355 -aS'Coi' -p2356 -ag2185 -aS'ea8.5' -p2357 -aS'putative mitochondrial DNA polymerase gamma homologue' -p2358 -ag1825 -aS'DNA polymerase I-like flap endonuclease (FEN)' -p2359 -aS'IS1 transposase B' -p2360 -ag1532 -ag2043 -aS'gp87' -p2361 -aS'gp114' -p2362 -aS'gp135' -p2363 -ag1819 -ag1745 -ag2083 -ag1892 -aS'gp97' -p2364 -aS'lytic conversion lipoprotein precursor' -p2365 -aS'BofR' -p2366 -aS'head-tail connector' -p2367 -aS'nucleoid-associated protein' -p2368 -ag1901 -ag1901 -ag1554 -aS'putative lysin' -p2369 -ag2089 -aS'glycosyl transferase group I' -p2370 -ag1901 -ag2224 -aS'plasmid maintenance system killer HigB' -p2371 -ag1554 -ag2268 -aS'core encoded pilin' -p2372 -aS'accessory cholera enterotoxin' -p2373 -ag1552 -aS'tail protein P' -p2374 -aS'formamidopyrimidine-DNA glycosylase' -p2375 -aS'putative head-tail connector protein' -p2376 -aS'Conserved hypothetical' -p2377 -aS'lysophospholipase L1-related esterase' -p2378 -ag2036 -aS'acetyltransferase domain protein' -p2379 -ag2088 -aS'XRE family transcriptional regulator' -p2380 -aS'S-layer domain-containing protein' -p2381 -aS'Hypothetical-Protein ' -p2382 -aS'sulfotransferase' -p2383 -ag1777 -aS'gp69' -p2384 -aS'palmitoyltransferase' -p2385 -aS'Ea47 protein' -p2386 -aS'Ea31 protein' -p2387 -aS'putative excinuclease ABC' -p2388 -ag1878 -ag1852 -aS'gp38' -p2389 -aS'gp39' -p2390 -aS'gp41' -p2391 -aS'gp45' -p2392 -aS'gp47' -p2393 -ag1892 -aS'Phage repressor' -p2394 -ag1813 -ag1724 -ag1861 -ag1831 -ag1858 -ag2078 -ag2245 -ag1888 -aS'O-antigen beta polymerase' -p2395 -ag1824 -aS'ssDNA-binding' -p2396 -aS'putative repressor' -p2397 -ag2078 -ag1810 -aS'gp34.26' -p2398 -aS'gp34 protein' -p2399 -aS'gp03 protein' -p2400 -ag1871 -aS'putative Kelch-like ECH-associated protein' -p2401 -ag1871 -ag1871 -ag1871 -ag1871 -ag1871 -ag1871 -ag1871 -ag1871 -ag1871 -ag1871 -ag1871 -ag1871 -ag1871 -ag1871 -aS'putative nucleotidyltransferase protein' -p2402 -ag1819 -ag1859 -aS'putative Fe-S oxidoreductase' -p2403 -ag2033 -ag2382 -ag1940 -aS'PRGA-formyltransferase' -p2404 -aS'putative protein 2' -p2405 -aS'VP13' -p2406 -aS'VP2' -p2407 -aS'capsid protein VP5' -p2408 -aS'putative protein 31' -p2409 -aS'putative protein 33' -p2410 -aS'putative terminase large subunit-like protein' -p2411 -ag2389 -aS'C-terminal part of the MCM2-like helicase' -p2412 -ag2268 -ag1752 -aS'putative antirestriction protein' -p2413 -ag1865 -ag2020 -ag1951 -aS'putative topoisomerasae I protein' -p2414 -aS'putative ATPase' -p2415 -aS'trypsin-like serine protease domain protein' -p2416 -aS'gp14-like protein' -p2417 -aS'antirepressor' -p2418 -aS'gp18.5' -p2419 -ag1677 -aS'glycerophosphodiester phosphodiesterase' -p2420 -ag1629 -ag1754 -aS'putative quaternary ammonium compound-resistance protein qacE' -p2421 -aS'gp134' -p2422 -aS'Very-short-patch mismatch repair endonuclease' -p2423 -aS'putative cytoplasmic protein' -p2424 -aS'alkaline phosphatase' -p2425 -aS'putative DNA binding excisionase protein' -p2426 -aS'metallo-beta-lactamase domain-containing protein' -p2427 -aS'putative SpoVG protein' -p2428 -ag1552 -aS'CobS porphyrin biosynthetic protein' -p2429 -ag2006 -aS'Possible tail sheath protein' -p2430 -aS'Possible phage tail tube protein' -p2431 -aS'putative transketolase' -p2432 -aS'putative N-acetylneuraminate pyruvate lyase' -p2433 -aS'putative minor tail assembly protein' -p2434 -aS'putative UDP-glucose dehydrogenase' -p2435 -ag1823 -aS'HicB protein' -p2436 -ag1752 -aS'putative acetyltransferase' -p2437 -aS'putative radical SAM superfamily protein 2' -p2438 -aS'Hef nuclease' -p2439 -aS'replication factor C large subunit' -p2440 -aS'RadA' -p2441 -ag1586 -aS'gpF-like protein' -p2442 -aS'zeta toxin domain protein' -p2443 -ag1556 -ag1736 -aS'RNAse HI' -p2444 -ag1540 -ag1556 -ag1752 -aS'DUF3800 domain-containing protein' -p2445 -ag1901 -aS'VirE N-domain protein' -p2446 -aS'gp77' -p2447 -ag2130 -aS'prophage protein' -p2448 -aS'gp004' -p2449 -ag1756 -aS'gp241' -p2450 -ag1809 -aS'gp44' -p2451 -ag1938 -aS'tail tape measure chaperone protein' -p2452 -aS'BTLCP-like protein' -p2453 -ag1552 -aS'putative protein containing Nos-D like domain' -p2454 -aS'peptidase M15' -p2455 -aS'putative homing endonuclease' -p2456 -aS'elongation factor Ts-like protein' -p2457 -aS'S-adenosylmethionine decarboxylase-like protein' -p2458 -aS'putative peptidase-like protein' -p2459 -aS'signal peptide protein' -p2460 -aS'RelA/SpoT family protein' -p2461 -ag1585 -aS'DNA topoisomerase II large subunit C-terminal region' -p2462 -ag1858 -ag1671 -aS'putative Transcription initiation factor B' -p2463 -aS'packaging NTPase P4' -p2464 -ag1572 -aS'RNA ligase 2' -p2465 -ag1861 -ag2006 -aS'chaperone protein DnaK' -p2466 -aS'capsid decoration protein' -p2467 -aS'gp14' -p2468 -aS'prophage antirepressor' -p2469 -ag1938 -ag2046 -ag2224 -ag1878 -ag1845 -ag1997 -ag1554 -aS'o-spanin' -p2470 -ag2389 -ag1753 -ag1658 -ag1790 -ag2006 -aS'cytolethal distending toxin V B subunit' -p2471 -aS'minor structural protein gp58' -p2472 -aS'putative peptidase/serine protease' -p2473 -aS'DNA polymerase subunit III' -p2474 -aS'adenosylribosyltransferase' -p2475 -aS'peptidase domain-containing protein' -p2476 -aS'head morphogenesis protein' -p2477 -aS'putative TROVE-like domain protein' -p2478 -ag1824 -aS'putative radical SAM superfamily protein 1' -p2479 -ag1662 -ag1901 -ag1982 -aS'gp53 protein' -p2480 -ag1752 -ag2141 -aS'DNA-binding protein' -p2481 -aS'putative crossover junction endodeoxyribonuclease RusA' -p2482 -aS'Rec A-like recombinase' -p2483 -aS'Other' -p2484 -aS'Coat' -p2485 -aS'Assembly' -p2486 -ag2484 -ag2485 -ag2484 -aS'Replication' -p2487 -ag2485 -ag2484 -ag2487 -ag2484 -ag2487 -ag2487 -ag2484 -aS'Other (structural)' -p2488 -ag2486 -aS'Tail' -p2489 -ag2484 -ag2484 -ag2484 -aS'Lysis' -p2490 -ag2484 -ag2484 -ag2484 -aS'Terminase' -p2491 -ag2484 -ag2490 -ag2484 -ag2485 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2491 -ag2490 -ag2484 -ag2486 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2488 -ag2488 -ag2489 -aS'Integration' -p2492 -ag2486 -ag2484 -ag2484 -ag2484 -ag2484 -ag2491 -aS'Portal' -p2493 -ag2484 -ag2484 -ag2486 -ag2484 -ag2484 -ag2484 -ag2484 -ag2492 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2487 -ag2489 -ag2487 -ag2487 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2486 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2486 -aS'Baseplate' -p2494 -ag2494 -ag2489 -ag2489 -ag2484 -ag2484 -ag2484 -ag2486 -ag2484 -ag2484 -ag2484 -ag2485 -ag2484 -ag2484 -ag2494 -ag2494 -ag2489 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2490 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2491 -ag2486 -ag2489 -ag2489 -ag2486 -ag2489 -ag2489 -ag2487 -ag2490 -ag2484 -ag2484 -ag2491 -ag2490 -ag2490 -ag2486 -ag2490 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2487 -ag2484 -ag2484 -ag2493 -ag2485 -ag2485 -ag2485 -ag2485 -ag2490 -ag2484 -ag2484 -ag2493 -ag2490 -ag2487 -ag2484 -ag2485 -ag2490 -ag2484 -ag2491 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2491 -ag2488 -ag2493 -ag2484 -ag2484 -ag2488 -ag2489 -ag2489 -ag2489 -ag2489 -ag2489 -ag2489 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2491 -ag2484 -ag2484 -ag2490 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2492 -ag2484 -ag2484 -ag2484 -ag2484 -ag2485 -ag2484 -ag2484 -ag2484 -ag2484 -ag2490 -ag2484 -ag2494 -ag2484 -ag2493 -ag2489 -ag2484 -ag2484 -ag2492 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2491 -ag2485 -ag2489 -ag2489 -ag2489 -ag2484 -ag2489 -ag2489 -ag2489 -ag2484 -ag2484 -ag2493 -ag2485 -ag2487 -ag2484 -ag2484 -ag2486 -ag2489 -ag2490 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2485 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2491 -ag2489 -ag2486 -ag2489 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2486 -ag2486 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2488 -ag2484 -ag2491 -ag2485 -ag2490 -ag2484 -ag2493 -ag2484 -ag2485 -ag2484 -ag2484 -ag2488 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2491 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2492 -ag2484 -ag2489 -ag2489 -ag2484 -ag2490 -ag2484 -ag2485 -ag2487 -ag2485 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2485 -ag2493 -ag2484 -ag2484 -ag2484 -ag2484 -ag2486 -ag2484 -ag2484 -ag2486 -ag2489 -ag2490 -ag2484 -ag2484 -ag2491 -ag2486 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2486 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2490 -ag2484 -ag2484 -ag2484 -ag2484 -ag2490 -ag2484 -ag2487 -ag2484 -ag2484 -ag2489 -ag2489 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2491 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2485 -ag2486 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2485 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2485 -ag2492 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2490 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2492 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2485 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2489 -ag2489 -ag2489 -ag2492 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2494 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2485 -ag2484 -ag2484 -ag2492 -ag2492 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2491 -ag2484 -ag2490 -ag2487 -ag2484 -ag2487 -ag2485 -ag2484 -ag2493 -ag2489 -ag2489 -ag2490 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2485 -ag2490 -ag2484 -ag2487 -ag2486 -ag2484 -ag2489 -ag2489 -ag2484 -ag2488 -ag2489 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2485 -ag2484 -ag2493 -ag2487 -ag2487 -ag2484 -ag2490 -ag2484 -ag2488 -ag2484 -ag2489 -ag2489 -ag2486 -ag2489 -ag2486 -ag2494 -ag2484 -ag2489 -ag2487 -ag2490 -ag2492 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2490 -ag2486 -ag2489 -ag2486 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2494 -ag2491 -ag2486 -ag2484 -ag2486 -ag2494 -ag2490 -ag2484 -ag2485 -ag2484 -ag2484 -ag2494 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2489 -ag2484 -ag2484 -ag2489 -ag2489 -ag2484 -ag2491 -ag2484 -ag2493 -ag2484 -ag2484 -ag2484 -ag2489 -ag2489 -ag2490 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2485 -ag2484 -ag2494 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2491 -ag2490 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2487 -ag2489 -ag2484 -ag2489 -ag2484 -ag2490 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2493 -ag2484 -ag2486 -ag2484 -ag2490 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2492 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2491 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2486 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2489 -ag2489 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2490 -ag2484 -ag2492 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2490 -ag2484 -ag2487 -ag2489 -ag2484 -ag2484 -ag2484 -ag2489 -ag2491 -ag2484 -ag2490 -ag2484 -ag2486 -ag2488 -ag2489 -ag2489 -ag2485 -ag2484 -ag2487 -ag2493 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2489 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2487 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2486 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2490 -ag2485 -ag2484 -ag2484 -ag2484 -ag2485 -ag2484 -ag2484 -ag2484 -ag2484 -ag2492 -ag2484 -ag2486 -ag2491 -ag2484 -ag2484 -ag2493 -ag2485 -ag2491 -ag2484 -ag2489 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2491 -ag2484 -ag2484 -ag2494 -ag2484 -ag2484 -ag2484 -ag2484 -ag2490 -ag2484 -ag2489 -ag2487 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2487 -ag2484 -ag2484 -ag2487 -ag2488 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2492 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2487 -ag2489 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2490 -ag2484 -ag2484 -ag2484 -ag2486 -ag2489 -ag2489 -ag2489 -ag2487 -ag2492 -ag2484 -ag2485 -ag2484 -ag2489 -ag2489 -ag2490 -ag2484 -ag2484 -ag2484 -ag2484 -ag2491 -ag2484 -ag2484 -ag2484 -ag2493 -ag2484 -ag2484 -ag2491 -ag2486 -ag2493 -ag2484 -ag2491 -ag2494 -ag2484 -ag2488 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2489 -ag2485 -ag2484 -ag2491 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2490 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2489 -ag2485 -ag2484 -ag2484 -ag2484 -ag2488 -ag2489 -ag2484 -ag2484 -ag2485 -ag2484 -ag2484 -ag2492 -ag2489 -ag2491 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2485 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2492 -ag2484 -ag2484 -ag2485 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2490 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2489 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2491 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2492 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2486 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2493 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2489 -ag2484 -ag2489 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2491 -ag2484 -ag2489 -ag2484 -ag2489 -ag2489 -ag2489 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2487 -ag2487 -ag2492 -ag2485 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2488 -ag2484 -ag2484 -ag2484 -ag2490 -ag2490 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2490 -ag2484 -ag2484 -ag2484 -ag2491 -ag2489 -ag2484 -ag2488 -ag2484 -ag2484 -ag2490 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2485 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2485 -ag2484 -ag2484 -ag2491 -ag2484 -ag2487 -ag2484 -ag2489 -ag2484 -ag2489 -ag2486 -ag2494 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2485 -ag2484 -ag2494 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2491 -ag2484 -ag2489 -ag2489 -ag2489 -ag2484 -ag2484 -ag2486 -ag2484 -ag2490 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2493 -ag2484 -ag2484 -ag2485 -ag2486 -ag2484 -ag2487 -ag2485 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2491 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2491 -ag2487 -ag2484 -ag2485 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2485 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2485 -ag2484 -ag2484 -ag2490 -ag2484 -ag2484 -ag2489 -ag2489 -ag2489 -ag2489 -ag2484 -ag2484 -ag2484 -ag2487 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2484 -ag2489 -ag2484 -ag2484 -ag2484 -ag2484 -atp2495 -ba(lp2496 -g15 -(g16 -(dp2497 -g18 -g19 -(g20 -(I0 -tp2498 -g22 -tp2499 -Rp2500 -(I1 -(I2 -tp2501 -g29 -I00 -(lp2502 -g33 -ag34 -atp2503 -bsg36 -Nstp2504 -Rp2505 -a(dp2506 -S'0.14.1' -p2507 -(dp2508 -S'axes' -p2509 -g14 -sS'blocks' -p2510 -(lp2511 -(dp2512 -S'mgr_locs' -p2513 -c__builtin__ -slice -p2514 -(I0 -I2 -I1 -tp2515 -Rp2516 -sS'values' -p2517 -g1525 -sasstp2518 -bsb. \ No newline at end of file diff --git a/prepare_and_publish_package.bat b/prepare_and_publish_package.bat deleted file mode 100644 index 5abab61..0000000 --- a/prepare_and_publish_package.bat +++ /dev/null @@ -1,25 +0,0 @@ -echo "Did you change git action and updated the package?" -pause -git pull -echo "Recovering Windows-Linux issues" -C:\Users\tikho\Anaconda3\python.exe recover_pickle_files.py -pause -move /-Y dist\*.* dist_old_versions\ -C:\Users\tikho\Anaconda3\python.exe setup_version.py -pause -C:\Users\tikho\Anaconda3\python.exe setup.py sdist bdist_wheel -pause -git add --all -git status -pause -set /P commit_name="Please, make up the commit name:" -set /p tag==1.7.0', - 'pandas>=0.23.4', - 'sh', - 'singleton', - 'PyYAML>=5.1', - 'future', - 'argparse', - 'numpy', - 'plotly', - 'bs4', - 'beautifulsoup4>=4.4.0', - 'lxml', - 'biopython', + "numpy", + "six>=1.7.0", + "pandas>=0.23.4", + "sh", + "singleton", + "PyYAML>=5.1", + "future", + "argparse", + "numpy", + "plotly", + "bs4", + "beautifulsoup4>=4.4.0", + "lxml", + "biopython", ], ) diff --git a/setup_version.py b/setup_version.py index 7a4e468..f307f08 100644 --- a/setup_version.py +++ b/setup_version.py @@ -6,80 +6,78 @@ from copy import deepcopy -setup_file = 'setup.py' -version_file = 'phigaro/_version.py' -readme_file = 'README.md' -latest_version_file = 'test_data_gitaction/latest_version.txt' -tag_file = 'tag_name' +setup_file = "setup.py" +version_file = "phigaro/_version.py" +readme_file = "README.md" +latest_version_file = "test_data_gitaction/latest_version.txt" +tag_file = "tag_name" -with open(setup_file, 'r') as f: +with open(setup_file, "r") as f: tmp_version = f.readlines()[12].strip() -print('Temporary %s' % tmp_version) +print("Temporary %s" % tmp_version) -tmp_version = ( - tmp_version.replace('version=', '').replace('"', '').replace(',', '') -) -tmp_version = tmp_version.split('.') +tmp_version = tmp_version.replace("version=", "").replace('"', "").replace(",", "") +tmp_version = tmp_version.split(".") version_variants = [] for i in list(range(len(tmp_version)))[::-1]: tmp_version_ = deepcopy(tmp_version) tmp_version_[i] = str(int(tmp_version_[i]) + 1) - version_variants.append('.'.join(tmp_version_)) - tmp_version[i] = '0' + version_variants.append(".".join(tmp_version_)) + tmp_version[i] = "0" def ask_version(version_variants): def confirm(version, version_variants): - print('Do you agree? Yes/No') + print("Do you agree? Yes/No") user_answer = input() - if user_answer.upper() in {'Y', 'YES'}: + if user_answer.upper() in {"Y", "YES"}: return version - elif user_answer.upper() in {'N', 'NO'}: + elif user_answer.upper() in {"N", "NO"}: return ask_version(version_variants) else: confirm(version, version_variants) for i, version in enumerate(version_variants): - print('[%d] %s' % (i, version)) - print('[%d] Type your version' % (len(version_variants))) + print("[%d] %s" % (i, version)) + print("[%d] Type your version" % (len(version_variants))) user_answer = input() try: version = version_variants[int(user_answer)] except: version = user_answer print() - print('You choose version: %s' % version) + print("You choose version: %s" % version) return confirm(version, version_variants) version = ask_version(version_variants) for file_ in [setup_file, version_file]: - with open(file_, 'r') as f: + with open(file_, "r") as f: lines = f.readlines() lines_new = [] for line in lines: - if ('version="' in line) or ('__version__' in line): - line = '='.join(line.split('=')[:-1] + ['"%s",' % version]) - if '__version__' in line: + if ('version="' in line) or ("__version__" in line): + line = "=".join(line.split("=")[:-1] + ['"%s",' % version]) + if "__version__" in line: line = line[:-1] - line = line + '\n' + line = line + "\n" lines_new.append(line) - with open(file_, 'w') as f: - f.write(''.join(lines_new)) + with open(file_, "w") as f: + f.write("".join(lines_new)) -with open(readme_file, 'r') as f: +with open(readme_file, "r") as f: lines = f.readlines() -lines[0] = '# Phigaro v%s\n' % version -with open(readme_file, 'w') as f: - f.write(''.join(lines)) +lines[0] = "# Phigaro v%s\n" % version +with open(readme_file, "w") as f: + f.write("".join(lines)) -with open(latest_version_file, 'w') as f: +with open(latest_version_file, "w") as f: f.write( - 'https://github.com/bobeobibo/phigaro/raw/master/dist/phigaro-%s.tar.gz' + "https://github.com/bobeobibo/phigaro/raw/master/dist/phigaro-%s.tar.gz" % version ) -with open(tag_file, 'w') as f: - f.write('v%s' % version) +with open(tag_file, "w") as f: + f.write("v%s" % version) diff --git a/tag_name b/tag_name index a6316f0..fa49670 100644 --- a/tag_name +++ b/tag_name @@ -1 +1 @@ -v2.3.0 \ No newline at end of file +v2.4.0 \ No newline at end of file diff --git a/test_data_gitaction/latest_version.txt b/test_data_gitaction/latest_version.txt index 7f974b1..ce39b86 100644 --- a/test_data_gitaction/latest_version.txt +++ b/test_data_gitaction/latest_version.txt @@ -1 +1 @@ -https://github.com/bobeobibo/phigaro/raw/master/dist/phigaro-2.3.0.tar.gz \ No newline at end of file +https://github.com/bobeobibo/phigaro/raw/master/dist/phigaro-2.4.0.tar.gz \ No newline at end of file diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..6bf9dbc --- /dev/null +++ b/tox.ini @@ -0,0 +1,17 @@ +[tox] +min_version = 4 +envlist = + format + py27, py3.5.0, py3.5.10, py3.6.0, py3.6.15, py3.7.0, py3.7.17, py3.8.0, py3.8.18, py3.9.0, py3.9.18, py3.10.0, py3.10.13, py3.11.0, py3.11.7, py3.12.0, py3.12.1 +skipsdist = false + +[testenv] +commands = + phigaro --help + +[testenv:format] +description = install black in a virtual environment and invoke it on the current folder +deps = black==22.3.0 +skip_install = true +commands = black . + diff --git a/version_tracker.md b/version_tracker.md index b2e4ec2..233659a 100644 --- a/version_tracker.md +++ b/version_tracker.md @@ -1,3 +1,12 @@ +## V2.4.0 +- Restored a compatibility with Python versions `> 3.7.1`. +- `.pickle` files, containing data neccasary for the work of the tool, were replaced with `.json` and `.csv` files to resolve compatibility issues. +- Added prophage IDs across outputs to improve compatibility between files. +- Fixed a bug with `gff3` and `bed` files formats: prophage coordinates were shifted by 1 nucleotide upstream in versions `phigaro <= 2.3.0`. + +## V2.3.0 +Added a `--save-fasta` option. + ## V2.2.6 Minor corrections. Docker & Singularity containers. What_the_phage implementation.
{7} {1} - {2}
@@ -534,9 +534,9 @@