From 1ff5f85cee31e418bce24e4cd51c7528c43bc968 Mon Sep 17 00:00:00 2001 From: Polina Tikhonova Date: Mon, 8 Jan 2024 13:29:14 -0500 Subject: [PATCH] v2.4.0 --- .gitignore | 4 + README.md | 5 +- deployment.sh | 28 + dist/phigaro-2.3.0-py2.py3-none-any.whl | Bin 76794 -> 0 bytes dist/phigaro-2.3.0.tar.gz | Bin 70329 -> 0 bytes dist/phigaro-2.4.0-py2.py3-none-any.whl | Bin 0 -> 63430 bytes dist/phigaro-2.4.0.tar.gz | Bin 0 -> 59132 bytes environment.yml | 2 +- phigaro/_version.py | 2 +- phigaro/batch/task/base.py | 4 +- phigaro/batch/task/dummy.py | 4 +- phigaro/batch/task/gene_mark.py | 11 +- phigaro/batch/task/hmmer.py | 14 +- phigaro/batch/task/parse_hmmer.py | 28 +- phigaro/batch/task/path.py | 6 +- phigaro/batch/task/preprocess.py | 16 +- phigaro/batch/task/prodigal.py | 6 +- phigaro/batch/task/run_phigaro.py | 242 +- phigaro/cli/batch.py | 216 +- phigaro/cli/helper.py | 102 +- phigaro/cli/phigaro.py | 18 +- phigaro/const.py | 90 +- phigaro/data.py | 78 +- phigaro/finder/v1.py | 18 +- phigaro/finder/v2.py | 6 +- phigaro/helper.py | 128 +- phigaro/misc/ranges.py | 10 +- phigaro/misc/vis.py | 50 +- phigaro/pvogs_taxonomy.json | 1 + phigaro/pvogs_taxonomy.pickle | 7127 ---------------------- phigaro/to_html/html_formation.py | 30 +- phigaro/to_html/html_templates.py | 30 +- phigaro/to_html/preprocess.py | 123 +- phigaro/to_html/pvogs_annotations.csv | 1475 +++++ phigaro/to_html/pvogs_annotations.pickle | 7030 --------------------- prepare_and_publish_package.bat | 25 - recover_pickle_files.py | 14 - setup.py | 66 +- setup_version.py | 66 +- tag_name | 2 +- test_data_gitaction/latest_version.txt | 2 +- tox.ini | 17 + version_tracker.md | 9 + 43 files changed, 2203 insertions(+), 14902 deletions(-) create mode 100755 deployment.sh delete mode 100644 dist/phigaro-2.3.0-py2.py3-none-any.whl delete mode 100644 dist/phigaro-2.3.0.tar.gz create mode 100644 dist/phigaro-2.4.0-py2.py3-none-any.whl create mode 100644 dist/phigaro-2.4.0.tar.gz create mode 100644 phigaro/pvogs_taxonomy.json delete mode 100644 phigaro/pvogs_taxonomy.pickle create mode 100644 phigaro/to_html/pvogs_annotations.csv delete mode 100644 phigaro/to_html/pvogs_annotations.pickle delete mode 100644 prepare_and_publish_package.bat delete mode 100644 recover_pickle_files.py create mode 100644 tox.ini 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 3fa6736c328a9955ab235c5ace92abde1831ab75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76794 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

mll0? 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 uF&c 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 XrHT$@Z4ihZ_!-0jfpCvj7@+?Heim>a diff --git a/dist/phigaro-2.3.0.tar.gz b/dist/phigaro-2.3.0.tar.gz deleted file mode 100644 index 96cbe08643168fff907e121bf3d55e16e3df178a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70329 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

iV!C@vXJVRszI(Yptx_ z>K^lS7+;_rfIsL@2M_Z=SEf?*bsen`eHIuTQINkK)r?1*U`$n32}%gmo&3^hFCu+ zI)m6?Lx5(gf)y#8q`C!xtA}bP!65ozf&RI71{*+H)Sj&3b(JcNHb+4rFjiJthXtx% z{&0UKRq#2$+|Gj4fWlajF_~sYv|7%i-Ig9)8a!yGptclmi9=FZ%(1iKjYa7eK;kOu7KWqw=DENfBR8 zdTJ17D}Y-B^y9V^nfN;xd6jE&u`)`A|Clz54Fg95zLo`ttVY{fvE$BhB|@F>Yug zL|h$Fn3FMtuDLPW0bLckQbk@udCAlSMcHt_=f9oT;)Zm*$650(D z%@oKDQVM#=GL3F{M(M>lW>+EI11(8=(fUiq2#6i9NQB2VX0(xQWF_BF`)wi>f6N`q zn^$=F3Q8h>I?zp&E~}v_-_LVsP}=~57NW^ZN4vZyEMnoZVUT~8nv5pmf_IfNUKs4< z1s6N)g%7$aCc!L)oH~jwH~1FpxNgpDdaH3?xPAud{)S!vnVRi!BFPA9J?e(d^Z6k0mRJ z%-uj|LO^e`HI70Dhc2*bbsk;DJJkg`n8aEz#t0&ot(?GQGI%1V&5^e3t}?Pm;VYvW zYsoKy852h_f;bX_W3Y;HsXzlgrOhA$0p2mTe> zYnh)jTka=(Yg;1=D~Ggs@P964{3;k#@qg)R|KTLzJzlRyZq}o>o6x(=>D^}auJU@; zc)c6EUyT0$hgrbi^Su5wU${5PeBhhRorNnmx753*xj}#QJo9#rWb{u>mQ)Mz^5G)O z1Ny<>&y`?keTtvkpX;CRNntp3O`ma#qRb(gWU@a}NID`?Nc1TrS=8z0tbg+Eu2dZ` zzc<(6>E(N2qyO~2pQq#Nb@Tq7U;6vIzPudCo|zAPxiU%jeH=eeCC@vXScMkk?~)D> zQa4sRJRA9;8hCxyTOI%W(;(- z@xO|PPvMZE6U>#DTVmZxT-tmUQhpg52!VQEj_-=JDpko5!9Q z1OL`Ju*VuTM9hnJ8T|npCzGEYlc}tX1C6ehx3&>LFAv1;qg;S#O7_&)TRngIQ&)8U z*r1b~C^%;v8CbyX{Gx5|bb{Z%o|eY@v~2Wh7>)A5btT{QJ)b>DU-yvw>vR8ceTm

ldfM;)D*GUbdR`%BZWJ{4>338qG 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 literal 0 HcmV?d00001 diff --git a/dist/phigaro-2.4.0.tar.gz b/dist/phigaro-2.4.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..21ffce9053c7020c07448748a11db897f1699f22 GIT binary patch literal 59132 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 Lt~iE*08j-0')[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 = """

-''' +""" -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 @@