From c57e7640547db0783585456f5bd74a5691686e51 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Thu, 8 Oct 2020 21:39:07 -0300 Subject: [PATCH 001/130] Create ask_mongo.py --- ask_mongo.py | 136 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 ask_mongo.py diff --git a/ask_mongo.py b/ask_mongo.py new file mode 100644 index 0000000..f801bdb --- /dev/null +++ b/ask_mongo.py @@ -0,0 +1,136 @@ +#!/usr/bin/env python3 +# coding: utf-8 + +## Def help message +""" +Ask mongo: This command allows you to ask/interrogate the mongo dbs in your machine + +usage: + ask-mongo.py [ -h|--help ] [ --list_dbs ] + ask-mongo.py [ --db --list_collections ] + ask-mongo.py [ --db --collection ] [ --overview ] + +options: + + -h, --help Show this screen + --list_dbs List available mongo dbs in your system + --db= Mongo DB to be queryed + --list_collections Check the available collections in a given database + --collection= Collection name (from mongo db) to be queryed + --overview Documents in a given collection (from a mongo db) + +example: +""" + +################################## +### Loading Necessary Packages ### +################################## +import sys +import os +import re +from docopt import docopt +import urllib.request, urllib.parse, urllib.error +import json +import pymongo +from pymongo import MongoClient +import pathlib +import pprint +import random +from bson.objectid import ObjectId + +######################## +### Useful functions ### +######################## + +######################### +### Check your mongos ### +######################### +def check_mongos(): + + # Start message + print(""" + The available mondo dbs found in your system are:\n + """) + + # Print databases + os.system('mongo --quiet --eval "printjson(db.adminCommand(\'listDatabases\'))"') + +####################################### +### Check collections in a database ### +####################################### +def check_db(db_name): + + # Create connection + client = MongoClient() + + # Open Database + db = client[db_name] + + # Check available collections + cols = db.list_collection_names() + print(f"\nAll the available collections found in the {db_name} database are given in the list: {cols}\n") + +############################# +### Overview a collection ### +############################# +def collection_overview(db_name, collection_name): + + # Create connection + client = MongoClient() + + # Open Database + db = client[db_name] + + # Open collection + collection = db[collection_name] + + # Count + n_docs = collection.count_documents({}) + + # Get keys + keys = [] + for doc in collection.find({}): + for key in iter(doc.keys()): + keys.append(key) + keys = list(dict.fromkeys(keys)) # remove duplicates + + # Get one as example + ids = [] + for doc in collection.find({}): + ids.append(doc['_id']) + example = collection.find_one({'_id': ObjectId(random.choice(ids))}) + + # Give overview + print(f"When analysing the collection {collection_name} in the database {db_name} we have found a total of {n_docs} documents (entries).") + print(f"These are the searcheable keys found in these documents: {keys}.") + print(f"They are searcheable and parseable based on its values.") + print(f"Here it is an example of one document of the collection:\n") + pprint.pprint(example) + +################ +### Def main ### +################ +if __name__ == '__main__': + args = docopt(__doc__, version='v1.0 by Felipe Marques de Almeida') + + ## Help + if args['--help']: + print(args.strip()) + + ## List dbs + elif args['--list_dbs']: + check_mongos() + + ## List collections + elif args['--list_collections'] and args['--db']: + check_db(db_name=args['--db']) + + ## Overview collection + elif args['--collection'] and args['--db']: + if args['--overview']: + collection_overview(db_name=args['--db'], collection_name=args['--collection']) + + ## None + else: + print("Missing argument!\n") + print(__doc__.strip()) From 61cff24fe77cbb6d6a3472d1398fec666b31eda7 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Fri, 9 Oct 2020 10:54:51 -0300 Subject: [PATCH 002/130] Now with filter option --- ask_mongo.py | 64 +++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 56 insertions(+), 8 deletions(-) diff --git a/ask_mongo.py b/ask_mongo.py index f801bdb..a9782f9 100644 --- a/ask_mongo.py +++ b/ask_mongo.py @@ -6,18 +6,23 @@ Ask mongo: This command allows you to ask/interrogate the mongo dbs in your machine usage: - ask-mongo.py [ -h|--help ] [ --list_dbs ] - ask-mongo.py [ --db --list_collections ] - ask-mongo.py [ --db --collection ] [ --overview ] + ask-mongo.py [ -h|--help ] + ask-mongo.py [ --dbpath ] [ --list_dbs ] + ask-mongo.py [ --dbpath ] [ --db --list_collections ] + ask-mongo.py [ --dbpath ] [ --db --collection ] [ --overview ] [ --subfield --key --val ] options: -h, --help Show this screen + --dbpath= Where you have saved your dbs? Data directory of your mongo dbs. [Default: /data/db] --list_dbs List available mongo dbs in your system --db= Mongo DB to be queryed --list_collections Check the available collections in a given database --collection= Collection name (from mongo db) to be queryed --overview Documents in a given collection (from a mongo db) + --subfield= Is your key/val inside a subfield (a nested document)? Give the name. + --key= Query a collection for documents based on which key? + --val= What to search in this key? example: """ @@ -41,19 +46,30 @@ ######################## ### Useful functions ### ######################## +def start_mongod(db_path): + + try: + # Function to start mongo shell if not started yet + os.system(f"mongod --dbpath {db_path} --syslog --fork &> /dev/null") + except: + pass ######################### ### Check your mongos ### ######################### def check_mongos(): - # Start message - print(""" - The available mondo dbs found in your system are:\n - """) + # Create connection + client = MongoClient() + + # Get dbs + dbs = client.list_database_names() # Print databases - os.system('mongo --quiet --eval "printjson(db.adminCommand(\'listDatabases\'))"') + print(f"\nThe available mondo dbs found in your system are: {dbs}\n") + + # Close client + client.close() ####################################### ### Check collections in a database ### @@ -107,12 +123,41 @@ def collection_overview(db_name, collection_name): print(f"Here it is an example of one document of the collection:\n") pprint.pprint(example) +#################### +### Get Document ### +#################### +def get_doc(db_name, collection_name, key, val, subfield): + + # Create connection + client = MongoClient() + + # Open Database + db = client[db_name] + + # Open collection + collection = db[collection_name] + + # Find my document + if key == '_id': + results = collection.find({ key: ObjectId(val) }) + elif subfield != None: + results = collection.find({ f"{subfield}.{key}" : val }) + else: + results = collection.find({ key: val }) + + # Print + for doc in results: + pprint.pprint(doc) + ################ ### Def main ### ################ if __name__ == '__main__': args = docopt(__doc__, version='v1.0 by Felipe Marques de Almeida') + # Start db (if not started) + start_mongod(db_path=args['--dbpath']) + ## Help if args['--help']: print(args.strip()) @@ -129,6 +174,9 @@ def collection_overview(db_name, collection_name): elif args['--collection'] and args['--db']: if args['--overview']: collection_overview(db_name=args['--db'], collection_name=args['--collection']) + elif args['--key'] and args['--val']: + get_doc(db_name=args['--db'], collection_name=args['--collection'], key=args['--key'], val=args['--val'], + subfield=args['--subfield']) ## None else: From f9144e29b790736038f7211744170ce23b717dcf Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Thu, 11 Feb 2021 12:16:21 -0300 Subject: [PATCH 003/130] Add splitgbk2fasta A script to subset a genbank file based on its alignments against a nucleotide fasta --- splitgbk2fasta.py | 121 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 splitgbk2fasta.py diff --git a/splitgbk2fasta.py b/splitgbk2fasta.py new file mode 100644 index 0000000..aa94ec0 --- /dev/null +++ b/splitgbk2fasta.py @@ -0,0 +1,121 @@ +#!/usr/bin/env python3 +# coding: utf-8 + +######################## +### Def help message ### +######################## +""" +A script meant to subset a genbank annotation file based on alignments +against a query FASTA file + +--- +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +Usage: + splitgbk2fasta.py + splitgbk2fasta.py -h|--help + splitgbk2fasta.py -v|--version + splitgbk2fasta.py ( --gbk --fasta --out ) [ --minid --mincov --culling_limit ] + +Options: + -h --help Show this screen. + -v --version Show version information + -g --gbk= Gbk file for subset + -f --fasta= FASTA file for querying the gbk + -o --out= Gbk filtered output file + --minid= Min. Identity percentage for gene annotation [default: 80] + --mincov= Min. Covereage for gene annotation [default: 80] + --culling_limit= Blast culling_limit for best hit only [default: 1] +""" + +################################## +### Loading Necessary Packages ### +################################## +from docopt import docopt +from Bio import SeqIO +from io import StringIO +import pandas as pd +import os +import sys + +########################################## +### Function to convert gbk into fasta ### +########################################## +def gbk2fasta(gbk): + f=open("tmp_gbk.fa", "a") + for seq_record in SeqIO.parse(gbk, 'genbank'): + for seq_feature in seq_record.features: + if seq_feature.type=="CDS": + if 'translation' in seq_feature.qualifiers: + print(f">{seq_feature.qualifiers['locus_tag'][0]}", file=f) + print(f"{seq_feature.qualifiers['translation'][0]}", file=f) + else: + start = seq_feature.location.nofuzzy_start + end = seq_feature.location.nofuzzy_end + tl_table = seq_feature.qualifiers['transl_table'][0] + if str(seq_feature.strand) == '-1': + my_seq = seq_record.seq[start:end].reverse_complement().translate(table=tl_table) + else: + my_seq = seq_record.seq[start:end].translate(table=tl_table) + seq_feature.qualifiers['translation'] = str(my_seq) + print(f">{seq_feature.qualifiers['locus_tag'][0]}", file=f) + print(f"{seq_feature.qualifiers['translation'][0]}", file=f) + +############################################################## +### Function to run blast and detect locus_tags that match ### +############################################################## +def blastgbk(fasta, culling, minid, mincov): + # Outfmt + outfmt="6 qseqid qstart qend qlen sseqid sstart send slen evalue length pident gaps gapopen stitle" + + # Run blast + os.system(f"makeblastdb -dbtype nucl -in {fasta} -out query_db") + os.system(f"tblastn -db query_db -query tmp_gbk.fa -outfmt \"{outfmt}\" -culling_limit {culling} | \ + awk -v minid={minid} -v mincov={mincov} '{{ if ($11 >= minid && (($10 - $12) / $4 * 100) >= mincov) {{print $0}} }}' > out.blast") + +############################################ +### Function to filter gbk based on hits ### +############################################ +def filtergbk(gbk, out): + + f=open(f"{out}", "w") + # Read blast results + blast_res = pd.read_csv('out.blast', sep = '\t', header=None) + + # Get locus_tags + sel_locus = blast_res.iloc[:, 0].tolist() + + # Subset + for seq_record in SeqIO.parse(gbk, 'genbank'): + + cds = [feat for feat in seq_record.features if feat.type == 'CDS'] + filtered = [ft for ft in cds if ft.qualifiers['locus_tag'][0] in sel_locus] + seq_record.features = [i for i in filtered] + if len(seq_record.features) > 0: + SeqIO.write(seq_record, f, 'gb') + +############ +### Main ### +############ +if __name__ == '__main__': + arguments = docopt(__doc__, version='v1.0 by Felipe Marques de Almeida') + + ## Run pipeline + if arguments['--gbk'] and arguments['--fasta']: + + # Run + gbk2fasta(gbk=arguments['--gbk']) + blastgbk(fasta=arguments['--fasta'], culling=arguments['--culling_limit'], + minid=arguments['--minid'], mincov=arguments['--mincov']) + filtergbk(gbk=arguments['--gbk'], out=arguments['--out']) + + # Clean dir + os.system(f"rm tmp_gbk.fa out.blast query_db.n*") + + ## None + else: + print("Missing mandatory arguments") + print("Please, check out the help message") + print("") + print(arguments) From c120c740f826e953e0daf61a5231d23e63518cd3 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 15 Mar 2021 15:16:17 -0300 Subject: [PATCH 004/130] making it a package --- .gitignore | 3 + LICENSE | 674 ++++++++++++++++++ Readme.md | 29 +- .../TEs_vs_shiu-pipeline.py | 0 ask_mongo.py => bkp/ask_mongo.py | 0 .../detect_genes_with_pfam.py | 0 .../fetch_genomes_entrez.py | 0 filter_gff.py => bkp/filter_gff.py | 0 gff2json.py => bkp/gff2json.py | 0 .../make_UpSetR_from_tsv.py | 0 .../mongoDB_parse_JSON.py | 0 parse_cardDB.py => bkp/parse_cardDB.py | 0 parse_resfamsDB.py => bkp/parse_resfamsDB.py | 0 .../plot_dna_features.py | 0 {resources => bkp/resources}/Kp31_card.tsv | 0 .../resources}/Kp31_resistance.tsv | 0 .../resources}/Resfams_metadata.xlsx | Bin .../resources}/aro_categories_index.tsv | 0 {resources => bkp/resources}/aro_index.tsv | 0 rgi2gff.py => bkp/rgi2gff.py | 0 run_blasts.py => bkp/run_blasts.py | 0 splitgbk2fasta.py => bkp/splitgbk2fasta.py | 0 splitgenbank.py => bkp/splitgenbank.py | 0 teste.json => bkp/teste.json | 0 .../tgfam_vs_shiu-pipeline.py | 0 conda.recipe/meta.yaml | 32 + fa-py-runner.py | 22 + fapy/__init__.py | 0 fapy/__main__.py | 86 +++ fapy/version.py | 20 + requirements.txt | 2 + rgitool_test/rgi2gff.py | 91 --- setup.py | 47 ++ 33 files changed, 907 insertions(+), 99 deletions(-) create mode 100644 .gitignore create mode 100644 LICENSE rename TEs_vs_shiu-pipeline.py => bkp/TEs_vs_shiu-pipeline.py (100%) rename ask_mongo.py => bkp/ask_mongo.py (100%) rename detect_genes_with_pfam.py => bkp/detect_genes_with_pfam.py (100%) rename fetch_genomes_entrez.py => bkp/fetch_genomes_entrez.py (100%) mode change 100755 => 100644 rename filter_gff.py => bkp/filter_gff.py (100%) rename gff2json.py => bkp/gff2json.py (100%) mode change 100755 => 100644 rename make_UpSetR_from_tsv.py => bkp/make_UpSetR_from_tsv.py (100%) mode change 100755 => 100644 rename mongoDB_parse_JSON.py => bkp/mongoDB_parse_JSON.py (100%) mode change 100755 => 100644 rename parse_cardDB.py => bkp/parse_cardDB.py (100%) mode change 100755 => 100644 rename parse_resfamsDB.py => bkp/parse_resfamsDB.py (100%) mode change 100755 => 100644 rename plot_dna_features.py => bkp/plot_dna_features.py (100%) rename {resources => bkp/resources}/Kp31_card.tsv (100%) mode change 100755 => 100644 rename {resources => bkp/resources}/Kp31_resistance.tsv (100%) mode change 100755 => 100644 rename {resources => bkp/resources}/Resfams_metadata.xlsx (100%) rename {resources => bkp/resources}/aro_categories_index.tsv (100%) rename {resources => bkp/resources}/aro_index.tsv (100%) rename rgi2gff.py => bkp/rgi2gff.py (100%) mode change 100755 => 100644 rename run_blasts.py => bkp/run_blasts.py (100%) rename splitgbk2fasta.py => bkp/splitgbk2fasta.py (100%) rename splitgenbank.py => bkp/splitgenbank.py (100%) rename teste.json => bkp/teste.json (100%) rename tgfam_vs_shiu-pipeline.py => bkp/tgfam_vs_shiu-pipeline.py (100%) create mode 100644 conda.recipe/meta.yaml create mode 100644 fa-py-runner.py create mode 100644 fapy/__init__.py create mode 100644 fapy/__main__.py create mode 100644 fapy/version.py create mode 100644 requirements.txt delete mode 100644 rgitool_test/rgi2gff.py create mode 100644 setup.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..10a3a7b --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +fa_py.egg-info/ +dist +fapy/__pycache__ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/Readme.md b/Readme.md index f9bf18d..8214f4c 100644 --- a/Readme.md +++ b/Readme.md @@ -1,15 +1,28 @@ -# About +# fa-py (Felipe Almeida python scripts) -This repository was created with the only reason to store my Python Scripts that shall eventually be used more than once. +This repository has been turned into an installable python package in order to facilitate the distribution of my custom python scripts and, in turn, make them easier to execute. -Feel free to comment some if you believe it can be improved also, feel free to use. +## Installation -# Contact +Installation is super easy and perhaps not required: -## Name +```bash +# Download +git clone https://github.com/fmalmeida/pythonScripts.git +cd pythonScripts -Felipe Marques de Almeida +# Run without installing +python3 fa-py-runner.py -h -## Email +# Install and run in any place +python3 setup.py install +fa-py -h +``` -falmeida@aluno.unb.br +## License + +This repository has no warranty and is free to use, modify and share under GNU GENERAL PUBLIC LICENSE version 3. + +## Contact + +Felipe Almeida diff --git a/TEs_vs_shiu-pipeline.py b/bkp/TEs_vs_shiu-pipeline.py similarity index 100% rename from TEs_vs_shiu-pipeline.py rename to bkp/TEs_vs_shiu-pipeline.py diff --git a/ask_mongo.py b/bkp/ask_mongo.py similarity index 100% rename from ask_mongo.py rename to bkp/ask_mongo.py diff --git a/detect_genes_with_pfam.py b/bkp/detect_genes_with_pfam.py similarity index 100% rename from detect_genes_with_pfam.py rename to bkp/detect_genes_with_pfam.py diff --git a/fetch_genomes_entrez.py b/bkp/fetch_genomes_entrez.py old mode 100755 new mode 100644 similarity index 100% rename from fetch_genomes_entrez.py rename to bkp/fetch_genomes_entrez.py diff --git a/filter_gff.py b/bkp/filter_gff.py similarity index 100% rename from filter_gff.py rename to bkp/filter_gff.py diff --git a/gff2json.py b/bkp/gff2json.py old mode 100755 new mode 100644 similarity index 100% rename from gff2json.py rename to bkp/gff2json.py diff --git a/make_UpSetR_from_tsv.py b/bkp/make_UpSetR_from_tsv.py old mode 100755 new mode 100644 similarity index 100% rename from make_UpSetR_from_tsv.py rename to bkp/make_UpSetR_from_tsv.py diff --git a/mongoDB_parse_JSON.py b/bkp/mongoDB_parse_JSON.py old mode 100755 new mode 100644 similarity index 100% rename from mongoDB_parse_JSON.py rename to bkp/mongoDB_parse_JSON.py diff --git a/parse_cardDB.py b/bkp/parse_cardDB.py old mode 100755 new mode 100644 similarity index 100% rename from parse_cardDB.py rename to bkp/parse_cardDB.py diff --git a/parse_resfamsDB.py b/bkp/parse_resfamsDB.py old mode 100755 new mode 100644 similarity index 100% rename from parse_resfamsDB.py rename to bkp/parse_resfamsDB.py diff --git a/plot_dna_features.py b/bkp/plot_dna_features.py similarity index 100% rename from plot_dna_features.py rename to bkp/plot_dna_features.py diff --git a/resources/Kp31_card.tsv b/bkp/resources/Kp31_card.tsv old mode 100755 new mode 100644 similarity index 100% rename from resources/Kp31_card.tsv rename to bkp/resources/Kp31_card.tsv diff --git a/resources/Kp31_resistance.tsv b/bkp/resources/Kp31_resistance.tsv old mode 100755 new mode 100644 similarity index 100% rename from resources/Kp31_resistance.tsv rename to bkp/resources/Kp31_resistance.tsv diff --git a/resources/Resfams_metadata.xlsx b/bkp/resources/Resfams_metadata.xlsx similarity index 100% rename from resources/Resfams_metadata.xlsx rename to bkp/resources/Resfams_metadata.xlsx diff --git a/resources/aro_categories_index.tsv b/bkp/resources/aro_categories_index.tsv similarity index 100% rename from resources/aro_categories_index.tsv rename to bkp/resources/aro_categories_index.tsv diff --git a/resources/aro_index.tsv b/bkp/resources/aro_index.tsv similarity index 100% rename from resources/aro_index.tsv rename to bkp/resources/aro_index.tsv diff --git a/rgi2gff.py b/bkp/rgi2gff.py old mode 100755 new mode 100644 similarity index 100% rename from rgi2gff.py rename to bkp/rgi2gff.py diff --git a/run_blasts.py b/bkp/run_blasts.py similarity index 100% rename from run_blasts.py rename to bkp/run_blasts.py diff --git a/splitgbk2fasta.py b/bkp/splitgbk2fasta.py similarity index 100% rename from splitgbk2fasta.py rename to bkp/splitgbk2fasta.py diff --git a/splitgenbank.py b/bkp/splitgenbank.py similarity index 100% rename from splitgenbank.py rename to bkp/splitgenbank.py diff --git a/teste.json b/bkp/teste.json similarity index 100% rename from teste.json rename to bkp/teste.json diff --git a/tgfam_vs_shiu-pipeline.py b/bkp/tgfam_vs_shiu-pipeline.py similarity index 100% rename from tgfam_vs_shiu-pipeline.py rename to bkp/tgfam_vs_shiu-pipeline.py diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml new file mode 100644 index 0000000..3cca0e1 --- /dev/null +++ b/conda.recipe/meta.yaml @@ -0,0 +1,32 @@ +package: + name: fa-py + version: 0.1 + +source: + path: .. + +build: + number: 0 + script: python setup.py install --single-version-externally-managed --record=record.txt + entry_points: + - processrcmfolder = uconnrcmpy.dataprocessing:process_folder + + +requirements: + build: + - python >=3.7,{{PY_VER}}* + - setuptools + + run: + - python {{PY_VER}}* + - setuptools + - setuptools-git + - pandas + +channels: + - anaconda + - conda-forge + - bioconda + +about: + home: https://github.com/fmalmeida/gff-toolbox diff --git a/fa-py-runner.py b/fa-py-runner.py new file mode 100644 index 0000000..999d0c3 --- /dev/null +++ b/fa-py-runner.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python3 +""" +This script allows a user to run fa-py without a pip/setuptools installation. Assuming all +dependencies are installed, they can simply clone the repo and run this script. + +Copyright 2020 Felipe Almeida (almeidafmarques@gmail.com) +https://github.com/fmalmeida/pythonScripts + +This file is part of my custom python scripts (fa-py) package, which is free: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by the Free Software Foundation, +either version 3 of the License, or (at your option) any later version. This package is distributed +in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. You should have received a copy of the GNU General Public License along with fa-py package. +If not, see . +""" + +from fapy.__main__ import main + + +if __name__ == '__main__': + main() diff --git a/fapy/__init__.py b/fapy/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/fapy/__main__.py b/fapy/__main__.py new file mode 100644 index 0000000..69c13ed --- /dev/null +++ b/fapy/__main__.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python3 +license=""" +Copyright 2020 Felipe Almeida (almeidafmarques@gmail.com) +https://github.com/fmalmeida/pythonScripts + +This file is part of my custom python scripts (fa-py) package, which is free: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by the Free Software Foundation, +either version 3 of the License, or (at your option) any later version. This package is distributed +in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. You should have received a copy of the GNU General Public License along with fa-py package. +If not, see . +""" + +## Def main help +usage=""" +fa-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + fa-py [ -h|--help ] [ -v|--version ] [ --license ] + fa-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + include + +Use: `fa-py -h` to get more help and see examples. +""" + +################################## +### Loading Necessary Packages ### +################################## +from docopt import docopt +from subprocess import call +import sys + +######################## +### Import functions ### +######################## +from .version import * + +## Defining main +def main(): + # Parse docopt + __version__ = get_version() + arguments = docopt(usage, version=__version__, help=False, options_first=True) + + ############################ + ### GFF overview command ### + ############################ + if arguments[''] == 'overview': + + # Parse docopt + args_overview = docopt(usage_overview, version=__version__, help=False) + + if args_overview['overview'] and args_overview['--help']: + print(usage_overview.strip()) + + elif args_overview['overview'] and args_overview['--input']: + overview(args_overview['--input']) + + else: + print(usage_overview.strip()) + + ##################### + ### Check license ### + ##################### + elif arguments['--license']: + print(license.strip()) + + ####################################### + ### Without commands nor parameters ### + ####################################### + else: + print(usage.strip()) + +## Calling main +if __name__ == '__main__': + main() diff --git a/fapy/version.py b/fapy/version.py new file mode 100644 index 0000000..1fff8fc --- /dev/null +++ b/fapy/version.py @@ -0,0 +1,20 @@ +""" +The version is stored here in a separate file so it can exist in only one place. +https://stackoverflow.com/a/7071358/2438989 + +Copyright 2020 Felipe Almeida (almeidafmarques@gmail.com) +https://github.com/fmalmeida/pythonScripts + +This file is part of my custom python scripts (fa-py) package, which is free: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by the Free Software Foundation, +either version 3 of the License, or (at your option) any later version. This package is distributed +in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. You should have received a copy of the GNU General Public License along with fa-py package. +If not, see . +""" + +__version__ = '0.1' + +def get_version(): + return __version__ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..382b9ad --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +docopt +pandas diff --git a/rgitool_test/rgi2gff.py b/rgitool_test/rgi2gff.py deleted file mode 100644 index 07c245b..0000000 --- a/rgitool_test/rgi2gff.py +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/env python3 - -'''rgi2gff.py last modified 2018-07-09 - -rgi2gff.py -b RGI_out.txt > output.gff3 - -RGI tabular output must be first parsed with: - -sed -i 's/ # /#/g' and sed -i 's/ /_/g' -''' - -# -import sys -import argparse -import time -from collections import defaultdict -# - -# Returns s truncated at the n'th (3rd by default) occurrence of the delimiter, d. -def trunc_at(s, d, n=3): - return d.join(s.split(d, n)[:n]) - - -def write_line(outlist, wayout): - outline = "\t".join(outlist) - print(outline, file=wayout) - - -def main(argv, wayout): - if not len(argv): - argv.append("-h") - - parser = argparse.ArgumentParser( - formatter_class=argparse.RawDescriptionHelpFormatter, description=__doc__) - parser.add_argument('-f', '--file', help="RGI txt output file") - args = parser.parse_args(argv) - - # counter for number of lines, and strand flips - linecounter, writecounter = 0, 0 - plusstrand, minusstrand = 0, 0 - - hitDictCounter = defaultdict(int) - print("Starting RGI parsing on %s" % (args.file), time.asctime(), file=sys.stderr) - for line in open(args.file, 'r'): - linecounter += 1 - ORF_ID, Contig, Start, Stop, Orientation, Cut_Off, Pass_Bitscore, Best_Hit_Bitscore, \ - Best_Hit_ARO, Best_Identities, ARO, Model_type, SNPs_in_Best_Hit_ARO, Other_SNPs, \ - Drug_Class, Resistance_Mechanism, AMR_Gene_Family, Predicted_DNA, Predicted_Protein, \ - CARD_Protein_Sequence, Percentage_Length_Reference_Sequence, ID, Model_id= line.rstrip().split("\t") - - # Reformat Contig ID - Contig = trunc_at(Contig, "_", n=2) - # Reformat Drug_Classes - Drug_Class = Drug_Class.replace(";_", "&") - # Reformat Resistance_Mechanism - Resistance_Mechanism = Resistance_Mechanism.replace(";_", "&") - # Define attributes - attributes = "Additional_database=CARD_RGI;CARD_gene_name={0};CARD_gene_family={1};CARD_ARO={2};CARD_target_drugs={3};CARD_resistance_mechanism={4}".format( - Best_Hit_ARO, AMR_Gene_Family, ARO, Drug_Class, Resistance_Mechanism) - - #print("Starting base on {0}".format(Start), file=sys.stderr) - - # convert strings of start and end to integers for calculations - iqend = int(Start) - iqstart = int(Stop) - # as start must always be less or equal to end, reverse them for opposite strand hits - if iqstart <= iqend: - strand = "+" - outlist = [Contig, "CARD_RGI", "resistance", Start, - Stop, Best_Hit_Bitscore , strand, ".", attributes] - plusstrand += 1 - else: - strand = "-" - outlist = [Contig, "CARD_RGI", "resistance", Start, - Stop, Best_Hit_Bitscore, strand, ".", attributes] - minusstrand += 1 - - writecounter += 1 - - # Print results - write_line(outlist, wayout) - - # Logs - print("Parsed %d lines" % (linecounter), time.asctime(), file=sys.stderr) - print("Found %d forward and %d reverse hits" % ( - plusstrand, minusstrand), time.asctime(), file=sys.stderr) - print("Wrote %d matches" % (writecounter), time.asctime(), file=sys.stderr) - - -if __name__ == "__main__": - main(sys.argv[1:], sys.stdout) diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..8c0216c --- /dev/null +++ b/setup.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 +""" +This is the fa-py installation script. Assuming you're in the same directory, it can be run +like this: `python3 setup.py install`, or (probably better) like this: `pip3 install .` + +Copyright 2020 Felipe Almeida (almeidafmarques@gmail.com) +https://github.com/fmalmeida/pythonScripts + +This file is part of my custom python scripts (fa-py) package, which is free: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by the Free Software Foundation, +either version 3 of the License, or (at your option) any later version. This package is distributed +in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. You should have received a copy of the GNU General Public License along with fa-py package. +If not, see . +""" + +from setuptools import setup + + +def readme(): + with open('README.md') as f: + return f.read() + + +# Get the program version from another file. +__version__ = '0.0.0' +exec(open('fapy/version.py').read()) + +with open('requirements.txt') as f: + required = f.read().splitlines() + +setup(name='fa-py', + version=__version__, + description='fa-py: a package to the simple distribution of my custom scripts.', + long_description=readme(), + long_description_content_type='text/markdown', + url='https://github.com/fmalmeida/pythonScripts', + author='Felipe Almeida', + author_email='almeidafmarques@gmail.com', + license='GPLv3', + packages=['fapy'], + install_requires=required, + entry_points={"console_scripts": ['fa-py = fapy.__main__:main']}, + include_package_data=True, + zip_safe=False, + python_requires='>=3.6') From 45cacfd9b5d23ccbf164b25f6e6091fd598d4948 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 15 Mar 2021 15:17:40 -0300 Subject: [PATCH 005/130] Update Readme.md --- Readme.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Readme.md b/Readme.md index 8214f4c..822584b 100644 --- a/Readme.md +++ b/Readme.md @@ -19,6 +19,10 @@ python3 setup.py install fa-py -h ``` +## Old scripts + +All my python scripts as single scripts, that may or may not be included in the package are available in the `bkp` folder! + ## License This repository has no warranty and is free to use, modify and share under GNU GENERAL PUBLIC LICENSE version 3. From 111cb066b479639f64076eee2249e14e9e04482b Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 15 Mar 2021 15:30:21 -0300 Subject: [PATCH 006/130] adding tsv2markdown --- build/lib/fapy/__init__.py | 0 build/lib/fapy/__main__.py | 91 ++++++++++++++++++++++++++++++++++ build/lib/fapy/tsv2markdown.py | 50 +++++++++++++++++++ build/lib/fapy/version.py | 20 ++++++++ conda.recipe/meta.yaml | 1 + fapy/__main__.py | 23 +++++---- fapy/tsv2markdown.py | 50 +++++++++++++++++++ requirements.txt | 1 + 8 files changed, 227 insertions(+), 9 deletions(-) create mode 100644 build/lib/fapy/__init__.py create mode 100644 build/lib/fapy/__main__.py create mode 100644 build/lib/fapy/tsv2markdown.py create mode 100644 build/lib/fapy/version.py create mode 100644 fapy/tsv2markdown.py diff --git a/build/lib/fapy/__init__.py b/build/lib/fapy/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/build/lib/fapy/__main__.py b/build/lib/fapy/__main__.py new file mode 100644 index 0000000..ba9ab81 --- /dev/null +++ b/build/lib/fapy/__main__.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python3 +license=""" +Copyright 2020 Felipe Almeida (almeidafmarques@gmail.com) +https://github.com/fmalmeida/pythonScripts + +This file is part of my custom python scripts (fa-py) package, which is free: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by the Free Software Foundation, +either version 3 of the License, or (at your option) any later version. This package is distributed +in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. You should have received a copy of the GNU General Public License along with fa-py package. +If not, see . +""" + +## Def main help +usage=""" +fa-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + fa-py [ -h|--help ] [ -v|--version ] [ --license ] + fa-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + +Use: `fa-py -h` to get more help and see examples. +""" + +################################## +### Loading Necessary Packages ### +################################## +from docopt import docopt +from subprocess import call +import sys + +######################## +### Import functions ### +######################## +from .version import * +from .tsv2markdown import * + +## Defining main +def main(): + # Parse docopt + __version__ = get_version() + arguments = docopt(usage, version=__version__, help=False, options_first=True) + + ############################ + ### GFF tsv2markdown command ### + ############################ + if arguments[''] == 'tsv2markdown': + + # Parse docopt + args = docopt(usage_tsv2markdown, version=__version__, help=False) + + # run script + if args['--help']: + print(usage_tsv2markdown.strip()) + + elif args['--tsv']: + file2mw(args['--tsv'], '\t') + + elif args['--csv']: + file2mw(arguments['--csv'], ',') + + else: + print(usage_tsv2markdown.strip()) + + ##################### + ### Check license ### + ##################### + elif arguments['--license']: + print(license.strip()) + + ####################################### + ### Without commands nor parameters ### + ####################################### + else: + print(usage.strip()) + +## Calling main +if __name__ == '__main__': + main() diff --git a/build/lib/fapy/tsv2markdown.py b/build/lib/fapy/tsv2markdown.py new file mode 100644 index 0000000..988bcd8 --- /dev/null +++ b/build/lib/fapy/tsv2markdown.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python +# coding: utf-8 + +## Def help message +usage_tsv2markdown = """ +A simple script to convert tsv (or csv) files to markdown tables using tabulate! +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + fa-py tsv2markdown + fa-py tsv2markdown [ -h|--help ] + fa-py tsv2markdown [ --tsv --csv --header ] + +options: + -h --help Show this screen. + --tsv= Show tsv file to print as markdown table + --csv= Show csv file to print as markdown table + --header= If file does not have a header, set a + custom header. E.g. --header "Planet,R (km),mass (x 10^29 kg)". +""" + +################################## +### Loading Necessary Packages ### +################################## +from docopt import docopt +from tabulate import tabulate + +########################### +### Read header as list ### +########################### +def header2list(header): + return header.split(',') + +################################### +### Convert with header in file ### +################################### +def file2mw(filep, fsep): + + # read data.frame + with open(filep) as file_in: + lines = [] + for line in file_in: + lines.append(line.split(fsep)) + + # generate tabulate + if arguments['--header']: + print(tabulate(lines, headers=header2list(arguments['--header']), tablefmt="github")) + else: + print(tabulate(lines, headers="firstrow", tablefmt="github")) diff --git a/build/lib/fapy/version.py b/build/lib/fapy/version.py new file mode 100644 index 0000000..1fff8fc --- /dev/null +++ b/build/lib/fapy/version.py @@ -0,0 +1,20 @@ +""" +The version is stored here in a separate file so it can exist in only one place. +https://stackoverflow.com/a/7071358/2438989 + +Copyright 2020 Felipe Almeida (almeidafmarques@gmail.com) +https://github.com/fmalmeida/pythonScripts + +This file is part of my custom python scripts (fa-py) package, which is free: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by the Free Software Foundation, +either version 3 of the License, or (at your option) any later version. This package is distributed +in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. You should have received a copy of the GNU General Public License along with fa-py package. +If not, see . +""" + +__version__ = '0.1' + +def get_version(): + return __version__ diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index 3cca0e1..730129d 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -22,6 +22,7 @@ requirements: - setuptools - setuptools-git - pandas + - tabulate channels: - anaconda diff --git a/fapy/__main__.py b/fapy/__main__.py index 69c13ed..ba9ab81 100644 --- a/fapy/__main__.py +++ b/fapy/__main__.py @@ -29,7 +29,7 @@ --license Show LEGAL LICENSE information commands: - include + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. Use: `fa-py -h` to get more help and see examples. """ @@ -45,6 +45,7 @@ ### Import functions ### ######################## from .version import * +from .tsv2markdown import * ## Defining main def main(): @@ -53,21 +54,25 @@ def main(): arguments = docopt(usage, version=__version__, help=False, options_first=True) ############################ - ### GFF overview command ### + ### GFF tsv2markdown command ### ############################ - if arguments[''] == 'overview': + if arguments[''] == 'tsv2markdown': # Parse docopt - args_overview = docopt(usage_overview, version=__version__, help=False) + args = docopt(usage_tsv2markdown, version=__version__, help=False) - if args_overview['overview'] and args_overview['--help']: - print(usage_overview.strip()) + # run script + if args['--help']: + print(usage_tsv2markdown.strip()) - elif args_overview['overview'] and args_overview['--input']: - overview(args_overview['--input']) + elif args['--tsv']: + file2mw(args['--tsv'], '\t') + + elif args['--csv']: + file2mw(arguments['--csv'], ',') else: - print(usage_overview.strip()) + print(usage_tsv2markdown.strip()) ##################### ### Check license ### diff --git a/fapy/tsv2markdown.py b/fapy/tsv2markdown.py new file mode 100644 index 0000000..988bcd8 --- /dev/null +++ b/fapy/tsv2markdown.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python +# coding: utf-8 + +## Def help message +usage_tsv2markdown = """ +A simple script to convert tsv (or csv) files to markdown tables using tabulate! +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + fa-py tsv2markdown + fa-py tsv2markdown [ -h|--help ] + fa-py tsv2markdown [ --tsv --csv --header ] + +options: + -h --help Show this screen. + --tsv= Show tsv file to print as markdown table + --csv= Show csv file to print as markdown table + --header= If file does not have a header, set a + custom header. E.g. --header "Planet,R (km),mass (x 10^29 kg)". +""" + +################################## +### Loading Necessary Packages ### +################################## +from docopt import docopt +from tabulate import tabulate + +########################### +### Read header as list ### +########################### +def header2list(header): + return header.split(',') + +################################### +### Convert with header in file ### +################################### +def file2mw(filep, fsep): + + # read data.frame + with open(filep) as file_in: + lines = [] + for line in file_in: + lines.append(line.split(fsep)) + + # generate tabulate + if arguments['--header']: + print(tabulate(lines, headers=header2list(arguments['--header']), tablefmt="github")) + else: + print(tabulate(lines, headers="firstrow", tablefmt="github")) diff --git a/requirements.txt b/requirements.txt index 382b9ad..86f4df4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ docopt pandas +tabulate From 4f3d5917fb178eb53eed8d1d6d5772dd6a516d81 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 15 Mar 2021 15:37:49 -0300 Subject: [PATCH 007/130] fixed --- build/lib/fapy/__main__.py | 4 ++-- build/lib/fapy/tsv2markdown.py | 4 ++-- fapy/__main__.py | 4 ++-- fapy/tsv2markdown.py | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/build/lib/fapy/__main__.py b/build/lib/fapy/__main__.py index ba9ab81..2c62465 100644 --- a/build/lib/fapy/__main__.py +++ b/build/lib/fapy/__main__.py @@ -66,10 +66,10 @@ def main(): print(usage_tsv2markdown.strip()) elif args['--tsv']: - file2mw(args['--tsv'], '\t') + file2mw(args['--tsv'], '\t', args['--header']) elif args['--csv']: - file2mw(arguments['--csv'], ',') + file2mw(arguments['--csv'], ',', args['--header']) else: print(usage_tsv2markdown.strip()) diff --git a/build/lib/fapy/tsv2markdown.py b/build/lib/fapy/tsv2markdown.py index 988bcd8..f58d48c 100644 --- a/build/lib/fapy/tsv2markdown.py +++ b/build/lib/fapy/tsv2markdown.py @@ -35,7 +35,7 @@ def header2list(header): ################################### ### Convert with header in file ### ################################### -def file2mw(filep, fsep): +def file2mw(filep, fsep, header): # read data.frame with open(filep) as file_in: @@ -44,7 +44,7 @@ def file2mw(filep, fsep): lines.append(line.split(fsep)) # generate tabulate - if arguments['--header']: + if header: print(tabulate(lines, headers=header2list(arguments['--header']), tablefmt="github")) else: print(tabulate(lines, headers="firstrow", tablefmt="github")) diff --git a/fapy/__main__.py b/fapy/__main__.py index ba9ab81..2c62465 100644 --- a/fapy/__main__.py +++ b/fapy/__main__.py @@ -66,10 +66,10 @@ def main(): print(usage_tsv2markdown.strip()) elif args['--tsv']: - file2mw(args['--tsv'], '\t') + file2mw(args['--tsv'], '\t', args['--header']) elif args['--csv']: - file2mw(arguments['--csv'], ',') + file2mw(arguments['--csv'], ',', args['--header']) else: print(usage_tsv2markdown.strip()) diff --git a/fapy/tsv2markdown.py b/fapy/tsv2markdown.py index 988bcd8..f58d48c 100644 --- a/fapy/tsv2markdown.py +++ b/fapy/tsv2markdown.py @@ -35,7 +35,7 @@ def header2list(header): ################################### ### Convert with header in file ### ################################### -def file2mw(filep, fsep): +def file2mw(filep, fsep, header): # read data.frame with open(filep) as file_in: @@ -44,7 +44,7 @@ def file2mw(filep, fsep): lines.append(line.split(fsep)) # generate tabulate - if arguments['--header']: + if header: print(tabulate(lines, headers=header2list(arguments['--header']), tablefmt="github")) else: print(tabulate(lines, headers="firstrow", tablefmt="github")) From 80cce257639941fbeb2343e972746f070c2b07c6 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 16 Mar 2021 10:39:13 -0300 Subject: [PATCH 008/130] splitgbk added! --- .gitignore | 1 + build/lib/fapy/__main__.py | 21 +++++++++++++++++- build/lib/fapy/tsv2markdown.py | 4 ++-- fapy/__main__.py | 21 +++++++++++++++++- fapy/splitgbk.py | 39 ++++++++++++++++++++++++++++++++++ fapy/tsv2markdown.py | 4 ++-- requirements.txt | 1 + 7 files changed, 85 insertions(+), 6 deletions(-) create mode 100644 fapy/splitgbk.py diff --git a/.gitignore b/.gitignore index 10a3a7b..885fe2d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ fa_py.egg-info/ dist fapy/__pycache__ +build diff --git a/build/lib/fapy/__main__.py b/build/lib/fapy/__main__.py index 2c62465..78fa89f 100644 --- a/build/lib/fapy/__main__.py +++ b/build/lib/fapy/__main__.py @@ -30,6 +30,7 @@ commands: tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. Use: `fa-py -h` to get more help and see examples. """ @@ -46,6 +47,7 @@ ######################## from .version import * from .tsv2markdown import * +from .splitgbk import * ## Defining main def main(): @@ -54,7 +56,7 @@ def main(): arguments = docopt(usage, version=__version__, help=False, options_first=True) ############################ - ### GFF tsv2markdown command ### + ### tsv2markdown command ### ############################ if arguments[''] == 'tsv2markdown': @@ -74,6 +76,23 @@ def main(): else: print(usage_tsv2markdown.strip()) + ######################### + ### Split gbk command ### + ######################### + elif arguments[''] == 'splitgbk': + # Parse docopt + args = docopt(usage_splitgbk, version=__version__, help=False) + + # Run + if args['--help']: + print(usage_splitgbk.strip()) + + elif args['--gbk']: + splitgbk(args['--gbk'], args['--outdir']) + + else: + print(usage_splitgbk.strip()) + ##################### ### Check license ### ##################### diff --git a/build/lib/fapy/tsv2markdown.py b/build/lib/fapy/tsv2markdown.py index f58d48c..24b4ceb 100644 --- a/build/lib/fapy/tsv2markdown.py +++ b/build/lib/fapy/tsv2markdown.py @@ -14,8 +14,8 @@ options: -h --help Show this screen. - --tsv= Show tsv file to print as markdown table - --csv= Show csv file to print as markdown table + --tsv= Input tsv file to print as markdown table + --csv= Input csv file to print as markdown table --header= If file does not have a header, set a custom header. E.g. --header "Planet,R (km),mass (x 10^29 kg)". """ diff --git a/fapy/__main__.py b/fapy/__main__.py index 2c62465..78fa89f 100644 --- a/fapy/__main__.py +++ b/fapy/__main__.py @@ -30,6 +30,7 @@ commands: tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. Use: `fa-py -h` to get more help and see examples. """ @@ -46,6 +47,7 @@ ######################## from .version import * from .tsv2markdown import * +from .splitgbk import * ## Defining main def main(): @@ -54,7 +56,7 @@ def main(): arguments = docopt(usage, version=__version__, help=False, options_first=True) ############################ - ### GFF tsv2markdown command ### + ### tsv2markdown command ### ############################ if arguments[''] == 'tsv2markdown': @@ -74,6 +76,23 @@ def main(): else: print(usage_tsv2markdown.strip()) + ######################### + ### Split gbk command ### + ######################### + elif arguments[''] == 'splitgbk': + # Parse docopt + args = docopt(usage_splitgbk, version=__version__, help=False) + + # Run + if args['--help']: + print(usage_splitgbk.strip()) + + elif args['--gbk']: + splitgbk(args['--gbk'], args['--outdir']) + + else: + print(usage_splitgbk.strip()) + ##################### ### Check license ### ##################### diff --git a/fapy/splitgbk.py b/fapy/splitgbk.py new file mode 100644 index 0000000..a50aeb0 --- /dev/null +++ b/fapy/splitgbk.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python +# coding: utf-8 + +## Def help message +usage_splitgbk = """ +A very simple script to split multisequence genbank files into separate files +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + fa-py splitgbk + fa-py splitgbk [ -h|--help ] + fa-py splitgbk [ --gbk ] [ -o|--outdir ] + +options: + -h --help Show this screen. + --gbk= Input genbank file to split into multiple individual files. + -o=, --outdir= Directory in which to write the splitted files [Default: ./]. +""" + +################################## +### Loading Necessary Packages ### +################################## +from Bio import SeqIO +import sys +import os + +#################### +### GBK splitter ### +#################### +def splitgbk(gbk, outdir): + # just parse the dir + if type(outdir) == list: + outdir = outdir[0] + # exec biopython + for rec in SeqIO.parse(gbk, "genbank"): + SeqIO.write([rec], open(os.path.basename(os.path.normpath(outdir)) + "/" + rec.id + ".gbk", "w"), "genbank") + # finish + print(f"Done!\nIndividual files have been written at: {outdir}") diff --git a/fapy/tsv2markdown.py b/fapy/tsv2markdown.py index f58d48c..24b4ceb 100644 --- a/fapy/tsv2markdown.py +++ b/fapy/tsv2markdown.py @@ -14,8 +14,8 @@ options: -h --help Show this screen. - --tsv= Show tsv file to print as markdown table - --csv= Show csv file to print as markdown table + --tsv= Input tsv file to print as markdown table + --csv= Input csv file to print as markdown table --header= If file does not have a header, set a custom header. E.g. --header "Planet,R (km),mass (x 10^29 kg)". """ diff --git a/requirements.txt b/requirements.txt index 86f4df4..8ebac7d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ docopt pandas tabulate +biopython From f3092b1b8102347114d235c62cc845c776b549e7 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 16 Mar 2021 12:03:54 -0300 Subject: [PATCH 009/130] blastn added! --- fapy/__main__.py | 24 +++++++++++ fapy/blasts.py | 102 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 fapy/blasts.py diff --git a/fapy/__main__.py b/fapy/__main__.py index 78fa89f..e2841c0 100644 --- a/fapy/__main__.py +++ b/fapy/__main__.py @@ -31,6 +31,7 @@ commands: tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. splitgbk Command to split multisequence genbank files into individual files. + blasts Command to execute automatized blast commands. Use: `fa-py -h` to get more help and see examples. """ @@ -48,6 +49,7 @@ from .version import * from .tsv2markdown import * from .splitgbk import * +from .blasts import * ## Defining main def main(): @@ -93,6 +95,28 @@ def main(): else: print(usage_splitgbk.strip()) + ###################### + ### Blast commands ### + ###################### + elif arguments[''] == 'blasts': + # Parse docopt + args = docopt(usage_blasts, version=__version__, help=False) + + # Run + if args['--help']: + print(usage_blasts.strip()) + + elif args['--query'] and args['--subject']: + if args['--task'].lower() == 'blastn': + blastn(query=args['--query'], subject=args['--subject'], + culling=args['--culling_limit'], minid=args['--minid'], + mincov=args['--mincov'], out=args['--out'], + threads=args['--threads'], twoway=args['--2way']) + summary(output=args['--out']) + + else: + print(usage_blasts.strip()) + ##################### ### Check license ### ##################### diff --git a/fapy/blasts.py b/fapy/blasts.py new file mode 100644 index 0000000..d4c7f27 --- /dev/null +++ b/fapy/blasts.py @@ -0,0 +1,102 @@ +#!/usr/bin/env python3 +# coding: utf-8 + +## Def help message +usage_blasts = """ +A simple script to automatize the execution and filtering of blast alignments. + +--- +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain +Usage: + fa-py blasts + fa-py blasts -h|--help + fa-py blasts -v|--version + fa-py blasts ( --query --subject ) [ --task --minid --mincov --culling_limit --out --threads --2way ] + +Options: + -h --help Show this screen. + -v --version Show version information + --task= Select which task to run (blastn, blastp, tblastn or blastx) [Default: blastn]. + --2way Sets the pipeline to filter alignments by coverage in a 2way manner. + Which means an alignment must cover at least n from the query and + subject lengths. Otherwise it just needs to cover n from query seq. + This method is good when comparing query genes to subject genes. + --query= Query fasta file. + --subject= Subject fasta file. + --minid= Min. Identity percentage for gene annotation [Default: 80] + --mincov= Min. Covereage for gene annotation [Default: 80] + --culling_limit= Blast culling_limit for best hit only [Default: 1] + --out= File for saving blast outputs [Default: out.blast] + --threads= Number of threads to be used [Default: 1] +""" + +################################## +### Loading Necessary Packages ### +################################## +from docopt import docopt +import pandas as pd +import os +import sys + +########################################### +### Function for filtering python lists ### +########################################### +def filter(string, substr): + return [str for str in string if + any(sub in str for sub in substr)] + +####################### +### BLASTN function ### +####################### +def blastn(query, subject, culling, minid, mincov, out, threads, twoway): + + # Outfmt + outfmt="6 qseqid qstart qend qlen sseqid sstart send slen evalue length pident gaps gapopen stitle" + + # Run blastn + os.system(f"echo \"qseqid\tqstart\tqend\tqlen\tsseqid\tsstart\tsend\tslen\tevalue\tlength\tpident\tgaps\tgapopen\tstitle\" > {out}") + + if twoway: + os.system(f"blastn -query {query} -subject {subject} -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} -perc_identity {minid} | \ + awk -v minid={minid} -v mincov={mincov} '{{ if ($11 >= minid && (($10 - $12) / $8 * 100) >= mincov && (($10 - $12) / $4 * 100) >= mincov) {{print $0}} }}' >> {out} ") + else: + os.system(f"blastn -query {query} -subject {subject} -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} -perc_identity {minid} | \ + awk -v minid={minid} -v mincov={mincov} '{{ if ($11 >= minid && (($10 - $12) / $4 * 100) >= mincov) {{print $0}} }}' >> {out} ") + +######################## +### Summary function ### +######################## +def summary(output): + + # Outfmt + columns="QUERY\tQUERY_START\tQUERY_END\tQUERY_STRAND\t%QUERY_COV\tSUBJECT\tSUBJECT_START\tSUBJECT_END\tSUBJECT_STRAND\t%SUBJECT_COV\t%IDENTITY\tGAPS" + + # Summary + blast = pd.read_csv(output, sep="\t") + print(columns) + for index, line in blast.iterrows(): + # Query strand + if (line['qstart'] > line['qend']): + strand="-" + else: + strand="+" + # Subject strand + if (line['sstart'] > line['send']): + sstrand='-' + else: + sstrand='+' + # Parse headers + subject=line["sseqid"] + # Query coverage + qcov=round((100 * (line["length"] - line["gaps"]) / line["qlen"]), 2) + # Subject coverage + scov=round((100 * (line["length"] - line["gaps"]) / line["slen"]), 2) + # Identity + id=round(line["pident"], 2) + # Gaps + gaps=str(line["gapopen"]) + "/" + str(line["gaps"]) + + # Print + print(line["qseqid"], line["qstart"], line["qend"], strand, qcov, + subject, line["sstart"], line["send"], sstrand, scov, id, gaps, sep = "\t") From 58db23dafcc7d187a6382c0b52e66e4be080ee72 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 16 Mar 2021 12:38:35 -0300 Subject: [PATCH 010/130] added blastp! --- fapy/__main__.py | 10 +++++++++- fapy/blasts.py | 22 ++++++++++++++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/fapy/__main__.py b/fapy/__main__.py index e2841c0..7b1b245 100644 --- a/fapy/__main__.py +++ b/fapy/__main__.py @@ -107,12 +107,20 @@ def main(): print(usage_blasts.strip()) elif args['--query'] and args['--subject']: + ## blastn if args['--task'].lower() == 'blastn': blastn(query=args['--query'], subject=args['--subject'], culling=args['--culling_limit'], minid=args['--minid'], mincov=args['--mincov'], out=args['--out'], threads=args['--threads'], twoway=args['--2way']) - summary(output=args['--out']) + ## blastp + if args['--task'].lower() == 'blastp': + blastp(query=args['--query'], subject=args['--subject'], + culling=args['--culling_limit'], minid=args['--minid'], + mincov=args['--mincov'], out=args['--out'], + threads=args['--threads'], twoway=args['--2way']) + ## summary + summary(output=args['--out']) else: print(usage_blasts.strip()) diff --git a/fapy/blasts.py b/fapy/blasts.py index d4c7f27..dab83cc 100644 --- a/fapy/blasts.py +++ b/fapy/blasts.py @@ -52,10 +52,10 @@ def filter(string, substr): def blastn(query, subject, culling, minid, mincov, out, threads, twoway): # Outfmt - outfmt="6 qseqid qstart qend qlen sseqid sstart send slen evalue length pident gaps gapopen stitle" + outfmt="6 qseqid qstart qend qlen sseqid sstart send slen evalue length pident gaps gapopen bitscore" # Run blastn - os.system(f"echo \"qseqid\tqstart\tqend\tqlen\tsseqid\tsstart\tsend\tslen\tevalue\tlength\tpident\tgaps\tgapopen\tstitle\" > {out}") + os.system(f"echo \"qseqid\tqstart\tqend\tqlen\tsseqid\tsstart\tsend\tslen\tevalue\tlength\tpident\tgaps\tgapopen\tbitscore\" > {out}") if twoway: os.system(f"blastn -query {query} -subject {subject} -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} -perc_identity {minid} | \ @@ -64,6 +64,24 @@ def blastn(query, subject, culling, minid, mincov, out, threads, twoway): os.system(f"blastn -query {query} -subject {subject} -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} -perc_identity {minid} | \ awk -v minid={minid} -v mincov={mincov} '{{ if ($11 >= minid && (($10 - $12) / $4 * 100) >= mincov) {{print $0}} }}' >> {out} ") +####################### +### BLASTP function ### +####################### +def blastp(query, subject, culling, minid, mincov, out, threads, twoway): + + # Outfmt + outfmt="6 qseqid qstart qend qlen sseqid sstart send slen evalue length pident gaps gapopen bitscore" + + # Run blastp + os.system(f"echo \"qseqid\tqstart\tqend\tqlen\tsseqid\tsstart\tsend\tslen\tevalue\tlength\tpident\tgaps\tgapopen\tbitscore\" > {out}") + + if twoway: + os.system(f"blastp -query {query} -subject {subject} -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} | \ + awk -v minid={minid} -v mincov={mincov} '{{ if ($11 >= minid && (($10 - $12) / $8 * 100) >= mincov && (($10 - $12) / $4 * 100) >= mincov) {{print $0}} }}' >> {out} ") + else: + os.system(f"blastp -query {query} -subject {subject} -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} | \ + awk -v minid={minid} -v mincov={mincov} '{{ if ($11 >= minid && (($10 - $12) / $4 * 100) >= mincov) {{print $0}} }}' >> {out} ") + ######################## ### Summary function ### ######################## From 00a240d4cb9f56ea6004e8a8af8b2de2d2b9a853 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 16 Mar 2021 12:40:09 -0300 Subject: [PATCH 011/130] Update __main__.py --- build/lib/fapy/__main__.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/build/lib/fapy/__main__.py b/build/lib/fapy/__main__.py index 78fa89f..7b1b245 100644 --- a/build/lib/fapy/__main__.py +++ b/build/lib/fapy/__main__.py @@ -31,6 +31,7 @@ commands: tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. splitgbk Command to split multisequence genbank files into individual files. + blasts Command to execute automatized blast commands. Use: `fa-py -h` to get more help and see examples. """ @@ -48,6 +49,7 @@ from .version import * from .tsv2markdown import * from .splitgbk import * +from .blasts import * ## Defining main def main(): @@ -93,6 +95,36 @@ def main(): else: print(usage_splitgbk.strip()) + ###################### + ### Blast commands ### + ###################### + elif arguments[''] == 'blasts': + # Parse docopt + args = docopt(usage_blasts, version=__version__, help=False) + + # Run + if args['--help']: + print(usage_blasts.strip()) + + elif args['--query'] and args['--subject']: + ## blastn + if args['--task'].lower() == 'blastn': + blastn(query=args['--query'], subject=args['--subject'], + culling=args['--culling_limit'], minid=args['--minid'], + mincov=args['--mincov'], out=args['--out'], + threads=args['--threads'], twoway=args['--2way']) + ## blastp + if args['--task'].lower() == 'blastp': + blastp(query=args['--query'], subject=args['--subject'], + culling=args['--culling_limit'], minid=args['--minid'], + mincov=args['--mincov'], out=args['--out'], + threads=args['--threads'], twoway=args['--2way']) + ## summary + summary(output=args['--out']) + + else: + print(usage_blasts.strip()) + ##################### ### Check license ### ##################### From 22c7d3716df97998dc89e5ed01b4b5b56ca94a14 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 16 Mar 2021 12:57:01 -0300 Subject: [PATCH 012/130] Blast is now more generic --- .gitignore | 2 +- Readme.md | 22 ++++++++++++++++++++++ build/lib/fapy/__main__.py | 28 +++++++++++++--------------- fapy/__main__.py | 28 +++++++++++++--------------- fapy/blasts.py | 37 ++++++------------------------------- 5 files changed, 55 insertions(+), 62 deletions(-) diff --git a/.gitignore b/.gitignore index 885fe2d..0b368ad 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ fa_py.egg-info/ dist fapy/__pycache__ -build +build/* diff --git a/Readme.md b/Readme.md index 822584b..116e980 100644 --- a/Readme.md +++ b/Readme.md @@ -17,6 +17,28 @@ python3 fa-py-runner.py -h # Install and run in any place python3 setup.py install fa-py -h + +# help +fa-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2021 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + fa-py [ -h|--help ] [ -v|--version ] [ --license ] + fa-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + blasts Command to execute automatized blast commands. + +Use: `fa-py -h` to get more help and see examples. ``` ## Old scripts diff --git a/build/lib/fapy/__main__.py b/build/lib/fapy/__main__.py index 7b1b245..46de507 100644 --- a/build/lib/fapy/__main__.py +++ b/build/lib/fapy/__main__.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 license=""" -Copyright 2020 Felipe Almeida (almeidafmarques@gmail.com) +Copyright 2021 Felipe Almeida (almeidafmarques@gmail.com) https://github.com/fmalmeida/pythonScripts This file is part of my custom python scripts (fa-py) package, which is free: you can redistribute it and/or modify @@ -107,20 +107,18 @@ def main(): print(usage_blasts.strip()) elif args['--query'] and args['--subject']: - ## blastn - if args['--task'].lower() == 'blastn': - blastn(query=args['--query'], subject=args['--subject'], - culling=args['--culling_limit'], minid=args['--minid'], - mincov=args['--mincov'], out=args['--out'], - threads=args['--threads'], twoway=args['--2way']) - ## blastp - if args['--task'].lower() == 'blastp': - blastp(query=args['--query'], subject=args['--subject'], - culling=args['--culling_limit'], minid=args['--minid'], - mincov=args['--mincov'], out=args['--out'], - threads=args['--threads'], twoway=args['--2way']) - ## summary - summary(output=args['--out']) + + ## check if task is correct + if args['--task'].lower() in ['blastn', 'tblastn', 'blastp', 'blastx']: + ## run blast + blast(task=args['--task'].lower(), query=args['--query'], + subject=args['--subject'], culling=args['--culling_limit'], + minid=args['--minid'], mincov=args['--mincov'], out=args['--out'], + threads=args['--threads'], twoway=args['--2way']) + ## summary + summary(output=args['--out']) + else: + print(f"PROBLEM!\nI could not understand the task \"{args['--task'].lower()}\", please select one of: blastn, tblastn, blastp or blastx.") else: print(usage_blasts.strip()) diff --git a/fapy/__main__.py b/fapy/__main__.py index 7b1b245..46de507 100644 --- a/fapy/__main__.py +++ b/fapy/__main__.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 license=""" -Copyright 2020 Felipe Almeida (almeidafmarques@gmail.com) +Copyright 2021 Felipe Almeida (almeidafmarques@gmail.com) https://github.com/fmalmeida/pythonScripts This file is part of my custom python scripts (fa-py) package, which is free: you can redistribute it and/or modify @@ -107,20 +107,18 @@ def main(): print(usage_blasts.strip()) elif args['--query'] and args['--subject']: - ## blastn - if args['--task'].lower() == 'blastn': - blastn(query=args['--query'], subject=args['--subject'], - culling=args['--culling_limit'], minid=args['--minid'], - mincov=args['--mincov'], out=args['--out'], - threads=args['--threads'], twoway=args['--2way']) - ## blastp - if args['--task'].lower() == 'blastp': - blastp(query=args['--query'], subject=args['--subject'], - culling=args['--culling_limit'], minid=args['--minid'], - mincov=args['--mincov'], out=args['--out'], - threads=args['--threads'], twoway=args['--2way']) - ## summary - summary(output=args['--out']) + + ## check if task is correct + if args['--task'].lower() in ['blastn', 'tblastn', 'blastp', 'blastx']: + ## run blast + blast(task=args['--task'].lower(), query=args['--query'], + subject=args['--subject'], culling=args['--culling_limit'], + minid=args['--minid'], mincov=args['--mincov'], out=args['--out'], + threads=args['--threads'], twoway=args['--2way']) + ## summary + summary(output=args['--out']) + else: + print(f"PROBLEM!\nI could not understand the task \"{args['--task'].lower()}\", please select one of: blastn, tblastn, blastp or blastx.") else: print(usage_blasts.strip()) diff --git a/fapy/blasts.py b/fapy/blasts.py index dab83cc..f1eff64 100644 --- a/fapy/blasts.py +++ b/fapy/blasts.py @@ -39,17 +39,10 @@ import os import sys -########################################### -### Function for filtering python lists ### -########################################### -def filter(string, substr): - return [str for str in string if - any(sub in str for sub in substr)] - -####################### -### BLASTN function ### -####################### -def blastn(query, subject, culling, minid, mincov, out, threads, twoway): +###################### +### BLAST FUNCTION ### +###################### +def blast(task, query, subject, culling, minid, mincov, out, threads, twoway): # Outfmt outfmt="6 qseqid qstart qend qlen sseqid sstart send slen evalue length pident gaps gapopen bitscore" @@ -58,28 +51,10 @@ def blastn(query, subject, culling, minid, mincov, out, threads, twoway): os.system(f"echo \"qseqid\tqstart\tqend\tqlen\tsseqid\tsstart\tsend\tslen\tevalue\tlength\tpident\tgaps\tgapopen\tbitscore\" > {out}") if twoway: - os.system(f"blastn -query {query} -subject {subject} -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} -perc_identity {minid} | \ - awk -v minid={minid} -v mincov={mincov} '{{ if ($11 >= minid && (($10 - $12) / $8 * 100) >= mincov && (($10 - $12) / $4 * 100) >= mincov) {{print $0}} }}' >> {out} ") - else: - os.system(f"blastn -query {query} -subject {subject} -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} -perc_identity {minid} | \ - awk -v minid={minid} -v mincov={mincov} '{{ if ($11 >= minid && (($10 - $12) / $4 * 100) >= mincov) {{print $0}} }}' >> {out} ") - -####################### -### BLASTP function ### -####################### -def blastp(query, subject, culling, minid, mincov, out, threads, twoway): - - # Outfmt - outfmt="6 qseqid qstart qend qlen sseqid sstart send slen evalue length pident gaps gapopen bitscore" - - # Run blastp - os.system(f"echo \"qseqid\tqstart\tqend\tqlen\tsseqid\tsstart\tsend\tslen\tevalue\tlength\tpident\tgaps\tgapopen\tbitscore\" > {out}") - - if twoway: - os.system(f"blastp -query {query} -subject {subject} -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} | \ + os.system(f"{task} -query {query} -subject {subject} -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} | \ awk -v minid={minid} -v mincov={mincov} '{{ if ($11 >= minid && (($10 - $12) / $8 * 100) >= mincov && (($10 - $12) / $4 * 100) >= mincov) {{print $0}} }}' >> {out} ") else: - os.system(f"blastp -query {query} -subject {subject} -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} | \ + os.system(f"{task} -query {query} -subject {subject} -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} | \ awk -v minid={minid} -v mincov={mincov} '{{ if ($11 >= minid && (($10 - $12) / $4 * 100) >= mincov) {{print $0}} }}' >> {out} ") ######################## From 1bbae6edb0902fd53264988858738ee8c7b1a9f3 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 16 Mar 2021 12:57:51 -0300 Subject: [PATCH 013/130] Removing build --- build/lib/fapy/__init__.py | 0 build/lib/fapy/__main__.py | 140 --------------------------------- build/lib/fapy/tsv2markdown.py | 50 ------------ build/lib/fapy/version.py | 20 ----- 4 files changed, 210 deletions(-) delete mode 100644 build/lib/fapy/__init__.py delete mode 100644 build/lib/fapy/__main__.py delete mode 100644 build/lib/fapy/tsv2markdown.py delete mode 100644 build/lib/fapy/version.py diff --git a/build/lib/fapy/__init__.py b/build/lib/fapy/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/build/lib/fapy/__main__.py b/build/lib/fapy/__main__.py deleted file mode 100644 index 46de507..0000000 --- a/build/lib/fapy/__main__.py +++ /dev/null @@ -1,140 +0,0 @@ -#!/usr/bin/env python3 -license=""" -Copyright 2021 Felipe Almeida (almeidafmarques@gmail.com) -https://github.com/fmalmeida/pythonScripts - -This file is part of my custom python scripts (fa-py) package, which is free: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the Free Software Foundation, -either version 3 of the License, or (at your option) any later version. This package is distributed -in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. You should have received a copy of the GNU General Public License along with fa-py package. -If not, see . -""" - -## Def main help -usage=""" -fa-py: a package to the simple distribution of my custom scripts. - -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - fa-py [ -h|--help ] [ -v|--version ] [ --license ] - fa-py [ -h|--help ] [ ... ] - -options: - -h --help Show this screen - -v --version Show version information - --license Show LEGAL LICENSE information - -commands: - tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. - splitgbk Command to split multisequence genbank files into individual files. - blasts Command to execute automatized blast commands. - -Use: `fa-py -h` to get more help and see examples. -""" - -################################## -### Loading Necessary Packages ### -################################## -from docopt import docopt -from subprocess import call -import sys - -######################## -### Import functions ### -######################## -from .version import * -from .tsv2markdown import * -from .splitgbk import * -from .blasts import * - -## Defining main -def main(): - # Parse docopt - __version__ = get_version() - arguments = docopt(usage, version=__version__, help=False, options_first=True) - - ############################ - ### tsv2markdown command ### - ############################ - if arguments[''] == 'tsv2markdown': - - # Parse docopt - args = docopt(usage_tsv2markdown, version=__version__, help=False) - - # run script - if args['--help']: - print(usage_tsv2markdown.strip()) - - elif args['--tsv']: - file2mw(args['--tsv'], '\t', args['--header']) - - elif args['--csv']: - file2mw(arguments['--csv'], ',', args['--header']) - - else: - print(usage_tsv2markdown.strip()) - - ######################### - ### Split gbk command ### - ######################### - elif arguments[''] == 'splitgbk': - # Parse docopt - args = docopt(usage_splitgbk, version=__version__, help=False) - - # Run - if args['--help']: - print(usage_splitgbk.strip()) - - elif args['--gbk']: - splitgbk(args['--gbk'], args['--outdir']) - - else: - print(usage_splitgbk.strip()) - - ###################### - ### Blast commands ### - ###################### - elif arguments[''] == 'blasts': - # Parse docopt - args = docopt(usage_blasts, version=__version__, help=False) - - # Run - if args['--help']: - print(usage_blasts.strip()) - - elif args['--query'] and args['--subject']: - - ## check if task is correct - if args['--task'].lower() in ['blastn', 'tblastn', 'blastp', 'blastx']: - ## run blast - blast(task=args['--task'].lower(), query=args['--query'], - subject=args['--subject'], culling=args['--culling_limit'], - minid=args['--minid'], mincov=args['--mincov'], out=args['--out'], - threads=args['--threads'], twoway=args['--2way']) - ## summary - summary(output=args['--out']) - else: - print(f"PROBLEM!\nI could not understand the task \"{args['--task'].lower()}\", please select one of: blastn, tblastn, blastp or blastx.") - - else: - print(usage_blasts.strip()) - - ##################### - ### Check license ### - ##################### - elif arguments['--license']: - print(license.strip()) - - ####################################### - ### Without commands nor parameters ### - ####################################### - else: - print(usage.strip()) - -## Calling main -if __name__ == '__main__': - main() diff --git a/build/lib/fapy/tsv2markdown.py b/build/lib/fapy/tsv2markdown.py deleted file mode 100644 index 24b4ceb..0000000 --- a/build/lib/fapy/tsv2markdown.py +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env python -# coding: utf-8 - -## Def help message -usage_tsv2markdown = """ -A simple script to convert tsv (or csv) files to markdown tables using tabulate! -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - fa-py tsv2markdown - fa-py tsv2markdown [ -h|--help ] - fa-py tsv2markdown [ --tsv --csv --header ] - -options: - -h --help Show this screen. - --tsv= Input tsv file to print as markdown table - --csv= Input csv file to print as markdown table - --header= If file does not have a header, set a - custom header. E.g. --header "Planet,R (km),mass (x 10^29 kg)". -""" - -################################## -### Loading Necessary Packages ### -################################## -from docopt import docopt -from tabulate import tabulate - -########################### -### Read header as list ### -########################### -def header2list(header): - return header.split(',') - -################################### -### Convert with header in file ### -################################### -def file2mw(filep, fsep, header): - - # read data.frame - with open(filep) as file_in: - lines = [] - for line in file_in: - lines.append(line.split(fsep)) - - # generate tabulate - if header: - print(tabulate(lines, headers=header2list(arguments['--header']), tablefmt="github")) - else: - print(tabulate(lines, headers="firstrow", tablefmt="github")) diff --git a/build/lib/fapy/version.py b/build/lib/fapy/version.py deleted file mode 100644 index 1fff8fc..0000000 --- a/build/lib/fapy/version.py +++ /dev/null @@ -1,20 +0,0 @@ -""" -The version is stored here in a separate file so it can exist in only one place. -https://stackoverflow.com/a/7071358/2438989 - -Copyright 2020 Felipe Almeida (almeidafmarques@gmail.com) -https://github.com/fmalmeida/pythonScripts - -This file is part of my custom python scripts (fa-py) package, which is free: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by the Free Software Foundation, -either version 3 of the License, or (at your option) any later version. This package is distributed -in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. You should have received a copy of the GNU General Public License along with fa-py package. -If not, see . -""" - -__version__ = '0.1' - -def get_version(): - return __version__ From c0db463005b51b2aa19841c3ab3230b581343d82 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sat, 20 Mar 2021 13:45:05 -0300 Subject: [PATCH 014/130] added align2split function --- fapy/__main__.py | 28 +++++++++++++ fapy/usage_align2subsetgbk.py | 76 +++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 fapy/usage_align2subsetgbk.py diff --git a/fapy/__main__.py b/fapy/__main__.py index 46de507..25b221c 100644 --- a/fapy/__main__.py +++ b/fapy/__main__.py @@ -31,6 +31,7 @@ commands: tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. blasts Command to execute automatized blast commands. Use: `fa-py -h` to get more help and see examples. @@ -50,6 +51,7 @@ from .tsv2markdown import * from .splitgbk import * from .blasts import * +from .usage_align2subsetgbk import * ## Defining main def main(): @@ -123,6 +125,32 @@ def main(): else: print(usage_blasts.strip()) + ###################################### + ### Subset gbk with fasta commands ### + ###################################### + elif arguments[''] == 'align2subsetgbk': + # Parse docopt + args = docopt(usage_align2subsetgbk, version=__version__, help=False) + + # Run + if args['--help']: + print(usage_align2subsetgbk.strip()) + + elif args['--gbk'] and args['--fasta']: + + # Run + gbk2fasta(gbk=args['--gbk']) + blast(task='blastn', query=args['--fasta'], subject='tmp_gbk.fa', + culling=args['--culling_limit'], minid=args['--minid'], mincov=args['--mincov'], + out='out.blast', threads=1, twoway=None) + filtergbk(gbk=args['--gbk'], out=args['--out'], extension=int(args['--extension'])) + + # Clean dir + os.system(f"rm -rf tmp_gbk.fa out.blast") + + else: + print(usage_align2subsetgbk.strip()) + ##################### ### Check license ### ##################### diff --git a/fapy/usage_align2subsetgbk.py b/fapy/usage_align2subsetgbk.py new file mode 100644 index 0000000..e2b22be --- /dev/null +++ b/fapy/usage_align2subsetgbk.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python3 +# coding: utf-8 + +######################## +### Def help message ### +######################## +usage_align2subsetgbk = """ +A script meant to subset a genbank annotation file based on alignments +against a query FASTA file + +--- +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +Usage: + fa-py align2subsetgbk [ -h|--help ] + fa-py align2subsetgbk [ --gbk --fasta --out --minid --mincov --culling_limit --extension ] + +Options: + -h --help Show this screen. + -g --gbk= Gbk file for subset + -f --fasta= FASTA file for querying the gbk + -o --out= Gbk filtered output file [Default: out.gbk]. + --extension= Base pair length to extend the flank regions in the alignment [Default: 0]. + --minid= Min. Identity percentage for gene annotation [Default: 80]. + --mincov= Min. Covereage for gene annotation [Default: 80]. + --culling_limit= Blast culling_limit for best hit only [Default: 1]. +""" + +################################## +### Loading Necessary Packages ### +################################## +from docopt import docopt +from Bio import SeqIO +from io import StringIO +import pandas as pd +import os +import sys +from .blasts import * + +########################################## +### Function to convert gbk into fasta ### +########################################## +def gbk2fasta(gbk): + f=open("tmp_gbk.fa", "a") + for seq_record in SeqIO.parse(gbk, 'genbank'): + print(f">{seq_record.id}\n{seq_record.seq}\n", file=f) + +############################################ +### Function to filter gbk based on hits ### +############################################ +def filtergbk(gbk, out, extension): + + f=open(f"{out}", "w") + # Read blast results + blast_res = pd.read_csv('out.blast', sep = '\t') + + # Get locus_tags + contigs = sorted(set(blast_res["sseqid"].tolist())) + + # Subset + filtered = [] + for contig in contigs: + for seq_record in SeqIO.parse(gbk, 'genbank'): + if contig == seq_record.id: + small_df = blast_res[blast_res['sseqid'].isin([seq_record.id])] + for index, row in small_df.iterrows(): + for features in seq_record.features: + if int(features.location.start) >= int(row["sstart"] - extension) and int(features.location.start) <= int(row["send"] + extension) and features.type != "source": + filtered.append(features) + else: + pass + # Print results + seq_record.features = filtered + if len(seq_record.features) > 0: + SeqIO.write(seq_record, f, 'gb') From 8414bedaaf986ad2fcbfb335f4425ee63cafd20f Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 22 Mar 2021 15:07:43 -0300 Subject: [PATCH 015/130] strands fixed --- fapy/__main__.py | 1 + fapy/usage_align2subsetgbk.py | 22 +++++++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/fapy/__main__.py b/fapy/__main__.py index 25b221c..19aa924 100644 --- a/fapy/__main__.py +++ b/fapy/__main__.py @@ -139,6 +139,7 @@ def main(): elif args['--gbk'] and args['--fasta']: # Run + print(f"Processing file: {args['--gbk']}!") gbk2fasta(gbk=args['--gbk']) blast(task='blastn', query=args['--fasta'], subject='tmp_gbk.fa', culling=args['--culling_limit'], minid=args['--minid'], mincov=args['--mincov'], diff --git a/fapy/usage_align2subsetgbk.py b/fapy/usage_align2subsetgbk.py index e2b22be..725cf41 100644 --- a/fapy/usage_align2subsetgbk.py +++ b/fapy/usage_align2subsetgbk.py @@ -54,6 +54,7 @@ def filtergbk(gbk, out, extension): f=open(f"{out}", "w") # Read blast results blast_res = pd.read_csv('out.blast', sep = '\t') + print(blast_res) # Get locus_tags contigs = sorted(set(blast_res["sseqid"].tolist())) @@ -62,15 +63,22 @@ def filtergbk(gbk, out, extension): filtered = [] for contig in contigs: for seq_record in SeqIO.parse(gbk, 'genbank'): - if contig == seq_record.id: + if str(contig) == str(seq_record.id): small_df = blast_res[blast_res['sseqid'].isin([seq_record.id])] for index, row in small_df.iterrows(): for features in seq_record.features: - if int(features.location.start) >= int(row["sstart"] - extension) and int(features.location.start) <= int(row["send"] + extension) and features.type != "source": - filtered.append(features) + # plus strand + if int(row["sstart"]) <= int(row["send"]): + if int(features.location.start) >= int(row["sstart"] - extension) and int(features.location.start) <= int(row["send"] + extension) and features.type != "source": + filtered.append(features) + # minus strand + elif int(row["sstart"]) >= int(row["send"]): + if int(features.location.start) >= int(row["send"] - extension) and int(features.location.start) <= int(row["sstart"] + extension) and features.type != "source": + filtered.append(features) else: pass - # Print results - seq_record.features = filtered - if len(seq_record.features) > 0: - SeqIO.write(seq_record, f, 'gb') + + # Print results + seq_record.features = filtered + if len(seq_record.features) > 0: + SeqIO.write(seq_record, f, 'gb') From 6cfa6970fcb74f2ac090735148f856283f4657f7 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 22 Mar 2021 16:36:24 -0300 Subject: [PATCH 016/130] Update usage_align2subsetgbk.py --- fapy/usage_align2subsetgbk.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fapy/usage_align2subsetgbk.py b/fapy/usage_align2subsetgbk.py index 725cf41..bc887c5 100644 --- a/fapy/usage_align2subsetgbk.py +++ b/fapy/usage_align2subsetgbk.py @@ -60,10 +60,10 @@ def filtergbk(gbk, out, extension): contigs = sorted(set(blast_res["sseqid"].tolist())) # Subset - filtered = [] for contig in contigs: for seq_record in SeqIO.parse(gbk, 'genbank'): if str(contig) == str(seq_record.id): + filtered = [] small_df = blast_res[blast_res['sseqid'].isin([seq_record.id])] for index, row in small_df.iterrows(): for features in seq_record.features: @@ -75,10 +75,10 @@ def filtergbk(gbk, out, extension): elif int(row["sstart"]) >= int(row["send"]): if int(features.location.start) >= int(row["send"] - extension) and int(features.location.start) <= int(row["sstart"] + extension) and features.type != "source": filtered.append(features) + + # Print results + seq_record.features = filtered + if len(seq_record.features) > 0: + SeqIO.write(seq_record, f, 'gb') else: pass - - # Print results - seq_record.features = filtered - if len(seq_record.features) > 0: - SeqIO.write(seq_record, f, 'gb') From de4f281474922bb4b68860af706392bd18744ec1 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Tue, 30 Mar 2021 11:18:23 -0300 Subject: [PATCH 017/130] Update Readme.md --- Readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Readme.md b/Readme.md index 116e980..b9fbad4 100644 --- a/Readme.md +++ b/Readme.md @@ -14,8 +14,8 @@ cd pythonScripts # Run without installing python3 fa-py-runner.py -h -# Install and run in any place -python3 setup.py install +# Or install with pip and run anywhere +pip install git+git://github.com/fmalmeida/pythonScripts.git fa-py -h # help From 1ab32b186a212e688987ba64261670feee7bb716 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Wed, 7 Apr 2021 14:38:07 -0300 Subject: [PATCH 018/130] Update Readme.md --- Readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index b9fbad4..767dd86 100644 --- a/Readme.md +++ b/Readme.md @@ -21,7 +21,7 @@ fa-py -h # help fa-py: a package to the simple distribution of my custom scripts. -Copyright (C) 2021 Felipe Marques de Almeida (almeidafmarques@gmail.com) +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) License: Public Domain usage: @@ -36,6 +36,7 @@ options: commands: tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. blasts Command to execute automatized blast commands. Use: `fa-py -h` to get more help and see examples. From fcbc0f63b5071ed9b54df125815c874a145aa2e8 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Tue, 25 May 2021 13:59:53 -0300 Subject: [PATCH 019/130] Update tsv2markdown.py --- fapy/tsv2markdown.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fapy/tsv2markdown.py b/fapy/tsv2markdown.py index 24b4ceb..a2244ce 100644 --- a/fapy/tsv2markdown.py +++ b/fapy/tsv2markdown.py @@ -45,6 +45,6 @@ def file2mw(filep, fsep, header): # generate tabulate if header: - print(tabulate(lines, headers=header2list(arguments['--header']), tablefmt="github")) + print(tabulate(lines, headers=header2list(header), tablefmt="github")) else: print(tabulate(lines, headers="firstrow", tablefmt="github")) From 6e5dfdfae1346507a60e75d17dc7ae9fab27d129 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Thu, 15 Jul 2021 11:07:50 -0300 Subject: [PATCH 020/130] Update Readme.md --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 767dd86..0aadf37 100644 --- a/Readme.md +++ b/Readme.md @@ -15,7 +15,7 @@ cd pythonScripts python3 fa-py-runner.py -h # Or install with pip and run anywhere -pip install git+git://github.com/fmalmeida/pythonScripts.git +pip install setup.py fa-py -h # help From 43286474596ffedd2b77e69cdeb1113f3dfb105b Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Thu, 15 Jul 2021 11:09:07 -0300 Subject: [PATCH 021/130] Delete Readme.md --- Readme.md | 55 ------------------------------------------------------- 1 file changed, 55 deletions(-) delete mode 100644 Readme.md diff --git a/Readme.md b/Readme.md deleted file mode 100644 index 0aadf37..0000000 --- a/Readme.md +++ /dev/null @@ -1,55 +0,0 @@ -# fa-py (Felipe Almeida python scripts) - -This repository has been turned into an installable python package in order to facilitate the distribution of my custom python scripts and, in turn, make them easier to execute. - -## Installation - -Installation is super easy and perhaps not required: - -```bash -# Download -git clone https://github.com/fmalmeida/pythonScripts.git -cd pythonScripts - -# Run without installing -python3 fa-py-runner.py -h - -# Or install with pip and run anywhere -pip install setup.py -fa-py -h - -# help -fa-py: a package to the simple distribution of my custom scripts. - -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - fa-py [ -h|--help ] [ -v|--version ] [ --license ] - fa-py [ -h|--help ] [ ... ] - -options: - -h --help Show this screen - -v --version Show version information - --license Show LEGAL LICENSE information - -commands: - tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. - splitgbk Command to split multisequence genbank files into individual files. - align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. - blasts Command to execute automatized blast commands. - -Use: `fa-py -h` to get more help and see examples. -``` - -## Old scripts - -All my python scripts as single scripts, that may or may not be included in the package are available in the `bkp` folder! - -## License - -This repository has no warranty and is free to use, modify and share under GNU GENERAL PUBLIC LICENSE version 3. - -## Contact - -Felipe Almeida From d9fa24913e9537c23dd62ff0838b0bcf8dc84ade Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Thu, 15 Jul 2021 11:09:12 -0300 Subject: [PATCH 022/130] Create README.md --- README.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..0aadf37 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +# fa-py (Felipe Almeida python scripts) + +This repository has been turned into an installable python package in order to facilitate the distribution of my custom python scripts and, in turn, make them easier to execute. + +## Installation + +Installation is super easy and perhaps not required: + +```bash +# Download +git clone https://github.com/fmalmeida/pythonScripts.git +cd pythonScripts + +# Run without installing +python3 fa-py-runner.py -h + +# Or install with pip and run anywhere +pip install setup.py +fa-py -h + +# help +fa-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + fa-py [ -h|--help ] [ -v|--version ] [ --license ] + fa-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + blasts Command to execute automatized blast commands. + +Use: `fa-py -h` to get more help and see examples. +``` + +## Old scripts + +All my python scripts as single scripts, that may or may not be included in the package are available in the `bkp` folder! + +## License + +This repository has no warranty and is free to use, modify and share under GNU GENERAL PUBLIC LICENSE version 3. + +## Contact + +Felipe Almeida From 2248adfc876b3555dd026e3be9f437863b20cc1a Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Thu, 15 Jul 2021 11:10:25 -0300 Subject: [PATCH 023/130] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0aadf37..767dd86 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ cd pythonScripts python3 fa-py-runner.py -h # Or install with pip and run anywhere -pip install setup.py +pip install git+git://github.com/fmalmeida/pythonScripts.git fa-py -h # help From bcc71bf9016e30625f5f92da3f64fba74730b5bf Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Thu, 15 Jul 2021 11:41:02 -0300 Subject: [PATCH 024/130] Update blasts.py --- fapy/blasts.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/fapy/blasts.py b/fapy/blasts.py index f1eff64..7f31184 100644 --- a/fapy/blasts.py +++ b/fapy/blasts.py @@ -47,16 +47,27 @@ def blast(task, query, subject, culling, minid, mincov, out, threads, twoway): # Outfmt outfmt="6 qseqid qstart qend qlen sseqid sstart send slen evalue length pident gaps gapopen bitscore" - # Run blastn + # format header os.system(f"echo \"qseqid\tqstart\tqend\tqlen\tsseqid\tsstart\tsend\tslen\tevalue\tlength\tpident\tgaps\tgapopen\tbitscore\" > {out}") + # format db + if task == "blastn" or task == "tblastn": + db_type = "nucl" + elif task == "blastx" or task == "blastp": + db_type = "prot" + os.system(f"makeblastdb -in {subject} -parse_seqids -out ./FA-PY-SUBJECT-DB -dbtype {db_type} 1> /dev/null") + + # run blast if twoway: - os.system(f"{task} -query {query} -subject {subject} -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} | \ + os.system(f"{task} -query {query} -db ./FA-PY-SUBJECT-DB -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} | \ awk -v minid={minid} -v mincov={mincov} '{{ if ($11 >= minid && (($10 - $12) / $8 * 100) >= mincov && (($10 - $12) / $4 * 100) >= mincov) {{print $0}} }}' >> {out} ") else: - os.system(f"{task} -query {query} -subject {subject} -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} | \ + os.system(f"{task} -query {query} -db ./FA-PY-SUBJECT-DB -outfmt \"{outfmt}\" -num_threads {threads} -culling_limit {culling} | \ awk -v minid={minid} -v mincov={mincov} '{{ if ($11 >= minid && (($10 - $12) / $4 * 100) >= mincov) {{print $0}} }}' >> {out} ") + # clear work dir + os.system("rm -rf ./FA-PY-SUBJECT-DB*") + ######################## ### Summary function ### ######################## From 93571e68a6d4052a432659ceb6033975c44fe62c Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Fri, 5 Nov 2021 10:56:27 -0300 Subject: [PATCH 025/130] add replace string in fasta function --- README.md | 23 ------ fapy/__main__.py | 29 ++++++-- ..._align2subsetgbk.py => align2subsetgbk.py} | 3 - fapy/replace_fasta_seq.py | 70 +++++++++++++++++++ 4 files changed, 95 insertions(+), 30 deletions(-) rename fapy/{usage_align2subsetgbk.py => align2subsetgbk.py} (98%) create mode 100644 fapy/replace_fasta_seq.py diff --git a/README.md b/README.md index 767dd86..7945ed2 100644 --- a/README.md +++ b/README.md @@ -17,29 +17,6 @@ python3 fa-py-runner.py -h # Or install with pip and run anywhere pip install git+git://github.com/fmalmeida/pythonScripts.git fa-py -h - -# help -fa-py: a package to the simple distribution of my custom scripts. - -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - fa-py [ -h|--help ] [ -v|--version ] [ --license ] - fa-py [ -h|--help ] [ ... ] - -options: - -h --help Show this screen - -v --version Show version information - --license Show LEGAL LICENSE information - -commands: - tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. - splitgbk Command to split multisequence genbank files into individual files. - align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. - blasts Command to execute automatized blast commands. - -Use: `fa-py -h` to get more help and see examples. ``` ## Old scripts diff --git a/fapy/__main__.py b/fapy/__main__.py index 19aa924..54bbeed 100644 --- a/fapy/__main__.py +++ b/fapy/__main__.py @@ -31,8 +31,9 @@ commands: tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. splitgbk Command to split multisequence genbank files into individual files. - align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file Use: `fa-py -h` to get more help and see examples. """ @@ -41,8 +42,6 @@ ### Loading Necessary Packages ### ################################## from docopt import docopt -from subprocess import call -import sys ######################## ### Import functions ### @@ -51,7 +50,8 @@ from .tsv2markdown import * from .splitgbk import * from .blasts import * -from .usage_align2subsetgbk import * +from .align2subsetgbk import * +from .replace_fasta_seq import * ## Defining main def main(): @@ -151,6 +151,27 @@ def main(): else: print(usage_align2subsetgbk.strip()) + + ################################### + ### Replace fasta seq using bed ### + ################################### + elif arguments[''] == 'replace_fasta_seq': + # Parse docopt + args = docopt(usage_replace_fasta_seq, version=__version__, help=False) + + # Run + if args['--help']: + print(usage_replace_fasta_seq.strip()) + + elif args['--fasta'] and args['--bed']: + + # Run + print(f"Processing file: {args['--fasta']}!") + replace_fasta_seq(input=args['--fasta'], bed=args['--bed'], output=args['--out'], sep=args['--sep']) + print(f"Done!") + + else: + print(usage_replace_fasta_seq.strip()) ##################### ### Check license ### diff --git a/fapy/usage_align2subsetgbk.py b/fapy/align2subsetgbk.py similarity index 98% rename from fapy/usage_align2subsetgbk.py rename to fapy/align2subsetgbk.py index bc887c5..4fc5303 100644 --- a/fapy/usage_align2subsetgbk.py +++ b/fapy/align2subsetgbk.py @@ -32,10 +32,7 @@ ################################## from docopt import docopt from Bio import SeqIO -from io import StringIO import pandas as pd -import os -import sys from .blasts import * ########################################## diff --git a/fapy/replace_fasta_seq.py b/fapy/replace_fasta_seq.py new file mode 100644 index 0000000..3b92158 --- /dev/null +++ b/fapy/replace_fasta_seq.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python3 +#!/usr/bin/env python3 +# coding: utf-8 + +######################## +### Def help message ### +######################## +usage_replace_fasta_seq = """ +A script meant to replace a string in a FASTA file using defitions in a BED file. + +--- +Copyright (C) 2021 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +Usage: + fa-py replace_fasta_seq [ -h|--help ] + fa-py replace_fasta_seq [ --fasta --bed --out --sep ] + +Options: + -h --help Show this screen. + -f --fasta= FASTA file to replace sequences in. + -o --out= Output FASTA file [Default: out.fasta]. + -b --bed= BED file with replacement definitions. + -s --sep= Separator for BED file [Default: '\t']. + +Comments: + The BED file MUST be a 4 column file with the following format: + contig start end sub_seq +""" + +################################## +### Loading Necessary Packages ### +################################## +from docopt import docopt +from Bio import SeqIO + +########################## +### load fasta as dict ### +########################## +def fasta_as_dict(fasta): + fasta_dict = {} + for seq_record in SeqIO.parse(fasta, "fasta"): + fasta_dict[seq_record.id] = seq_record + return fasta_dict + +############################################# +### replace sequences using values in bed ### +############################################# +def replace_seq_in_dict(bed, dict, sep): + with open(bed) as f: + for line in f: + contig, start, end, sub_seq = line.strip().split(sep) + dict[contig].seq = dict[contig].seq[:int(start) - 1] + sub_seq + dict[contig].seq[int(end):] + +#################### +### output fasta ### +#################### +def output_fasta(dict, out): + with open(out, 'w') as f: + for record in dict.values(): + print(">" + record.id, file=f) + print(record.seq, file=f) + +##################### +### main function ### +##################### +def replace_fasta_seq(input, output, bed, sep): + fasta_dict = fasta_as_dict(input) + replace_seq_in_dict(bed, fasta_dict, sep) + output_fasta(fasta_dict, output) \ No newline at end of file From 61b8e30a3eb0b3a1da11141a91a83236a98dc286 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Fri, 5 Nov 2021 10:58:12 -0300 Subject: [PATCH 026/130] update version --- conda.recipe/meta.yaml | 2 +- fapy/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index 730129d..cbca04d 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,6 +1,6 @@ package: name: fa-py - version: 0.1 + version: 0.2 source: path: .. diff --git a/fapy/version.py b/fapy/version.py index 1fff8fc..230fc19 100644 --- a/fapy/version.py +++ b/fapy/version.py @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '0.1' +__version__ = '0.2' def get_version(): return __version__ From 75c437c15be075ce2314ee966fb05336fc0584d1 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Fri, 5 Nov 2021 11:04:19 -0300 Subject: [PATCH 027/130] ADD BADGES --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 7945ed2..44bdf96 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # fa-py (Felipe Almeida python scripts) +[![](https://anaconda.org/falmeida/fa-py/badges/installer/conda.svg)](https://anaconda.org/falmeida/fa-py) [![](https://anaconda.org/falmeida/fa-py/badges/version.svg)](https://anaconda.org/falmeida/fa-py) [![](https://anaconda.org/falmeida/fa-py/badges/platforms.svg +)](https://anaconda.org/falmeida/fa-py) + This repository has been turned into an installable python package in order to facilitate the distribution of my custom python scripts and, in turn, make them easier to execute. ## Installation From 5240e384346ec15b6cb19f572db483f1f40cbcc6 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Fri, 5 Nov 2021 11:12:50 -0300 Subject: [PATCH 028/130] add a conda build script --- build_conda.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 build_conda.sh diff --git a/build_conda.sh b/build_conda.sh new file mode 100644 index 0000000..af02849 --- /dev/null +++ b/build_conda.sh @@ -0,0 +1,14 @@ +# make dir +mkdir -p build + +# build conda +conda build --output-folder build/ conda.recipe + +# convert to osx +conda convert -p osx-64 $(find build -name "fa-py*.tar.bz2") + +# upload osx +anaconda upload $(find osx-64 -name "fa-py*.tar.bz2") --force + +# rm dirs +rm -rf build osx-64 \ No newline at end of file From a7e891c541b6d091bf8bd9f1e8302e47384d3810 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Fri, 5 Nov 2021 11:13:46 -0300 Subject: [PATCH 029/130] add conda info --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 44bdf96..949a0c3 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,9 @@ cd pythonScripts # Run without installing python3 fa-py-runner.py -h +# Or install with conda and run anywhere +conda install -c anaconda -c conda-forge -c bioconda -c falmeida fa-py + # Or install with pip and run anywhere pip install git+git://github.com/fmalmeida/pythonScripts.git fa-py -h From d02232aae2f7509c7f6282af3dc6ab6b66b648b2 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Fri, 5 Nov 2021 11:50:40 -0300 Subject: [PATCH 030/130] update recipe --- conda.recipe/meta.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index cbca04d..17749c6 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -16,6 +16,11 @@ requirements: build: - python >=3.7,{{PY_VER}}* - setuptools + - setuptools-git + - pandas + - tabulate + - docopt + - biopython run: - python {{PY_VER}}* @@ -23,6 +28,8 @@ requirements: - setuptools-git - pandas - tabulate + - docopt + - biopython channels: - anaconda From 3f83b12fb8a2dd3191a66ef91e781bb07373629d Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Fri, 5 Nov 2021 15:24:29 -0300 Subject: [PATCH 031/130] small cleanup --- fapy/replace_fasta_seq.py | 1 - 1 file changed, 1 deletion(-) diff --git a/fapy/replace_fasta_seq.py b/fapy/replace_fasta_seq.py index 3b92158..048d712 100644 --- a/fapy/replace_fasta_seq.py +++ b/fapy/replace_fasta_seq.py @@ -31,7 +31,6 @@ ################################## ### Loading Necessary Packages ### ################################## -from docopt import docopt from Bio import SeqIO ########################## From b3ab64b2512e0a2aa5e1b3735989b1852cc518bf Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Fri, 5 Nov 2021 15:28:15 -0300 Subject: [PATCH 032/130] small update in readme --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 949a0c3..1a69f24 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,7 @@ python3 fa-py-runner.py -h # Or install with conda and run anywhere conda install -c anaconda -c conda-forge -c bioconda -c falmeida fa-py -# Or install with pip and run anywhere -pip install git+git://github.com/fmalmeida/pythonScripts.git +# check installation fa-py -h ``` From e1edd725570b51ae567988525e7954f3e648e5b3 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Sat, 6 Nov 2021 08:57:07 -0300 Subject: [PATCH 033/130] starting docs --- .vscode/settings.json | 3 + build_conda.sh | 5 +- docs/Makefile | 20 + docs/_static/style.css | 6 + docs/conf.py | 115 ++ docs/help_message.txt | 22 + docs/images/example.svg | 2841 +++++++++++++++++++++++++++++++++++++++ docs/index.rst | 52 + docs/requirements.txt | 9 + 9 files changed, 3072 insertions(+), 1 deletion(-) create mode 100644 .vscode/settings.json create mode 100644 docs/Makefile create mode 100644 docs/_static/style.css create mode 100644 docs/conf.py create mode 100644 docs/help_message.txt create mode 100644 docs/images/example.svg create mode 100644 docs/index.rst create mode 100644 docs/requirements.txt diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..12ff2fd --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "restructuredtext.confPath": "${workspaceFolder}/docs" +} \ No newline at end of file diff --git a/build_conda.sh b/build_conda.sh index af02849..5421d8e 100644 --- a/build_conda.sh +++ b/build_conda.sh @@ -11,4 +11,7 @@ conda convert -p osx-64 $(find build -name "fa-py*.tar.bz2") anaconda upload $(find osx-64 -name "fa-py*.tar.bz2") --force # rm dirs -rm -rf build osx-64 \ No newline at end of file +rm -rf build osx-64 + +# save new help message +python3 fa-py-runner.py -h &> docs/help_message.txt \ No newline at end of file diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..d4bb2cb --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/_static/style.css b/docs/_static/style.css new file mode 100644 index 0000000..a3df43e --- /dev/null +++ b/docs/_static/style.css @@ -0,0 +1,6 @@ +.wy-nav-content { + max-width: 100% !important; +} +p { + text-align:justify; +} diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..bc2d641 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,115 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = 'fa-py' +copyright = '2020, Felipe, Almeida. fa-py: A simple package to index my frequently used python scripts.' +author = 'Felipe Marques de Almeida' + + +# -- General configuration --------------------------------------------------- +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + "sphinx.ext.intersphinx", + "sphinx.ext.autodoc", + "sphinx.ext.mathjax", + "sphinx.ext.viewcode", + "sphinx_copybutton" +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# + +# --- default --- +#import sphinx_rtd_theme +#html_theme = 'sphinx_rtd_theme' + +# --- material --- +#import sphinx_materialdesign_theme +#html_theme = "sphinx_materialdesign_theme" + +# --- jupyter --- +#import jupyter_sphinx_theme +#html_theme = "jupyter" +#html_sidebars = {'**': ['sidebartoc.html']} +#html_theme_path = jupyter_sphinx_theme.get_html_theme_path() + +# --- karma --- +#html_theme = "karma_sphinx_theme" + +# --- material --- +html_theme = "sphinx_material" +# Material theme options (see theme.conf for more information) +html_theme_options = { + + # Set the color and the accent color + # Primary color. Options are red, pink, purple, deep-purple, indigo, blue, light-blue, cyan, teal, green, light-green, lime, yellow, amber, orange, deep-orange, brown, grey, blue-grey, and white. + 'color_primary': 'indigo', + #Accent color. Options are red, pink, purple, deep-purple, indigo, blue, light-blue, cyan, teal, green, light-green, lime, yellow, amber, orange, and deep-orange. + 'color_accent': 'amber', + + # Visible levels of the global TOC; -1 means unlimited + 'globaltoc_depth': 1, + # If False, expand all TOC entries + 'globaltoc_collapse': True, + # If True, show hidden TOC entries + 'globaltoc_includehidden': True, + + # logo + 'logo_icon': "book", + + # repo info + "repo_url": "https://github.com/fmalmeida/plot_nucmer", + "repo_name": "plot_nucmer", + "repo_type": "github", +} +html_sidebars = { + "**": ["globaltoc.html", "localtoc.html", "searchbox.html"] +} + +# --- custom css --- +html_title = project +html_static_path = ['_static'] +html_css_files = ['style.css'] + +# Copy button configuration -------------------------------------------------- +# Source: https://sphinx-copybutton.readthedocs.io/en/latest/ +#copybutton_prompt_text = "$ " diff --git a/docs/help_message.txt b/docs/help_message.txt new file mode 100644 index 0000000..789f267 --- /dev/null +++ b/docs/help_message.txt @@ -0,0 +1,22 @@ +fa-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + fa-py [ -h|--help ] [ -v|--version ] [ --license ] + fa-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + +Use: `fa-py -h` to get more help and see examples. diff --git a/docs/images/example.svg b/docs/images/example.svg new file mode 100644 index 0000000..09c2b8e --- /dev/null +++ b/docs/images/example.svg @@ -0,0 +1,2841 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..2f24f9c --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,52 @@ +.. _index: + +fa-py (Felipe Almeida python scripts) +===================================== + +This is just a simple repository of python scripts that I use in a daily basis. Some of them are used in my projects, some are just for fun. Thus, in order to provide a better way to use my scripts throughout machines, I decided to create a package with them. + +Installation +------------ + +Conda package +""""""""""""" + +> Users are advised to create separate conda environments + +.. code-block:: bash + + # Get the conda package + mamba create -n fa-py conda install -c anaconda -c conda-forge -c bioconda -c falmeida fa-py + +.. TIP:: Users are advised to use `mamba `_ since it is faster. + +Available features +------------------ + +Available features can be visualised with the command line help message: + +.. literalinclude:: ./help_message.txt + :language: stdout + + +.. note:: + + All the commands will have a page describing its usage. + +.. toctree:: + :hidden: + :caption: Home + + self + +.. .. toctree:: +.. :hidden: +.. :caption: Kickoff + +.. quickstart + +.. .. toctree:: +.. :hidden: +.. :caption: Reference book + +.. manual diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..9b03960 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,9 @@ +Sphinx +sphinxcontrib-applehelp +sphinxcontrib-devhelp +sphinxcontrib-htmlhelp +sphinxcontrib-jsmath +sphinxcontrib-qthelp +sphinxcontrib-serializinghtml +sphinx-material +sphinx-copybutton From 9848e3e6823a44f2eb3e7afa17e64d423ce67d47 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Sat, 6 Nov 2021 09:01:15 -0300 Subject: [PATCH 034/130] change name --- docs/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index bc2d641..8bb5a63 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -97,8 +97,8 @@ 'logo_icon': "book", # repo info - "repo_url": "https://github.com/fmalmeida/plot_nucmer", - "repo_name": "plot_nucmer", + "repo_url": "https://github.com/fmalmeida/pythonScripts", + "repo_name": "fa-py", "repo_type": "github", } html_sidebars = { From b267d2029e97a8d0c718af90364c0041ef446c25 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Sat, 6 Nov 2021 09:05:03 -0300 Subject: [PATCH 035/130] typo --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 2f24f9c..1614784 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -11,7 +11,7 @@ Installation Conda package """"""""""""" -> Users are advised to create separate conda environments +Users are advised to create separate conda environments .. code-block:: bash From 9cea6fb51d33899ddd786c0ad0158a2cc6874794 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Sat, 6 Nov 2021 13:22:07 -0300 Subject: [PATCH 036/130] changing package name --- .gitignore | 4 ++-- README.md | 12 ++++++------ build_conda.sh | 6 +++--- conda.recipe/meta.yaml | 2 +- docs/conf.py | 6 +++--- docs/help_message.txt | 8 ++++---- docs/index.rst | 4 ++-- fa-py-runner.py => falmeida-py-runner.py | 2 +- {fapy => falmeida_py}/__init__.py | 0 {fapy => falmeida_py}/__main__.py | 12 ++++++------ {fapy => falmeida_py}/align2subsetgbk.py | 4 ++-- {fapy => falmeida_py}/blasts.py | 8 ++++---- {fapy => falmeida_py}/replace_fasta_seq.py | 4 ++-- {fapy => falmeida_py}/splitgbk.py | 6 +++--- {fapy => falmeida_py}/tsv2markdown.py | 6 +++--- {fapy => falmeida_py}/version.py | 4 ++-- setup.py | 16 ++++++++-------- 17 files changed, 52 insertions(+), 52 deletions(-) rename fa-py-runner.py => falmeida-py-runner.py (96%) rename {fapy => falmeida_py}/__init__.py (100%) rename {fapy => falmeida_py}/__main__.py (93%) rename {fapy => falmeida_py}/align2subsetgbk.py (94%) rename {fapy => falmeida_py}/blasts.py (94%) rename {fapy => falmeida_py}/replace_fasta_seq.py (93%) rename {fapy => falmeida_py}/splitgbk.py (89%) rename {fapy => falmeida_py}/tsv2markdown.py (91%) rename {fapy => falmeida_py}/version.py (82%) diff --git a/.gitignore b/.gitignore index 0b368ad..6215d82 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -fa_py.egg-info/ +falmeida_py.egg-info/ dist -fapy/__pycache__ +falmeida_py/__pycache__ build/* diff --git a/README.md b/README.md index 1a69f24..810a4c6 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# fa-py (Felipe Almeida python scripts) +# falmeida-py (Felipe Almeida python scripts) -[![](https://anaconda.org/falmeida/fa-py/badges/installer/conda.svg)](https://anaconda.org/falmeida/fa-py) [![](https://anaconda.org/falmeida/fa-py/badges/version.svg)](https://anaconda.org/falmeida/fa-py) [![](https://anaconda.org/falmeida/fa-py/badges/platforms.svg -)](https://anaconda.org/falmeida/fa-py) +[![](https://anaconda.org/falmeida/falmeida-py/badges/installer/conda.svg)](https://anaconda.org/falmeida/falmeida-py) [![](https://anaconda.org/falmeida/falmeida-py/badges/version.svg)](https://anaconda.org/falmeida/falmeida-py) [![](https://anaconda.org/falmeida/falmeida-py/badges/platforms.svg +)](https://anaconda.org/falmeida/falmeida-py) This repository has been turned into an installable python package in order to facilitate the distribution of my custom python scripts and, in turn, make them easier to execute. @@ -15,13 +15,13 @@ git clone https://github.com/fmalmeida/pythonScripts.git cd pythonScripts # Run without installing -python3 fa-py-runner.py -h +python3 falmeida-py-runner.py -h # Or install with conda and run anywhere -conda install -c anaconda -c conda-forge -c bioconda -c falmeida fa-py +conda install -c anaconda -c conda-forge -c bioconda -c falmeida falmeida-py # check installation -fa-py -h +falmeida-py -h ``` ## Old scripts diff --git a/build_conda.sh b/build_conda.sh index 5421d8e..cda9af4 100644 --- a/build_conda.sh +++ b/build_conda.sh @@ -5,13 +5,13 @@ mkdir -p build conda build --output-folder build/ conda.recipe # convert to osx -conda convert -p osx-64 $(find build -name "fa-py*.tar.bz2") +conda convert -p osx-64 $(find build -name "falmeida-py*.tar.bz2") # upload osx -anaconda upload $(find osx-64 -name "fa-py*.tar.bz2") --force +anaconda upload $(find osx-64 -name "falmeida-py*.tar.bz2") --force # rm dirs rm -rf build osx-64 # save new help message -python3 fa-py-runner.py -h &> docs/help_message.txt \ No newline at end of file +python3 falmeida-py-runner.py -h &> docs/help_message.txt \ No newline at end of file diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index 17749c6..4fb087c 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,5 +1,5 @@ package: - name: fa-py + name: falmeida-py version: 0.2 source: diff --git a/docs/conf.py b/docs/conf.py index 8bb5a63..52a2469 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -17,8 +17,8 @@ # -- Project information ----------------------------------------------------- -project = 'fa-py' -copyright = '2020, Felipe, Almeida. fa-py: A simple package to index my frequently used python scripts.' +project = 'falmeida-py' +copyright = '2020, Felipe, Almeida. falmeida-py: A simple package to index my frequently used python scripts.' author = 'Felipe Marques de Almeida' @@ -98,7 +98,7 @@ # repo info "repo_url": "https://github.com/fmalmeida/pythonScripts", - "repo_name": "fa-py", + "repo_name": "falmeida-py", "repo_type": "github", } html_sidebars = { diff --git a/docs/help_message.txt b/docs/help_message.txt index 789f267..2dd85b0 100644 --- a/docs/help_message.txt +++ b/docs/help_message.txt @@ -1,11 +1,11 @@ -fa-py: a package to the simple distribution of my custom scripts. +falmeida-py: a package to the simple distribution of my custom scripts. Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) License: Public Domain usage: - fa-py [ -h|--help ] [ -v|--version ] [ --license ] - fa-py [ -h|--help ] [ ... ] + falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] + falmeida-py [ -h|--help ] [ ... ] options: -h --help Show this screen @@ -19,4 +19,4 @@ commands: blasts Command to execute automatized blast commands. replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file -Use: `fa-py -h` to get more help and see examples. +Use: `falmeida-py -h` to get more help and see examples. diff --git a/docs/index.rst b/docs/index.rst index 1614784..a5f9aa9 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,6 +1,6 @@ .. _index: -fa-py (Felipe Almeida python scripts) +falmeida-py (Felipe Almeida python scripts) ===================================== This is just a simple repository of python scripts that I use in a daily basis. Some of them are used in my projects, some are just for fun. Thus, in order to provide a better way to use my scripts throughout machines, I decided to create a package with them. @@ -16,7 +16,7 @@ Users are advised to create separate conda environments .. code-block:: bash # Get the conda package - mamba create -n fa-py conda install -c anaconda -c conda-forge -c bioconda -c falmeida fa-py + mamba create -n falmeida-py conda install -c anaconda -c conda-forge -c bioconda -c falmeida falmeida-py .. TIP:: Users are advised to use `mamba `_ since it is faster. diff --git a/fa-py-runner.py b/falmeida-py-runner.py similarity index 96% rename from fa-py-runner.py rename to falmeida-py-runner.py index 999d0c3..90dbc71 100644 --- a/fa-py-runner.py +++ b/falmeida-py-runner.py @@ -15,7 +15,7 @@ If not, see . """ -from fapy.__main__ import main +from falmeida_py.__main__ import main if __name__ == '__main__': diff --git a/fapy/__init__.py b/falmeida_py/__init__.py similarity index 100% rename from fapy/__init__.py rename to falmeida_py/__init__.py diff --git a/fapy/__main__.py b/falmeida_py/__main__.py similarity index 93% rename from fapy/__main__.py rename to falmeida_py/__main__.py index 54bbeed..d20641e 100644 --- a/fapy/__main__.py +++ b/falmeida_py/__main__.py @@ -3,25 +3,25 @@ Copyright 2021 Felipe Almeida (almeidafmarques@gmail.com) https://github.com/fmalmeida/pythonScripts -This file is part of my custom python scripts (fa-py) package, which is free: you can redistribute it and/or modify +This file is part of my custom python scripts (falmeida-py) package, which is free: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. You should have received a copy of the GNU General Public License along with fa-py package. +details. You should have received a copy of the GNU General Public License along with falmeida-py package. If not, see . """ ## Def main help usage=""" -fa-py: a package to the simple distribution of my custom scripts. +falmeida-py: a package to the simple distribution of my custom scripts. Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) License: Public Domain usage: - fa-py [ -h|--help ] [ -v|--version ] [ --license ] - fa-py [ -h|--help ] [ ... ] + falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] + falmeida-py [ -h|--help ] [ ... ] options: -h --help Show this screen @@ -35,7 +35,7 @@ blasts Command to execute automatized blast commands. replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file -Use: `fa-py -h` to get more help and see examples. +Use: `falmeida-py -h` to get more help and see examples. """ ################################## diff --git a/fapy/align2subsetgbk.py b/falmeida_py/align2subsetgbk.py similarity index 94% rename from fapy/align2subsetgbk.py rename to falmeida_py/align2subsetgbk.py index 4fc5303..e17801c 100644 --- a/fapy/align2subsetgbk.py +++ b/falmeida_py/align2subsetgbk.py @@ -13,8 +13,8 @@ License: Public Domain Usage: - fa-py align2subsetgbk [ -h|--help ] - fa-py align2subsetgbk [ --gbk --fasta --out --minid --mincov --culling_limit --extension ] + falmeida-py align2subsetgbk [ -h|--help ] + falmeida-py align2subsetgbk [ --gbk --fasta --out --minid --mincov --culling_limit --extension ] Options: -h --help Show this screen. diff --git a/fapy/blasts.py b/falmeida_py/blasts.py similarity index 94% rename from fapy/blasts.py rename to falmeida_py/blasts.py index 7f31184..7e0f8cc 100644 --- a/fapy/blasts.py +++ b/falmeida_py/blasts.py @@ -9,10 +9,10 @@ Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) License: Public Domain Usage: - fa-py blasts - fa-py blasts -h|--help - fa-py blasts -v|--version - fa-py blasts ( --query --subject ) [ --task --minid --mincov --culling_limit --out --threads --2way ] + falmeida-py blasts + falmeida-py blasts -h|--help + falmeida-py blasts -v|--version + falmeida-py blasts ( --query --subject ) [ --task --minid --mincov --culling_limit --out --threads --2way ] Options: -h --help Show this screen. diff --git a/fapy/replace_fasta_seq.py b/falmeida_py/replace_fasta_seq.py similarity index 93% rename from fapy/replace_fasta_seq.py rename to falmeida_py/replace_fasta_seq.py index 048d712..0266a9a 100644 --- a/fapy/replace_fasta_seq.py +++ b/falmeida_py/replace_fasta_seq.py @@ -13,8 +13,8 @@ License: Public Domain Usage: - fa-py replace_fasta_seq [ -h|--help ] - fa-py replace_fasta_seq [ --fasta --bed --out --sep ] + falmeida-py replace_fasta_seq [ -h|--help ] + falmeida-py replace_fasta_seq [ --fasta --bed --out --sep ] Options: -h --help Show this screen. diff --git a/fapy/splitgbk.py b/falmeida_py/splitgbk.py similarity index 89% rename from fapy/splitgbk.py rename to falmeida_py/splitgbk.py index a50aeb0..9f3160f 100644 --- a/fapy/splitgbk.py +++ b/falmeida_py/splitgbk.py @@ -8,9 +8,9 @@ License: Public Domain usage: - fa-py splitgbk - fa-py splitgbk [ -h|--help ] - fa-py splitgbk [ --gbk ] [ -o|--outdir ] + falmeida-py splitgbk + falmeida-py splitgbk [ -h|--help ] + falmeida-py splitgbk [ --gbk ] [ -o|--outdir ] options: -h --help Show this screen. diff --git a/fapy/tsv2markdown.py b/falmeida_py/tsv2markdown.py similarity index 91% rename from fapy/tsv2markdown.py rename to falmeida_py/tsv2markdown.py index a2244ce..878d140 100644 --- a/fapy/tsv2markdown.py +++ b/falmeida_py/tsv2markdown.py @@ -8,9 +8,9 @@ License: Public Domain usage: - fa-py tsv2markdown - fa-py tsv2markdown [ -h|--help ] - fa-py tsv2markdown [ --tsv --csv --header ] + falmeida-py tsv2markdown + falmeida-py tsv2markdown [ -h|--help ] + falmeida-py tsv2markdown [ --tsv --csv --header ] options: -h --help Show this screen. diff --git a/fapy/version.py b/falmeida_py/version.py similarity index 82% rename from fapy/version.py rename to falmeida_py/version.py index 230fc19..5500797 100644 --- a/fapy/version.py +++ b/falmeida_py/version.py @@ -5,12 +5,12 @@ Copyright 2020 Felipe Almeida (almeidafmarques@gmail.com) https://github.com/fmalmeida/pythonScripts -This file is part of my custom python scripts (fa-py) package, which is free: you can redistribute it and/or modify +This file is part of my custom python scripts (falmeida-py) package, which is free: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. You should have received a copy of the GNU General Public License along with fa-py package. +details. You should have received a copy of the GNU General Public License along with falmeida-py package. If not, see . """ diff --git a/setup.py b/setup.py index 8c0216c..0535747 100644 --- a/setup.py +++ b/setup.py @@ -1,17 +1,17 @@ #!/usr/bin/env python3 """ -This is the fa-py installation script. Assuming you're in the same directory, it can be run +This is the falmeida-py installation script. Assuming you're in the same directory, it can be run like this: `python3 setup.py install`, or (probably better) like this: `pip3 install .` Copyright 2020 Felipe Almeida (almeidafmarques@gmail.com) https://github.com/fmalmeida/pythonScripts -This file is part of my custom python scripts (fa-py) package, which is free: you can redistribute it and/or modify +This file is part of my custom python scripts (falmeida-py) package, which is free: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -details. You should have received a copy of the GNU General Public License along with fa-py package. +details. You should have received a copy of the GNU General Public License along with falmeida-py package. If not, see . """ @@ -25,23 +25,23 @@ def readme(): # Get the program version from another file. __version__ = '0.0.0' -exec(open('fapy/version.py').read()) +exec(open('falmeida_py/version.py').read()) with open('requirements.txt') as f: required = f.read().splitlines() -setup(name='fa-py', +setup(name='falmeida-py', version=__version__, - description='fa-py: a package to the simple distribution of my custom scripts.', + description='falmeida-py: a package to the simple distribution of my custom scripts.', long_description=readme(), long_description_content_type='text/markdown', url='https://github.com/fmalmeida/pythonScripts', author='Felipe Almeida', author_email='almeidafmarques@gmail.com', license='GPLv3', - packages=['fapy'], + packages=['falmeida_py'], install_requires=required, - entry_points={"console_scripts": ['fa-py = fapy.__main__:main']}, + entry_points={"console_scripts": ['falmeida-py = falmeida_py.__main__:main']}, include_package_data=True, zip_safe=False, python_requires='>=3.6') From 778ed92403db01a073f6554a3e862924415c138d Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Sat, 6 Nov 2021 13:54:24 -0300 Subject: [PATCH 037/130] Update index.rst --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index a5f9aa9..3128e89 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -16,7 +16,7 @@ Users are advised to create separate conda environments .. code-block:: bash # Get the conda package - mamba create -n falmeida-py conda install -c anaconda -c conda-forge -c bioconda -c falmeida falmeida-py + mamba create -n falmeida-py -c anaconda -c conda-forge -c bioconda -c falmeida falmeida-py .. TIP:: Users are advised to use `mamba `_ since it is faster. From d3e6062604df42893ad7833e619b5e989d322ad3 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Sat, 6 Nov 2021 14:42:15 -0300 Subject: [PATCH 038/130] fixing separator --- falmeida_py/__main__.py | 2 +- falmeida_py/replace_fasta_seq.py | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/falmeida_py/__main__.py b/falmeida_py/__main__.py index d20641e..52f066b 100644 --- a/falmeida_py/__main__.py +++ b/falmeida_py/__main__.py @@ -167,7 +167,7 @@ def main(): # Run print(f"Processing file: {args['--fasta']}!") - replace_fasta_seq(input=args['--fasta'], bed=args['--bed'], output=args['--out'], sep=args['--sep']) + replace_fasta_seq(input=args['--fasta'], bed=args['--bed'], output=args['--out']) print(f"Done!") else: diff --git a/falmeida_py/replace_fasta_seq.py b/falmeida_py/replace_fasta_seq.py index 0266a9a..1e20f37 100644 --- a/falmeida_py/replace_fasta_seq.py +++ b/falmeida_py/replace_fasta_seq.py @@ -6,7 +6,7 @@ ### Def help message ### ######################## usage_replace_fasta_seq = """ -A script meant to replace a string in a FASTA file using defitions in a BED file. +A script meant to replace a string in a FASTA file using defitions in a BED file (tab-separated). --- Copyright (C) 2021 Felipe Marques de Almeida (almeidafmarques@gmail.com) @@ -14,14 +14,13 @@ Usage: falmeida-py replace_fasta_seq [ -h|--help ] - falmeida-py replace_fasta_seq [ --fasta --bed --out --sep ] + falmeida-py replace_fasta_seq [ --fasta --bed --out ] Options: -h --help Show this screen. -f --fasta= FASTA file to replace sequences in. -o --out= Output FASTA file [Default: out.fasta]. -b --bed= BED file with replacement definitions. - -s --sep= Separator for BED file [Default: '\t']. Comments: The BED file MUST be a 4 column file with the following format: @@ -45,10 +44,10 @@ def fasta_as_dict(fasta): ############################################# ### replace sequences using values in bed ### ############################################# -def replace_seq_in_dict(bed, dict, sep): +def replace_seq_in_dict(bed, dict): with open(bed) as f: for line in f: - contig, start, end, sub_seq = line.strip().split(sep) + contig, start, end, sub_seq = line.strip().split('\t') dict[contig].seq = dict[contig].seq[:int(start) - 1] + sub_seq + dict[contig].seq[int(end):] #################### @@ -63,7 +62,7 @@ def output_fasta(dict, out): ##################### ### main function ### ##################### -def replace_fasta_seq(input, output, bed, sep): +def replace_fasta_seq(input, output, bed): fasta_dict = fasta_as_dict(input) - replace_seq_in_dict(bed, fasta_dict, sep) + replace_seq_in_dict(bed, fasta_dict) output_fasta(fasta_dict, output) \ No newline at end of file From f0386f307eeb2d6624c2aed1e882ad7b5b4f5ed9 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Sat, 6 Nov 2021 15:01:26 -0300 Subject: [PATCH 039/130] update to 0-based --- falmeida_py/replace_fasta_seq.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/falmeida_py/replace_fasta_seq.py b/falmeida_py/replace_fasta_seq.py index 1e20f37..14a6966 100644 --- a/falmeida_py/replace_fasta_seq.py +++ b/falmeida_py/replace_fasta_seq.py @@ -23,7 +23,7 @@ -b --bed= BED file with replacement definitions. Comments: - The BED file MUST be a 4 column file with the following format: + The BED (start 0-based) file MUST be a 4 column file with the following format: contig start end sub_seq """ @@ -48,7 +48,7 @@ def replace_seq_in_dict(bed, dict): with open(bed) as f: for line in f: contig, start, end, sub_seq = line.strip().split('\t') - dict[contig].seq = dict[contig].seq[:int(start) - 1] + sub_seq + dict[contig].seq[int(end):] + dict[contig].seq = dict[contig].seq[:int(start)] + sub_seq + dict[contig].seq[int(end):] #################### ### output fasta ### From 3dee544d8986342c4cfceb7b58910c95c293c78d Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Tue, 9 Nov 2021 16:26:47 -0300 Subject: [PATCH 040/130] adding small function (first steps) gbk2fasta --- conda.recipe/meta.yaml | 2 +- falmeida_py/__main__.py | 19 +++++++++++ falmeida_py/gbk2fasta.py | 70 ++++++++++++++++++++++++++++++++++++++++ falmeida_py/version.py | 2 +- 4 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 falmeida_py/gbk2fasta.py diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index 4fb087c..e45e977 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,6 +1,6 @@ package: name: falmeida-py - version: 0.2 + version: 0.3 source: path: .. diff --git a/falmeida_py/__main__.py b/falmeida_py/__main__.py index 52f066b..3b725e8 100644 --- a/falmeida_py/__main__.py +++ b/falmeida_py/__main__.py @@ -32,6 +32,7 @@ tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. splitgbk Command to split multisequence genbank files into individual files. align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. blasts Command to execute automatized blast commands. replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file @@ -49,6 +50,7 @@ from .version import * from .tsv2markdown import * from .splitgbk import * +from .gbk2fasta import * from .blasts import * from .align2subsetgbk import * from .replace_fasta_seq import * @@ -172,6 +174,23 @@ def main(): else: print(usage_replace_fasta_seq.strip()) + + ########################### + ### Convert gbk 2 fasta ### + ########################### + elif arguments[''] == 'gbk2fasta': + # Parse docopt + args = docopt(usage_gbk2fasta, version=__version__, help=False) + + # run script + if args['--help']: + print(usage_gbk2fasta.strip()) + + elif args['--gbk']: + convertgbk(genbank=args['--gbk'], genes_list=args['--fofn']) + + else: + print(usage_gbk2fasta.strip()) ##################### ### Check license ### diff --git a/falmeida_py/gbk2fasta.py b/falmeida_py/gbk2fasta.py new file mode 100644 index 0000000..a061da2 --- /dev/null +++ b/falmeida_py/gbk2fasta.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python3 +# coding: utf-8 + +## Def help message +usage_gbk2fasta = """ +A simple script to automatize the execution and filtering of blast alignments. + +--- +Copyright (C) 2021 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain +Usage: + falmeida-py gbk2fasta + falmeida-py gbk2fasta -h|--help + falmeida-py gbk2fasta -v|--version + falmeida-py gbk2fasta ( --gbk ) [ --out --fofn --type ] + +Options: + -h --help Show this screen. + -v --version Show version information + -g --gbk Genbank file to be converted to fasta + -o --out Output fasta file [Default: stdout] + -f --fofn File with the list of genes to be extracted. One gene per line, using the 'locus_tag' field. + -t --type Type of sequence to output genes: nucl or prot [Default: prot] +""" + +################################## +### Loading Necessary Packages ### +################################## +from Bio import SeqIO + +######################################### +### load list of genes as python list ### +######################################### +def load_gene_list(genes_list): + """ + Loads a list of genes from a file. + """ + genes = [] + with open(genes_list, 'r') as f: + for line in f: + genes.append(line.strip()) + return genes + +################################################# +### prints a fasta from gbk biopython feature ### +################################################# +def print_fasta(feature, genes_list): + if genes_list == None: + print(f">{feature.qualifiers['locus_tag'][0]} {feature.qualifiers['product'][0]}") + print(feature.qualifiers['translation'][0]) + else: + if feature.qualifiers['locus_tag'][0] in genes_list: + print(f">{feature.qualifiers['locus_tag'][0]} {feature.qualifiers['product'][0]}") + print(feature.qualifiers['translation'][0]) + +########################################### +### loads and converts genbank to fasta ### +########################################### +def convertgbk(genbank, genes_list): + """ + Loads a genbank file and converts it to fasta. + """ + if genes_list: + genes = load_gene_list(genes_list) + else: + genes = None + for record in SeqIO.parse(genbank, "genbank"): + for feature in record.features: + if feature.type == "CDS": + print_fasta(feature, genes) \ No newline at end of file diff --git a/falmeida_py/version.py b/falmeida_py/version.py index 5500797..79fb24b 100644 --- a/falmeida_py/version.py +++ b/falmeida_py/version.py @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '0.2' +__version__ = '0.3' def get_version(): return __version__ From cc8838f14426bf0a49d983828c466a4f6131e1bf Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Tue, 9 Nov 2021 16:32:25 -0300 Subject: [PATCH 041/130] update docs help --- docs/help_message.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/help_message.txt b/docs/help_message.txt index 2dd85b0..4ad5245 100644 --- a/docs/help_message.txt +++ b/docs/help_message.txt @@ -16,6 +16,7 @@ commands: tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. splitgbk Command to split multisequence genbank files into individual files. align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. blasts Command to execute automatized blast commands. replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file From 1f2ec8d8470e2c2b0d0f34b5c7615f0969ccacad Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Wed, 10 Nov 2021 16:47:49 -0300 Subject: [PATCH 042/130] fixed a small typo in tsv2markdown command Also added documentation for it --- build_conda.sh | 3 ++- conda.recipe/meta.yaml | 2 +- docs/index.rst | 14 ++++--------- docs/tsv2markdown.rst | 39 +++++++++++++++++++++++++++++++++++++ docs/tsv2markdown_help.txt | 15 ++++++++++++++ falmeida_py/__main__.py | 2 +- falmeida_py/tsv2markdown.py | 4 +++- falmeida_py/version.py | 2 +- 8 files changed, 66 insertions(+), 15 deletions(-) create mode 100644 docs/tsv2markdown.rst create mode 100644 docs/tsv2markdown_help.txt diff --git a/build_conda.sh b/build_conda.sh index cda9af4..4d2a435 100644 --- a/build_conda.sh +++ b/build_conda.sh @@ -14,4 +14,5 @@ anaconda upload $(find osx-64 -name "falmeida-py*.tar.bz2") --force rm -rf build osx-64 # save new help message -python3 falmeida-py-runner.py -h &> docs/help_message.txt \ No newline at end of file +python3 falmeida-py-runner.py -h &> docs/help_message.txt +python3 falmeida-py-runner.py tsv2markdown -h &> docs/tsv2markdown_help.txt \ No newline at end of file diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index e45e977..dfcd6ad 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,6 +1,6 @@ package: name: falmeida-py - version: 0.3 + version: 0.4 source: path: .. diff --git a/docs/index.rst b/docs/index.rst index 3128e89..8749c09 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,7 +1,7 @@ .. _index: falmeida-py (Felipe Almeida python scripts) -===================================== +=========================================== This is just a simple repository of python scripts that I use in a daily basis. Some of them are used in my projects, some are just for fun. Thus, in order to provide a better way to use my scripts throughout machines, I decided to create a package with them. @@ -40,13 +40,7 @@ Available features can be visualised with the command line help message: self .. .. toctree:: -.. :hidden: -.. :caption: Kickoff - -.. quickstart - -.. .. toctree:: -.. :hidden: -.. :caption: Reference book + :hidden: + :caption: Reference book -.. manual + tsv2markdown diff --git a/docs/tsv2markdown.rst b/docs/tsv2markdown.rst new file mode 100644 index 0000000..609cdac --- /dev/null +++ b/docs/tsv2markdown.rst @@ -0,0 +1,39 @@ +.. _tsv2markdown: + +tsv2markdown +============ + +Often I found myself having to add the contents of TSV (or CSV) files in markdown documents such as jupyter notebooks or rmarkdown documents. The process was very tedious, so I create a super simple script to output the contents so it could just be pasted into these documents. + +CLI help message +---------------- + +.. literalinclude:: ./tsv2markdown_help.txt + :language: stdout + +Usage +----- + +The usage is super simple. For example, given the following CSV: + +.. code-block:: none + + sample1,brazil,river,2020 + sample2,argentina,sewer,2020 + sample3,brazil,sewer,2020 + +We could rapidply create a markdown table entry with: + +.. code-block:: bash + + falmeida-py tsv2markdown --csv sample.csv --header "sample id,country,collection source,year" + + | sample id | country | collection source | year | + |-------------|-----------|---------------------|--------| + | sample1 | brazil | river | 2020 | + | sample2 | argentina | sewer | 2020 | + | sample3 | brazil | sewer | 2020 | + +.. note:: + + If the first line of the document (TSV or CSV) is a header, will to not need to use the ``--header`` option, because it will use the frist line as the header. \ No newline at end of file diff --git a/docs/tsv2markdown_help.txt b/docs/tsv2markdown_help.txt new file mode 100644 index 0000000..58eb788 --- /dev/null +++ b/docs/tsv2markdown_help.txt @@ -0,0 +1,15 @@ +A simple script to convert tsv (or csv) files to markdown tables using tabulate! +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py tsv2markdown + falmeida-py tsv2markdown [ -h|--help ] + falmeida-py tsv2markdown [ --tsv --csv --header ] + +options: + -h --help Show this screen. + --tsv= Input tsv file to print as markdown table + --csv= Input csv file to print as markdown table + --header= If file does not have a header, set a + custom header. E.g. --header "Planet,R (km),mass (x 10^29 kg)". diff --git a/falmeida_py/__main__.py b/falmeida_py/__main__.py index 3b725e8..138db39 100644 --- a/falmeida_py/__main__.py +++ b/falmeida_py/__main__.py @@ -77,7 +77,7 @@ def main(): file2mw(args['--tsv'], '\t', args['--header']) elif args['--csv']: - file2mw(arguments['--csv'], ',', args['--header']) + file2mw(args['--csv'], ',', args['--header']) else: print(usage_tsv2markdown.strip()) diff --git a/falmeida_py/tsv2markdown.py b/falmeida_py/tsv2markdown.py index 878d140..5b49933 100644 --- a/falmeida_py/tsv2markdown.py +++ b/falmeida_py/tsv2markdown.py @@ -41,7 +41,9 @@ def file2mw(filep, fsep, header): with open(filep) as file_in: lines = [] for line in file_in: - lines.append(line.split(fsep)) + words = line.split(fsep) + words_striped = [word.strip() for word in words] + lines.append(words_striped) # generate tabulate if header: diff --git a/falmeida_py/version.py b/falmeida_py/version.py index 79fb24b..1d1686c 100644 --- a/falmeida_py/version.py +++ b/falmeida_py/version.py @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '0.3' +__version__ = '0.4' def get_version(): return __version__ From f71de3bf29be3779e424e0dbea56900c9e136609 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Wed, 10 Nov 2021 16:53:06 -0300 Subject: [PATCH 043/130] Update index.rst --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 8749c09..e530db1 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -39,7 +39,7 @@ Available features can be visualised with the command line help message: self -.. .. toctree:: +.. toctree:: :hidden: :caption: Reference book From 5b5d2db054ea4f44e15ff459673805d1ea753a8d Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Wed, 10 Nov 2021 16:56:02 -0300 Subject: [PATCH 044/130] fix typo --- docs/tsv2markdown.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tsv2markdown.rst b/docs/tsv2markdown.rst index 609cdac..c1d0543 100644 --- a/docs/tsv2markdown.rst +++ b/docs/tsv2markdown.rst @@ -3,7 +3,7 @@ tsv2markdown ============ -Often I found myself having to add the contents of TSV (or CSV) files in markdown documents such as jupyter notebooks or rmarkdown documents. The process was very tedious, so I create a super simple script to output the contents so it could just be pasted into these documents. +Often I've found myself having to add the contents of TSV (or CSV) files in markdown documents such as jupyter notebooks or rmarkdown documents. The process is very tedious, so I created a super simple script to output the contents so it could just be pasted into these documents. CLI help message ---------------- From ac71ce488fa0fdc8f2c9339337638961d540169c Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Wed, 10 Nov 2021 16:57:31 -0300 Subject: [PATCH 045/130] update --- docs/tsv2markdown.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tsv2markdown.rst b/docs/tsv2markdown.rst index c1d0543..3707ffe 100644 --- a/docs/tsv2markdown.rst +++ b/docs/tsv2markdown.rst @@ -24,7 +24,7 @@ The usage is super simple. For example, given the following CSV: We could rapidply create a markdown table entry with: -.. code-block:: bash +.. code-block:: none falmeida-py tsv2markdown --csv sample.csv --header "sample id,country,collection source,year" From b445f7e2ce5a496d9273eaa430ac0684a7c7d209 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Wed, 10 Nov 2021 17:07:26 -0300 Subject: [PATCH 046/130] updating docs --- build_conda.sh | 3 ++- docs/index.rst | 1 + docs/splitgbk.rst | 23 +++++++++++++++++++++++ docs/splitgbk_help.txt | 13 +++++++++++++ falmeida_py/splitgbk.py | 5 ++--- 5 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 docs/splitgbk.rst create mode 100644 docs/splitgbk_help.txt diff --git a/build_conda.sh b/build_conda.sh index 4d2a435..8afeb1d 100644 --- a/build_conda.sh +++ b/build_conda.sh @@ -15,4 +15,5 @@ rm -rf build osx-64 # save new help message python3 falmeida-py-runner.py -h &> docs/help_message.txt -python3 falmeida-py-runner.py tsv2markdown -h &> docs/tsv2markdown_help.txt \ No newline at end of file +python3 falmeida-py-runner.py tsv2markdown -h &> docs/tsv2markdown_help.txt +python3 falmeida-py-runner.py splitgbk -h &> docs/splitgbk_help.txt \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index e530db1..4e46e94 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -44,3 +44,4 @@ Available features can be visualised with the command line help message: :caption: Reference book tsv2markdown + splitgbk diff --git a/docs/splitgbk.rst b/docs/splitgbk.rst new file mode 100644 index 0000000..5a61f69 --- /dev/null +++ b/docs/splitgbk.rst @@ -0,0 +1,23 @@ +.. _splitgbk: + +splitgbk +======== + +This is a super sample script that performs only one task: + +* Given a genbank file with multiple sequences, it splits the file into multiple files, each with one sequence and its related annotation features features. + +CLI help message +---------------- + +.. literalinclude:: ./splitgbk_help.txt + :language: stdout + +Usage +----- + +The usage is super simple: + +.. code-block:: none + + falmeida-py tsv2markdown --gbk multi_contig.gbk --outdir single_contig_gbks \ No newline at end of file diff --git a/docs/splitgbk_help.txt b/docs/splitgbk_help.txt new file mode 100644 index 0000000..12e9a50 --- /dev/null +++ b/docs/splitgbk_help.txt @@ -0,0 +1,13 @@ +A very simple script to split multisequence genbank files into separate files +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py splitgbk + falmeida-py splitgbk [ -h|--help ] + falmeida-py splitgbk [ --gbk ] [ -o|--outdir ] + +options: + -h --help Show this screen. + -g --gbk= Input genbank file to split into multiple individual files. + -o --outdir= Directory in which to write the splitted files [Default: ./]. diff --git a/falmeida_py/splitgbk.py b/falmeida_py/splitgbk.py index 9f3160f..99d87b0 100644 --- a/falmeida_py/splitgbk.py +++ b/falmeida_py/splitgbk.py @@ -14,15 +14,14 @@ options: -h --help Show this screen. - --gbk= Input genbank file to split into multiple individual files. - -o=, --outdir= Directory in which to write the splitted files [Default: ./]. + -g --gbk= Input genbank file to split into multiple individual files. + -o --outdir= Directory in which to write the splitted files [Default: ./]. """ ################################## ### Loading Necessary Packages ### ################################## from Bio import SeqIO -import sys import os #################### From d1429ce6a40469bc026a6881645528f9e456043f Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Wed, 10 Nov 2021 17:14:35 -0300 Subject: [PATCH 047/130] updating docs --- docs/index.rst | 4 +++- docs/splitgbk.rst | 6 +++++- docs/splitgbk_help.txt | 4 ++-- falmeida_py/splitgbk.py | 4 ++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 4e46e94..715d999 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -18,7 +18,9 @@ Users are advised to create separate conda environments # Get the conda package mamba create -n falmeida-py -c anaconda -c conda-forge -c bioconda -c falmeida falmeida-py -.. TIP:: Users are advised to use `mamba `_ since it is faster. +.. tip:: + + Users are advised to use `mamba `_ since it is faster. Available features ------------------ diff --git a/docs/splitgbk.rst b/docs/splitgbk.rst index 5a61f69..066d98b 100644 --- a/docs/splitgbk.rst +++ b/docs/splitgbk.rst @@ -20,4 +20,8 @@ The usage is super simple: .. code-block:: none - falmeida-py tsv2markdown --gbk multi_contig.gbk --outdir single_contig_gbks \ No newline at end of file + falmeida-py tsv2markdown --gbk multi_contig.gbk --outdir single_contig_gbks + +.. note:: + + The directory must already exist. \ No newline at end of file diff --git a/docs/splitgbk_help.txt b/docs/splitgbk_help.txt index 12e9a50..2ca3156 100644 --- a/docs/splitgbk_help.txt +++ b/docs/splitgbk_help.txt @@ -5,9 +5,9 @@ License: Public Domain usage: falmeida-py splitgbk falmeida-py splitgbk [ -h|--help ] - falmeida-py splitgbk [ --gbk ] [ -o|--outdir ] + falmeida-py splitgbk [ --gbk ] [ --outdir ] options: -h --help Show this screen. -g --gbk= Input genbank file to split into multiple individual files. - -o --outdir= Directory in which to write the splitted files [Default: ./]. + -o --outdir= Directory (must already exist) in which to write the splitted files [Default: ./]. diff --git a/falmeida_py/splitgbk.py b/falmeida_py/splitgbk.py index 99d87b0..71abdee 100644 --- a/falmeida_py/splitgbk.py +++ b/falmeida_py/splitgbk.py @@ -10,12 +10,12 @@ usage: falmeida-py splitgbk falmeida-py splitgbk [ -h|--help ] - falmeida-py splitgbk [ --gbk ] [ -o|--outdir ] + falmeida-py splitgbk [ --gbk ] [ --outdir ] options: -h --help Show this screen. -g --gbk= Input genbank file to split into multiple individual files. - -o --outdir= Directory in which to write the splitted files [Default: ./]. + -o --outdir= Directory (must already exist) in which to write the splitted files [Default: ./]. """ ################################## From 24983a534501813685f3f3c70658982b8691d2ee Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Wed, 10 Nov 2021 17:17:11 -0300 Subject: [PATCH 048/130] typo fix --- docs/splitgbk.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/splitgbk.rst b/docs/splitgbk.rst index 066d98b..3cd938a 100644 --- a/docs/splitgbk.rst +++ b/docs/splitgbk.rst @@ -3,7 +3,7 @@ splitgbk ======== -This is a super sample script that performs only one task: +This is a super simple script that performs only one task: * Given a genbank file with multiple sequences, it splits the file into multiple files, each with one sequence and its related annotation features features. From 20745e67b828c092914ba08bd371dadc12e1a3d2 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Wed, 10 Nov 2021 17:18:08 -0300 Subject: [PATCH 049/130] typo fix --- docs/splitgbk.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/splitgbk.rst b/docs/splitgbk.rst index 3cd938a..c2ba08d 100644 --- a/docs/splitgbk.rst +++ b/docs/splitgbk.rst @@ -5,7 +5,7 @@ splitgbk This is a super simple script that performs only one task: -* Given a genbank file with multiple sequences, it splits the file into multiple files, each with one sequence and its related annotation features features. +* Given a genbank file with multiple sequences, it splits it into multiple files, each one with one sequence and its related annotation features. CLI help message ---------------- From 22ae6fcec11cfaee5fbbf1211a833c3d55afddbe Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Wed, 10 Nov 2021 17:21:30 -0300 Subject: [PATCH 050/130] add docs badge --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 810a4c6..d1c3553 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,14 @@ # falmeida-py (Felipe Almeida python scripts) -[![](https://anaconda.org/falmeida/falmeida-py/badges/installer/conda.svg)](https://anaconda.org/falmeida/falmeida-py) [![](https://anaconda.org/falmeida/falmeida-py/badges/version.svg)](https://anaconda.org/falmeida/falmeida-py) [![](https://anaconda.org/falmeida/falmeida-py/badges/platforms.svg -)](https://anaconda.org/falmeida/falmeida-py) +[![](https://anaconda.org/falmeida/falmeida-py/badges/installer/conda.svg)](https://anaconda.org/falmeida/falmeida-py) +[![](https://anaconda.org/falmeida/falmeida-py/badges/version.svg)](https://anaconda.org/falmeida/falmeida-py) +[![](https://anaconda.org/falmeida/falmeida-py/badges/platforms.svg)](https://anaconda.org/falmeida/falmeida-py) +[![Documentation Status](https://readthedocs.org/projects/falmeida-py/badge/?version=latest)](https://falmeida-py.readthedocs.io/en/latest/?badge=latest) This repository has been turned into an installable python package in order to facilitate the distribution of my custom python scripts and, in turn, make them easier to execute. +Read the complete documentation » + ## Installation Installation is super easy and perhaps not required: From 9f573aa46e2edae549465f73f178d60aeacf8d4c Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Wed, 10 Nov 2021 20:03:49 -0300 Subject: [PATCH 051/130] update docs --- .gitignore | 1 + build_conda.sh | 2 +- docs/align2subsetgbk.rst | 37 ++++++++++++++++++++++++++++++++++ docs/align2subsetgbk_help.txt | 4 ++++ docs/splitgbk_help.txtpython3 | 0 falmeida_py/align2subsetgbk.py | 5 ++--- 6 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 docs/align2subsetgbk.rst create mode 100644 docs/align2subsetgbk_help.txt create mode 100644 docs/splitgbk_help.txtpython3 diff --git a/.gitignore b/.gitignore index 6215d82..9a5353d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ falmeida_py.egg-info/ dist falmeida_py/__pycache__ build/* +docs/_build \ No newline at end of file diff --git a/build_conda.sh b/build_conda.sh index 8afeb1d..6d86fda 100644 --- a/build_conda.sh +++ b/build_conda.sh @@ -16,4 +16,4 @@ rm -rf build osx-64 # save new help message python3 falmeida-py-runner.py -h &> docs/help_message.txt python3 falmeida-py-runner.py tsv2markdown -h &> docs/tsv2markdown_help.txt -python3 falmeida-py-runner.py splitgbk -h &> docs/splitgbk_help.txt \ No newline at end of file +python3 falmeida-py-runner.py splitgbk -h &> docs/splitgbk_help.txtpython3 falmeida-py-runner.py align2subsetgbk -h &> docs/align2subsetgbk_help.txt diff --git a/docs/align2subsetgbk.rst b/docs/align2subsetgbk.rst new file mode 100644 index 0000000..d7b5149 --- /dev/null +++ b/docs/align2subsetgbk.rst @@ -0,0 +1,37 @@ +.. _align2subsetgbk: + +align2subsetgbk +=============== + +This script is a little more tricky. What does it do? + +1. It takes a genbank file and a (Nucleotide) fasta file +2. It will align the fasta to the (contig) sequences in the genbank file +3. Then, it will filter the alignments based on the given thresholds and take the its coordinates +4. Finally, using these coordinates it will filter the genbank file and output only a subset of the annotation features that is found inside these alignments + +CLI help message +---------------- + +.. literalinclude:: ./align2subsetgbk_help.txt + :language: stdout + +Usage +----- + +The usage is super simple: + +.. code-block:: none + + falmeida-py align2subsetgbk \ + --gbk sample.gbk \ + --fasta genomic_islands.fna \ + --extension 50 \ + --culling_limit 2 + + +.. note:: + + This command will align the genomic islands to the genbank to find the annotation features that are (possibly) inside the genomic islands. + + In the example, the alignments coordinates will be "extendend" 50nt in both directions and, the two best alignments will be used for each sequence (from fasta). \ No newline at end of file diff --git a/docs/align2subsetgbk_help.txt b/docs/align2subsetgbk_help.txt new file mode 100644 index 0000000..d54387f --- /dev/null +++ b/docs/align2subsetgbk_help.txt @@ -0,0 +1,4 @@ +usage: + falmeida-py splitgbk + falmeida-py splitgbk [ -h|--help ] + falmeida-py splitgbk [ --gbk ] [ --outdir ] diff --git a/docs/splitgbk_help.txtpython3 b/docs/splitgbk_help.txtpython3 new file mode 100644 index 0000000..e69de29 diff --git a/falmeida_py/align2subsetgbk.py b/falmeida_py/align2subsetgbk.py index e17801c..29fcec8 100644 --- a/falmeida_py/align2subsetgbk.py +++ b/falmeida_py/align2subsetgbk.py @@ -5,8 +5,7 @@ ### Def help message ### ######################## usage_align2subsetgbk = """ -A script meant to subset a genbank annotation file based on alignments -against a query FASTA file +A script meant to subset a genbank annotation file based on alignments against a query (Nucleotide) FASTA file --- Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) @@ -19,7 +18,7 @@ Options: -h --help Show this screen. -g --gbk= Gbk file for subset - -f --fasta= FASTA file for querying the gbk + -f --fasta= FASTA (nucl) file for querying the gbk -o --out= Gbk filtered output file [Default: out.gbk]. --extension= Base pair length to extend the flank regions in the alignment [Default: 0]. --minid= Min. Identity percentage for gene annotation [Default: 80]. From a806cbc17a89728acd4e6f93471f34ff0fdf45e5 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Wed, 10 Nov 2021 20:05:35 -0300 Subject: [PATCH 052/130] update docs --- build_conda.sh | 4 +--- build_helps.sh | 5 +++++ docs/align2subsetgbk_help.txt | 23 +++++++++++++++++++---- 3 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 build_helps.sh diff --git a/build_conda.sh b/build_conda.sh index 6d86fda..055e612 100644 --- a/build_conda.sh +++ b/build_conda.sh @@ -14,6 +14,4 @@ anaconda upload $(find osx-64 -name "falmeida-py*.tar.bz2") --force rm -rf build osx-64 # save new help message -python3 falmeida-py-runner.py -h &> docs/help_message.txt -python3 falmeida-py-runner.py tsv2markdown -h &> docs/tsv2markdown_help.txt -python3 falmeida-py-runner.py splitgbk -h &> docs/splitgbk_help.txtpython3 falmeida-py-runner.py align2subsetgbk -h &> docs/align2subsetgbk_help.txt +bash build_helps.sh diff --git a/build_helps.sh b/build_helps.sh new file mode 100644 index 0000000..e4f14bf --- /dev/null +++ b/build_helps.sh @@ -0,0 +1,5 @@ +# save new help message +python3 falmeida-py-runner.py -h &> docs/help_message.txt +python3 falmeida-py-runner.py tsv2markdown -h &> docs/tsv2markdown_help.txt +python3 falmeida-py-runner.py splitgbk -h &> docs/splitgbk_help.txt +python3 falmeida-py-runner.py align2subsetgbk -h &> docs/align2subsetgbk_help.txt \ No newline at end of file diff --git a/docs/align2subsetgbk_help.txt b/docs/align2subsetgbk_help.txt index d54387f..26cfee6 100644 --- a/docs/align2subsetgbk_help.txt +++ b/docs/align2subsetgbk_help.txt @@ -1,4 +1,19 @@ -usage: - falmeida-py splitgbk - falmeida-py splitgbk [ -h|--help ] - falmeida-py splitgbk [ --gbk ] [ --outdir ] +A script meant to subset a genbank annotation file based on alignments against a query (Nucleotide) FASTA file + +--- +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +Usage: + falmeida-py align2subsetgbk [ -h|--help ] + falmeida-py align2subsetgbk [ --gbk --fasta --out --minid --mincov --culling_limit --extension ] + +Options: + -h --help Show this screen. + -g --gbk= Gbk file for subset + -f --fasta= FASTA (nucl) file for querying the gbk + -o --out= Gbk filtered output file [Default: out.gbk]. + --extension= Base pair length to extend the flank regions in the alignment [Default: 0]. + --minid= Min. Identity percentage for gene annotation [Default: 80]. + --mincov= Min. Covereage for gene annotation [Default: 80]. + --culling_limit= Blast culling_limit for best hit only [Default: 1]. From e0193431b65558f035e3f7d588db0b4c4cb42691 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Wed, 10 Nov 2021 20:21:09 -0300 Subject: [PATCH 053/130] fixed align2subsetgbk --- CHANGELOG.md | 9 +++++++++ conda.recipe/meta.yaml | 2 +- docs/align2subsetgbk.rst | 10 +++++++++- docs/splitgbk_help.txtpython3 | 0 falmeida_py/blasts.py | 4 +--- falmeida_py/version.py | 2 +- 6 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 CHANGELOG.md delete mode 100644 docs/splitgbk_help.txtpython3 diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..6ddfafb --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +Started only in version 0.5 + +## v0.5 + +### hotfix + +A small fix has been performed, the blast databases now in the scripts are created without the `-parse_seqids` option because it was bringing problem in the subset module (`align2subsetgbk`). \ No newline at end of file diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index dfcd6ad..288daaa 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,6 +1,6 @@ package: name: falmeida-py - version: 0.4 + version: 0.5 source: path: .. diff --git a/docs/align2subsetgbk.rst b/docs/align2subsetgbk.rst index d7b5149..06b0cac 100644 --- a/docs/align2subsetgbk.rst +++ b/docs/align2subsetgbk.rst @@ -28,10 +28,18 @@ The usage is super simple: --fasta genomic_islands.fna \ --extension 50 \ --culling_limit 2 + + Processing file: annotation/sample.gbk! + qseqid qstart qend qlen sseqid sstart send slen evalue length pident gaps gapopen bitscore + 0 NC_016845.1_1287077_1326610 1 39533 39533 NC_016845.1 1287078 1326610 5333942 0.0 39533 100.0 0 0 73004 + 1 NC_016845.1_1778390_1811349 1 32959 32959 NC_016845.1 1778391 1811349 5333942 0.0 32959 100.0 0 0 60864 + 2 NC_016845.1_2286181_2305760 1 19579 19579 NC_016845.1 2286182 2305760 5333942 0.0 19579 100.0 0 0 36156 + 3 NC_016845.1_4049987_4083106 1 33119 33119 NC_016845.1 4049988 4083106 5333942 0.0 33119 100.0 0 0 61160 + 4 NC_016845.1_4821157_4858652 1 37495 37495 NC_016845.1 4821158 4858652 5333942 0.0 37495 100.0 0 0 69241 .. note:: - This command will align the genomic islands to the genbank to find the annotation features that are (possibly) inside the genomic islands. + This command will align the genomic islands to the genbank to find the annotation features that are found inside the regions that align to these genomic islands. In the example, the alignments coordinates will be "extendend" 50nt in both directions and, the two best alignments will be used for each sequence (from fasta). \ No newline at end of file diff --git a/docs/splitgbk_help.txtpython3 b/docs/splitgbk_help.txtpython3 deleted file mode 100644 index e69de29..0000000 diff --git a/falmeida_py/blasts.py b/falmeida_py/blasts.py index 7e0f8cc..9fe9de4 100644 --- a/falmeida_py/blasts.py +++ b/falmeida_py/blasts.py @@ -34,10 +34,8 @@ ################################## ### Loading Necessary Packages ### ################################## -from docopt import docopt import pandas as pd import os -import sys ###################### ### BLAST FUNCTION ### @@ -55,7 +53,7 @@ def blast(task, query, subject, culling, minid, mincov, out, threads, twoway): db_type = "nucl" elif task == "blastx" or task == "blastp": db_type = "prot" - os.system(f"makeblastdb -in {subject} -parse_seqids -out ./FA-PY-SUBJECT-DB -dbtype {db_type} 1> /dev/null") + os.system(f"makeblastdb -in {subject} -out ./FA-PY-SUBJECT-DB -dbtype {db_type} 1> /dev/null") # run blast if twoway: diff --git a/falmeida_py/version.py b/falmeida_py/version.py index 1d1686c..64417cd 100644 --- a/falmeida_py/version.py +++ b/falmeida_py/version.py @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '0.4' +__version__ = '0.5' def get_version(): return __version__ From a06b6763c67131b96af2630d12840f796b62ae68 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Wed, 10 Nov 2021 20:25:51 -0300 Subject: [PATCH 054/130] update index --- docs/index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/index.rst b/docs/index.rst index 715d999..28003ec 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -47,3 +47,4 @@ Available features can be visualised with the command line help message: tsv2markdown splitgbk + align2subsetgbk From 7a3cb998a24b7832fdf632be09393169e992e366 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Mon, 21 Feb 2022 21:07:50 +0100 Subject: [PATCH 055/130] Update replace_fasta_seq.py --- falmeida_py/replace_fasta_seq.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/falmeida_py/replace_fasta_seq.py b/falmeida_py/replace_fasta_seq.py index 14a6966..98399e9 100644 --- a/falmeida_py/replace_fasta_seq.py +++ b/falmeida_py/replace_fasta_seq.py @@ -1,5 +1,4 @@ #!/usr/bin/env python3 -#!/usr/bin/env python3 # coding: utf-8 ######################## @@ -65,4 +64,4 @@ def output_fasta(dict, out): def replace_fasta_seq(input, output, bed): fasta_dict = fasta_as_dict(input) replace_seq_in_dict(bed, fasta_dict) - output_fasta(fasta_dict, output) \ No newline at end of file + output_fasta(fasta_dict, output) From f203cf92a63da98b44ffccb797c1fb0400be8849 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 30 Aug 2022 19:01:51 +0200 Subject: [PATCH 056/130] include general annotation summary --- falmeida_py/__main__.py | 34 ++++++++++-- falmeida_py/bacannot2json.py | 105 +++++++++++++++++++++++++++++++++++ falmeida_py/utils.py | 7 +++ 3 files changed, 140 insertions(+), 6 deletions(-) create mode 100644 falmeida_py/bacannot2json.py create mode 100644 falmeida_py/utils.py diff --git a/falmeida_py/__main__.py b/falmeida_py/__main__.py index 138db39..cece7d3 100644 --- a/falmeida_py/__main__.py +++ b/falmeida_py/__main__.py @@ -29,12 +29,13 @@ --license Show LEGAL LICENSE information commands: - tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. - splitgbk Command to split multisequence genbank files into individual files. - align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. - gbk2fasta Command to convert genbank files to fasta files. - blasts Command to execute automatized blast commands. - replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. + blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + bacannot2json Command to summarize main bacannot annotation results into JSON file Use: `falmeida-py -h` to get more help and see examples. """ @@ -44,6 +45,8 @@ ################################## from docopt import docopt +from falmeida_py.bacannot2json import bacannot2json + ######################## ### Import functions ### ######################## @@ -54,6 +57,7 @@ from .blasts import * from .align2subsetgbk import * from .replace_fasta_seq import * +from .bacannot2json import usage_bacannot2json,bacannot2json ## Defining main def main(): @@ -191,6 +195,24 @@ def main(): else: print(usage_gbk2fasta.strip()) + + ############################# + ### bacannot2json command ### + ############################# + if arguments[''] == 'bacannot2json': + + # Parse docopt + args = docopt(usage_bacannot2json, version=__version__, help=False) + + # run script + if args['--help']: + print(usage_bacannot2json.strip()) + + elif args['--input']: + bacannot2json(args['--input'], args['--output']) + + else: + print(usage_bacannot2json.strip()) ##################### ### Check license ### diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py new file mode 100644 index 0000000..4c2c04e --- /dev/null +++ b/falmeida_py/bacannot2json.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +# coding: utf-8 + +######################## +### Def help message ### +######################## +usage_bacannot2json = """ +A script meant to subset a genbank annotation file based on alignments against a query (Nucleotide) FASTA file + +--- +Copyright (C) 2022 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +Usage: + falmeida-py bacannot2json [ -h|--help ] + falmeida-py bacannot2json [ --input --output ] + +Options: + -h --help Show this screen. + -i --input= Path to bacannot results folder. + -o --output= JSON summary output file [Default: bacannot_summary.json]. +""" + +################################## +### Loading Necessary Packages ### +################################## +from docopt import docopt +import pandas as pd +from .utils import find_files +import json +import os +import yaml +from pathlib import Path + +############################################### +### based on annotations figure sample name ### +############################################### +def get_samples(filepaths): + samples = [] + for annotation in filepaths: + sample = annotation.split('/')[-2] + samples.append(sample) + return samples + +############################# +### initialize dictionary ### +############################# +def dict_init(indir): + # main dictionary for json final output + bacannot_summary = {} + + # detect available sample annotations + available_annotations = [ str(x) for x in find_files(start_dir=indir, pattern='annotation') ] + + # detect available samples + available_samples = [ str(x) for x in get_samples(available_annotations) ] + + # get input absolute path + bacannot_dir = '/'.join(os.path.abspath(available_annotations[0]).split('/')[:-2]) + + # initiate first dictionary level + for sample in available_samples: + bacannot_summary[sample] = {} + bacannot_summary[sample]['results_dir'] = f"{bacannot_dir}/{sample}" + + return bacannot_dir,bacannot_summary + +################################ +### check general annotation ### +################################ +def general_stats(bacannot_summary): + + # iterate over available samples + for sample in bacannot_summary: + + # load dir of samples' results + results_dir = bacannot_summary[sample]['results_dir'] + + # load annotation stats + general_results = yaml.safe_load( + Path(f"{results_dir}/annotation/{sample}.txt").read_text() + ) + + # save annotation stats + bacannot_summary[sample]['general_annotation'] = {} + bacannot_summary[sample]['general_annotation']['CDS'] = general_results['CDS'] + bacannot_summary[sample]['general_annotation']['rRNA'] = general_results['rRNA'] + bacannot_summary[sample]['general_annotation']['tRNA'] = general_results['tRNA'] + bacannot_summary[sample]['general_annotation']['tmRNA'] = general_results['tmRNA'] + +####################################### +### Def main bacannot2json function ### +####################################### +def bacannot2json(indir, outfile): + + # initialize + bacannot_dir,bacannot_summary = dict_init(indir) + + # check general annotation stats + general_stats( bacannot_summary ) + + # keep checking + print( + json.dumps( bacannot_summary, sort_keys=True, indent=4 ) + ) \ No newline at end of file diff --git a/falmeida_py/utils.py b/falmeida_py/utils.py new file mode 100644 index 0000000..81c49d3 --- /dev/null +++ b/falmeida_py/utils.py @@ -0,0 +1,7 @@ +from pathlib import Path + +def find_files(start_dir, pattern): + matches = [] + for path in Path(start_dir).rglob(pattern): + matches.append(path.resolve()) + return matches \ No newline at end of file From 77ba5e0bd5001a113515c033db3aa9b411264683 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 30 Aug 2022 19:43:01 +0200 Subject: [PATCH 057/130] added vfdb annotation summary --- falmeida_py/bacannot2json.py | 47 ++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 4c2c04e..4408163 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -88,6 +88,50 @@ def general_stats(bacannot_summary): bacannot_summary[sample]['general_annotation']['tRNA'] = general_results['tRNA'] bacannot_summary[sample]['general_annotation']['tmRNA'] = general_results['tmRNA'] +################################## +### check virulence annotation ### +################################## +def virulence_stats(bacannot_summary): + + # iterate over available samples + for sample in bacannot_summary: + + # load dir of samples' results + results_dir = bacannot_summary[sample]['results_dir'] + + # load annotation stats + if os.path.exists(f"{results_dir}/virulence"): + + # init virulence annotation dictionary + bacannot_summary[sample]['virulence_annotation'] = {} + + if os.path.exists(f"{results_dir}/virulence/vfdb/{sample}_vfdb_blastn_onGenes.summary.txt"): + + # init VFDB annotation dictionary + bacannot_summary[sample]['virulence_annotation']['VFDB'] = {} + + # load vfdb results + vfdb_results = pd.read_csv( + f"{results_dir}/virulence/vfdb/{sample}_vfdb_blastn_onGenes.summary.txt", + sep='\t' + ) + + # number of virulence genes + total_number_of_genes = len( vfdb_results['SEQUENCE'].unique() ) + bacannot_summary[sample]['virulence_annotation']['VFDB']['total'] = total_number_of_genes + + # identified VFs + detected_vf_names = [x.split('_(')[0].replace("[", "") for x in vfdb_results['PRODUCT'].unique() ] + detected_vf_ids = [x.split('_(')[1].split(')')[0].replace(")", "") for x in vfdb_results['PRODUCT'].unique() ] + detected_vf_genes = [x.replace(")", "").replace("(", "") for x in vfdb_results['GENE'].unique() ] + + bacannot_summary[sample]['virulence_annotation']['VFDB']['detected_vf_names'] = ';'.join( detected_vf_names ) + bacannot_summary[sample]['virulence_annotation']['VFDB']['detected_vf_ids'] = ';'.join( detected_vf_ids ) + bacannot_summary[sample]['virulence_annotation']['VFDB']['detected_vf_genes'] = ';'.join( detected_vf_genes ) + + # check + print( vfdb_results ) + ####################################### ### Def main bacannot2json function ### ####################################### @@ -99,6 +143,9 @@ def bacannot2json(indir, outfile): # check general annotation stats general_stats( bacannot_summary ) + # check virulence annotation stats + virulence_stats ( bacannot_summary ) + # keep checking print( json.dumps( bacannot_summary, sort_keys=True, indent=4 ) From 88747f7c442b50ad1c8d729a05e21c2aff129782 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 30 Aug 2022 20:32:09 +0200 Subject: [PATCH 058/130] added victors summary --- falmeida_py/bacannot2json.py | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 4408163..9574033 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -105,32 +105,53 @@ def virulence_stats(bacannot_summary): # init virulence annotation dictionary bacannot_summary[sample]['virulence_annotation'] = {} + # vfdb if os.path.exists(f"{results_dir}/virulence/vfdb/{sample}_vfdb_blastn_onGenes.summary.txt"): # init VFDB annotation dictionary bacannot_summary[sample]['virulence_annotation']['VFDB'] = {} # load vfdb results - vfdb_results = pd.read_csv( + results = pd.read_csv( f"{results_dir}/virulence/vfdb/{sample}_vfdb_blastn_onGenes.summary.txt", sep='\t' ) # number of virulence genes - total_number_of_genes = len( vfdb_results['SEQUENCE'].unique() ) + total_number_of_genes = len( results['SEQUENCE'].unique() ) bacannot_summary[sample]['virulence_annotation']['VFDB']['total'] = total_number_of_genes # identified VFs - detected_vf_names = [x.split('_(')[0].replace("[", "") for x in vfdb_results['PRODUCT'].unique() ] - detected_vf_ids = [x.split('_(')[1].split(')')[0].replace(")", "") for x in vfdb_results['PRODUCT'].unique() ] - detected_vf_genes = [x.replace(")", "").replace("(", "") for x in vfdb_results['GENE'].unique() ] + detected_vf_names = [x.split('_(')[0].replace("[", "") for x in results['PRODUCT'].unique() ] + detected_vf_ids = [x.split('_(')[1].split(')')[0].replace(")", "") for x in results['PRODUCT'].unique() ] + detected_vf_genes = [x.replace(")", "").replace("(", "") for x in results['GENE'].unique() ] bacannot_summary[sample]['virulence_annotation']['VFDB']['detected_vf_names'] = ';'.join( detected_vf_names ) bacannot_summary[sample]['virulence_annotation']['VFDB']['detected_vf_ids'] = ';'.join( detected_vf_ids ) bacannot_summary[sample]['virulence_annotation']['VFDB']['detected_vf_genes'] = ';'.join( detected_vf_genes ) + + # victors + if os.path.exists(f"{results_dir}/virulence/victors/{sample}_victors_blastp_onGenes.summary.txt"): + + # init victors annotation dictionary + bacannot_summary[sample]['virulence_annotation']['Victors'] = {} + + # load vfdb results + results = pd.read_csv( + f"{results_dir}/virulence/victors/{sample}_victors_blastp_onGenes.summary.txt", + sep='\t' + ) + + # number of virulence genes + total_number_of_genes = len( results['SEQUENCE'].unique() ) + bacannot_summary[sample]['virulence_annotation']['Victors']['total'] = total_number_of_genes + + # identified VFs + detected_vf_ids = [x.replace("Victors_", "") for x in results['VICTORS_ID'].unique() ] + detected_vf_genes = [x for x in results['GENE'].unique() ] - # check - print( vfdb_results ) + bacannot_summary[sample]['virulence_annotation']['Victors']['detected_vf_ids'] = ';'.join( detected_vf_ids ) + bacannot_summary[sample]['virulence_annotation']['Victors']['detected_vf_genes'] = ';'.join( detected_vf_genes ) ####################################### ### Def main bacannot2json function ### From 04eac6d7272e62ecfc62adc0c22a35b3f8d6e516 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 30 Aug 2022 20:32:39 +0200 Subject: [PATCH 059/130] Update version.py --- falmeida_py/version.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/falmeida_py/version.py b/falmeida_py/version.py index 64417cd..e632bf2 100644 --- a/falmeida_py/version.py +++ b/falmeida_py/version.py @@ -2,7 +2,7 @@ The version is stored here in a separate file so it can exist in only one place. https://stackoverflow.com/a/7071358/2438989 -Copyright 2020 Felipe Almeida (almeidafmarques@gmail.com) +Copyright 2022 Felipe Almeida (almeidafmarques@gmail.com) https://github.com/fmalmeida/pythonScripts This file is part of my custom python scripts (falmeida-py) package, which is free: you can redistribute it and/or modify @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '0.5' +__version__ = '0.6' def get_version(): return __version__ From 7065fdcd00b96007d8498d888e28e40f7fa614bf Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 30 Aug 2022 20:33:54 +0200 Subject: [PATCH 060/130] add indentation --- falmeida_py/bacannot2json.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 9574033..deaadee 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -159,13 +159,13 @@ def virulence_stats(bacannot_summary): def bacannot2json(indir, outfile): # initialize - bacannot_dir,bacannot_summary = dict_init(indir) + bacannot_dir,bacannot_summary = dict_init( indir ) # check general annotation stats general_stats( bacannot_summary ) # check virulence annotation stats - virulence_stats ( bacannot_summary ) + virulence_stats( bacannot_summary ) # keep checking print( From 7b3153dfb052a523348232987dd7f6ceca91b2f4 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 30 Aug 2022 20:37:47 +0200 Subject: [PATCH 061/130] add json file write function --- falmeida_py/bacannot2json.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index deaadee..24141b4 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -167,7 +167,10 @@ def bacannot2json(indir, outfile): # check virulence annotation stats virulence_stats( bacannot_summary ) + # save results + final_results = json.dumps( bacannot_summary, sort_keys=True, indent=4 ) + with open(outfile, 'w') as file: + file.write(final_results) + # keep checking - print( - json.dumps( bacannot_summary, sort_keys=True, indent=4 ) - ) \ No newline at end of file + print( final_results ) \ No newline at end of file From a3fe8d2e1219baaca662293bb42719e0abf4f526 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 30 Aug 2022 20:40:33 +0200 Subject: [PATCH 062/130] update script description --- falmeida_py/bacannot2json.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 24141b4..c6f9f51 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -5,7 +5,7 @@ ### Def help message ### ######################## usage_bacannot2json = """ -A script meant to subset a genbank annotation file based on alignments against a query (Nucleotide) FASTA file +A script to summarize the main annotation results of fmalmeida/bacannot pipeline as a structured JSON file. --- Copyright (C) 2022 Felipe Marques de Almeida (almeidafmarques@gmail.com) From 48b88dba109d4bbe55944434782f24aa9f2b90e5 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Wed, 31 Aug 2022 22:18:40 +0200 Subject: [PATCH 063/130] get more information from platon --- falmeida_py/bacannot2json.py | 52 +++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index c6f9f51..1241bbf 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -136,7 +136,7 @@ def virulence_stats(bacannot_summary): # init victors annotation dictionary bacannot_summary[sample]['virulence_annotation']['Victors'] = {} - # load vfdb results + # load victors results results = pd.read_csv( f"{results_dir}/virulence/victors/{sample}_victors_blastp_onGenes.summary.txt", sep='\t' @@ -153,6 +153,53 @@ def virulence_stats(bacannot_summary): bacannot_summary[sample]['virulence_annotation']['Victors']['detected_vf_ids'] = ';'.join( detected_vf_ids ) bacannot_summary[sample]['virulence_annotation']['Victors']['detected_vf_genes'] = ';'.join( detected_vf_genes ) +######################################## +### check plasmids annotations stats ### +######################################## +def plasmids_stats(bacannot_summary): + + # iterate over available samples + for sample in bacannot_summary: + + # load dir of samples' results + results_dir = bacannot_summary[sample]['results_dir'] + + # load annotation stats + if os.path.exists(f"{results_dir}/plasmids"): + + # init plasmids annotation dictionary + bacannot_summary[sample]['plasmid_annotation'] = {} + + # platon + if os.path.exists(f"{results_dir}/plasmids/platon/{sample}.tsv"): + + # init platon annotation dictionary + bacannot_summary[sample]['plasmid_annotation']['platon'] = {} + + # load platon results + results = pd.read_csv( + f"{results_dir}/plasmids/platon/{sample}.tsv", + sep='\t' + ) + + # number of plasmid annotations + total_number = len(results.index) + bacannot_summary[sample]['plasmid_annotation']['platon']['total'] = total_number + + # contigs that are plasmids + contigs = [x for x in results['ID'].unique()] + bacannot_summary[sample]['plasmid_annotation']['platon']['contigs'] = ';'.join( contigs ) + + # per plasmid info + for seq in contigs: + bacannot_summary[sample]['plasmid_annotation']['platon'][seq] = {} + bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['ORFs'] = results.loc[results['ID'] == seq, '# ORFs'].item() + bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['Circular'] = results.loc[results['ID'] == seq, 'Circular'].item() + bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['AMRs'] = results.loc[results['ID'] == seq, '# AMRs'].item() + bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['Replication'] = results.loc[results['ID'] == seq, '# Replication'].item() + bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['Mobilization'] = results.loc[results['ID'] == seq, '# Mobilization'].item() + bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['Conjugation'] = results.loc[results['ID'] == seq, '# Conjugation'].item() + ####################################### ### Def main bacannot2json function ### ####################################### @@ -167,6 +214,9 @@ def bacannot2json(indir, outfile): # check virulence annotation stats virulence_stats( bacannot_summary ) + # check plasmids annotation stats + plasmids_stats( bacannot_summary ) + # save results final_results = json.dumps( bacannot_summary, sort_keys=True, indent=4 ) with open(outfile, 'w') as file: From 63d3ce9b8a1ba43aba21021394a4b86e50899915 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Wed, 31 Aug 2022 22:34:19 +0200 Subject: [PATCH 064/130] added plasmidfinder information --- falmeida_py/bacannot2json.py | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 1241bbf..d7a82e6 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -199,6 +199,36 @@ def plasmids_stats(bacannot_summary): bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['Replication'] = results.loc[results['ID'] == seq, '# Replication'].item() bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['Mobilization'] = results.loc[results['ID'] == seq, '# Mobilization'].item() bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['Conjugation'] = results.loc[results['ID'] == seq, '# Conjugation'].item() + + # plasmidfinder + if os.path.exists(f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv"): + + # init platon annotation dictionary + bacannot_summary[sample]['plasmid_annotation']['plasmidfinder'] = {} + + # load platon results + results = pd.read_csv( + f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv", + sep='\t' + ) + + # databases + bacannot_summary[sample]['plasmid_annotation']['plasmidfinder']['Database'] = results['Database'].unique().item() + + # number of plasmid annotations + total_number = len(results['Contig'].unique()) + bacannot_summary[sample]['plasmid_annotation']['plasmidfinder']['total'] = total_number + + # identified contigs + contigs = results['Contig'].unique() + bacannot_summary[sample]['plasmid_annotation']['plasmidfinder']['contigs'] = ';'.join( contigs ) + + # important info over contigs + for seq in contigs: + bacannot_summary[sample]['plasmid_annotation']['plasmidfinder'][seq] = {} + bacannot_summary[sample]['plasmid_annotation']['plasmidfinder'][seq]['Inc types'] = ';'.join( results.loc[results['Contig'] == seq, 'Plasmid'].unique() ) + bacannot_summary[sample]['plasmid_annotation']['plasmidfinder'][seq]['Identity'] = ';'.join( [str(x) for x in results.loc[results['Contig'] == seq, 'Identity'].unique() ] ) + bacannot_summary[sample]['plasmid_annotation']['plasmidfinder'][seq]['Accessions'] = ';'.join( results.loc[results['Contig'] == seq, 'Accession number'].unique() ) ####################################### ### Def main bacannot2json function ### @@ -218,7 +248,7 @@ def bacannot2json(indir, outfile): plasmids_stats( bacannot_summary ) # save results - final_results = json.dumps( bacannot_summary, sort_keys=True, indent=4 ) + final_results = json.dumps( bacannot_summary, sort_keys=False, indent=4 ) with open(outfile, 'w') as file: file.write(final_results) From 0ddec6ce1fc34295406c9d5d3f709948333e9d86 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Thu, 1 Sep 2022 19:10:07 +0200 Subject: [PATCH 065/130] add amrfinderplus annotation summary --- falmeida_py/bacannot2json.py | 51 +++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index d7a82e6..b7f8da7 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -230,6 +230,52 @@ def plasmids_stats(bacannot_summary): bacannot_summary[sample]['plasmid_annotation']['plasmidfinder'][seq]['Identity'] = ';'.join( [str(x) for x in results.loc[results['Contig'] == seq, 'Identity'].unique() ] ) bacannot_summary[sample]['plasmid_annotation']['plasmidfinder'][seq]['Accessions'] = ';'.join( results.loc[results['Contig'] == seq, 'Accession number'].unique() ) +########################################## +### check resistance annotations stats ### +########################################## +def resistance_stats(bacannot_summary): + + # iterate over available samples + for sample in bacannot_summary: + + # load dir of samples' results + results_dir = bacannot_summary[sample]['results_dir'] + + # load annotation stats + if os.path.exists(f"{results_dir}/resistance"): + + # init plasmids annotation dictionary + bacannot_summary[sample]['resistance'] = {} + + # amrfinderplus + if os.path.exists(f"{results_dir}/resistance/AMRFinderPlus/AMRFinder_resistance-only.tsv"): + + # init amrfinderplus annotation dictionary + bacannot_summary[sample]['resistance']['amrfinderplus'] = {} + + # load platon results + results = pd.read_csv( + f"{results_dir}/resistance/AMRFinderPlus/AMRFinder_resistance-only.tsv", + sep='\t' + ) + results.sort_values('Gene symbol', inplace=True) + + # number of annotations + total_number = len(results['Protein identifier'].unique()) + bacannot_summary[sample]['resistance']['amrfinderplus']['total'] = total_number + + # gene annotations + gene_names = [ x for x in results['Gene symbol'].unique() ] + bacannot_summary[sample]['resistance']['amrfinderplus']['genes'] = ';'.join( gene_names ) + + # annotation subclass + annotation_subclasses = [ str(x) for x in results['Subclass'] ] + bacannot_summary[sample]['resistance']['amrfinderplus']['subclasses'] = ';'.join( annotation_subclasses ) + + # annotation identity + annotation_identity = [ str(x) for x in results['% Identity to reference sequence'] ] + bacannot_summary[sample]['resistance']['amrfinderplus']['identity'] = ';'.join( annotation_identity ) + ####################################### ### Def main bacannot2json function ### ####################################### @@ -247,8 +293,11 @@ def bacannot2json(indir, outfile): # check plasmids annotation stats plasmids_stats( bacannot_summary ) + # check resistance annotation stats + resistance_stats( bacannot_summary ) + # save results - final_results = json.dumps( bacannot_summary, sort_keys=False, indent=4 ) + final_results = json.dumps( bacannot_summary, sort_keys=True, indent=4 ) with open(outfile, 'w') as file: file.write(final_results) From 13e478eeb782a1f163697d066342a91c84a24d66 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Thu, 1 Sep 2022 21:43:27 +0200 Subject: [PATCH 066/130] convert functions to write results as nested arrays --- falmeida_py/bacannot2json.py | 105 +++++++++++++++++------------------ 1 file changed, 50 insertions(+), 55 deletions(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index b7f8da7..149c642 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -103,13 +103,13 @@ def virulence_stats(bacannot_summary): if os.path.exists(f"{results_dir}/virulence"): # init virulence annotation dictionary - bacannot_summary[sample]['virulence_annotation'] = {} + bacannot_summary[sample]['virulence'] = {} # vfdb if os.path.exists(f"{results_dir}/virulence/vfdb/{sample}_vfdb_blastn_onGenes.summary.txt"): # init VFDB annotation dictionary - bacannot_summary[sample]['virulence_annotation']['VFDB'] = {} + bacannot_summary[sample]['virulence']['VFDB'] = {} # load vfdb results results = pd.read_csv( @@ -119,22 +119,21 @@ def virulence_stats(bacannot_summary): # number of virulence genes total_number_of_genes = len( results['SEQUENCE'].unique() ) - bacannot_summary[sample]['virulence_annotation']['VFDB']['total'] = total_number_of_genes + bacannot_summary[sample]['virulence']['VFDB']['total'] = total_number_of_genes - # identified VFs - detected_vf_names = [x.split('_(')[0].replace("[", "") for x in results['PRODUCT'].unique() ] - detected_vf_ids = [x.split('_(')[1].split(')')[0].replace(")", "") for x in results['PRODUCT'].unique() ] - detected_vf_genes = [x.replace(")", "").replace("(", "") for x in results['GENE'].unique() ] - - bacannot_summary[sample]['virulence_annotation']['VFDB']['detected_vf_names'] = ';'.join( detected_vf_names ) - bacannot_summary[sample]['virulence_annotation']['VFDB']['detected_vf_ids'] = ';'.join( detected_vf_ids ) - bacannot_summary[sample]['virulence_annotation']['VFDB']['detected_vf_genes'] = ';'.join( detected_vf_genes ) + # gene annotations + for gene in [ str(x) for x in results['SEQUENCE'].unique() ]: + row = results.loc[results['SEQUENCE'] == gene] + bacannot_summary[sample]['virulence']['VFDB'][gene] = {} + bacannot_summary[sample]['virulence']['VFDB'][gene]['virulence_factor'] = row['PRODUCT'].item().split('_(')[0].replace("[", "") + bacannot_summary[sample]['virulence']['VFDB'][gene]['id'] = row['PRODUCT'].item().split('_(')[1].split(')')[0].replace(")", "") + bacannot_summary[sample]['virulence']['VFDB'][gene]['name'] = row['GENE'].item().replace(")", "").replace("(", "") # victors if os.path.exists(f"{results_dir}/virulence/victors/{sample}_victors_blastp_onGenes.summary.txt"): # init victors annotation dictionary - bacannot_summary[sample]['virulence_annotation']['Victors'] = {} + bacannot_summary[sample]['virulence']['Victors'] = {} # load victors results results = pd.read_csv( @@ -144,14 +143,15 @@ def virulence_stats(bacannot_summary): # number of virulence genes total_number_of_genes = len( results['SEQUENCE'].unique() ) - bacannot_summary[sample]['virulence_annotation']['Victors']['total'] = total_number_of_genes + bacannot_summary[sample]['virulence']['Victors']['total'] = total_number_of_genes - # identified VFs - detected_vf_ids = [x.replace("Victors_", "") for x in results['VICTORS_ID'].unique() ] - detected_vf_genes = [x for x in results['GENE'].unique() ] + # gene annotations + for gene in [ str(x) for x in results['SEQUENCE'].unique() ]: + row = results.loc[results['SEQUENCE'] == gene] + bacannot_summary[sample]['virulence']['VFDB'][gene] = {} + bacannot_summary[sample]['virulence']['VFDB'][gene]['id'] = row['VICTORS_ID'].item().replace("Victors_", "") + bacannot_summary[sample]['virulence']['VFDB'][gene]['name'] = row['GENE'].item() - bacannot_summary[sample]['virulence_annotation']['Victors']['detected_vf_ids'] = ';'.join( detected_vf_ids ) - bacannot_summary[sample]['virulence_annotation']['Victors']['detected_vf_genes'] = ';'.join( detected_vf_genes ) ######################################## ### check plasmids annotations stats ### @@ -168,13 +168,13 @@ def plasmids_stats(bacannot_summary): if os.path.exists(f"{results_dir}/plasmids"): # init plasmids annotation dictionary - bacannot_summary[sample]['plasmid_annotation'] = {} + bacannot_summary[sample]['plasmid'] = {} # platon if os.path.exists(f"{results_dir}/plasmids/platon/{sample}.tsv"): # init platon annotation dictionary - bacannot_summary[sample]['plasmid_annotation']['platon'] = {} + bacannot_summary[sample]['plasmid']['platon'] = {} # load platon results results = pd.read_csv( @@ -184,27 +184,23 @@ def plasmids_stats(bacannot_summary): # number of plasmid annotations total_number = len(results.index) - bacannot_summary[sample]['plasmid_annotation']['platon']['total'] = total_number - - # contigs that are plasmids - contigs = [x for x in results['ID'].unique()] - bacannot_summary[sample]['plasmid_annotation']['platon']['contigs'] = ';'.join( contigs ) + bacannot_summary[sample]['plasmid']['platon']['total'] = total_number # per plasmid info - for seq in contigs: - bacannot_summary[sample]['plasmid_annotation']['platon'][seq] = {} - bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['ORFs'] = results.loc[results['ID'] == seq, '# ORFs'].item() - bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['Circular'] = results.loc[results['ID'] == seq, 'Circular'].item() - bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['AMRs'] = results.loc[results['ID'] == seq, '# AMRs'].item() - bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['Replication'] = results.loc[results['ID'] == seq, '# Replication'].item() - bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['Mobilization'] = results.loc[results['ID'] == seq, '# Mobilization'].item() - bacannot_summary[sample]['plasmid_annotation']['platon'][seq]['Conjugation'] = results.loc[results['ID'] == seq, '# Conjugation'].item() + for seq in [x for x in results['ID'].unique()]: + bacannot_summary[sample]['plasmid']['platon'][seq] = {} + bacannot_summary[sample]['plasmid']['platon'][seq]['ORFs'] = results.loc[results['ID'] == seq, '# ORFs'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Circular'] = results.loc[results['ID'] == seq, 'Circular'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['AMRs'] = results.loc[results['ID'] == seq, '# AMRs'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Replication'] = results.loc[results['ID'] == seq, '# Replication'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Mobilization'] = results.loc[results['ID'] == seq, '# Mobilization'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Conjugation'] = results.loc[results['ID'] == seq, '# Conjugation'].item() # plasmidfinder if os.path.exists(f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv"): # init platon annotation dictionary - bacannot_summary[sample]['plasmid_annotation']['plasmidfinder'] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder'] = {} # load platon results results = pd.read_csv( @@ -213,22 +209,25 @@ def plasmids_stats(bacannot_summary): ) # databases - bacannot_summary[sample]['plasmid_annotation']['plasmidfinder']['Database'] = results['Database'].unique().item() + bacannot_summary[sample]['plasmid']['plasmidfinder']['meta'] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder']['meta']['database'] = results['Database'].unique().item() # number of plasmid annotations total_number = len(results['Contig'].unique()) - bacannot_summary[sample]['plasmid_annotation']['plasmidfinder']['total'] = total_number + bacannot_summary[sample]['plasmid']['plasmidfinder']['total'] = total_number - # identified contigs - contigs = results['Contig'].unique() - bacannot_summary[sample]['plasmid_annotation']['plasmidfinder']['contigs'] = ';'.join( contigs ) + # plasmid annotations contigs + for seq in [ str(x) for x in results['Contig'].unique() ]: + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['inc_types'] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['identity'] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['accession'] = {} + for index, row in results.iterrows(): + contig = row['Contig'] + bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['inc_types'] = row['Plasmid'] + bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['identity'] = row['Identity'] + bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['accession'] = row['Accession number'] - # important info over contigs - for seq in contigs: - bacannot_summary[sample]['plasmid_annotation']['plasmidfinder'][seq] = {} - bacannot_summary[sample]['plasmid_annotation']['plasmidfinder'][seq]['Inc types'] = ';'.join( results.loc[results['Contig'] == seq, 'Plasmid'].unique() ) - bacannot_summary[sample]['plasmid_annotation']['plasmidfinder'][seq]['Identity'] = ';'.join( [str(x) for x in results.loc[results['Contig'] == seq, 'Identity'].unique() ] ) - bacannot_summary[sample]['plasmid_annotation']['plasmidfinder'][seq]['Accessions'] = ';'.join( results.loc[results['Contig'] == seq, 'Accession number'].unique() ) ########################################## ### check resistance annotations stats ### @@ -265,16 +264,12 @@ def resistance_stats(bacannot_summary): bacannot_summary[sample]['resistance']['amrfinderplus']['total'] = total_number # gene annotations - gene_names = [ x for x in results['Gene symbol'].unique() ] - bacannot_summary[sample]['resistance']['amrfinderplus']['genes'] = ';'.join( gene_names ) - - # annotation subclass - annotation_subclasses = [ str(x) for x in results['Subclass'] ] - bacannot_summary[sample]['resistance']['amrfinderplus']['subclasses'] = ';'.join( annotation_subclasses ) - - # annotation identity - annotation_identity = [ str(x) for x in results['% Identity to reference sequence'] ] - bacannot_summary[sample]['resistance']['amrfinderplus']['identity'] = ';'.join( annotation_identity ) + for gene in [ str(x) for x in results['Protein identifier'].unique() ]: + row = results.loc[results['Protein identifier'] == gene] + bacannot_summary[sample]['resistance']['amrfinderplus'][gene] = {} + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['gene'] = row['Gene symbol'].item() + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['subclass'] = row['Subclass'].item() + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['identity'] = row['% Identity to reference sequence'].item() ####################################### ### Def main bacannot2json function ### From 635a62f27ae0b039c890affe404daaab92d23a7c Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Thu, 1 Sep 2022 21:44:09 +0200 Subject: [PATCH 067/130] fixed victors function --- falmeida_py/bacannot2json.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 149c642..b89e87e 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -148,9 +148,9 @@ def virulence_stats(bacannot_summary): # gene annotations for gene in [ str(x) for x in results['SEQUENCE'].unique() ]: row = results.loc[results['SEQUENCE'] == gene] - bacannot_summary[sample]['virulence']['VFDB'][gene] = {} - bacannot_summary[sample]['virulence']['VFDB'][gene]['id'] = row['VICTORS_ID'].item().replace("Victors_", "") - bacannot_summary[sample]['virulence']['VFDB'][gene]['name'] = row['GENE'].item() + bacannot_summary[sample]['virulence']['Victors'][gene] = {} + bacannot_summary[sample]['virulence']['Victors'][gene]['id'] = row['VICTORS_ID'].item().replace("Victors_", "") + bacannot_summary[sample]['virulence']['Victors'][gene]['name'] = row['GENE'].item() ######################################## From 99b655ec38d478c2debf8dc4c867da2638d759f6 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Fri, 2 Sep 2022 22:18:25 +0200 Subject: [PATCH 068/130] add resfinder info to json --- falmeida_py/bacannot2json.py | 55 +++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index b89e87e..b4e5336 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -252,7 +252,7 @@ def resistance_stats(bacannot_summary): # init amrfinderplus annotation dictionary bacannot_summary[sample]['resistance']['amrfinderplus'] = {} - # load platon results + # load amrfinderplus results results = pd.read_csv( f"{results_dir}/resistance/AMRFinderPlus/AMRFinder_resistance-only.tsv", sep='\t' @@ -270,6 +270,59 @@ def resistance_stats(bacannot_summary): bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['gene'] = row['Gene symbol'].item() bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['subclass'] = row['Subclass'].item() bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['identity'] = row['% Identity to reference sequence'].item() + + + # resfinder + if os.path.exists(f"{results_dir}/resistance/resfinder/ResFinder_results_tab.txt"): + + # init resfinder annotation dictionary + bacannot_summary[sample]['resistance']['resfinder'] = {} + + # load resfinder results + results = pd.read_csv( + f"{results_dir}/resistance/resfinder/ResFinder_results_tab.txt", + sep='\t' + ) + results.drop_duplicates(inplace=True) + + # number of annotations + bacannot_summary[sample]['resistance']['amrfinderplus']['total'] = len(results.index) + + # gene annotations + for gene in [ str(x) for x in results['Resistance gene'].unique() ]: + + # init + bacannot_summary[sample]['resistance']['resfinder'][gene] = {} + bacannot_summary[sample]['resistance']['resfinder'][gene]['chr'] = list() + bacannot_summary[sample]['resistance']['resfinder'][gene]['start'] = list() + bacannot_summary[sample]['resistance']['resfinder'][gene]['end'] = list() + bacannot_summary[sample]['resistance']['resfinder'][gene]['Identity'] = list() + bacannot_summary[sample]['resistance']['resfinder'][gene]['phenotype'] = list() + bacannot_summary[sample]['resistance']['resfinder'][gene]['accession'] = list() + + # parse + for index, row in results.iterrows(): + + gene = row['Resistance gene'] + + bacannot_summary[sample]['resistance']['resfinder'][gene]['chr'].append( + row['Contig'] + ) + bacannot_summary[sample]['resistance']['resfinder'][gene]['start'].append( + row['Position in contig'].split('..')[0] + ) + bacannot_summary[sample]['resistance']['resfinder'][gene]['end'].append( + row['Position in contig'].split('..')[1] + ) + bacannot_summary[sample]['resistance']['resfinder'][gene]['Identity'].append( + row['Identity'] + ) + bacannot_summary[sample]['resistance']['resfinder'][gene]['phenotype'].append( + row['Phenotype'] + ) + bacannot_summary[sample]['resistance']['resfinder'][gene]['accession'].append( + row['Accession no.'] + ) ####################################### ### Def main bacannot2json function ### From 5344b1ace8f48f8d8fa4b17436f2922b57214bd3 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Fri, 2 Sep 2022 22:23:27 +0200 Subject: [PATCH 069/130] fix indentation --- falmeida_py/bacannot2json.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index b4e5336..fe4766c 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -83,9 +83,9 @@ def general_stats(bacannot_summary): # save annotation stats bacannot_summary[sample]['general_annotation'] = {} - bacannot_summary[sample]['general_annotation']['CDS'] = general_results['CDS'] - bacannot_summary[sample]['general_annotation']['rRNA'] = general_results['rRNA'] - bacannot_summary[sample]['general_annotation']['tRNA'] = general_results['tRNA'] + bacannot_summary[sample]['general_annotation']['CDS'] = general_results['CDS'] + bacannot_summary[sample]['general_annotation']['rRNA'] = general_results['rRNA'] + bacannot_summary[sample]['general_annotation']['tRNA'] = general_results['tRNA'] bacannot_summary[sample]['general_annotation']['tmRNA'] = general_results['tmRNA'] ################################## From 4d6443ef66bad0a7dc0f8a1215aa503d359b3a25 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Fri, 2 Sep 2022 22:35:02 +0200 Subject: [PATCH 070/130] add rgi info to json --- falmeida_py/bacannot2json.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index fe4766c..5698301 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -323,6 +323,39 @@ def resistance_stats(bacannot_summary): bacannot_summary[sample]['resistance']['resfinder'][gene]['accession'].append( row['Accession no.'] ) + + # rgi + if os.path.exists(f"{results_dir}/resistance/RGI/RGI_{sample}.txt"): + + # init amrfinderplus annotation dictionary + bacannot_summary[sample]['resistance']['rgi'] = {} + + # load amrfinderplus results + results = pd.read_csv( + f"{results_dir}/resistance/RGI/RGI_{sample}.txt", + sep='\t' + ) + results.drop_duplicates(inplace=True) + + # number of annotations + total_number = len(results['ORF_ID'].unique()) + bacannot_summary[sample]['resistance']['rgi']['total'] = total_number + + # gene annotations + for gene in [ str(x) for x in results['ORF_ID'].unique() ]: + row = results.loc[results['ORF_ID'] == gene] + name_split_list = gene.split(' ') + gene = name_split_list[0] + name = ' '.join(name_split_list[1:]) + bacannot_summary[sample]['resistance']['rgi'][gene] = {} + bacannot_summary[sample]['resistance']['rgi'][gene]['name'] = name + bacannot_summary[sample]['resistance']['rgi'][gene]['gene'] = row['Best_Hit_ARO'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['cut_off'] = row['Cut_Off'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['resistance_mechanism'] = row['Resistance Mechanism'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['gene_family'] = row['AMR Gene Family'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['subclass'] = row['Drug Class'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['identity'] = row['Best_Identities'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['accession'] = row['Model_ID'].item() ####################################### ### Def main bacannot2json function ### From db9a7f7924eefce6c2c3aeca7f1c29e6ff08835a Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Fri, 2 Sep 2022 22:37:50 +0200 Subject: [PATCH 071/130] plasmid function as module --- falmeida_py/bacannot2json.py | 80 +------------------------------ falmeida_py/plasmid_function.py | 84 +++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+), 78 deletions(-) create mode 100644 falmeida_py/plasmid_function.py diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 5698301..ee3195d 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -26,11 +26,12 @@ ################################## from docopt import docopt import pandas as pd -from .utils import find_files import json import os import yaml from pathlib import Path +from .utils import find_files +from .plasmid_function import * ############################################### ### based on annotations figure sample name ### @@ -152,83 +153,6 @@ def virulence_stats(bacannot_summary): bacannot_summary[sample]['virulence']['Victors'][gene]['id'] = row['VICTORS_ID'].item().replace("Victors_", "") bacannot_summary[sample]['virulence']['Victors'][gene]['name'] = row['GENE'].item() - -######################################## -### check plasmids annotations stats ### -######################################## -def plasmids_stats(bacannot_summary): - - # iterate over available samples - for sample in bacannot_summary: - - # load dir of samples' results - results_dir = bacannot_summary[sample]['results_dir'] - - # load annotation stats - if os.path.exists(f"{results_dir}/plasmids"): - - # init plasmids annotation dictionary - bacannot_summary[sample]['plasmid'] = {} - - # platon - if os.path.exists(f"{results_dir}/plasmids/platon/{sample}.tsv"): - - # init platon annotation dictionary - bacannot_summary[sample]['plasmid']['platon'] = {} - - # load platon results - results = pd.read_csv( - f"{results_dir}/plasmids/platon/{sample}.tsv", - sep='\t' - ) - - # number of plasmid annotations - total_number = len(results.index) - bacannot_summary[sample]['plasmid']['platon']['total'] = total_number - - # per plasmid info - for seq in [x for x in results['ID'].unique()]: - bacannot_summary[sample]['plasmid']['platon'][seq] = {} - bacannot_summary[sample]['plasmid']['platon'][seq]['ORFs'] = results.loc[results['ID'] == seq, '# ORFs'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['Circular'] = results.loc[results['ID'] == seq, 'Circular'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['AMRs'] = results.loc[results['ID'] == seq, '# AMRs'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['Replication'] = results.loc[results['ID'] == seq, '# Replication'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['Mobilization'] = results.loc[results['ID'] == seq, '# Mobilization'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['Conjugation'] = results.loc[results['ID'] == seq, '# Conjugation'].item() - - # plasmidfinder - if os.path.exists(f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv"): - - # init platon annotation dictionary - bacannot_summary[sample]['plasmid']['plasmidfinder'] = {} - - # load platon results - results = pd.read_csv( - f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv", - sep='\t' - ) - - # databases - bacannot_summary[sample]['plasmid']['plasmidfinder']['meta'] = {} - bacannot_summary[sample]['plasmid']['plasmidfinder']['meta']['database'] = results['Database'].unique().item() - - # number of plasmid annotations - total_number = len(results['Contig'].unique()) - bacannot_summary[sample]['plasmid']['plasmidfinder']['total'] = total_number - - # plasmid annotations contigs - for seq in [ str(x) for x in results['Contig'].unique() ]: - bacannot_summary[sample]['plasmid']['plasmidfinder'][seq] = {} - bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['inc_types'] = {} - bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['identity'] = {} - bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['accession'] = {} - for index, row in results.iterrows(): - contig = row['Contig'] - bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['inc_types'] = row['Plasmid'] - bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['identity'] = row['Identity'] - bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['accession'] = row['Accession number'] - - ########################################## ### check resistance annotations stats ### ########################################## diff --git a/falmeida_py/plasmid_function.py b/falmeida_py/plasmid_function.py new file mode 100644 index 0000000..b588318 --- /dev/null +++ b/falmeida_py/plasmid_function.py @@ -0,0 +1,84 @@ +################################## +### Loading Necessary Packages ### +################################## +import pandas as pd +from .utils import find_files +import json +import os +import yaml +from pathlib import Path + +######################################## +### check plasmids annotations stats ### +######################################## +def plasmids_stats(bacannot_summary): + + # iterate over available samples + for sample in bacannot_summary: + + # load dir of samples' results + results_dir = bacannot_summary[sample]['results_dir'] + + # load annotation stats + if os.path.exists(f"{results_dir}/plasmids"): + + # init plasmids annotation dictionary + bacannot_summary[sample]['plasmid'] = {} + + # platon + if os.path.exists(f"{results_dir}/plasmids/platon/{sample}.tsv"): + + # init platon annotation dictionary + bacannot_summary[sample]['plasmid']['platon'] = {} + + # load platon results + results = pd.read_csv( + f"{results_dir}/plasmids/platon/{sample}.tsv", + sep='\t' + ) + + # number of plasmid annotations + total_number = len(results.index) + bacannot_summary[sample]['plasmid']['platon']['total'] = total_number + + # per plasmid info + for seq in [x for x in results['ID'].unique()]: + bacannot_summary[sample]['plasmid']['platon'][seq] = {} + bacannot_summary[sample]['plasmid']['platon'][seq]['ORFs'] = results.loc[results['ID'] == seq, '# ORFs'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Circular'] = results.loc[results['ID'] == seq, 'Circular'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['AMRs'] = results.loc[results['ID'] == seq, '# AMRs'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Replication'] = results.loc[results['ID'] == seq, '# Replication'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Mobilization'] = results.loc[results['ID'] == seq, '# Mobilization'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Conjugation'] = results.loc[results['ID'] == seq, '# Conjugation'].item() + + # plasmidfinder + if os.path.exists(f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv"): + + # init platon annotation dictionary + bacannot_summary[sample]['plasmid']['plasmidfinder'] = {} + + # load platon results + results = pd.read_csv( + f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv", + sep='\t' + ) + + # databases + bacannot_summary[sample]['plasmid']['plasmidfinder']['meta'] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder']['meta']['database'] = results['Database'].unique().item() + + # number of plasmid annotations + total_number = len(results['Contig'].unique()) + bacannot_summary[sample]['plasmid']['plasmidfinder']['total'] = total_number + + # plasmid annotations contigs + for seq in [ str(x) for x in results['Contig'].unique() ]: + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['inc_types'] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['identity'] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['accession'] = {} + for index, row in results.iterrows(): + contig = row['Contig'] + bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['inc_types'] = row['Plasmid'] + bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['identity'] = row['Identity'] + bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['accession'] = row['Accession number'] \ No newline at end of file From b2259e2c98f1207a0d18ec98c1b106ef3573b5bb Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Fri, 2 Sep 2022 22:39:17 +0200 Subject: [PATCH 072/130] virulence function as module file --- falmeida_py/bacannot2json.py | 65 +-------------------------- falmeida_py/virulence_function.py | 73 +++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 64 deletions(-) create mode 100644 falmeida_py/virulence_function.py diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index ee3195d..84734d6 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -32,6 +32,7 @@ from pathlib import Path from .utils import find_files from .plasmid_function import * +from .virulence_function import * ############################################### ### based on annotations figure sample name ### @@ -89,70 +90,6 @@ def general_stats(bacannot_summary): bacannot_summary[sample]['general_annotation']['tRNA'] = general_results['tRNA'] bacannot_summary[sample]['general_annotation']['tmRNA'] = general_results['tmRNA'] -################################## -### check virulence annotation ### -################################## -def virulence_stats(bacannot_summary): - - # iterate over available samples - for sample in bacannot_summary: - - # load dir of samples' results - results_dir = bacannot_summary[sample]['results_dir'] - - # load annotation stats - if os.path.exists(f"{results_dir}/virulence"): - - # init virulence annotation dictionary - bacannot_summary[sample]['virulence'] = {} - - # vfdb - if os.path.exists(f"{results_dir}/virulence/vfdb/{sample}_vfdb_blastn_onGenes.summary.txt"): - - # init VFDB annotation dictionary - bacannot_summary[sample]['virulence']['VFDB'] = {} - - # load vfdb results - results = pd.read_csv( - f"{results_dir}/virulence/vfdb/{sample}_vfdb_blastn_onGenes.summary.txt", - sep='\t' - ) - - # number of virulence genes - total_number_of_genes = len( results['SEQUENCE'].unique() ) - bacannot_summary[sample]['virulence']['VFDB']['total'] = total_number_of_genes - - # gene annotations - for gene in [ str(x) for x in results['SEQUENCE'].unique() ]: - row = results.loc[results['SEQUENCE'] == gene] - bacannot_summary[sample]['virulence']['VFDB'][gene] = {} - bacannot_summary[sample]['virulence']['VFDB'][gene]['virulence_factor'] = row['PRODUCT'].item().split('_(')[0].replace("[", "") - bacannot_summary[sample]['virulence']['VFDB'][gene]['id'] = row['PRODUCT'].item().split('_(')[1].split(')')[0].replace(")", "") - bacannot_summary[sample]['virulence']['VFDB'][gene]['name'] = row['GENE'].item().replace(")", "").replace("(", "") - - # victors - if os.path.exists(f"{results_dir}/virulence/victors/{sample}_victors_blastp_onGenes.summary.txt"): - - # init victors annotation dictionary - bacannot_summary[sample]['virulence']['Victors'] = {} - - # load victors results - results = pd.read_csv( - f"{results_dir}/virulence/victors/{sample}_victors_blastp_onGenes.summary.txt", - sep='\t' - ) - - # number of virulence genes - total_number_of_genes = len( results['SEQUENCE'].unique() ) - bacannot_summary[sample]['virulence']['Victors']['total'] = total_number_of_genes - - # gene annotations - for gene in [ str(x) for x in results['SEQUENCE'].unique() ]: - row = results.loc[results['SEQUENCE'] == gene] - bacannot_summary[sample]['virulence']['Victors'][gene] = {} - bacannot_summary[sample]['virulence']['Victors'][gene]['id'] = row['VICTORS_ID'].item().replace("Victors_", "") - bacannot_summary[sample]['virulence']['Victors'][gene]['name'] = row['GENE'].item() - ########################################## ### check resistance annotations stats ### ########################################## diff --git a/falmeida_py/virulence_function.py b/falmeida_py/virulence_function.py new file mode 100644 index 0000000..2c6787f --- /dev/null +++ b/falmeida_py/virulence_function.py @@ -0,0 +1,73 @@ +################################## +### Loading Necessary Packages ### +################################## +import pandas as pd +from .utils import find_files +import json +import os +import yaml +from pathlib import Path + +################################## +### check virulence annotation ### +################################## +def virulence_stats(bacannot_summary): + + # iterate over available samples + for sample in bacannot_summary: + + # load dir of samples' results + results_dir = bacannot_summary[sample]['results_dir'] + + # load annotation stats + if os.path.exists(f"{results_dir}/virulence"): + + # init virulence annotation dictionary + bacannot_summary[sample]['virulence'] = {} + + # vfdb + if os.path.exists(f"{results_dir}/virulence/vfdb/{sample}_vfdb_blastn_onGenes.summary.txt"): + + # init VFDB annotation dictionary + bacannot_summary[sample]['virulence']['VFDB'] = {} + + # load vfdb results + results = pd.read_csv( + f"{results_dir}/virulence/vfdb/{sample}_vfdb_blastn_onGenes.summary.txt", + sep='\t' + ) + + # number of virulence genes + total_number_of_genes = len( results['SEQUENCE'].unique() ) + bacannot_summary[sample]['virulence']['VFDB']['total'] = total_number_of_genes + + # gene annotations + for gene in [ str(x) for x in results['SEQUENCE'].unique() ]: + row = results.loc[results['SEQUENCE'] == gene] + bacannot_summary[sample]['virulence']['VFDB'][gene] = {} + bacannot_summary[sample]['virulence']['VFDB'][gene]['virulence_factor'] = row['PRODUCT'].item().split('_(')[0].replace("[", "") + bacannot_summary[sample]['virulence']['VFDB'][gene]['id'] = row['PRODUCT'].item().split('_(')[1].split(')')[0].replace(")", "") + bacannot_summary[sample]['virulence']['VFDB'][gene]['name'] = row['GENE'].item().replace(")", "").replace("(", "") + + # victors + if os.path.exists(f"{results_dir}/virulence/victors/{sample}_victors_blastp_onGenes.summary.txt"): + + # init victors annotation dictionary + bacannot_summary[sample]['virulence']['Victors'] = {} + + # load victors results + results = pd.read_csv( + f"{results_dir}/virulence/victors/{sample}_victors_blastp_onGenes.summary.txt", + sep='\t' + ) + + # number of virulence genes + total_number_of_genes = len( results['SEQUENCE'].unique() ) + bacannot_summary[sample]['virulence']['Victors']['total'] = total_number_of_genes + + # gene annotations + for gene in [ str(x) for x in results['SEQUENCE'].unique() ]: + row = results.loc[results['SEQUENCE'] == gene] + bacannot_summary[sample]['virulence']['Victors'][gene] = {} + bacannot_summary[sample]['virulence']['Victors'][gene]['id'] = row['VICTORS_ID'].item().replace("Victors_", "") + bacannot_summary[sample]['virulence']['Victors'][gene]['name'] = row['GENE'].item() \ No newline at end of file From 7b024f6852179cfa60a1c94e89a1916f3ac9b3fe Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Fri, 2 Sep 2022 22:40:18 +0200 Subject: [PATCH 073/130] resistance function as module file --- falmeida_py/bacannot2json.py | 129 +-------------------------- falmeida_py/resistance_function.py | 137 +++++++++++++++++++++++++++++ 2 files changed, 138 insertions(+), 128 deletions(-) create mode 100644 falmeida_py/resistance_function.py diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 84734d6..803224c 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -33,6 +33,7 @@ from .utils import find_files from .plasmid_function import * from .virulence_function import * +from .resistance_function import * ############################################### ### based on annotations figure sample name ### @@ -90,134 +91,6 @@ def general_stats(bacannot_summary): bacannot_summary[sample]['general_annotation']['tRNA'] = general_results['tRNA'] bacannot_summary[sample]['general_annotation']['tmRNA'] = general_results['tmRNA'] -########################################## -### check resistance annotations stats ### -########################################## -def resistance_stats(bacannot_summary): - - # iterate over available samples - for sample in bacannot_summary: - - # load dir of samples' results - results_dir = bacannot_summary[sample]['results_dir'] - - # load annotation stats - if os.path.exists(f"{results_dir}/resistance"): - - # init plasmids annotation dictionary - bacannot_summary[sample]['resistance'] = {} - - # amrfinderplus - if os.path.exists(f"{results_dir}/resistance/AMRFinderPlus/AMRFinder_resistance-only.tsv"): - - # init amrfinderplus annotation dictionary - bacannot_summary[sample]['resistance']['amrfinderplus'] = {} - - # load amrfinderplus results - results = pd.read_csv( - f"{results_dir}/resistance/AMRFinderPlus/AMRFinder_resistance-only.tsv", - sep='\t' - ) - results.sort_values('Gene symbol', inplace=True) - - # number of annotations - total_number = len(results['Protein identifier'].unique()) - bacannot_summary[sample]['resistance']['amrfinderplus']['total'] = total_number - - # gene annotations - for gene in [ str(x) for x in results['Protein identifier'].unique() ]: - row = results.loc[results['Protein identifier'] == gene] - bacannot_summary[sample]['resistance']['amrfinderplus'][gene] = {} - bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['gene'] = row['Gene symbol'].item() - bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['subclass'] = row['Subclass'].item() - bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['identity'] = row['% Identity to reference sequence'].item() - - - # resfinder - if os.path.exists(f"{results_dir}/resistance/resfinder/ResFinder_results_tab.txt"): - - # init resfinder annotation dictionary - bacannot_summary[sample]['resistance']['resfinder'] = {} - - # load resfinder results - results = pd.read_csv( - f"{results_dir}/resistance/resfinder/ResFinder_results_tab.txt", - sep='\t' - ) - results.drop_duplicates(inplace=True) - - # number of annotations - bacannot_summary[sample]['resistance']['amrfinderplus']['total'] = len(results.index) - - # gene annotations - for gene in [ str(x) for x in results['Resistance gene'].unique() ]: - - # init - bacannot_summary[sample]['resistance']['resfinder'][gene] = {} - bacannot_summary[sample]['resistance']['resfinder'][gene]['chr'] = list() - bacannot_summary[sample]['resistance']['resfinder'][gene]['start'] = list() - bacannot_summary[sample]['resistance']['resfinder'][gene]['end'] = list() - bacannot_summary[sample]['resistance']['resfinder'][gene]['Identity'] = list() - bacannot_summary[sample]['resistance']['resfinder'][gene]['phenotype'] = list() - bacannot_summary[sample]['resistance']['resfinder'][gene]['accession'] = list() - - # parse - for index, row in results.iterrows(): - - gene = row['Resistance gene'] - - bacannot_summary[sample]['resistance']['resfinder'][gene]['chr'].append( - row['Contig'] - ) - bacannot_summary[sample]['resistance']['resfinder'][gene]['start'].append( - row['Position in contig'].split('..')[0] - ) - bacannot_summary[sample]['resistance']['resfinder'][gene]['end'].append( - row['Position in contig'].split('..')[1] - ) - bacannot_summary[sample]['resistance']['resfinder'][gene]['Identity'].append( - row['Identity'] - ) - bacannot_summary[sample]['resistance']['resfinder'][gene]['phenotype'].append( - row['Phenotype'] - ) - bacannot_summary[sample]['resistance']['resfinder'][gene]['accession'].append( - row['Accession no.'] - ) - - # rgi - if os.path.exists(f"{results_dir}/resistance/RGI/RGI_{sample}.txt"): - - # init amrfinderplus annotation dictionary - bacannot_summary[sample]['resistance']['rgi'] = {} - - # load amrfinderplus results - results = pd.read_csv( - f"{results_dir}/resistance/RGI/RGI_{sample}.txt", - sep='\t' - ) - results.drop_duplicates(inplace=True) - - # number of annotations - total_number = len(results['ORF_ID'].unique()) - bacannot_summary[sample]['resistance']['rgi']['total'] = total_number - - # gene annotations - for gene in [ str(x) for x in results['ORF_ID'].unique() ]: - row = results.loc[results['ORF_ID'] == gene] - name_split_list = gene.split(' ') - gene = name_split_list[0] - name = ' '.join(name_split_list[1:]) - bacannot_summary[sample]['resistance']['rgi'][gene] = {} - bacannot_summary[sample]['resistance']['rgi'][gene]['name'] = name - bacannot_summary[sample]['resistance']['rgi'][gene]['gene'] = row['Best_Hit_ARO'].item() - bacannot_summary[sample]['resistance']['rgi'][gene]['cut_off'] = row['Cut_Off'].item() - bacannot_summary[sample]['resistance']['rgi'][gene]['resistance_mechanism'] = row['Resistance Mechanism'].item() - bacannot_summary[sample]['resistance']['rgi'][gene]['gene_family'] = row['AMR Gene Family'].item() - bacannot_summary[sample]['resistance']['rgi'][gene]['subclass'] = row['Drug Class'].item() - bacannot_summary[sample]['resistance']['rgi'][gene]['identity'] = row['Best_Identities'].item() - bacannot_summary[sample]['resistance']['rgi'][gene]['accession'] = row['Model_ID'].item() - ####################################### ### Def main bacannot2json function ### ####################################### diff --git a/falmeida_py/resistance_function.py b/falmeida_py/resistance_function.py new file mode 100644 index 0000000..77222ef --- /dev/null +++ b/falmeida_py/resistance_function.py @@ -0,0 +1,137 @@ +################################## +### Loading Necessary Packages ### +################################## +import pandas as pd +from .utils import find_files +import json +import os +import yaml +from pathlib import Path + +########################################## +### check resistance annotations stats ### +########################################## +def resistance_stats(bacannot_summary): + + # iterate over available samples + for sample in bacannot_summary: + + # load dir of samples' results + results_dir = bacannot_summary[sample]['results_dir'] + + # load annotation stats + if os.path.exists(f"{results_dir}/resistance"): + + # init plasmids annotation dictionary + bacannot_summary[sample]['resistance'] = {} + + # amrfinderplus + if os.path.exists(f"{results_dir}/resistance/AMRFinderPlus/AMRFinder_resistance-only.tsv"): + + # init amrfinderplus annotation dictionary + bacannot_summary[sample]['resistance']['amrfinderplus'] = {} + + # load amrfinderplus results + results = pd.read_csv( + f"{results_dir}/resistance/AMRFinderPlus/AMRFinder_resistance-only.tsv", + sep='\t' + ) + results.sort_values('Gene symbol', inplace=True) + + # number of annotations + total_number = len(results['Protein identifier'].unique()) + bacannot_summary[sample]['resistance']['amrfinderplus']['total'] = total_number + + # gene annotations + for gene in [ str(x) for x in results['Protein identifier'].unique() ]: + row = results.loc[results['Protein identifier'] == gene] + bacannot_summary[sample]['resistance']['amrfinderplus'][gene] = {} + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['gene'] = row['Gene symbol'].item() + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['subclass'] = row['Subclass'].item() + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['identity'] = row['% Identity to reference sequence'].item() + + + # resfinder + if os.path.exists(f"{results_dir}/resistance/resfinder/ResFinder_results_tab.txt"): + + # init resfinder annotation dictionary + bacannot_summary[sample]['resistance']['resfinder'] = {} + + # load resfinder results + results = pd.read_csv( + f"{results_dir}/resistance/resfinder/ResFinder_results_tab.txt", + sep='\t' + ) + results.drop_duplicates(inplace=True) + + # number of annotations + bacannot_summary[sample]['resistance']['amrfinderplus']['total'] = len(results.index) + + # gene annotations + for gene in [ str(x) for x in results['Resistance gene'].unique() ]: + + # init + bacannot_summary[sample]['resistance']['resfinder'][gene] = {} + bacannot_summary[sample]['resistance']['resfinder'][gene]['chr'] = list() + bacannot_summary[sample]['resistance']['resfinder'][gene]['start'] = list() + bacannot_summary[sample]['resistance']['resfinder'][gene]['end'] = list() + bacannot_summary[sample]['resistance']['resfinder'][gene]['Identity'] = list() + bacannot_summary[sample]['resistance']['resfinder'][gene]['phenotype'] = list() + bacannot_summary[sample]['resistance']['resfinder'][gene]['accession'] = list() + + # parse + for index, row in results.iterrows(): + + gene = row['Resistance gene'] + + bacannot_summary[sample]['resistance']['resfinder'][gene]['chr'].append( + row['Contig'] + ) + bacannot_summary[sample]['resistance']['resfinder'][gene]['start'].append( + row['Position in contig'].split('..')[0] + ) + bacannot_summary[sample]['resistance']['resfinder'][gene]['end'].append( + row['Position in contig'].split('..')[1] + ) + bacannot_summary[sample]['resistance']['resfinder'][gene]['Identity'].append( + row['Identity'] + ) + bacannot_summary[sample]['resistance']['resfinder'][gene]['phenotype'].append( + row['Phenotype'] + ) + bacannot_summary[sample]['resistance']['resfinder'][gene]['accession'].append( + row['Accession no.'] + ) + + # rgi + if os.path.exists(f"{results_dir}/resistance/RGI/RGI_{sample}.txt"): + + # init amrfinderplus annotation dictionary + bacannot_summary[sample]['resistance']['rgi'] = {} + + # load amrfinderplus results + results = pd.read_csv( + f"{results_dir}/resistance/RGI/RGI_{sample}.txt", + sep='\t' + ) + results.drop_duplicates(inplace=True) + + # number of annotations + total_number = len(results['ORF_ID'].unique()) + bacannot_summary[sample]['resistance']['rgi']['total'] = total_number + + # gene annotations + for gene in [ str(x) for x in results['ORF_ID'].unique() ]: + row = results.loc[results['ORF_ID'] == gene] + name_split_list = gene.split(' ') + gene = name_split_list[0] + name = ' '.join(name_split_list[1:]) + bacannot_summary[sample]['resistance']['rgi'][gene] = {} + bacannot_summary[sample]['resistance']['rgi'][gene]['name'] = name + bacannot_summary[sample]['resistance']['rgi'][gene]['gene'] = row['Best_Hit_ARO'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['cut_off'] = row['Cut_Off'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['resistance_mechanism'] = row['Resistance Mechanism'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['gene_family'] = row['AMR Gene Family'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['subclass'] = row['Drug Class'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['identity'] = row['Best_Identities'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['accession'] = row['Model_ID'].item() \ No newline at end of file From 4372da91f9feb8c461e7261a96ad16168021c5e3 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sat, 3 Sep 2022 09:55:16 +0200 Subject: [PATCH 074/130] update VFDB function to host position information --- falmeida_py/bacannot2json.py | 2 +- falmeida_py/resistance_function.py | 45 ++++++++++-------------------- falmeida_py/utils.py | 16 ++++++++++- falmeida_py/virulence_function.py | 31 +++++++++++++++++--- 4 files changed, 58 insertions(+), 36 deletions(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 803224c..dc72d08 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -97,7 +97,7 @@ def general_stats(bacannot_summary): def bacannot2json(indir, outfile): # initialize - bacannot_dir,bacannot_summary = dict_init( indir ) + bacannot_dir, bacannot_summary = dict_init( indir ) # check general annotation stats general_stats( bacannot_summary ) diff --git a/falmeida_py/resistance_function.py b/falmeida_py/resistance_function.py index 77222ef..b19acaa 100644 --- a/falmeida_py/resistance_function.py +++ b/falmeida_py/resistance_function.py @@ -67,41 +67,26 @@ def resistance_stats(bacannot_summary): # number of annotations bacannot_summary[sample]['resistance']['amrfinderplus']['total'] = len(results.index) - # gene annotations - for gene in [ str(x) for x in results['Resistance gene'].unique() ]: + # contigs with annotations + for seq in [ str(x) for x in results['Contig'].unique() ]: # init - bacannot_summary[sample]['resistance']['resfinder'][gene] = {} - bacannot_summary[sample]['resistance']['resfinder'][gene]['chr'] = list() - bacannot_summary[sample]['resistance']['resfinder'][gene]['start'] = list() - bacannot_summary[sample]['resistance']['resfinder'][gene]['end'] = list() - bacannot_summary[sample]['resistance']['resfinder'][gene]['Identity'] = list() - bacannot_summary[sample]['resistance']['resfinder'][gene]['phenotype'] = list() - bacannot_summary[sample]['resistance']['resfinder'][gene]['accession'] = list() + bacannot_summary[sample]['resistance']['resfinder'][seq] = {} # parse for index, row in results.iterrows(): - - gene = row['Resistance gene'] - - bacannot_summary[sample]['resistance']['resfinder'][gene]['chr'].append( - row['Contig'] - ) - bacannot_summary[sample]['resistance']['resfinder'][gene]['start'].append( - row['Position in contig'].split('..')[0] - ) - bacannot_summary[sample]['resistance']['resfinder'][gene]['end'].append( - row['Position in contig'].split('..')[1] - ) - bacannot_summary[sample]['resistance']['resfinder'][gene]['Identity'].append( - row['Identity'] - ) - bacannot_summary[sample]['resistance']['resfinder'][gene]['phenotype'].append( - row['Phenotype'] - ) - bacannot_summary[sample]['resistance']['resfinder'][gene]['accession'].append( - row['Accession no.'] - ) + + # init + seq = row['Contig'] + gene = row['Resistance gene'] + + # parse + bacannot_summary[sample]['resistance']['resfinder'][seq][gene] = {} + bacannot_summary[sample]['resistance']['resfinder'][seq][gene]['start'] = row['Position in contig'].split('..')[0] + bacannot_summary[sample]['resistance']['resfinder'][seq][gene]['end'] = row['Position in contig'].split('..')[1] + bacannot_summary[sample]['resistance']['resfinder'][seq][gene]['Identity'] = row['Identity'] + bacannot_summary[sample]['resistance']['resfinder'][seq][gene]['phenotype'] = row['Phenotype'] + bacannot_summary[sample]['resistance']['resfinder'][seq][gene]['accession'] = row['Accession no.'] # rgi if os.path.exists(f"{results_dir}/resistance/RGI/RGI_{sample}.txt"): diff --git a/falmeida_py/utils.py b/falmeida_py/utils.py index 81c49d3..0f70d39 100644 --- a/falmeida_py/utils.py +++ b/falmeida_py/utils.py @@ -1,7 +1,21 @@ from pathlib import Path +import pandas as pd def find_files(start_dir, pattern): matches = [] for path in Path(start_dir).rglob(pattern): matches.append(path.resolve()) - return matches \ No newline at end of file + return matches + +def load_and_subset_gff(file, col, pattern): + df = pd.read_csv( + file, sep='\t', + names=[ + "seq", "source", "type", "start", "end", + "score", "strand", "frame", "attributes" + ] + ) + + filter = df[col].str.contains(pattern) + + return df[filter] \ No newline at end of file diff --git a/falmeida_py/virulence_function.py b/falmeida_py/virulence_function.py index 2c6787f..3621898 100644 --- a/falmeida_py/virulence_function.py +++ b/falmeida_py/virulence_function.py @@ -7,6 +7,7 @@ import os import yaml from pathlib import Path +from .utils import load_and_subset_gff ################################## ### check virulence annotation ### @@ -19,6 +20,9 @@ def virulence_stats(bacannot_summary): # load dir of samples' results results_dir = bacannot_summary[sample]['results_dir'] + # load gff_file + gff_file = f"{results_dir}/gffs/{sample}.gff" + # load annotation stats if os.path.exists(f"{results_dir}/virulence"): @@ -31,6 +35,9 @@ def virulence_stats(bacannot_summary): # init VFDB annotation dictionary bacannot_summary[sample]['virulence']['VFDB'] = {} + # load gff + gff = load_and_subset_gff(gff_file, 'source', 'VFDB') + # load vfdb results results = pd.read_csv( f"{results_dir}/virulence/vfdb/{sample}_vfdb_blastn_onGenes.summary.txt", @@ -43,11 +50,27 @@ def virulence_stats(bacannot_summary): # gene annotations for gene in [ str(x) for x in results['SEQUENCE'].unique() ]: - row = results.loc[results['SEQUENCE'] == gene] + + # init values bacannot_summary[sample]['virulence']['VFDB'][gene] = {} - bacannot_summary[sample]['virulence']['VFDB'][gene]['virulence_factor'] = row['PRODUCT'].item().split('_(')[0].replace("[", "") - bacannot_summary[sample]['virulence']['VFDB'][gene]['id'] = row['PRODUCT'].item().split('_(')[1].split(')')[0].replace(")", "") - bacannot_summary[sample]['virulence']['VFDB'][gene]['name'] = row['GENE'].item().replace(")", "").replace("(", "") + row = results.loc[results['SEQUENCE'] == gene] + gff_row = gff[gff['attributes'].str.contains(gene)] + vf_name = row['PRODUCT'].item().split('_(')[0].replace("[", "") + vf_id = row['PRODUCT'].item().split('_(')[1].split(')')[0].replace(")", "") + vf_fullname = row['PRODUCT'].item().replace("[", "").replace("]", "") + gene_name = row['GENE'].item().replace(")", "").replace("(", "") + contig = gff_row['seq'].item() + start = gff_row['start'].item() + end = gff_row['end'].item() + + # add to dict + bacannot_summary[sample]['virulence']['VFDB'][gene]['virulence_factor'] = vf_name + bacannot_summary[sample]['virulence']['VFDB'][gene]['product'] = vf_fullname + bacannot_summary[sample]['virulence']['VFDB'][gene]['id'] = vf_id + bacannot_summary[sample]['virulence']['VFDB'][gene]['gene'] = gene_name + bacannot_summary[sample]['virulence']['VFDB'][gene]['chr'] = contig + bacannot_summary[sample]['virulence']['VFDB'][gene]['start'] = start + bacannot_summary[sample]['virulence']['VFDB'][gene]['end'] = end # victors if os.path.exists(f"{results_dir}/virulence/victors/{sample}_victors_blastp_onGenes.summary.txt"): From bedb993f2b672a1c32ea36ce1c51d993b95d0e3e Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sat, 3 Sep 2022 10:02:45 +0200 Subject: [PATCH 075/130] update victors function for contain position information --- falmeida_py/virulence_function.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/falmeida_py/virulence_function.py b/falmeida_py/virulence_function.py index 3621898..8656e30 100644 --- a/falmeida_py/virulence_function.py +++ b/falmeida_py/virulence_function.py @@ -54,11 +54,11 @@ def virulence_stats(bacannot_summary): # init values bacannot_summary[sample]['virulence']['VFDB'][gene] = {} row = results.loc[results['SEQUENCE'] == gene] - gff_row = gff[gff['attributes'].str.contains(gene)] vf_name = row['PRODUCT'].item().split('_(')[0].replace("[", "") vf_id = row['PRODUCT'].item().split('_(')[1].split(')')[0].replace(")", "") vf_fullname = row['PRODUCT'].item().replace("[", "").replace("]", "") gene_name = row['GENE'].item().replace(")", "").replace("(", "") + gff_row = gff[gff['attributes'].str.contains(gene)] contig = gff_row['seq'].item() start = gff_row['start'].item() end = gff_row['end'].item() @@ -76,7 +76,7 @@ def virulence_stats(bacannot_summary): if os.path.exists(f"{results_dir}/virulence/victors/{sample}_victors_blastp_onGenes.summary.txt"): # init victors annotation dictionary - bacannot_summary[sample]['virulence']['Victors'] = {} + gff = bacannot_summary[sample]['virulence']['Victors'] = {} # load victors results results = pd.read_csv( @@ -84,13 +84,31 @@ def virulence_stats(bacannot_summary): sep='\t' ) + # load gff + gff = load_and_subset_gff(gff_file, 'source', 'Victors') + # number of virulence genes total_number_of_genes = len( results['SEQUENCE'].unique() ) bacannot_summary[sample]['virulence']['Victors']['total'] = total_number_of_genes # gene annotations for gene in [ str(x) for x in results['SEQUENCE'].unique() ]: + + # init values row = results.loc[results['SEQUENCE'] == gene] bacannot_summary[sample]['virulence']['Victors'][gene] = {} - bacannot_summary[sample]['virulence']['Victors'][gene]['id'] = row['VICTORS_ID'].item().replace("Victors_", "") - bacannot_summary[sample]['virulence']['Victors'][gene]['name'] = row['GENE'].item() \ No newline at end of file + vf_id = row['VICTORS_ID'].item().replace("Victors_", "") + gene_name = row['GENE'].item() + product = row['DESCRIPTION'].item() + gff_row = gff[gff['attributes'].str.contains(gene)] + contig = gff_row['seq'].item() + start = gff_row['start'].item() + end = gff_row['end'].item() + + # add values to dict + bacannot_summary[sample]['virulence']['Victors'][gene]['id'] = vf_id + bacannot_summary[sample]['virulence']['Victors'][gene]['name'] = gene_name + bacannot_summary[sample]['virulence']['Victors'][gene]['product'] = product + bacannot_summary[sample]['virulence']['Victors'][gene]['contig'] = contig + bacannot_summary[sample]['virulence']['Victors'][gene]['start'] = start + bacannot_summary[sample]['virulence']['Victors'][gene]['end'] = end \ No newline at end of file From 01b401fe004b5d5cd231e6687d2d63154f5ee148 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sat, 3 Sep 2022 10:07:10 +0200 Subject: [PATCH 076/130] added MLST information to general stats --- falmeida_py/bacannot2json.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index dc72d08..aa57579 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -84,8 +84,15 @@ def general_stats(bacannot_summary): Path(f"{results_dir}/annotation/{sample}.txt").read_text() ) + # load MLST + mlst_results = pd.read_csv( + f"{results_dir}/MLST/{sample}_mlst_analysis.txt", + sep='\t', header=None + ) + # save annotation stats bacannot_summary[sample]['general_annotation'] = {} + bacannot_summary[sample]['general_annotation']['MLST'] = mlst_results[2].item().replace('-', 'NaN') bacannot_summary[sample]['general_annotation']['CDS'] = general_results['CDS'] bacannot_summary[sample]['general_annotation']['rRNA'] = general_results['rRNA'] bacannot_summary[sample]['general_annotation']['tRNA'] = general_results['tRNA'] From f25ccdfa42ee5593e8ac71fd60c514b32042e75e Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sat, 3 Sep 2022 10:14:30 +0200 Subject: [PATCH 077/130] add refseq_masher info to json --- falmeida_py/bacannot2json.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index aa57579..da7d952 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -90,13 +90,25 @@ def general_stats(bacannot_summary): sep='\t', header=None ) + # load refseq_masher + refseq_masher_results = pd.read_csv( + f"{results_dir}/refseq_masher/refseq_masher_results.txt", + sep='\t' + ) + refseq_masher_results.sort_values(by='distance', ascending=True, inplace=True) + # save annotation stats bacannot_summary[sample]['general_annotation'] = {} - bacannot_summary[sample]['general_annotation']['MLST'] = mlst_results[2].item().replace('-', 'NaN') - bacannot_summary[sample]['general_annotation']['CDS'] = general_results['CDS'] - bacannot_summary[sample]['general_annotation']['rRNA'] = general_results['rRNA'] - bacannot_summary[sample]['general_annotation']['tRNA'] = general_results['tRNA'] - bacannot_summary[sample]['general_annotation']['tmRNA'] = general_results['tmRNA'] + bacannot_summary[sample]['general_annotation']['mlst'] = mlst_results[2].item().replace('-', 'NaN') + bacannot_summary[sample]['general_annotation']['cds'] = general_results['CDS'] + bacannot_summary[sample]['general_annotation']['rrna'] = general_results['rRNA'] + bacannot_summary[sample]['general_annotation']['trna'] = general_results['tRNA'] + bacannot_summary[sample]['general_annotation']['tmrna'] = general_results['tmRNA'] + + bacannot_summary[sample]['general_annotation']['closest_reference'] = {} + bacannot_summary[sample]['general_annotation']['closest_reference']['strain'] = refseq_masher_results.head(1)['top_taxonomy_name'].item() + bacannot_summary[sample]['general_annotation']['closest_reference']['distance'] = refseq_masher_results.head(1)['distance'].item() + bacannot_summary[sample]['general_annotation']['closest_reference']['accession'] = refseq_masher_results.head(1)['assembly_accession'].item() ####################################### ### Def main bacannot2json function ### From 05d64f18f7090ac3cc1590a4a64886a8e75a74bd Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sat, 3 Sep 2022 10:16:09 +0200 Subject: [PATCH 078/130] general stats function as a module file --- falmeida_py/bacannot2json.py | 43 +----------------------- falmeida_py/general_stats_function.py | 48 +++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 42 deletions(-) create mode 100644 falmeida_py/general_stats_function.py diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index da7d952..67e7184 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -31,6 +31,7 @@ import yaml from pathlib import Path from .utils import find_files +from .general_stats_function import * from .plasmid_function import * from .virulence_function import * from .resistance_function import * @@ -68,48 +69,6 @@ def dict_init(indir): return bacannot_dir,bacannot_summary -################################ -### check general annotation ### -################################ -def general_stats(bacannot_summary): - - # iterate over available samples - for sample in bacannot_summary: - - # load dir of samples' results - results_dir = bacannot_summary[sample]['results_dir'] - - # load annotation stats - general_results = yaml.safe_load( - Path(f"{results_dir}/annotation/{sample}.txt").read_text() - ) - - # load MLST - mlst_results = pd.read_csv( - f"{results_dir}/MLST/{sample}_mlst_analysis.txt", - sep='\t', header=None - ) - - # load refseq_masher - refseq_masher_results = pd.read_csv( - f"{results_dir}/refseq_masher/refseq_masher_results.txt", - sep='\t' - ) - refseq_masher_results.sort_values(by='distance', ascending=True, inplace=True) - - # save annotation stats - bacannot_summary[sample]['general_annotation'] = {} - bacannot_summary[sample]['general_annotation']['mlst'] = mlst_results[2].item().replace('-', 'NaN') - bacannot_summary[sample]['general_annotation']['cds'] = general_results['CDS'] - bacannot_summary[sample]['general_annotation']['rrna'] = general_results['rRNA'] - bacannot_summary[sample]['general_annotation']['trna'] = general_results['tRNA'] - bacannot_summary[sample]['general_annotation']['tmrna'] = general_results['tmRNA'] - - bacannot_summary[sample]['general_annotation']['closest_reference'] = {} - bacannot_summary[sample]['general_annotation']['closest_reference']['strain'] = refseq_masher_results.head(1)['top_taxonomy_name'].item() - bacannot_summary[sample]['general_annotation']['closest_reference']['distance'] = refseq_masher_results.head(1)['distance'].item() - bacannot_summary[sample]['general_annotation']['closest_reference']['accession'] = refseq_masher_results.head(1)['assembly_accession'].item() - ####################################### ### Def main bacannot2json function ### ####################################### diff --git a/falmeida_py/general_stats_function.py b/falmeida_py/general_stats_function.py new file mode 100644 index 0000000..6c48700 --- /dev/null +++ b/falmeida_py/general_stats_function.py @@ -0,0 +1,48 @@ +################################## +### Loading Necessary Packages ### +################################## +import pandas as pd +import yaml +from pathlib import Path + +################################ +### check general annotation ### +################################ +def general_stats(bacannot_summary): + + # iterate over available samples + for sample in bacannot_summary: + + # load dir of samples' results + results_dir = bacannot_summary[sample]['results_dir'] + + # load annotation stats + general_results = yaml.safe_load( + Path(f"{results_dir}/annotation/{sample}.txt").read_text() + ) + + # load MLST + mlst_results = pd.read_csv( + f"{results_dir}/MLST/{sample}_mlst_analysis.txt", + sep='\t', header=None + ) + + # load refseq_masher + refseq_masher_results = pd.read_csv( + f"{results_dir}/refseq_masher/refseq_masher_results.txt", + sep='\t' + ) + refseq_masher_results.sort_values(by='distance', ascending=True, inplace=True) + + # save annotation stats + bacannot_summary[sample]['general_annotation'] = {} + bacannot_summary[sample]['general_annotation']['mlst'] = mlst_results[2].item().replace('-', 'NaN') + bacannot_summary[sample]['general_annotation']['cds'] = general_results['CDS'] + bacannot_summary[sample]['general_annotation']['rrna'] = general_results['rRNA'] + bacannot_summary[sample]['general_annotation']['trna'] = general_results['tRNA'] + bacannot_summary[sample]['general_annotation']['tmrna'] = general_results['tmRNA'] + + bacannot_summary[sample]['general_annotation']['closest_reference'] = {} + bacannot_summary[sample]['general_annotation']['closest_reference']['strain'] = refseq_masher_results.head(1)['top_taxonomy_name'].item() + bacannot_summary[sample]['general_annotation']['closest_reference']['distance'] = refseq_masher_results.head(1)['distance'].item() + bacannot_summary[sample]['general_annotation']['closest_reference']['accession'] = refseq_masher_results.head(1)['assembly_accession'].item() \ No newline at end of file From a3d8b7e434fe449a738b7af6d6b43ce4f3849279 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sat, 3 Sep 2022 19:04:55 +0200 Subject: [PATCH 079/130] add position information on amrfinderplus resuts --- falmeida_py/resistance_function.py | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/falmeida_py/resistance_function.py b/falmeida_py/resistance_function.py index b19acaa..c822711 100644 --- a/falmeida_py/resistance_function.py +++ b/falmeida_py/resistance_function.py @@ -7,6 +7,7 @@ import os import yaml from pathlib import Path +from .utils import load_and_subset_gff ########################################## ### check resistance annotations stats ### @@ -19,6 +20,9 @@ def resistance_stats(bacannot_summary): # load dir of samples' results results_dir = bacannot_summary[sample]['results_dir'] + # load gff_file + gff_file = f"{results_dir}/gffs/{sample}.gff" + # load annotation stats if os.path.exists(f"{results_dir}/resistance"): @@ -36,7 +40,10 @@ def resistance_stats(bacannot_summary): f"{results_dir}/resistance/AMRFinderPlus/AMRFinder_resistance-only.tsv", sep='\t' ) - results.sort_values('Gene symbol', inplace=True) + + # load gff + gff = load_and_subset_gff(gff_file, 'source', 'AMRFinderPlus') + gff.drop_duplicates(inplace=True) # number of annotations total_number = len(results['Protein identifier'].unique()) @@ -44,11 +51,26 @@ def resistance_stats(bacannot_summary): # gene annotations for gene in [ str(x) for x in results['Protein identifier'].unique() ]: + + # init values row = results.loc[results['Protein identifier'] == gene] bacannot_summary[sample]['resistance']['amrfinderplus'][gene] = {} - bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['gene'] = row['Gene symbol'].item() - bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['subclass'] = row['Subclass'].item() - bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['identity'] = row['% Identity to reference sequence'].item() + gene_name = row['Gene symbol'].item() + drug_class = row['Subclass'].item() + identity = row['% Identity to reference sequence'].item() + + gff_row = gff[gff['attributes'].str.contains(f"ID={gene}")] + contig = gff_row['seq'].item() + start = gff_row['start'].item() + end = gff_row['end'].item() + + # add values to dict + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['gene'] = gene_name + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['subclass'] = drug_class + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['identity'] = identity + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['contig'] = contig + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['start'] = start + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['end'] = end # resfinder From 8227baf62a4ce71147179b5fddbbb16b51902dc0 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 6 Sep 2022 21:11:12 +0200 Subject: [PATCH 080/130] Update .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 9a5353d..3b42924 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ falmeida_py.egg-info/ dist falmeida_py/__pycache__ build/* -docs/_build \ No newline at end of file +docs/_build +PHD_FILES From 4f072e20e024bbefe55cfe452814dfa5593c0901 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Tue, 6 Sep 2022 22:44:21 +0200 Subject: [PATCH 081/130] fix indentation --- falmeida_py/__main__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/falmeida_py/__main__.py b/falmeida_py/__main__.py index cece7d3..765aeec 100644 --- a/falmeida_py/__main__.py +++ b/falmeida_py/__main__.py @@ -24,9 +24,9 @@ falmeida-py [ -h|--help ] [ ... ] options: - -h --help Show this screen - -v --version Show version information - --license Show LEGAL LICENSE information + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information commands: tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. From d04bb225b80d229656fc00b3e32af8a12cc686c5 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Tue, 6 Sep 2022 22:54:09 +0200 Subject: [PATCH 082/130] add mpgap2csv function Finds all MultiQC files from mpgap pipeline's results and converts it to csv for generating tables --- falmeida-py-runner.py | 0 falmeida_py/__main__.py | 20 +++++++ falmeida_py/mpgap2csv.py | 119 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 139 insertions(+) mode change 100644 => 100755 falmeida-py-runner.py create mode 100644 falmeida_py/mpgap2csv.py diff --git a/falmeida-py-runner.py b/falmeida-py-runner.py old mode 100644 new mode 100755 diff --git a/falmeida_py/__main__.py b/falmeida_py/__main__.py index 765aeec..01ba85a 100644 --- a/falmeida_py/__main__.py +++ b/falmeida_py/__main__.py @@ -35,6 +35,7 @@ gbk2fasta Command to convert genbank files to fasta files. blasts Command to execute automatized blast commands. replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file bacannot2json Command to summarize main bacannot annotation results into JSON file Use: `falmeida-py -h` to get more help and see examples. @@ -58,6 +59,7 @@ from .align2subsetgbk import * from .replace_fasta_seq import * from .bacannot2json import usage_bacannot2json,bacannot2json +from .mpgap2csv import usage_mpgap2csv,mpgap2csv ## Defining main def main(): @@ -214,6 +216,24 @@ def main(): else: print(usage_bacannot2json.strip()) + ######################### + ### mpgap2csv command ### + ######################### + if arguments[''] == 'mpgap2csv': + + # Parse docopt + args = docopt(usage_mpgap2csv, version=__version__, help=False) + + # run script + if args['--help']: + print(usage_mpgap2csv.strip()) + + elif args['--input']: + mpgap2csv(args['--input'], args['--output']) + + else: + print(usage_mpgap2csv.strip()) + ##################### ### Check license ### ##################### diff --git a/falmeida_py/mpgap2csv.py b/falmeida_py/mpgap2csv.py new file mode 100644 index 0000000..9a6e873 --- /dev/null +++ b/falmeida_py/mpgap2csv.py @@ -0,0 +1,119 @@ +#!/usr/bin/env python3 +# coding: utf-8 + +######################## +### Def help message ### +######################## +usage_mpgap2csv = """ +A simple to generate metadata .csv for quickly producing tables for papers. Uses statistics calculated with quast and busco, condensed in multiqc file, generated with fmalmeida/MpGAP pipeline. + +--- +Copyright (C) 2022 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +Usage: + falmeida-py mpgap2csv [ -h|--help ] [ --input --output ] + +Options: + -h --help Show this screen. + --input= Path to MpGAP outdir. + --output= File to save results (CSV). [Default: MpGAP_summary.csv] +""" + +################################## +### Loading Necessary Packages ### +################################## +from docopt import docopt +import pandas as pd +import os +from pathlib import Path +import json +from pprint import pprint + +################################### +### Defifining useful functions ### +################################### +def find_multiqc_file(dir): + matches = [] + for path in Path(dir).rglob('multiqc_data.json'): + matches.append(os.path.abspath(path.resolve())) + return matches + +def split_and_retrieve_desired_values(item): + values=str(item).split('/') + sample=values[-5] + method=values[-4] + del values[-5:] + outdir='/'.join(values) + + return sample, method, outdir + +def parse_json(data, assembler, field, item): + + return data['report_saved_raw_data'][field][assembler][item] + +def get_sample_and_assembly_info(files, df, quast_cols, busco_cols, base_columns): + + for idx, item in enumerate(files): + + sample, method, outdir = split_and_retrieve_desired_values(item) + + with open(item) as json_file: + data = json.load(json_file) + assemblies = list(data['report_general_stats_data'][0].keys()) + + # quast desires + quast_selection = [] + for index, val in enumerate(assemblies): + quast_selection.append( val ) + for selection in quast_cols: + quast_selection.append( parse_json( + data, val, 'multiqc_quast', selection + ) ) + quast_selection = [quast_selection[n:n+10] for n in range(0, len(quast_selection), 10)] + + # busco desires + busco_selection = [] + for index, val in enumerate(assemblies): + busco_selection.append( val ) + for selection in busco_cols: + busco_selection.append( parse_json( + data, val, 'multiqc_busco', selection + ) ) + busco_selection = [busco_selection[n:n+7] for n in range(0, len(busco_selection), 7)] + + for index, val in enumerate(assemblies): + final = [sample, method, outdir, item, val] + quast_selection[index][1:] + busco_selection[index][1:] + df.loc[len(df)] = final + # print(final) + + + +#################### +## Defining main ### +#################### +def mpgap2csv(indir, output): + + base_columns = [ "sample", "method", "outdir", "multiqc_file", "software" ] + desired_quast_columns = [ + "# contigs", "N50", "Total length", + "# total reads", "Properly paired (%)", "Avg. coverage depth", + "# predicted rRNA genes", "Complete BUSCO (%)", "Partial BUSCO (%)" + ] + desired_busco_columns = [ + "complete_single_copy", "complete_duplicated", "fragmented", + "missing", "total", "lineage_dataset" + ] + multiqc_files_df = pd.DataFrame(columns = list(base_columns + desired_quast_columns + desired_busco_columns)) + + get_sample_and_assembly_info( + find_multiqc_file(indir), + multiqc_files_df, + desired_quast_columns, + desired_busco_columns, + base_columns + ) + + # save file + multiqc_files_df.to_csv(output, index=False) + print(f"=> Saved results in:\n\t{output}") From 7bb2050a27928c8b927b79d878c7ebd4483dde16 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Wed, 7 Sep 2022 12:55:44 +0200 Subject: [PATCH 083/130] add genomic coordinate information to rgi function --- falmeida_py/__main__.py | 4 +-- falmeida_py/bacannot2json.py | 5 ++-- falmeida_py/general_stats_function.py | 2 +- falmeida_py/resistance_function.py | 36 +++++++++++++++++++++++---- 4 files changed, 36 insertions(+), 11 deletions(-) diff --git a/falmeida_py/__main__.py b/falmeida_py/__main__.py index 01ba85a..30ba1d6 100644 --- a/falmeida_py/__main__.py +++ b/falmeida_py/__main__.py @@ -46,8 +46,6 @@ ################################## from docopt import docopt -from falmeida_py.bacannot2json import bacannot2json - ######################## ### Import functions ### ######################## @@ -219,7 +217,7 @@ def main(): ######################### ### mpgap2csv command ### ######################### - if arguments[''] == 'mpgap2csv': + elif arguments[''] == 'mpgap2csv': # Parse docopt args = docopt(usage_mpgap2csv, version=__version__, help=False) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 67e7184..d68da7d 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -42,8 +42,9 @@ def get_samples(filepaths): samples = [] for annotation in filepaths: - sample = annotation.split('/')[-2] - samples.append(sample) + if not 'jbrowse' in str(annotation): + sample = annotation.split('/')[-2] + samples.append(sample) return samples ############################# diff --git a/falmeida_py/general_stats_function.py b/falmeida_py/general_stats_function.py index 6c48700..f8f9914 100644 --- a/falmeida_py/general_stats_function.py +++ b/falmeida_py/general_stats_function.py @@ -36,7 +36,7 @@ def general_stats(bacannot_summary): # save annotation stats bacannot_summary[sample]['general_annotation'] = {} - bacannot_summary[sample]['general_annotation']['mlst'] = mlst_results[2].item().replace('-', 'NaN') + bacannot_summary[sample]['general_annotation']['mlst'] = str(mlst_results[2].item()).replace('-', 'NaN') bacannot_summary[sample]['general_annotation']['cds'] = general_results['CDS'] bacannot_summary[sample]['general_annotation']['rrna'] = general_results['rRNA'] bacannot_summary[sample]['general_annotation']['trna'] = general_results['tRNA'] diff --git a/falmeida_py/resistance_function.py b/falmeida_py/resistance_function.py index c822711..7b0dfd4 100644 --- a/falmeida_py/resistance_function.py +++ b/falmeida_py/resistance_function.py @@ -29,7 +29,9 @@ def resistance_stats(bacannot_summary): # init plasmids annotation dictionary bacannot_summary[sample]['resistance'] = {} - # amrfinderplus + ##################### + ### amrfinderplus ### + ##################### if os.path.exists(f"{results_dir}/resistance/AMRFinderPlus/AMRFinder_resistance-only.tsv"): # init amrfinderplus annotation dictionary @@ -72,8 +74,12 @@ def resistance_stats(bacannot_summary): bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['start'] = start bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['end'] = end - - # resfinder + ################# + ### resfinder ### + ################# + # + # TODO: Include genomic coordinates info + # if os.path.exists(f"{results_dir}/resistance/resfinder/ResFinder_results_tab.txt"): # init resfinder annotation dictionary @@ -110,7 +116,9 @@ def resistance_stats(bacannot_summary): bacannot_summary[sample]['resistance']['resfinder'][seq][gene]['phenotype'] = row['Phenotype'] bacannot_summary[sample]['resistance']['resfinder'][seq][gene]['accession'] = row['Accession no.'] - # rgi + ########### + ### rgi ### + ########### if os.path.exists(f"{results_dir}/resistance/RGI/RGI_{sample}.txt"): # init amrfinderplus annotation dictionary @@ -123,17 +131,32 @@ def resistance_stats(bacannot_summary): ) results.drop_duplicates(inplace=True) + # load gff + gff = load_and_subset_gff(gff_file, 'source', 'CARD') + gff.drop_duplicates(inplace=True) + # number of annotations total_number = len(results['ORF_ID'].unique()) bacannot_summary[sample]['resistance']['rgi']['total'] = total_number # gene annotations for gene in [ str(x) for x in results['ORF_ID'].unique() ]: + + # init values row = results.loc[results['ORF_ID'] == gene] name_split_list = gene.split(' ') gene = name_split_list[0] name = ' '.join(name_split_list[1:]) bacannot_summary[sample]['resistance']['rgi'][gene] = {} + gff_row = gff[gff['attributes'].str.contains(f"ID={gene}")] + contig = gff_row['seq'].item() + start = gff_row['start'].item() + end = gff_row['end'].item() + + # add values to dict + + + bacannot_summary[sample]['resistance']['rgi'][gene]['name'] = name bacannot_summary[sample]['resistance']['rgi'][gene]['gene'] = row['Best_Hit_ARO'].item() bacannot_summary[sample]['resistance']['rgi'][gene]['cut_off'] = row['Cut_Off'].item() @@ -141,4 +164,7 @@ def resistance_stats(bacannot_summary): bacannot_summary[sample]['resistance']['rgi'][gene]['gene_family'] = row['AMR Gene Family'].item() bacannot_summary[sample]['resistance']['rgi'][gene]['subclass'] = row['Drug Class'].item() bacannot_summary[sample]['resistance']['rgi'][gene]['identity'] = row['Best_Identities'].item() - bacannot_summary[sample]['resistance']['rgi'][gene]['accession'] = row['Model_ID'].item() \ No newline at end of file + bacannot_summary[sample]['resistance']['rgi'][gene]['accession'] = row['Model_ID'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['contig'] = contig + bacannot_summary[sample]['resistance']['rgi'][gene]['start'] = start + bacannot_summary[sample]['resistance']['rgi'][gene]['end'] = end \ No newline at end of file From 65077afad8bbed100779703bab5e0456065edd0a Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Wed, 7 Sep 2022 13:01:50 +0200 Subject: [PATCH 084/130] stdout print is optional --- falmeida_py/__main__.py | 2 +- falmeida_py/bacannot2json.py | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/falmeida_py/__main__.py b/falmeida_py/__main__.py index 30ba1d6..be6003d 100644 --- a/falmeida_py/__main__.py +++ b/falmeida_py/__main__.py @@ -209,7 +209,7 @@ def main(): print(usage_bacannot2json.strip()) elif args['--input']: - bacannot2json(args['--input'], args['--output']) + bacannot2json(args['--input'], args['--output'], args['--print']) else: print(usage_bacannot2json.strip()) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index d68da7d..27ed67f 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -13,12 +13,13 @@ Usage: falmeida-py bacannot2json [ -h|--help ] - falmeida-py bacannot2json [ --input --output ] + falmeida-py bacannot2json [ --input --output --print ] Options: -h --help Show this screen. -i --input= Path to bacannot results folder. -o --output= JSON summary output file [Default: bacannot_summary.json]. + -p --print Also print resolved JSON to stdout. """ ################################## @@ -73,7 +74,7 @@ def dict_init(indir): ####################################### ### Def main bacannot2json function ### ####################################### -def bacannot2json(indir, outfile): +def bacannot2json(indir, outfile, check): # initialize bacannot_dir, bacannot_summary = dict_init( indir ) @@ -96,4 +97,8 @@ def bacannot2json(indir, outfile): file.write(final_results) # keep checking - print( final_results ) \ No newline at end of file + if check: + print( final_results ) + + # bye bye + print(f"==> Output generated and saved at:\n\t{outfile}") \ No newline at end of file From bbc22066856cd6acad75a2aa12212c5c41d5a306 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Wed, 7 Sep 2022 13:31:57 +0200 Subject: [PATCH 085/130] resfinder function uses resolved bacannot gff --- falmeida_py/resistance_function.py | 47 +++++++++++++----------------- falmeida_py/utils.py | 5 +++- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/falmeida_py/resistance_function.py b/falmeida_py/resistance_function.py index 7b0dfd4..9a86a0e 100644 --- a/falmeida_py/resistance_function.py +++ b/falmeida_py/resistance_function.py @@ -45,7 +45,6 @@ def resistance_stats(bacannot_summary): # load gff gff = load_and_subset_gff(gff_file, 'source', 'AMRFinderPlus') - gff.drop_duplicates(inplace=True) # number of annotations total_number = len(results['Protein identifier'].unique()) @@ -85,36 +84,33 @@ def resistance_stats(bacannot_summary): # init resfinder annotation dictionary bacannot_summary[sample]['resistance']['resfinder'] = {} - # load resfinder results - results = pd.read_csv( - f"{results_dir}/resistance/resfinder/ResFinder_results_tab.txt", - sep='\t' - ) - results.drop_duplicates(inplace=True) + # load gff + gff = load_and_subset_gff(gff_file, 'source', 'Resfinder') # number of annotations - bacannot_summary[sample]['resistance']['amrfinderplus']['total'] = len(results.index) - - # contigs with annotations - for seq in [ str(x) for x in results['Contig'].unique() ]: + bacannot_summary[sample]['resistance']['resfinder']['total'] = len(gff.index) - # init - bacannot_summary[sample]['resistance']['resfinder'][seq] = {} + # since resfinder output does not has locus_tag information + # for this module, we will be using the resolved gff from bacannot + for index, row in gff.iterrows(): - # parse - for index, row in results.iterrows(): - - # init - seq = row['Contig'] - gene = row['Resistance gene'] + # init attributes as dict + attributes = dict() + for keyvaluepair in row['attributes'].split(';'): + items = keyvaluepair.split('=') + key = items[0] + value = '='.join(items[1:]) + attributes[key] = value + gene = attributes['ID'] # parse - bacannot_summary[sample]['resistance']['resfinder'][seq][gene] = {} - bacannot_summary[sample]['resistance']['resfinder'][seq][gene]['start'] = row['Position in contig'].split('..')[0] - bacannot_summary[sample]['resistance']['resfinder'][seq][gene]['end'] = row['Position in contig'].split('..')[1] - bacannot_summary[sample]['resistance']['resfinder'][seq][gene]['Identity'] = row['Identity'] - bacannot_summary[sample]['resistance']['resfinder'][seq][gene]['phenotype'] = row['Phenotype'] - bacannot_summary[sample]['resistance']['resfinder'][seq][gene]['accession'] = row['Accession no.'] + bacannot_summary[sample]['resistance']['resfinder'][gene] = {} + bacannot_summary[sample]['resistance']['resfinder'][gene]['start'] = row['start'] + bacannot_summary[sample]['resistance']['resfinder'][gene]['end'] = row['end'] + # bacannot_summary[sample]['resistance']['resfinder'][gene]['Identity'] = row['Identity'] + bacannot_summary[sample]['resistance']['resfinder'][gene]['name'] = attributes['Resfinder_gene'] + bacannot_summary[sample]['resistance']['resfinder'][gene]['phenotype'] = attributes['Resfinder_phenotype'] + bacannot_summary[sample]['resistance']['resfinder'][gene]['accession'] = attributes['Resfinder_reference'] ########### ### rgi ### @@ -133,7 +129,6 @@ def resistance_stats(bacannot_summary): # load gff gff = load_and_subset_gff(gff_file, 'source', 'CARD') - gff.drop_duplicates(inplace=True) # number of annotations total_number = len(results['ORF_ID'].unique()) diff --git a/falmeida_py/utils.py b/falmeida_py/utils.py index 0f70d39..99e7111 100644 --- a/falmeida_py/utils.py +++ b/falmeida_py/utils.py @@ -18,4 +18,7 @@ def load_and_subset_gff(file, col, pattern): filter = df[col].str.contains(pattern) - return df[filter] \ No newline at end of file + df = df[filter] + df.drop_duplicates(inplace=True) + + return df \ No newline at end of file From 97d04777a090ce53d0885e772a1d54d26a465733 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Thu, 8 Sep 2022 08:07:12 +0200 Subject: [PATCH 086/130] add sample name --- falmeida_py/bacannot2json.py | 1 + 1 file changed, 1 insertion(+) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 27ed67f..75db85c 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -67,6 +67,7 @@ def dict_init(indir): # initiate first dictionary level for sample in available_samples: bacannot_summary[sample] = {} + bacannot_summary[sample]['sample'] = f"{sample}" bacannot_summary[sample]['results_dir'] = f"{bacannot_dir}/{sample}" return bacannot_dir,bacannot_summary From ef64fc2934b1db0653e1ec0805d5096a54b8019b Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Mon, 12 Sep 2022 08:08:44 +0200 Subject: [PATCH 087/130] Update general_stats_function.py empty keys are defined with null --- falmeida_py/general_stats_function.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/falmeida_py/general_stats_function.py b/falmeida_py/general_stats_function.py index f8f9914..74e0893 100644 --- a/falmeida_py/general_stats_function.py +++ b/falmeida_py/general_stats_function.py @@ -36,7 +36,7 @@ def general_stats(bacannot_summary): # save annotation stats bacannot_summary[sample]['general_annotation'] = {} - bacannot_summary[sample]['general_annotation']['mlst'] = str(mlst_results[2].item()).replace('-', 'NaN') + bacannot_summary[sample]['general_annotation']['mlst'] = str(mlst_results[2].item()).replace('-', 'null') bacannot_summary[sample]['general_annotation']['cds'] = general_results['CDS'] bacannot_summary[sample]['general_annotation']['rrna'] = general_results['rRNA'] bacannot_summary[sample]['general_annotation']['trna'] = general_results['tRNA'] From fcb7ba913d0906c70edc9a52a018de630e30717a Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 13 Sep 2022 11:24:14 +0200 Subject: [PATCH 088/130] updates json encoder function (NaN to null) --- falmeida_py/bacannot2json.py | 8 +++++++- falmeida_py/resistance_function.py | 6 ++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 75db85c..34d259d 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -28,6 +28,7 @@ from docopt import docopt import pandas as pd import json +import simplejson import os import yaml from pathlib import Path @@ -93,7 +94,12 @@ def bacannot2json(indir, outfile, check): resistance_stats( bacannot_summary ) # save results - final_results = json.dumps( bacannot_summary, sort_keys=True, indent=4 ) + final_results = simplejson.dumps( + bacannot_summary, + sort_keys=True, + indent=4, + ignore_nan=True + ) with open(outfile, 'w') as file: file.write(final_results) diff --git a/falmeida_py/resistance_function.py b/falmeida_py/resistance_function.py index 9a86a0e..c3d198a 100644 --- a/falmeida_py/resistance_function.py +++ b/falmeida_py/resistance_function.py @@ -58,6 +58,7 @@ def resistance_stats(bacannot_summary): bacannot_summary[sample]['resistance']['amrfinderplus'][gene] = {} gene_name = row['Gene symbol'].item() drug_class = row['Subclass'].item() + drug_type = row['Element type'].item() identity = row['% Identity to reference sequence'].item() gff_row = gff[gff['attributes'].str.contains(f"ID={gene}")] @@ -68,6 +69,7 @@ def resistance_stats(bacannot_summary): # add values to dict bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['gene'] = gene_name bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['subclass'] = drug_class + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['type'] = drug_type bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['identity'] = identity bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['contig'] = contig bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['start'] = start @@ -117,10 +119,10 @@ def resistance_stats(bacannot_summary): ########### if os.path.exists(f"{results_dir}/resistance/RGI/RGI_{sample}.txt"): - # init amrfinderplus annotation dictionary + # init rgi annotation dictionary bacannot_summary[sample]['resistance']['rgi'] = {} - # load amrfinderplus results + # load rgi results results = pd.read_csv( f"{results_dir}/resistance/RGI/RGI_{sample}.txt", sep='\t' From 7e2fafd4e12ae9213146356f47596867ed095f76 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 13 Sep 2022 20:50:22 +0200 Subject: [PATCH 089/130] include card aro values when proteins are shared among tools --- falmeida_py/resistance_function.py | 117 ++++++++++++++++------------- 1 file changed, 66 insertions(+), 51 deletions(-) diff --git a/falmeida_py/resistance_function.py b/falmeida_py/resistance_function.py index c3d198a..5f45773 100644 --- a/falmeida_py/resistance_function.py +++ b/falmeida_py/resistance_function.py @@ -28,6 +28,57 @@ def resistance_stats(bacannot_summary): # init plasmids annotation dictionary bacannot_summary[sample]['resistance'] = {} + + ########### + ### rgi ### + ########### + if os.path.exists(f"{results_dir}/resistance/RGI/RGI_{sample}.txt"): + + # init rgi annotation dictionary + bacannot_summary[sample]['resistance']['rgi'] = {} + + # load rgi results + results = pd.read_csv( + f"{results_dir}/resistance/RGI/RGI_{sample}.txt", + sep='\t' + ) + results.drop_duplicates(inplace=True) + + # load gff + gff = load_and_subset_gff(gff_file, 'source', 'CARD') + + # number of annotations + total_number = len(results['ORF_ID'].unique()) + bacannot_summary[sample]['resistance']['rgi']['total'] = total_number + + # gene annotations + for gene in [ str(x) for x in results['ORF_ID'].unique() ]: + + # init values + row = results.loc[results['ORF_ID'] == gene] + name_split_list = gene.split(' ') + gene = name_split_list[0] + name = ' '.join(name_split_list[1:]) + bacannot_summary[sample]['resistance']['rgi'][gene] = {} + gff_row = gff[gff['attributes'].str.contains(f"ID={gene}")] + contig = gff_row['seq'].item() + start = gff_row['start'].item() + end = gff_row['end'].item() + + # add values to dict + bacannot_summary[sample]['resistance']['rgi'][gene]['name'] = name + bacannot_summary[sample]['resistance']['rgi'][gene]['gene'] = row['Best_Hit_ARO'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['card_aro'] = row['ARO'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['cut_off'] = row['Cut_Off'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['resistance_mechanism'] = row['Resistance Mechanism'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['gene_family'] = row['AMR Gene Family'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['subclass'] = row['Drug Class'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['identity'] = row['Best_Identities'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['accession'] = row['Model_ID'].item() + bacannot_summary[sample]['resistance']['rgi'][gene]['contig'] = contig + bacannot_summary[sample]['resistance']['rgi'][gene]['start'] = start + bacannot_summary[sample]['resistance']['rgi'][gene]['end'] = end + ##################### ### amrfinderplus ### @@ -74,6 +125,14 @@ def resistance_stats(bacannot_summary): bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['contig'] = contig bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['start'] = start bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['end'] = end + + # + # check for rgi orthologies + # + if gene in bacannot_summary[sample]['resistance']['rgi']: + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['card_aro'] = bacannot_summary[sample]['resistance']['rgi'][gene]['card_aro'] + else: + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['card_aro'] = 'null' ################# ### resfinder ### @@ -113,55 +172,11 @@ def resistance_stats(bacannot_summary): bacannot_summary[sample]['resistance']['resfinder'][gene]['name'] = attributes['Resfinder_gene'] bacannot_summary[sample]['resistance']['resfinder'][gene]['phenotype'] = attributes['Resfinder_phenotype'] bacannot_summary[sample]['resistance']['resfinder'][gene]['accession'] = attributes['Resfinder_reference'] - - ########### - ### rgi ### - ########### - if os.path.exists(f"{results_dir}/resistance/RGI/RGI_{sample}.txt"): - - # init rgi annotation dictionary - bacannot_summary[sample]['resistance']['rgi'] = {} - - # load rgi results - results = pd.read_csv( - f"{results_dir}/resistance/RGI/RGI_{sample}.txt", - sep='\t' - ) - results.drop_duplicates(inplace=True) - - # load gff - gff = load_and_subset_gff(gff_file, 'source', 'CARD') - - # number of annotations - total_number = len(results['ORF_ID'].unique()) - bacannot_summary[sample]['resistance']['rgi']['total'] = total_number - - # gene annotations - for gene in [ str(x) for x in results['ORF_ID'].unique() ]: - - # init values - row = results.loc[results['ORF_ID'] == gene] - name_split_list = gene.split(' ') - gene = name_split_list[0] - name = ' '.join(name_split_list[1:]) - bacannot_summary[sample]['resistance']['rgi'][gene] = {} - gff_row = gff[gff['attributes'].str.contains(f"ID={gene}")] - contig = gff_row['seq'].item() - start = gff_row['start'].item() - end = gff_row['end'].item() - # add values to dict - - - - bacannot_summary[sample]['resistance']['rgi'][gene]['name'] = name - bacannot_summary[sample]['resistance']['rgi'][gene]['gene'] = row['Best_Hit_ARO'].item() - bacannot_summary[sample]['resistance']['rgi'][gene]['cut_off'] = row['Cut_Off'].item() - bacannot_summary[sample]['resistance']['rgi'][gene]['resistance_mechanism'] = row['Resistance Mechanism'].item() - bacannot_summary[sample]['resistance']['rgi'][gene]['gene_family'] = row['AMR Gene Family'].item() - bacannot_summary[sample]['resistance']['rgi'][gene]['subclass'] = row['Drug Class'].item() - bacannot_summary[sample]['resistance']['rgi'][gene]['identity'] = row['Best_Identities'].item() - bacannot_summary[sample]['resistance']['rgi'][gene]['accession'] = row['Model_ID'].item() - bacannot_summary[sample]['resistance']['rgi'][gene]['contig'] = contig - bacannot_summary[sample]['resistance']['rgi'][gene]['start'] = start - bacannot_summary[sample]['resistance']['rgi'][gene]['end'] = end \ No newline at end of file + # + # check for rgi orthologies + # + if gene in bacannot_summary[sample]['resistance']['rgi']: + bacannot_summary[sample]['resistance']['resfinder'][gene]['card_aro'] = bacannot_summary[sample]['resistance']['rgi'][gene]['card_aro'] + else: + bacannot_summary[sample]['resistance']['resfinder'][gene]['card_aro'] = 'null' From a44646dc003d2726ddc011d4fe13cc1eecfe3c89 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Wed, 14 Sep 2022 20:52:29 +0200 Subject: [PATCH 090/130] Update resistance_function.py fix how null is written --- falmeida_py/resistance_function.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/falmeida_py/resistance_function.py b/falmeida_py/resistance_function.py index 5f45773..2908434 100644 --- a/falmeida_py/resistance_function.py +++ b/falmeida_py/resistance_function.py @@ -132,7 +132,7 @@ def resistance_stats(bacannot_summary): if gene in bacannot_summary[sample]['resistance']['rgi']: bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['card_aro'] = bacannot_summary[sample]['resistance']['rgi'][gene]['card_aro'] else: - bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['card_aro'] = 'null' + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['card_aro'] = None ################# ### resfinder ### @@ -179,4 +179,4 @@ def resistance_stats(bacannot_summary): if gene in bacannot_summary[sample]['resistance']['rgi']: bacannot_summary[sample]['resistance']['resfinder'][gene]['card_aro'] = bacannot_summary[sample]['resistance']['rgi'][gene]['card_aro'] else: - bacannot_summary[sample]['resistance']['resfinder'][gene]['card_aro'] = 'null' + bacannot_summary[sample]['resistance']['resfinder'][gene]['card_aro'] = None From 1810857cd0c59c161c377156c8378a68ba5f72ba Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Thu, 15 Sep 2022 19:22:12 +0200 Subject: [PATCH 091/130] plasmind finder can now be empty --- .gitignore | 1 + falmeida_py/plasmid_function.py | 36 ++++++++++++++++-------------- falmeida_py/resistance_function.py | 8 +++++++ 3 files changed, 28 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 3b42924..823b334 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ falmeida_py/__pycache__ build/* docs/_build PHD_FILES +test* \ No newline at end of file diff --git a/falmeida_py/plasmid_function.py b/falmeida_py/plasmid_function.py index b588318..bf67234 100644 --- a/falmeida_py/plasmid_function.py +++ b/falmeida_py/plasmid_function.py @@ -63,22 +63,24 @@ def plasmids_stats(bacannot_summary): sep='\t' ) - # databases - bacannot_summary[sample]['plasmid']['plasmidfinder']['meta'] = {} - bacannot_summary[sample]['plasmid']['plasmidfinder']['meta']['database'] = results['Database'].unique().item() + if not results.empty: - # number of plasmid annotations - total_number = len(results['Contig'].unique()) - bacannot_summary[sample]['plasmid']['plasmidfinder']['total'] = total_number + # databases + bacannot_summary[sample]['plasmid']['plasmidfinder']['meta'] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder']['meta']['database'] = results['Database'].unique().item() + + # number of plasmid annotations + total_number = len(results['Contig'].unique()) + bacannot_summary[sample]['plasmid']['plasmidfinder']['total'] = total_number - # plasmid annotations contigs - for seq in [ str(x) for x in results['Contig'].unique() ]: - bacannot_summary[sample]['plasmid']['plasmidfinder'][seq] = {} - bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['inc_types'] = {} - bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['identity'] = {} - bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['accession'] = {} - for index, row in results.iterrows(): - contig = row['Contig'] - bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['inc_types'] = row['Plasmid'] - bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['identity'] = row['Identity'] - bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['accession'] = row['Accession number'] \ No newline at end of file + # plasmid annotations contigs + for seq in [ str(x) for x in results['Contig'].unique() ]: + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['inc_types'] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['identity'] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['accession'] = {} + for index, row in results.iterrows(): + contig = row['Contig'] + bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['inc_types'] = row['Plasmid'] + bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['identity'] = row['Identity'] + bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['accession'] = row['Accession number'] \ No newline at end of file diff --git a/falmeida_py/resistance_function.py b/falmeida_py/resistance_function.py index 2908434..935608b 100644 --- a/falmeida_py/resistance_function.py +++ b/falmeida_py/resistance_function.py @@ -8,6 +8,7 @@ import yaml from pathlib import Path from .utils import load_and_subset_gff +from pprint import pprint ########################################## ### check resistance annotations stats ### @@ -180,3 +181,10 @@ def resistance_stats(bacannot_summary): bacannot_summary[sample]['resistance']['resfinder'][gene]['card_aro'] = bacannot_summary[sample]['resistance']['rgi'][gene]['card_aro'] else: bacannot_summary[sample]['resistance']['resfinder'][gene]['card_aro'] = None + + # + # parse again to check for resfinder entries where aro index was not included + # + pprint( + sample + ) \ No newline at end of file From b2a7b1313d0b2faf009b413c0bcf4f6e7a4137cc Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Thu, 15 Sep 2022 20:06:39 +0200 Subject: [PATCH 092/130] Update resistance_function.py remove unnecessary step --- falmeida_py/resistance_function.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/falmeida_py/resistance_function.py b/falmeida_py/resistance_function.py index 935608b..7a4460a 100644 --- a/falmeida_py/resistance_function.py +++ b/falmeida_py/resistance_function.py @@ -181,10 +181,3 @@ def resistance_stats(bacannot_summary): bacannot_summary[sample]['resistance']['resfinder'][gene]['card_aro'] = bacannot_summary[sample]['resistance']['rgi'][gene]['card_aro'] else: bacannot_summary[sample]['resistance']['resfinder'][gene]['card_aro'] = None - - # - # parse again to check for resfinder entries where aro index was not included - # - pprint( - sample - ) \ No newline at end of file From 05d5f9b0b7a553e6ef5cf1ade3a5dbe85e9bd48b Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Thu, 29 Sep 2022 19:45:47 +0200 Subject: [PATCH 093/130] published new version --- build_conda.sh | 1 + conda.recipe/meta.yaml | 2 +- docs/align2subsetgbk_help.txt | 25 +++++++++++++++++++++++++ docs/help_message.txt | 20 +++++++++++--------- docs/splitgbk_help.txt | 25 +++++++++++++++++++++++++ docs/tsv2markdown_help.txt | 25 +++++++++++++++++++++++++ falmeida_py/version.py | 2 +- osx-64/falmeida-py-0.7-py37_0.tar.bz2 | Bin 0 -> 33140 bytes 8 files changed, 89 insertions(+), 11 deletions(-) create mode 100644 osx-64/falmeida-py-0.7-py37_0.tar.bz2 diff --git a/build_conda.sh b/build_conda.sh index 055e612..ea63aba 100644 --- a/build_conda.sh +++ b/build_conda.sh @@ -9,6 +9,7 @@ conda convert -p osx-64 $(find build -name "falmeida-py*.tar.bz2") # upload osx anaconda upload $(find osx-64 -name "falmeida-py*.tar.bz2") --force +( cd build && anaconda upload $(find linux-64 -name "falmeida-py*.tar.bz2") --force ) # rm dirs rm -rf build osx-64 diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index 288daaa..c32f6af 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,6 +1,6 @@ package: name: falmeida-py - version: 0.5 + version: 0.7 source: path: .. diff --git a/docs/align2subsetgbk_help.txt b/docs/align2subsetgbk_help.txt index 26cfee6..769c2b2 100644 --- a/docs/align2subsetgbk_help.txt +++ b/docs/align2subsetgbk_help.txt @@ -17,3 +17,28 @@ Options: --minid= Min. Identity percentage for gene annotation [Default: 80]. --mincov= Min. Covereage for gene annotation [Default: 80]. --culling_limit= Blast culling_limit for best hit only [Default: 1]. +falmeida-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] + falmeida-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. + blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file + bacannot2json Command to summarize main bacannot annotation results into JSON file + +Use: `falmeida-py -h` to get more help and see examples. diff --git a/docs/help_message.txt b/docs/help_message.txt index 4ad5245..6ed5318 100644 --- a/docs/help_message.txt +++ b/docs/help_message.txt @@ -8,16 +8,18 @@ usage: falmeida-py [ -h|--help ] [ ... ] options: - -h --help Show this screen - -v --version Show version information - --license Show LEGAL LICENSE information + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information commands: - tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. - splitgbk Command to split multisequence genbank files into individual files. - align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. - gbk2fasta Command to convert genbank files to fasta files. - blasts Command to execute automatized blast commands. - replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. + blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file + bacannot2json Command to summarize main bacannot annotation results into JSON file Use: `falmeida-py -h` to get more help and see examples. diff --git a/docs/splitgbk_help.txt b/docs/splitgbk_help.txt index 2ca3156..f139033 100644 --- a/docs/splitgbk_help.txt +++ b/docs/splitgbk_help.txt @@ -11,3 +11,28 @@ options: -h --help Show this screen. -g --gbk= Input genbank file to split into multiple individual files. -o --outdir= Directory (must already exist) in which to write the splitted files [Default: ./]. +falmeida-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] + falmeida-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. + blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file + bacannot2json Command to summarize main bacannot annotation results into JSON file + +Use: `falmeida-py -h` to get more help and see examples. diff --git a/docs/tsv2markdown_help.txt b/docs/tsv2markdown_help.txt index 58eb788..0b2b685 100644 --- a/docs/tsv2markdown_help.txt +++ b/docs/tsv2markdown_help.txt @@ -13,3 +13,28 @@ options: --csv= Input csv file to print as markdown table --header= If file does not have a header, set a custom header. E.g. --header "Planet,R (km),mass (x 10^29 kg)". +falmeida-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] + falmeida-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. + blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file + bacannot2json Command to summarize main bacannot annotation results into JSON file + +Use: `falmeida-py -h` to get more help and see examples. diff --git a/falmeida_py/version.py b/falmeida_py/version.py index e632bf2..d176139 100644 --- a/falmeida_py/version.py +++ b/falmeida_py/version.py @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '0.6' +__version__ = '0.7' def get_version(): return __version__ diff --git a/osx-64/falmeida-py-0.7-py37_0.tar.bz2 b/osx-64/falmeida-py-0.7-py37_0.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..9d9326f8cc332bb928a8032e3f964e278445dfd1 GIT binary patch literal 33140 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 literal 0 HcmV?d00001 From 6799d81e4ea81490bb62581a1efbdc3687bb5952 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Thu, 29 Sep 2022 22:04:56 +0200 Subject: [PATCH 094/130] update package --- conda.recipe/meta.yaml | 6 ++++++ osx-64/falmeida-py-0.7-py37_0.tar.bz2 | Bin 33140 -> 0 bytes requirements.txt | 3 +++ 3 files changed, 9 insertions(+) delete mode 100644 osx-64/falmeida-py-0.7-py37_0.tar.bz2 diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index c32f6af..75ed36a 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -21,6 +21,9 @@ requirements: - tabulate - docopt - biopython + - simplejson + - importlib_metadata + - pyyaml run: - python {{PY_VER}}* @@ -30,6 +33,9 @@ requirements: - tabulate - docopt - biopython + - simplejson + - importlib_metadata + - pyyaml channels: - anaconda diff --git a/osx-64/falmeida-py-0.7-py37_0.tar.bz2 b/osx-64/falmeida-py-0.7-py37_0.tar.bz2 deleted file mode 100644 index 9d9326f8cc332bb928a8032e3f964e278445dfd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33140 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 diff --git a/requirements.txt b/requirements.txt index 8ebac7d..baf0574 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,3 +2,6 @@ docopt pandas tabulate biopython +simplejson +importlib_metadata +yaml From 75a5f4d1bb622fe62b0c06ba027923119adda12f Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 8 Nov 2022 21:14:18 +0100 Subject: [PATCH 095/130] fixed how to get full path --- falmeida_py/bacannot2json.py | 10 ++++------ falmeida_py/version.py | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 34d259d..ea5feef 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -62,16 +62,13 @@ def dict_init(indir): # detect available samples available_samples = [ str(x) for x in get_samples(available_annotations) ] - # get input absolute path - bacannot_dir = '/'.join(os.path.abspath(available_annotations[0]).split('/')[:-2]) - # initiate first dictionary level for sample in available_samples: bacannot_summary[sample] = {} bacannot_summary[sample]['sample'] = f"{sample}" - bacannot_summary[sample]['results_dir'] = f"{bacannot_dir}/{sample}" + bacannot_summary[sample]['results_dir'] = f"{indir}/{sample}" - return bacannot_dir,bacannot_summary + return bacannot_summary ####################################### ### Def main bacannot2json function ### @@ -79,7 +76,8 @@ def dict_init(indir): def bacannot2json(indir, outfile, check): # initialize - bacannot_dir, bacannot_summary = dict_init( indir ) + bacannot_dir = os.path.abspath( indir ) + bacannot_summary = dict_init( bacannot_dir ) # check general annotation stats general_stats( bacannot_summary ) diff --git a/falmeida_py/version.py b/falmeida_py/version.py index d176139..67e3d22 100644 --- a/falmeida_py/version.py +++ b/falmeida_py/version.py @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '0.7' +__version__ = '0.8' def get_version(): return __version__ From 3d41a1c3c5ba855af1f60b38e84df184e8346eaa Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 8 Nov 2022 21:33:30 +0100 Subject: [PATCH 096/130] update version --- conda.recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index 75ed36a..8f9c71a 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,6 +1,6 @@ package: name: falmeida-py - version: 0.7 + version: 0.8 source: path: .. From 98df28b384022e97d8223a3af17bd69d98d1d467 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Wed, 9 Nov 2022 08:41:02 -0300 Subject: [PATCH 097/130] fixed generated dictionary --- conda.recipe/meta.yaml | 2 +- falmeida_py/bacannot2json.py | 29 ++++++++++++++++++++++++++++- falmeida_py/version.py | 2 +- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index 8f9c71a..ff18464 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,6 +1,6 @@ package: name: falmeida-py - version: 0.8 + version: '0.9' source: path: .. diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index ea5feef..80a342a 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -38,6 +38,33 @@ from .virulence_function import * from .resistance_function import * +############################## +### fix keys in dictionary ### +############################## +def stringify_keys(d): + """Convert a dict's keys to strings if they are not.""" + for key in d.keys(): + + # check inner dict + if isinstance(d[key], dict): + value = stringify_keys(d[key]) + else: + value = d[key] + + # convert nonstring to string if needed + if not isinstance(key, str): + try: + d[str(key)] = value + except Exception: + try: + d[repr(key)] = value + except Exception: + raise + + # delete old key + del d[key] + return d + ############################################### ### based on annotations figure sample name ### ############################################### @@ -93,7 +120,7 @@ def bacannot2json(indir, outfile, check): # save results final_results = simplejson.dumps( - bacannot_summary, + stringify_keys( bacannot_summary ), sort_keys=True, indent=4, ignore_nan=True diff --git a/falmeida_py/version.py b/falmeida_py/version.py index 67e3d22..5a92447 100644 --- a/falmeida_py/version.py +++ b/falmeida_py/version.py @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '0.8' +__version__ = '0.9' def get_version(): return __version__ From eaf2ca2cfd03dd5e46e88f9fd81a9660e332de96 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sat, 19 Nov 2022 15:44:13 +0100 Subject: [PATCH 098/130] add length to platon plasmid results --- falmeida_py/plasmid_function.py | 1 + 1 file changed, 1 insertion(+) diff --git a/falmeida_py/plasmid_function.py b/falmeida_py/plasmid_function.py index bf67234..aab1e37 100644 --- a/falmeida_py/plasmid_function.py +++ b/falmeida_py/plasmid_function.py @@ -44,6 +44,7 @@ def plasmids_stats(bacannot_summary): # per plasmid info for seq in [x for x in results['ID'].unique()]: bacannot_summary[sample]['plasmid']['platon'][seq] = {} + bacannot_summary[sample]['plasmid']['platon'][seq]['Length'] = results.loc[results['ID'] == seq, 'Length'].item() bacannot_summary[sample]['plasmid']['platon'][seq]['ORFs'] = results.loc[results['ID'] == seq, '# ORFs'].item() bacannot_summary[sample]['plasmid']['platon'][seq]['Circular'] = results.loc[results['ID'] == seq, 'Circular'].item() bacannot_summary[sample]['plasmid']['platon'][seq]['AMRs'] = results.loc[results['ID'] == seq, '# AMRs'].item() From 4f3f88630365aaebdacb93c1e42c33e34790d944 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sun, 15 Jan 2023 15:53:31 +0100 Subject: [PATCH 099/130] Update plasmid_function.py --- falmeida_py/plasmid_function.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/falmeida_py/plasmid_function.py b/falmeida_py/plasmid_function.py index aab1e37..3f7b838 100644 --- a/falmeida_py/plasmid_function.py +++ b/falmeida_py/plasmid_function.py @@ -42,15 +42,17 @@ def plasmids_stats(bacannot_summary): bacannot_summary[sample]['plasmid']['platon']['total'] = total_number # per plasmid info - for seq in [x for x in results['ID'].unique()]: - bacannot_summary[sample]['plasmid']['platon'][seq] = {} - bacannot_summary[sample]['plasmid']['platon'][seq]['Length'] = results.loc[results['ID'] == seq, 'Length'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['ORFs'] = results.loc[results['ID'] == seq, '# ORFs'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['Circular'] = results.loc[results['ID'] == seq, 'Circular'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['AMRs'] = results.loc[results['ID'] == seq, '# AMRs'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['Replication'] = results.loc[results['ID'] == seq, '# Replication'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['Mobilization'] = results.loc[results['ID'] == seq, '# Mobilization'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['Conjugation'] = results.loc[results['ID'] == seq, '# Conjugation'].item() + bacannot_summary[sample]['plasmid']['platon'] = {} + if int(results.shape[0]) > 0: + for seq in [x for x in results['ID'].unique()]: + bacannot_summary[sample]['plasmid']['platon'][seq] = {} + bacannot_summary[sample]['plasmid']['platon'][seq]['Length'] = results.loc[results['ID'] == seq, 'Length'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['ORFs'] = results.loc[results['ID'] == seq, '# ORFs'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Circular'] = results.loc[results['ID'] == seq, 'Circular'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['AMRs'] = results.loc[results['ID'] == seq, '# AMRs'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Replication'] = results.loc[results['ID'] == seq, '# Replication'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Mobilization'] = results.loc[results['ID'] == seq, '# Mobilization'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Conjugation'] = results.loc[results['ID'] == seq, '# Conjugation'].item() # plasmidfinder if os.path.exists(f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv"): From 12c845809dd91f7c8422a90df9a6f8620f081f24 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sat, 21 Jan 2023 11:15:22 +0100 Subject: [PATCH 100/130] Update __main__.py --- falmeida_py/__main__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/falmeida_py/__main__.py b/falmeida_py/__main__.py index be6003d..85208f7 100644 --- a/falmeida_py/__main__.py +++ b/falmeida_py/__main__.py @@ -148,8 +148,8 @@ def main(): print(f"Processing file: {args['--gbk']}!") gbk2fasta(gbk=args['--gbk']) blast(task='blastn', query=args['--fasta'], subject='tmp_gbk.fa', - culling=args['--culling_limit'], minid=args['--minid'], mincov=args['--mincov'], - out='out.blast', threads=1, twoway=None) + culling=args['--culling_limit'], minid=args['--minid'], mincov=args['--mincov'], + out='out.blast', threads=1, twoway=None) filtergbk(gbk=args['--gbk'], out=args['--out'], extension=int(args['--extension'])) # Clean dir From 33ef9af82597884006a5c6ba3aa7f42f31774b44 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Thu, 9 Feb 2023 16:50:01 +0100 Subject: [PATCH 101/130] release v1.0.0 --- conda.recipe/meta.yaml | 2 +- falmeida_py/bacannot2json.py | 33 ++++++++++++--------------------- falmeida_py/plasmid_function.py | 3 ++- falmeida_py/version.py | 2 +- 4 files changed, 16 insertions(+), 24 deletions(-) diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index ff18464..de3fbe2 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,6 +1,6 @@ package: name: falmeida-py - version: '0.9' + version: '1.0.0' source: path: .. diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 80a342a..532323b 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -41,29 +41,20 @@ ############################## ### fix keys in dictionary ### ############################## +def convert_dictkey(d): + ###change all keys in a dict d + return { str(k): convert_dictvalue(v) for k,v in d.items() } + +def convert_dictvalue(v): + ###if v is a dict do convert_dictkey() for v, else raise v + if isinstance(v, dict): + return convert_dictkey(v) + else: + return v + def stringify_keys(d): """Convert a dict's keys to strings if they are not.""" - for key in d.keys(): - - # check inner dict - if isinstance(d[key], dict): - value = stringify_keys(d[key]) - else: - value = d[key] - - # convert nonstring to string if needed - if not isinstance(key, str): - try: - d[str(key)] = value - except Exception: - try: - d[repr(key)] = value - except Exception: - raise - - # delete old key - del d[key] - return d + return convert_dictkey(d) ############################################### ### based on annotations figure sample name ### diff --git a/falmeida_py/plasmid_function.py b/falmeida_py/plasmid_function.py index 3f7b838..741549f 100644 --- a/falmeida_py/plasmid_function.py +++ b/falmeida_py/plasmid_function.py @@ -82,8 +82,9 @@ def plasmids_stats(bacannot_summary): bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['inc_types'] = {} bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['identity'] = {} bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['accession'] = {} + for index, row in results.iterrows(): - contig = row['Contig'] + contig = str(row['Contig']) bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['inc_types'] = row['Plasmid'] bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['identity'] = row['Identity'] bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['accession'] = row['Accession number'] \ No newline at end of file diff --git a/falmeida_py/version.py b/falmeida_py/version.py index 5a92447..8a005e5 100644 --- a/falmeida_py/version.py +++ b/falmeida_py/version.py @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '0.9' +__version__ = '1.0.0' def get_version(): return __version__ From c9c3ba2f0de428ef64e97313eb0d8f9656cc3986 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 27 Feb 2023 17:01:19 +0100 Subject: [PATCH 102/130] fix indentation --- setup.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/setup.py b/setup.py index 0535747..7b2d7ed 100644 --- a/setup.py +++ b/setup.py @@ -30,18 +30,20 @@ def readme(): with open('requirements.txt') as f: required = f.read().splitlines() -setup(name='falmeida-py', - version=__version__, - description='falmeida-py: a package to the simple distribution of my custom scripts.', - long_description=readme(), - long_description_content_type='text/markdown', - url='https://github.com/fmalmeida/pythonScripts', - author='Felipe Almeida', - author_email='almeidafmarques@gmail.com', - license='GPLv3', - packages=['falmeida_py'], - install_requires=required, - entry_points={"console_scripts": ['falmeida-py = falmeida_py.__main__:main']}, - include_package_data=True, - zip_safe=False, - python_requires='>=3.6') +setup( + name='falmeida-py', + version=__version__, + description='falmeida-py: a package to the simple distribution of my custom scripts.', + long_description=readme(), + long_description_content_type='text/markdown', + url='https://github.com/fmalmeida/pythonScripts', + author='Felipe Almeida', + author_email='almeidafmarques@gmail.com', + license='GPLv3', + packages=['falmeida_py'], + install_requires=required, + entry_points={"console_scripts": ['falmeida-py = falmeida_py.__main__:main']}, + include_package_data=True, + zip_safe=False, + python_requires='>=3.6' +) From a883d04abc4b36fcfb49afde78d7b44f766546ec Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 27 Feb 2023 17:01:47 +0100 Subject: [PATCH 103/130] update version --- conda.recipe/meta.yaml | 2 +- falmeida_py/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index de3fbe2..b16d576 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,6 +1,6 @@ package: name: falmeida-py - version: '1.0.0' + version: '1.1.0' source: path: .. diff --git a/falmeida_py/version.py b/falmeida_py/version.py index 8a005e5..73273b3 100644 --- a/falmeida_py/version.py +++ b/falmeida_py/version.py @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '1.0.0' +__version__ = '1.1.0' def get_version(): return __version__ From d9f0c5d63f0215dc55a48b2a1501b35b45b6cc02 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 27 Feb 2023 17:58:28 +0100 Subject: [PATCH 104/130] add integron finder results to JSON --- bacannot_summary.json | 11492 ++++++++++++++++++++++++++++++ falmeida_py/bacannot2json.py | 4 + falmeida_py/mges_function.py | 59 + falmeida_py/plasmid_function.py | 4 - 4 files changed, 11555 insertions(+), 4 deletions(-) create mode 100644 bacannot_summary.json create mode 100644 falmeida_py/mges_function.py diff --git a/bacannot_summary.json b/bacannot_summary.json new file mode 100644 index 0000000..43bc050 --- /dev/null +++ b/bacannot_summary.json @@ -0,0 +1,11492 @@ +{ + "ecoli_1": { + "MGE": {}, + "general_annotation": { + "cds": 4681, + "closest_reference": { + "accession": "NZ_JTDT", + "distance": 0.00274861, + "strain": "Escherichia coli" + }, + "mlst": "73", + "rrna": 4, + "tmrna": 1, + "trna": 70 + }, + "plasmid": { + "plasmidfinder": {}, + "platon": { + "84": { + "AMRs": 0, + "Circular": "no", + "Conjugation": 0, + "Length": 10558, + "Mobilization": 0, + "ORFs": 5, + "Replication": 0 + } + } + }, + "resistance": { + "amrfinderplus": { + "GOMEMAFE_00009": { + "card_aro": 3000502, + "contig": 1, + "end": 8462, + "gene": "acrF", + "identity": 99.42, + "start": 5358, + "subclass": "EFFLUX", + "type": "AMR" + }, + "GOMEMAFE_00892": { + "card_aro": null, + "contig": 6, + "end": 72884, + "gene": "fieF", + "identity": 99.67, + "start": 71982, + "subclass": null, + "type": "STRESS" + }, + "GOMEMAFE_01968": { + "card_aro": null, + "contig": 17, + "end": 8615, + "gene": "ymgB", + "identity": 97.73, + "start": 8349, + "subclass": null, + "type": "STRESS" + }, + "GOMEMAFE_02188": { + "card_aro": null, + "contig": 20, + "end": 8779, + "gene": "asr", + "identity": 98.04, + "start": 8471, + "subclass": null, + "type": "STRESS" + }, + "GOMEMAFE_02315": { + "card_aro": null, + "contig": 21, + "end": 64895, + "gene": "emrD", + "identity": 99.49, + "start": 63711, + "subclass": "EFFLUX", + "type": "AMR" + }, + "GOMEMAFE_02346": { + "card_aro": 3004039, + "contig": 22, + "end": 15190, + "gene": "emrE", + "identity": 98.18, + "start": 14858, + "subclass": "EFFLUX", + "type": "STRESS" + }, + "GOMEMAFE_02841": { + "card_aro": 3006880, + "contig": 28, + "end": 57085, + "gene": "blaEC-5", + "identity": 100.0, + "start": 55952, + "subclass": "CEPHALOSPORIN", + "type": "AMR" + }, + "GOMEMAFE_03475": { + "card_aro": null, + "contig": 40, + "end": 27348, + "gene": "arsC", + "identity": 93.62, + "start": 26923, + "subclass": "ARSENATE", + "type": "STRESS" + }, + "total": 8 + }, + "resfinder": { + "total": 0 + }, + "rgi": { + "GOMEMAFE_00009": { + "accession": 1437, + "card_aro": 3000502, + "contig": 1, + "cut_off": "Strict", + "end": 8462, + "gene": "AcrF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.42, + "name": "Multidrug export protein AcrF", + "resistance_mechanism": "antibiotic efflux", + "start": 5358, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "GOMEMAFE_00010": { + "accession": 1445, + "card_aro": 3000499, + "contig": 1, + "cut_off": "Strict", + "end": 9631, + "gene": "AcrE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.48, + "name": "Multidrug export protein AcrE", + "resistance_mechanism": "antibiotic efflux", + "start": 8474, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "GOMEMAFE_00011": { + "accession": 520, + "card_aro": 3000656, + "contig": 1, + "cut_off": "Strict", + "end": 10692, + "gene": "AcrS", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.18, + "name": "HTH-type transcriptional regulator AcrR", + "resistance_mechanism": "antibiotic efflux", + "start": 10030, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "GOMEMAFE_00231": { + "accession": 1427, + "card_aro": 3000491, + "contig": 2, + "cut_off": "Strict", + "end": 47007, + "gene": "acrD", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.71, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 43894, + "subclass": "aminoglycoside antibiotic" + }, + "GOMEMAFE_00318": { + "accession": 1318, + "card_aro": 3000833, + "contig": 2, + "cut_off": "Strict", + "end": 138605, + "gene": "evgS", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.66, + "name": "Sensor protein EvgS", + "resistance_mechanism": "antibiotic efflux", + "start": 135012, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" + }, + "GOMEMAFE_00319": { + "accession": 1015, + "card_aro": 3000832, + "contig": 2, + "cut_off": "Perfect", + "end": 139224, + "gene": "evgA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "DNA-binding transcriptional activator EvgA", + "resistance_mechanism": "antibiotic efflux", + "start": 138610, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" + }, + "GOMEMAFE_00320": { + "accession": 609, + "card_aro": 3000206, + "contig": 2, + "cut_off": "Strict", + "end": 140803, + "gene": "emrK", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 98.86, + "name": "putative multidrug resistance protein EmrK", + "resistance_mechanism": "antibiotic efflux", + "start": 139640, + "subclass": "tetracycline antibiotic" + }, + "GOMEMAFE_00321": { + "accession": 540, + "card_aro": 3000254, + "contig": 2, + "cut_off": "Strict", + "end": 142341, + "gene": "emrY", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 99.8, + "name": "putative multidrug resistance protein EmrY", + "resistance_mechanism": "antibiotic efflux", + "start": 140803, + "subclass": "tetracycline antibiotic" + }, + "GOMEMAFE_00431": { + "accession": 1330, + "card_aro": 3000516, + "contig": 3, + "cut_off": "Perfect", + "end": 51266, + "gene": "emrR", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "Transcriptional repressor MprA", + "resistance_mechanism": "antibiotic efflux", + "start": 50736, + "subclass": "fluoroquinolone antibiotic" + }, + "GOMEMAFE_00432": { + "accession": 1757, + "card_aro": 3000027, + "contig": 3, + "cut_off": "Strict", + "end": 52565, + "gene": "emrA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 99.74, + "name": "Multidrug export protein EmrA", + "resistance_mechanism": "antibiotic efflux", + "start": 51393, + "subclass": "fluoroquinolone antibiotic" + }, + "GOMEMAFE_00433": { + "accession": 1847, + "card_aro": 3000074, + "contig": 3, + "cut_off": "Strict", + "end": 54120, + "gene": "emrB", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 99.8, + "name": "Multidrug export protein EmrB", + "resistance_mechanism": "antibiotic efflux", + "start": 52582, + "subclass": "fluoroquinolone antibiotic" + }, + "GOMEMAFE_00739": { + "accession": 2424, + "card_aro": 3003952, + "contig": 5, + "cut_off": "Strict", + "end": 24184, + "gene": "YojI", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", + "identity": 99.63, + "name": "ABC transporter ATP-binding/permease protein YojI", + "resistance_mechanism": "antibiotic efflux", + "start": 22541, + "subclass": "peptide antibiotic" + }, + "GOMEMAFE_00766": { + "accession": 2372, + "card_aro": 3003889, + "contig": 5, + "cut_off": "Strict", + "end": 66818, + "gene": "Escherichia coli GlpT with mutation conferring resistance to fosfomycin", + "gene_family": "antibiotic-resistant GlpT", + "identity": 99.52, + "name": "Glycerol-3-phosphate transporter", + "resistance_mechanism": "antibiotic target alteration", + "start": 66195, + "subclass": "phosphonic acid antibiotic" + }, + "GOMEMAFE_00781": { + "accession": 2014, + "card_aro": 3003578, + "contig": 5, + "cut_off": "Strict", + "end": 83047, + "gene": "PmrF", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 99.38, + "name": "Undecaprenyl-phosphate 4-deoxy-4-formamido-L-arabinose transferase", + "resistance_mechanism": "antibiotic target alteration", + "start": 82079, + "subclass": "peptide antibiotic" + }, + "GOMEMAFE_00895": { + "accession": 152, + "card_aro": 3000830, + "contig": 6, + "cut_off": "Perfect", + "end": 75751, + "gene": "cpxA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Sensor histidine kinase CpxA", + "resistance_mechanism": "antibiotic efflux", + "start": 74378, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "GOMEMAFE_01051": { + "accession": 826, + "card_aro": 3000237, + "contig": 7, + "cut_off": "Strict", + "end": 107908, + "gene": "TolC", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.59, + "name": "Outer membrane protein TolC", + "resistance_mechanism": "antibiotic efflux", + "start": 106427, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; aminoglycoside antibiotic; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; peptide antibiotic; aminocoumarin antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" + }, + "GOMEMAFE_01431": { + "accession": 2423, + "card_aro": 3003950, + "contig": 11, + "cut_off": "Strict", + "end": 51647, + "gene": "msbA", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", + "identity": 99.66, + "name": "Lipid A export ATP-binding/permease protein MsbA", + "resistance_mechanism": "antibiotic efflux", + "start": 49899, + "subclass": "nitroimidazole antibiotic" + }, + "GOMEMAFE_01545": { + "accession": 37, + "card_aro": 3001328, + "contig": 12, + "cut_off": "Strict", + "end": 57024, + "gene": "Escherichia coli mdfA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 97.07, + "name": "Multidrug transporter MdfA", + "resistance_mechanism": "antibiotic efflux", + "start": 55792, + "subclass": "tetracycline antibiotic; disinfecting agents and antiseptics" + }, + "GOMEMAFE_01662": { + "accession": 2066, + "card_aro": 3003511, + "contig": 13, + "cut_off": "Strict", + "end": 85591, + "gene": "Escherichia coli soxS with mutation conferring antibiotic resistance", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", + "identity": 100.0, + "name": "Regulatory protein SoxS", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux; reduced permeability to antibiotic", + "start": 85268, + "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" + }, + "GOMEMAFE_01663": { + "accession": 1005, + "card_aro": 3003381, + "contig": 13, + "cut_off": "Strict", + "end": 86141, + "gene": "Escherichia coli soxR with mutation conferring antibiotic resistance", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.35, + "name": "Redox-sensitive transcriptional activator SoxR", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", + "start": 85677, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "GOMEMAFE_01771": { + "accession": 2331, + "card_aro": 3003841, + "contig": 14, + "cut_off": "Strict", + "end": 92341, + "gene": "kdpE", + "gene_family": "kdpDE", + "identity": 99.55, + "name": "KDP operon transcriptional regulatory protein KdpE", + "resistance_mechanism": "antibiotic efflux", + "start": 91664, + "subclass": "aminoglycoside antibiotic" + }, + "GOMEMAFE_01889": { + "accession": 869, + "card_aro": 3000518, + "contig": 16, + "cut_off": "Strict", + "end": 15657, + "gene": "CRP", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.52, + "name": "cAMP-activated global transcriptional regulator CRP", + "resistance_mechanism": "antibiotic efflux", + "start": 15025, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "GOMEMAFE_02050": { + "accession": 1248, + "card_aro": 3000676, + "contig": 17, + "cut_off": "Perfect", + "end": 90083, + "gene": "H-NS", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "DNA-binding protein H-NS", + "resistance_mechanism": "antibiotic efflux", + "start": 89670, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; cephalosporin; cephamycin; penam; tetracycline antibiotic" + }, + "GOMEMAFE_02223": { + "accession": 1922, + "card_aro": 3000263, + "contig": 20, + "cut_off": "Strict", + "end": 45371, + "gene": "marA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", + "identity": 99.21, + "name": "Multiple antibiotic resistance protein MarA", + "resistance_mechanism": "antibiotic efflux; reduced permeability to antibiotic", + "start": 44988, + "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" + }, + "GOMEMAFE_02224": { + "accession": 431, + "card_aro": 3003378, + "contig": 20, + "cut_off": "Strict", + "end": 45826, + "gene": "Escherichia coli AcrAB-TolC with MarR mutations conferring resistance to ciprofloxacin and tetracycline", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.61, + "name": "Multiple antibiotic resistance protein MarR", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", + "start": 45392, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "GOMEMAFE_02346": { + "accession": 2656, + "card_aro": 3004039, + "contig": 22, + "cut_off": "Strict", + "end": 15190, + "gene": "Escherichia coli emrE", + "gene_family": "small multidrug resistance (SMR) antibiotic efflux pump", + "identity": 98.18, + "name": "Multidrug transporter EmrE", + "resistance_mechanism": "antibiotic efflux", + "start": 14858, + "subclass": "macrolide antibiotic" + }, + "GOMEMAFE_02841": { + "accession": 4594, + "card_aro": 3006880, + "contig": 28, + "cut_off": "Perfect", + "end": 57085, + "gene": "EC-5", + "gene_family": "EC beta-lactamase", + "identity": 100.0, + "name": "Beta-lactamase", + "resistance_mechanism": "antibiotic inactivation", + "start": 55952, + "subclass": "cephalosporin" + }, + "GOMEMAFE_02905": { + "accession": 375, + "card_aro": 3001216, + "contig": 29, + "cut_off": "Perfect", + "end": 44078, + "gene": "mdtH", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "Multidrug resistance protein MdtH", + "resistance_mechanism": "antibiotic efflux", + "start": 42870, + "subclass": "fluoroquinolone antibiotic" + }, + "GOMEMAFE_02917": { + "accession": 603, + "card_aro": 3001329, + "contig": 29, + "cut_off": "Strict", + "end": 53933, + "gene": "mdtG", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 99.51, + "name": "Staphyloferrin B transporter", + "resistance_mechanism": "antibiotic efflux", + "start": 52707, + "subclass": "phosphonic acid antibiotic" + }, + "GOMEMAFE_02947": { + "accession": 1104, + "card_aro": 3000216, + "contig": 30, + "cut_off": "Strict", + "end": 9810, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.9, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 6661, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "GOMEMAFE_02948": { + "accession": 2661, + "card_aro": 3004043, + "contig": 30, + "cut_off": "Strict", + "end": 11026, + "gene": "Escherichia coli acrA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.75, + "name": "Multidrug efflux pump subunit AcrA", + "resistance_mechanism": "antibiotic efflux", + "start": 9833, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "GOMEMAFE_02949": { + "accession": 2306, + "card_aro": 3003807, + "contig": 30, + "cut_off": "Strict", + "end": 11815, + "gene": "Escherichia coli AcrAB-TolC with AcrR mutation conferring resistance to ciprofloxacin, tetracycline, and ceftazidime", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "HTH-type transcriptional regulator AcrR", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", + "start": 11168, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "GOMEMAFE_03373": { + "accession": 1337, + "card_aro": 3000828, + "contig": 38, + "cut_off": "Perfect", + "end": 16499, + "gene": "baeR", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Transcriptional regulatory protein BaeR", + "resistance_mechanism": "antibiotic efflux", + "start": 15777, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "GOMEMAFE_03374": { + "accession": 986, + "card_aro": 3000829, + "contig": 38, + "cut_off": "Strict", + "end": 17899, + "gene": "baeS", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.15, + "name": "Signal transduction histidine-protein kinase BaeS", + "resistance_mechanism": "antibiotic efflux", + "start": 16496, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "GOMEMAFE_03376": { + "accession": 1315, + "card_aro": 3000794, + "contig": 38, + "cut_off": "Strict", + "end": 22389, + "gene": "mdtC", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.83, + "name": "Multidrug resistance protein MdtC", + "resistance_mechanism": "antibiotic efflux", + "start": 19312, + "subclass": "aminocoumarin antibiotic" + }, + "GOMEMAFE_03377": { + "accession": 820, + "card_aro": 3000793, + "contig": 38, + "cut_off": "Strict", + "end": 25512, + "gene": "mdtB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.9, + "name": "Multidrug resistance protein MdtB", + "resistance_mechanism": "antibiotic efflux", + "start": 22390, + "subclass": "aminocoumarin antibiotic" + }, + "GOMEMAFE_03378": { + "accession": 387, + "card_aro": 3000792, + "contig": 38, + "cut_off": "Strict", + "end": 26759, + "gene": "mdtA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.8, + "name": "Multidrug resistance protein MdtA", + "resistance_mechanism": "antibiotic efflux", + "start": 25512, + "subclass": "aminocoumarin antibiotic" + }, + "GOMEMAFE_03493": { + "accession": 1903, + "card_aro": 3000795, + "contig": 40, + "cut_off": "Strict", + "end": 43976, + "gene": "mdtE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.74, + "name": "Multidrug resistance protein MdtE", + "resistance_mechanism": "antibiotic efflux", + "start": 42819, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "GOMEMAFE_03494": { + "accession": 121, + "card_aro": 3000796, + "contig": 40, + "cut_off": "Strict", + "end": 47114, + "gene": "mdtF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.52, + "name": "Multidrug resistance protein MdtF", + "resistance_mechanism": "antibiotic efflux", + "start": 44001, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "GOMEMAFE_03496": { + "accession": 2324, + "card_aro": 3003838, + "contig": 40, + "cut_off": "Perfect", + "end": 48205, + "gene": "gadW", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "HTH-type transcriptional regulator GadW", + "resistance_mechanism": "antibiotic efflux", + "start": 47477, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "GOMEMAFE_03497": { + "accession": 91, + "card_aro": 3000508, + "contig": 40, + "cut_off": "Strict", + "end": 49398, + "gene": "gadX", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 93.07, + "name": "HTH-type transcriptional regulator GadX", + "resistance_mechanism": "antibiotic efflux", + "start": 48574, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "GOMEMAFE_03549": { + "accession": 516, + "card_aro": 3003576, + "contig": 42, + "cut_off": "Strict", + "end": 17143, + "gene": "eptA", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 96.16, + "name": "Phosphoethanolamine transferase EptA", + "resistance_mechanism": "antibiotic target alteration", + "start": 15500, + "subclass": "peptide antibiotic" + }, + "GOMEMAFE_03590": { + "accession": 842, + "card_aro": 3003577, + "contig": 43, + "cut_off": "Strict", + "end": 20341, + "gene": "ugd", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 99.23, + "name": "UDP-glucose 6-dehydrogenase", + "resistance_mechanism": "antibiotic target alteration", + "start": 19175, + "subclass": "peptide antibiotic" + }, + "GOMEMAFE_03863": { + "accession": 5921, + "card_aro": 3003843, + "contig": 51, + "cut_off": "Perfect", + "end": 6554, + "gene": "leuO", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "HTH-type transcriptional regulator LeuO", + "resistance_mechanism": "antibiotic efflux", + "start": 5610, + "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" + }, + "GOMEMAFE_04197": { + "accession": 45, + "card_aro": 3003550, + "contig": 63, + "cut_off": "Strict", + "end": 10205, + "gene": "mdtP", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 97.75, + "name": "Cation efflux system protein CusC", + "resistance_mechanism": "antibiotic efflux", + "start": 8739, + "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" + }, + "GOMEMAFE_04198": { + "accession": 2056, + "card_aro": 3003549, + "contig": 63, + "cut_off": "Strict", + "end": 12253, + "gene": "mdtO", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 97.36, + "name": "Multidrug resistance protein MdtO", + "resistance_mechanism": "antibiotic efflux", + "start": 10202, + "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" + }, + "GOMEMAFE_04199": { + "accession": 1442, + "card_aro": 3003548, + "contig": 63, + "cut_off": "Strict", + "end": 13284, + "gene": "mdtN", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 99.13, + "name": "Multidrug resistance protein MdtN", + "resistance_mechanism": "antibiotic efflux", + "start": 12253, + "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" + }, + "GOMEMAFE_04444": { + "accession": 1820, + "card_aro": 3002986, + "contig": 78, + "cut_off": "Strict", + "end": 4543, + "gene": "bacA", + "gene_family": "undecaprenyl pyrophosphate related proteins", + "identity": 99.63, + "name": "Undecaprenyl-diphosphatase", + "resistance_mechanism": "antibiotic target alteration", + "start": 3722, + "subclass": "peptide antibiotic" + }, + "total": 48 + } + }, + "results_dir": "/home/falmeida/Documents/GitHub/pythonScripts/_ANNOTATION/ecoli_1", + "sample": "ecoli_1", + "virulence": { + "VFDB": { + "GOMEMAFE_00848": { + "chr": 6, + "end": 23455, + "gene": "ibeC", + "id": "VF0237", + "product": "Ibes_(VF0237)_Invasion_(VFC0083)", + "start": 21722, + "virulence_factor": "Ibes" + }, + "GOMEMAFE_00956": { + "chr": 7, + "end": 4597, + "gene": "kpsF", + "id": "VF0239", + "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", + "start": 3614, + "virulence_factor": "K1_capsule" + }, + "GOMEMAFE_00957": { + "chr": 7, + "end": 5817, + "gene": "kpsE", + "id": "VF0239", + "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", + "start": 4669, + "virulence_factor": "K1_capsule" + }, + "GOMEMAFE_00958": { + "chr": 7, + "end": 7517, + "gene": "kpsD", + "id": "VF0239", + "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", + "start": 5841, + "virulence_factor": "K1_capsule" + }, + "GOMEMAFE_00959": { + "chr": 7, + "end": 8267, + "gene": "kpsU", + "id": "VF0239", + "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", + "start": 7527, + "virulence_factor": "K1_capsule" + }, + "GOMEMAFE_00960": { + "chr": 7, + "end": 10291, + "gene": "kpsC", + "id": "VF0239", + "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", + "start": 8264, + "virulence_factor": "K1_capsule" + }, + "GOMEMAFE_00961": { + "chr": 7, + "end": 11564, + "gene": "kpsS", + "id": "VF0239", + "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", + "start": 10326, + "virulence_factor": "K1_capsule" + }, + "GOMEMAFE_00968": { + "chr": 7, + "end": 20814, + "gene": "kpsM", + "id": "VF0239", + "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", + "start": 20038, + "virulence_factor": "K1_capsule" + }, + "GOMEMAFE_00969": { + "chr": 7, + "end": 22524, + "gene": "gspM", + "id": "VF0333", + "product": "T2SS_(VF0333)_Effector_delivery_system_(VFC0086)", + "start": 21988, + "virulence_factor": "T2SS" + }, + "GOMEMAFE_01152": { + "chr": 8, + "end": 78925, + "gene": "entA", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 78179, + "virulence_factor": "Enterobactin" + }, + "GOMEMAFE_01153": { + "chr": 8, + "end": 79782, + "gene": "entB", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 78925, + "virulence_factor": "Enterobactin" + }, + "GOMEMAFE_01154": { + "chr": 8, + "end": 81406, + "gene": "entE", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 79796, + "virulence_factor": "Enterobactin" + }, + "GOMEMAFE_01155": { + "chr": 8, + "end": 82591, + "gene": "entC", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 81416, + "virulence_factor": "Enterobactin" + }, + "GOMEMAFE_01156": { + "chr": 8, + "end": 83736, + "gene": "fepB", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 82780, + "virulence_factor": "Enterobactin" + }, + "GOMEMAFE_01157": { + "chr": 8, + "end": 84990, + "gene": "entS", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 83740, + "virulence_factor": "Enterobactin" + }, + "GOMEMAFE_01158": { + "chr": 8, + "end": 86105, + "gene": "fepD", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 85101, + "virulence_factor": "Enterobactin" + }, + "GOMEMAFE_01159": { + "chr": 8, + "end": 87094, + "gene": "fepG", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 86102, + "virulence_factor": "Enterobactin" + }, + "GOMEMAFE_01160": { + "chr": 8, + "end": 87906, + "gene": "fepC", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 87091, + "virulence_factor": "Enterobactin" + }, + "GOMEMAFE_01161": { + "chr": 8, + "end": 89036, + "gene": "fepE", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 87903, + "virulence_factor": "Enterobactin" + }, + "GOMEMAFE_01162": { + "chr": 8, + "end": 93164, + "gene": "entF", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 89283, + "virulence_factor": "Enterobactin" + }, + "GOMEMAFE_01164": { + "chr": 8, + "end": 94584, + "gene": "fes", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 93382, + "virulence_factor": "Enterobactin" + }, + "GOMEMAFE_01165": { + "chr": 8, + "end": 97067, + "gene": "fepA", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 94827, + "virulence_factor": "Enterobactin" + }, + "GOMEMAFE_01177": { + "chr": 8, + "end": 110328, + "gene": "ibeB", + "id": "VF0237", + "product": "Ibes_(VF0237)_Invasion_(VFC0083)", + "start": 108946, + "virulence_factor": "Ibes" + }, + "GOMEMAFE_01346": { + "chr": 10, + "end": 56035, + "gene": "fdeC", + "id": "VF0506", + "product": "FdeC_(VF0506)_Adherence_(VFC0001)", + "start": 51785, + "virulence_factor": "FdeC" + }, + "GOMEMAFE_01356": { + "chr": 10, + "end": 65877, + "gene": "ykgK/ecpR", + "id": "VF0404", + "product": "ECP_(VF0404)_Adherence_(VFC0001)", + "start": 65335, + "virulence_factor": "ECP" + }, + "GOMEMAFE_01357": { + "chr": 10, + "end": 66539, + "gene": "yagZ/ecpA", + "id": "VF0404", + "product": "ECP_(VF0404)_Adherence_(VFC0001)", + "start": 65952, + "virulence_factor": "ECP" + }, + "GOMEMAFE_01358": { + "chr": 10, + "end": 67264, + "gene": "yagY/ecpB", + "id": "VF0404", + "product": "ECP_(VF0404)_Adherence_(VFC0001)", + "start": 66596, + "virulence_factor": "ECP" + }, + "GOMEMAFE_01359": { + "chr": 10, + "end": 69815, + "gene": "yagX/ecpC", + "id": "VF0404", + "product": "ECP_(VF0404)_Adherence_(VFC0001)", + "start": 67290, + "virulence_factor": "ECP" + }, + "GOMEMAFE_01360": { + "chr": 10, + "end": 71448, + "gene": "yagW/ecpD", + "id": "VF0404", + "product": "ECP_(VF0404)_Adherence_(VFC0001)", + "start": 69805, + "virulence_factor": "ECP" + }, + "GOMEMAFE_01361": { + "chr": 10, + "end": 72127, + "gene": "yagV/ecpE", + "id": "VF0404", + "product": "ECP_(VF0404)_Adherence_(VFC0001)", + "start": 71417, + "virulence_factor": "ECP" + }, + "GOMEMAFE_01395": { + "chr": 11, + "end": 6438, + "gene": "ompA", + "id": "VF0236", + "product": "OmpA_(VF0236)_Invasion_(VFC0083)", + "start": 5386, + "virulence_factor": "OmpA" + }, + "GOMEMAFE_02065": { + "chr": 18, + "end": 14623, + "gene": "clbA", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 13889, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02067": { + "chr": 18, + "end": 24866, + "gene": "clbB", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 15246, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02068": { + "chr": 18, + "end": 27507, + "gene": "clbC", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 24907, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02069": { + "chr": 18, + "end": 28386, + "gene": "clbD", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 27520, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02070": { + "chr": 18, + "end": 28664, + "gene": "clbE", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 28416, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02071": { + "chr": 18, + "end": 29798, + "gene": "clbF", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 28668, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02072": { + "chr": 18, + "end": 31063, + "gene": "clbG", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 29795, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02073": { + "chr": 18, + "end": 35907, + "gene": "clbH", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 31111, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02074": { + "chr": 18, + "end": 38989, + "gene": "clbI", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 35957, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02076": { + "chr": 18, + "end": 47811, + "gene": "clbL", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 46348, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02077": { + "chr": 18, + "end": 49312, + "gene": "clbM", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 47873, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02078": { + "chr": 18, + "end": 53676, + "gene": "clbN", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 49309, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02079": { + "chr": 18, + "end": 56166, + "gene": "clbO", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 53707, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02080": { + "chr": 18, + "end": 57693, + "gene": "clbP", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 56188, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02081": { + "chr": 18, + "end": 58408, + "gene": "clbQ", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 57686, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02082": { + "chr": 18, + "end": 58955, + "gene": "clbS", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 58443, + "virulence_factor": "Colibactin" + }, + "GOMEMAFE_02097": { + "chr": 18, + "end": 76365, + "gene": "fyuA/psn", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 74344, + "virulence_factor": "Yersiniabactin" + }, + "GOMEMAFE_02098": { + "chr": 18, + "end": 78073, + "gene": "ybtE", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 76496, + "virulence_factor": "Yersiniabactin" + }, + "GOMEMAFE_02099": { + "chr": 18, + "end": 78880, + "gene": "ybtT", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 78077, + "virulence_factor": "Yersiniabactin" + }, + "GOMEMAFE_02100": { + "chr": 18, + "end": 79977, + "gene": "ybtU", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 78877, + "virulence_factor": "Yersiniabactin" + }, + "GOMEMAFE_02101": { + "chr": 18, + "end": 89465, + "gene": "irp1", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 79974, + "virulence_factor": "Yersiniabactin" + }, + "GOMEMAFE_02387": { + "chr": 22, + "end": 54753, + "gene": "tcpC", + "id": "VF0413", + "product": "TcpC_(VF0413)_Immune_modulation_(VFC0258)", + "start": 53830, + "virulence_factor": "TcpC" + }, + "GOMEMAFE_02411": { + "chr": 22, + "end": 71986, + "gene": "ybtS", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 70682, + "virulence_factor": "Yersiniabactin" + }, + "GOMEMAFE_02412": { + "chr": 22, + "end": 73294, + "gene": "ybtX", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 72014, + "virulence_factor": "Yersiniabactin" + }, + "GOMEMAFE_02413": { + "chr": 22, + "end": 75089, + "gene": "ybtQ", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 73287, + "virulence_factor": "Yersiniabactin" + }, + "GOMEMAFE_02414": { + "chr": 22, + "end": 76878, + "gene": "ybtP", + "id": "VF0564", + "product": "Ybt_(VF0564)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 75076, + "virulence_factor": "Ybt" + }, + "GOMEMAFE_02415": { + "chr": 22, + "end": 78004, + "gene": "ybtA", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 77045, + "virulence_factor": "Yersiniabactin" + }, + "GOMEMAFE_02497": { + "chr": 24, + "end": 6286, + "gene": "fimB", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 5684, + "virulence_factor": "Type_1_fimbriae" + }, + "GOMEMAFE_02498": { + "chr": 24, + "end": 7360, + "gene": "fimE", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 6764, + "virulence_factor": "Type_1_fimbriae" + }, + "GOMEMAFE_02499": { + "chr": 24, + "end": 8389, + "gene": "fimA", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 7841, + "virulence_factor": "Type_1_fimbriae" + }, + "GOMEMAFE_02500": { + "chr": 24, + "end": 8993, + "gene": "fimI", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 8496, + "virulence_factor": "Type_1_fimbriae" + }, + "GOMEMAFE_02501": { + "chr": 24, + "end": 9755, + "gene": "fimC", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 9030, + "virulence_factor": "Type_1_fimbriae" + }, + "GOMEMAFE_02502": { + "chr": 24, + "end": 12457, + "gene": "fimD", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 9821, + "virulence_factor": "Type_1_fimbriae" + }, + "GOMEMAFE_02503": { + "chr": 24, + "end": 12997, + "gene": "fimF", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 12467, + "virulence_factor": "Type_1_fimbriae" + }, + "GOMEMAFE_02504": { + "chr": 24, + "end": 13513, + "gene": "fimG", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 13010, + "virulence_factor": "Type_1_fimbriae" + }, + "GOMEMAFE_02505": { + "chr": 24, + "end": 14435, + "gene": "fimH", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 13533, + "virulence_factor": "Type_1_fimbriae" + }, + "GOMEMAFE_02926": { + "chr": 29, + "end": 63235, + "gene": "csgC", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 62903, + "virulence_factor": "Curli_fibers" + }, + "GOMEMAFE_02927": { + "chr": 29, + "end": 63752, + "gene": "csgA", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 63294, + "virulence_factor": "Curli_fibers" + }, + "GOMEMAFE_02928": { + "chr": 29, + "end": 64248, + "gene": "csgB", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 63793, + "virulence_factor": "Curli_fibers" + }, + "GOMEMAFE_02929": { + "chr": 29, + "end": 65651, + "gene": "cgsD", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 65001, + "virulence_factor": "Curli_fibers" + }, + "GOMEMAFE_02930": { + "chr": 29, + "end": 66045, + "gene": "cgsE", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 65656, + "virulence_factor": "Curli_fibers" + }, + "GOMEMAFE_02931": { + "chr": 29, + "end": 66486, + "gene": "cgsF", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 66070, + "virulence_factor": "Curli_fibers" + }, + "GOMEMAFE_02932": { + "chr": 29, + "end": 67346, + "gene": "cgsG", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 66513, + "virulence_factor": "Curli_fibers" + }, + "GOMEMAFE_03479": { + "chr": 40, + "end": 30866, + "gene": "chuS", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 29838, + "virulence_factor": "Chu" + }, + "GOMEMAFE_03480": { + "chr": 40, + "end": 32897, + "gene": "chuA", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 30915, + "virulence_factor": "Chu" + }, + "GOMEMAFE_03481": { + "chr": 40, + "end": 34495, + "gene": "chuT", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 33581, + "virulence_factor": "Chu" + }, + "GOMEMAFE_03482": { + "chr": 40, + "end": 35852, + "gene": "chuW", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 34515, + "virulence_factor": "Chu" + }, + "GOMEMAFE_03483": { + "chr": 40, + "end": 36359, + "gene": "chuX", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 35865, + "virulence_factor": "Chu" + }, + "GOMEMAFE_03484": { + "chr": 40, + "end": 36982, + "gene": "chuY", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 36359, + "virulence_factor": "Chu" + }, + "GOMEMAFE_03485": { + "chr": 40, + "end": 38023, + "gene": "chuU", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 37067, + "virulence_factor": "Chu" + }, + "GOMEMAFE_03486": { + "chr": 40, + "end": 38790, + "gene": "chuV", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 38020, + "virulence_factor": "Chu" + }, + "GOMEMAFE_03961": { + "chr": 54, + "end": 14701, + "gene": "iucA", + "id": "VF0229", + "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 12977, + "virulence_factor": "Aerobactin" + }, + "GOMEMAFE_03962": { + "chr": 54, + "end": 15649, + "gene": "iucB", + "id": "VF0229", + "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 14702, + "virulence_factor": "Aerobactin" + }, + "GOMEMAFE_03963": { + "chr": 54, + "end": 17391, + "gene": "iucC", + "id": "VF0229", + "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 15649, + "virulence_factor": "Aerobactin" + }, + "GOMEMAFE_03964": { + "chr": 54, + "end": 18725, + "gene": "iucD", + "id": "VF0229", + "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 17388, + "virulence_factor": "Aerobactin" + }, + "GOMEMAFE_03965": { + "chr": 54, + "end": 20926, + "gene": "iutA", + "id": "VF0229", + "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 18728, + "virulence_factor": "Aerobactin" + }, + "GOMEMAFE_03966": { + "chr": 54, + "end": 25757, + "gene": "sat", + "id": "VF0231", + "product": "Sat_(VF0231)_Effector_delivery_system_(VFC0086)", + "start": 21870, + "virulence_factor": "Sat" + }, + "GOMEMAFE_04041": { + "chr": 57, + "end": 865, + "gene": "sfaY", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 125, + "virulence_factor": "F1C_fimbriae" + }, + "GOMEMAFE_04042": { + "chr": 57, + "end": 2179, + "gene": "focH", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 1169, + "virulence_factor": "F1C_fimbriae" + }, + "GOMEMAFE_04043": { + "chr": 57, + "end": 2633, + "gene": "focG", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 2130, + "virulence_factor": "F1C_fimbriae" + }, + "GOMEMAFE_04044": { + "chr": 57, + "end": 3182, + "gene": "focF", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 2655, + "virulence_factor": "F1C_fimbriae" + }, + "GOMEMAFE_04045": { + "chr": 57, + "end": 5825, + "gene": "focD", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 3195, + "virulence_factor": "F1C_fimbriae" + }, + "GOMEMAFE_04046": { + "chr": 57, + "end": 6590, + "gene": "focC", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 5895, + "virulence_factor": "F1C_fimbriae" + }, + "GOMEMAFE_04048": { + "chr": 57, + "end": 7783, + "gene": "focA", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 7241, + "virulence_factor": "F1C_fimbriae" + }, + "GOMEMAFE_04050": { + "chr": 57, + "end": 8484, + "gene": "C_RS05810", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 8155, + "virulence_factor": "F1C_fimbriae" + }, + "GOMEMAFE_04233": { + "chr": 65, + "end": 3808, + "gene": "hlyD", + "id": "VF0225", + "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", + "start": 2372, + "virulence_factor": "-Hemolysin" + }, + "GOMEMAFE_04234": { + "chr": 65, + "end": 5950, + "gene": "hlyB", + "id": "VF0225", + "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", + "start": 3827, + "virulence_factor": "-Hemolysin" + }, + "GOMEMAFE_04235": { + "chr": 65, + "end": 9095, + "gene": "hlyA", + "id": "VF0225", + "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", + "start": 6021, + "virulence_factor": "-Hemolysin" + }, + "GOMEMAFE_04236": { + "chr": 65, + "end": 9619, + "gene": "hlyC", + "id": "VF0225", + "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", + "start": 9107, + "virulence_factor": "-Hemolysin" + }, + "GOMEMAFE_04461": { + "chr": 79, + "end": 10628, + "gene": "pic", + "id": "VF0232", + "product": "Pic_(VF0232)_Effector_delivery_system_(VFC0086)", + "start": 6513, + "virulence_factor": "Pic" + }, + "GOMEMAFE_04500": { + "chr": 82, + "end": 705, + "gene": "papI", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 484, + "virulence_factor": "P_fimbriae" + }, + "GOMEMAFE_04502": { + "chr": 82, + "end": 2228, + "gene": "papA", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 1662, + "virulence_factor": "P_fimbriae" + }, + "GOMEMAFE_04503": { + "chr": 82, + "end": 2885, + "gene": "papH", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 2298, + "virulence_factor": "P_fimbriae" + }, + "GOMEMAFE_04504": { + "chr": 82, + "end": 5454, + "gene": "papC", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 2935, + "virulence_factor": "P_fimbriae" + }, + "GOMEMAFE_04505": { + "chr": 82, + "end": 6259, + "gene": "papD", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 5540, + "virulence_factor": "P_fimbriae" + }, + "GOMEMAFE_04506": { + "chr": 82, + "end": 6877, + "gene": "papJ", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 6296, + "virulence_factor": "P_fimbriae" + }, + "GOMEMAFE_04507": { + "chr": 82, + "end": 7423, + "gene": "papK", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 6887, + "virulence_factor": "P_fimbriae" + }, + "GOMEMAFE_04508": { + "chr": 82, + "end": 7971, + "gene": "papE", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 7450, + "virulence_factor": "P_fimbriae" + }, + "GOMEMAFE_04509": { + "chr": 82, + "end": 8546, + "gene": "papF", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 8046, + "virulence_factor": "P_fimbriae" + }, + "GOMEMAFE_04510": { + "chr": 82, + "end": 9600, + "gene": "papG", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 8590, + "virulence_factor": "P_fimbriae" + }, + "GOMEMAFE_04511": { + "chr": 82, + "end": 10414, + "gene": "papX", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 9914, + "virulence_factor": "P_fimbriae" + }, + "GOMEMAFE_04521": { + "chr": 84, + "end": 2357, + "gene": "iroN", + "id": "VF0230", + "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 180, + "virulence_factor": "Salmochelin_siderophore" + }, + "GOMEMAFE_04522": { + "chr": 84, + "end": 3358, + "gene": "iroE", + "id": "VF0230", + "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2402, + "virulence_factor": "Salmochelin_siderophore" + }, + "GOMEMAFE_04523": { + "chr": 84, + "end": 4672, + "gene": "iroD", + "id": "VF0230", + "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 3443, + "virulence_factor": "Salmochelin_siderophore" + }, + "GOMEMAFE_04524": { + "chr": 84, + "end": 8435, + "gene": "iroC", + "id": "VF0230", + "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 4776, + "virulence_factor": "Salmochelin_siderophore" + }, + "GOMEMAFE_04525": { + "chr": 84, + "end": 9690, + "gene": "iroB", + "id": "VF0230", + "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 8575, + "virulence_factor": "Salmochelin_siderophore" + }, + "total": 117 + }, + "Victors": { + "GOMEMAFE_00052": { + "contig": 1, + "end": 55001, + "id": "16766637", + "name": "stringent_starvation_protein_A", + "product": "gi|16766637|ref|NP_462252.1|stringent_starvation_protein_A_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 54363 + }, + "GOMEMAFE_00202": { + "contig": 2, + "end": 15799, + "id": "56480121", + "name": "inosine_5'-monophosphate_dehydrogenase", + "product": "gi|56480121|ref|NP_708347.2|inosine_5'-monophosphate_dehydrogenase_[Shigella_flexneri_2a_str._301]", + "start": 14333 + }, + "GOMEMAFE_00203": { + "contig": 2, + "end": 17445, + "id": "24113836", + "name": "GMP_synthase", + "product": "gi|24113836|ref|NP_708346.1|GMP_synthase_[Shigella_flexneri_2a_str._301]", + "start": 15868 + }, + "GOMEMAFE_00210": { + "contig": 2, + "end": 25360, + "id": "16765821", + "name": "polyphosphate_kinase", + "product": "gi|16765821|ref|NP_461436.1|polyphosphate_kinase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 23294 + }, + "GOMEMAFE_00332": { + "contig": 2, + "end": 160697, + "id": "24113718", + "name": "ABC_transporter_outer_membrane_lipoprotein", + "product": "gi|24113718|ref|NP_708228.1|ABC_transporter_outer_membrane_lipoprotein_[Shigella_flexneri_2a_str._301]", + "start": 159942 + }, + "GOMEMAFE_00347": { + "contig": 2, + "end": 177179, + "id": "16761308", + "name": "chorismate_synthase", + "product": "gi|16761308|ref|NP_456925.1|chorismate_synthase_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", + "start": 176094 + }, + "GOMEMAFE_00412": { + "contig": 3, + "end": 35117, + "id": "16766107", + "name": "transporter", + "product": "gi|16766107|ref|NP_461722.1|transporter_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 34959 + }, + "GOMEMAFE_00532": { + "contig": 3, + "end": 151626, + "id": "16766264", + "name": "sensory_histidine_kinase", + "product": "gi|16766264|ref|NP_461879.1|sensory_histidine_kinase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 148870 + }, + "GOMEMAFE_00610": { + "contig": 4, + "end": 53280, + "id": "16764663", + "name": "PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB", + "product": "gi|16764663|ref|NP_460278.1|PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 52960 + }, + "GOMEMAFE_00614": { + "contig": 4, + "end": 57429, + "id": "16764667", + "name": "phospho-beta-glucosidase", + "product": "gi|16764667|ref|NP_460282.1|phospho-beta-glucosidase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 56077 + }, + "GOMEMAFE_00654": { + "contig": 4, + "end": 97770, + "id": "24113082", + "name": "3-dehydroquinate_dehydratase", + "product": "gi|24113082|ref|NP_707592.1|3-dehydroquinate_dehydratase_[Shigella_flexneri_2a_str._301]", + "start": 97012 + }, + "GOMEMAFE_00692": { + "contig": 4, + "end": 136890, + "id": "24113046", + "name": "superoxide_dismutase", + "product": "gi|24113046|ref|NP_707556.1|superoxide_dismutase_[Shigella_flexneri_2a_str._301]", + "start": 136309 + }, + "GOMEMAFE_00705": { + "contig": 4, + "end": 147503, + "id": "161353603", + "name": "transcriptional_regulator_SlyA", + "product": "gi|161353603|ref|NP_460407.2|transcriptional_regulator_SlyA_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 147069 + }, + "GOMEMAFE_00743": { + "contig": 5, + "end": 28342, + "id": "82776181", + "name": "porin", + "product": "gi|82776181|ref|YP_402530.1|porin_[Shigella_dysenteriae_Sd197]", + "start": 27215 + }, + "GOMEMAFE_00947": { + "contig": 6, + "end": 130103, + "id": "117626134", + "name": "protein_disulfide_isomerase_I", + "product": "gi|117626134|ref|YP_859457.1|protein_disulfide_isomerase_I_[Escherichia_coli_APEC_O1]", + "start": 129477 + }, + "GOMEMAFE_00948": { + "contig": 6, + "end": 131106, + "id": "82778968", + "name": "serine/threonine_protein_kinase", + "product": "gi|82778968|ref|YP_405317.1|serine/threonine_protein_kinase_[Shigella_dysenteriae_Sd197]", + "start": 130120 + }, + "GOMEMAFE_01125": { + "contig": 8, + "end": 51666, + "id": "16764006", + "name": "RNA_chaperone", + "product": "gi|16764006|ref|NP_459621.1|RNA_chaperone_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 51457 + }, + "GOMEMAFE_01150": { + "contig": 8, + "end": 77582, + "id": "16763977", + "name": "carbon_starvation_protein", + "product": "gi|16763977|ref|NP_459592.1|carbon_starvation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 75477 + }, + "GOMEMAFE_01198": { + "contig": 9, + "end": 12945, + "id": "16765159", + "name": "long-chain-fatty-acid--CoA_ligase", + "product": "gi|16765159|ref|NP_460774.1|long-chain-fatty-acid--CoA_ligase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 11194 + }, + "GOMEMAFE_01216": { + "contig": 9, + "end": 30568, + "id": "15802236", + "name": "cold_shock-like_protein_CspC", + "product": "gi|15802236|ref|NP_288259.1|cold_shock-like_protein_CspC_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 30359 + }, + "GOMEMAFE_01249": { + "contig": 9, + "end": 63327, + "id": "30063266", + "name": "lipid_A_biosynthesis_(KDO)2-(lauroyl)-lipid_IVA_acyltransferase", + "product": "gi|30063266|ref|NP_837437.1|lipid_A_biosynthesis_(KDO)2-(lauroyl)-lipid_IVA_acyltransferase_[Shigella_flexneri_2a_str._2457T]", + "start": 62356 + }, + "GOMEMAFE_01252": { + "contig": 9, + "end": 66550, + "id": "39546331", + "name": "zinc_ABC_transporter_ATP-binding_protein_ZnuC", + "product": "gi|39546331|ref|NP_460849.2|zinc_ABC_transporter_ATP-binding_protein_ZnuC_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 65795 + }, + "GOMEMAFE_01253": { + "contig": 9, + "end": 67332, + "id": "16765235", + "name": "zinc_ABC_transporter_permease_ZnuB", + "product": "gi|16765235|ref|NP_460850.1|zinc_ABC_transporter_permease_ZnuB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 66547 + }, + "GOMEMAFE_01357": { + "contig": 10, + "end": 66539, + "id": "215485400", + "name": "fimbrillin_precursor", + "product": "gi|215485400|ref|YP_002327831.1|fimbrillin_precursor_[Escherichia_coli_O127:H6_str._E2348/69]", + "start": 65952 + }, + "GOMEMAFE_01377": { + "contig": 10, + "end": 92857, + "id": "16763696", + "name": "DNA_polymerase_IV", + "product": "gi|16763696|ref|NP_459311.1|DNA_polymerase_IV_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 91802 + }, + "GOMEMAFE_01383": { + "contig": 10, + "end": 98994, + "id": "16759305", + "name": "phosphoheptose_isomerase", + "product": "gi|16759305|ref|NP_454922.1|phosphoheptose_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", + "start": 98416 + }, + "GOMEMAFE_01395": { + "contig": 11, + "end": 6438, + "id": "26246978", + "name": "outer_membrane_protein_A", + "product": "gi|26246978|ref|NP_753018.1|outer_membrane_protein_A_[Escherichia_coli_CFT073]", + "start": 5386 + }, + "GOMEMAFE_01407": { + "contig": 11, + "end": 20538, + "id": "16764417", + "name": "dihydroorotate_dehydrogenase_2", + "product": "gi|16764417|ref|NP_460032.1|dihydroorotate_dehydrogenase_2_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 19528 + }, + "GOMEMAFE_01437": { + "contig": 11, + "end": 59455, + "id": "82544646", + "name": "3-phosphoshikimate_1-carboxyvinyltransferase", + "product": "gi|82544646|ref|YP_408593.1|3-phosphoshikimate_1-carboxyvinyltransferase_[Shigella_boydii_Sb227]", + "start": 58172 + }, + "GOMEMAFE_01443": { + "contig": 11, + "end": 67927, + "id": "161353606", + "name": "pyruvate_formate_lyase-activating_enzyme_1", + "product": "gi|161353606|ref|NP_459945.2|pyruvate_formate_lyase-activating_enzyme_1_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 67187 + }, + "GOMEMAFE_01454": { + "contig": 11, + "end": 84012, + "id": "15800751", + "name": "thioredoxin_reductase", + "product": "gi|15800751|ref|NP_286765.1|thioredoxin_reductase_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 82942 + }, + "GOMEMAFE_01545": { + "contig": 12, + "end": 57024, + "id": "16764228", + "name": "multidrug_translocase", + "product": "gi|16764228|ref|NP_459843.1|multidrug_translocase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 55792 + }, + "GOMEMAFE_01591": { + "contig": 13, + "end": 2045, + "id": "16767432", + "name": "homoserine_O-succinyltransferase", + "product": "gi|16767432|ref|NP_463047.1|homoserine_O-succinyltransferase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1116 + }, + "GOMEMAFE_01820": { + "contig": 15, + "end": 48312, + "id": "22124023", + "name": "bifunctional_(p)ppGpp_synthetase_II/_guanosine-3',5'-bis_pyrophosphate_3'-pyrophosphohydrolase", + "product": "gi|22124023|ref|NP_667446.1|bifunctional_(p)ppGpp_synthetase_II/_guanosine-3',5'-bis_pyrophosphate_3'-pyrophosphohydrolase_[Yersinia_pestis_KIM10+]", + "start": 46204 + }, + "GOMEMAFE_01852": { + "contig": 15, + "end": 78482, + "id": "15804159", + "name": "glycosyl_transferase", + "product": "gi|15804159|ref|NP_290198.1|glycosyl_transferase_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 77448 + }, + "GOMEMAFE_01878": { + "contig": 16, + "end": 6324, + "id": "16766742", + "name": "FKBP-type_peptidyl-prolyl_cis-trans_isomerase", + "product": "gi|16766742|ref|NP_462357.1|FKBP-type_peptidyl-prolyl_cis-trans_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 5512 + }, + "GOMEMAFE_01880": { + "contig": 16, + "end": 7402, + "id": "16766744", + "name": "FKBP-type_peptidyl-prolyl_cis-trans_isomerase", + "product": "gi|16766744|ref|NP_462359.1|FKBP-type_peptidyl-prolyl_cis-trans_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 6812 + }, + "GOMEMAFE_01889": { + "contig": 16, + "end": 15657, + "id": "16766754", + "name": "cAMP-activated_global_transcriptional_regulator", + "product": "gi|16766754|ref|NP_462369.1|cAMP-activated_global_transcriptional_regulator_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 15025 + }, + "GOMEMAFE_01913": { + "contig": 16, + "end": 39482, + "id": "16766772", + "name": "DNA_adenine_methylase", + "product": "gi|16766772|ref|NP_462387.1|DNA_adenine_methylase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 38646 + }, + "GOMEMAFE_01932": { + "contig": 16, + "end": 60249, + "id": "24114667", + "name": "osmolarity_sensor_protein", + "product": "gi|24114667|ref|NP_709177.1|osmolarity_sensor_protein_[Shigella_flexneri_2a_str._301]", + "start": 58897 + }, + "GOMEMAFE_01933": { + "contig": 16, + "end": 60965, + "id": "56480330", + "name": "osmolarity_response_regulator", + "product": "gi|56480330|ref|NP_709178.2|osmolarity_response_regulator_[Shigella_flexneri_2a_str._301]", + "start": 60246 + }, + "GOMEMAFE_01959": { + "contig": 17, + "end": 1426, + "id": "117623375", + "name": "Mn+2/Fe+2_ABC_transporter_ATPase_SitB", + "product": "gi|117623375|ref|YP_852288.1|Mn+2/Fe+2_ABC_transporter_ATPase_SitB_[Escherichia_coli_APEC_O1]", + "start": 599 + }, + "GOMEMAFE_01960": { + "contig": 17, + "end": 2340, + "id": "82776740", + "name": "iron_ABC_transporter_substrate-binding_protein", + "product": "gi|82776740|ref|YP_403089.1|iron_ABC_transporter_substrate-binding_protein_[Shigella_dysenteriae_Sd197]", + "start": 1426 + }, + "GOMEMAFE_02009": { + "contig": 17, + "end": 49878, + "id": "117623421", + "name": "GTP-dependent_nucleic_acid-binding_protein_EngD", + "product": "gi|117623421|ref|YP_852334.1|GTP-dependent_nucleic_acid-binding_protein_EngD_[Escherichia_coli_APEC_O1]", + "start": 48787 + }, + "GOMEMAFE_02049": { + "contig": 17, + "end": 89526, + "id": "24112632", + "name": "UTP-glucose-1-phosphate_uridylyltransferase", + "product": "gi|24112632|ref|NP_707142.1|UTP-glucose-1-phosphate_uridylyltransferase_[Shigella_flexneri_2a_str._301]", + "start": 88618 + }, + "GOMEMAFE_02050": { + "contig": 17, + "end": 90083, + "id": "16765095", + "name": "DNA-binding_protein_H-NS", + "product": "gi|16765095|ref|NP_460710.1|DNA-binding_protein_H-NS_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 89670 + }, + "GOMEMAFE_02097": { + "contig": 18, + "end": 76365, + "id": "162421186", + "name": "yersiniabactin/pesticin_receptor_FyuA", + "product": "gi|162421186|ref|YP_001606551.1|yersiniabactin/pesticin_receptor_FyuA_[Yersinia_pestis_Angola]", + "start": 74344 + }, + "GOMEMAFE_02101": { + "contig": 18, + "end": 89465, + "id": "123442840", + "name": "yersiniabactin_biosynthetic_protein", + "product": "gi|123442840|ref|YP_001006816.1|yersiniabactin_biosynthetic_protein_[Yersinia_enterocolitica_subsp._enterocolitica_8081]", + "start": 79974 + }, + "GOMEMAFE_02165": { + "contig": 19, + "end": 66072, + "id": "16763823", + "name": "cytochrome_o_ubiquinol_oxidase_subunit_I", + "product": "gi|16763823|ref|NP_459438.1|cytochrome_o_ubiquinol_oxidase_subunit_I_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 64081 + }, + "GOMEMAFE_02171": { + "contig": 19, + "end": 72730, + "id": "16763829", + "name": "ATP-dependent_Clp_protease_proteolytic_subunit", + "product": "gi|16763829|ref|NP_459444.1|ATP-dependent_Clp_protease_proteolytic_subunit_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 72107 + }, + "GOMEMAFE_02306": { + "contig": 21, + "end": 55724, + "id": "228960701", + "name": "heat_shock_protein_IbpA", + "product": "gi|228960701|ref|NP_462709.3|heat_shock_protein_IbpA_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 55311 + }, + "GOMEMAFE_02334": { + "contig": 22, + "end": 4351, + "id": "26248190", + "name": "flagellin", + "product": "gi|26248190|ref|NP_754230.1|flagellin_[Escherichia_coli_CFT073]", + "start": 2564 + }, + "GOMEMAFE_02359": { + "contig": 22, + "end": 25720, + "id": "16765318", + "name": "flagellar_biosynthesis_protein_FliQ", + "product": "gi|16765318|ref|NP_460933.1|flagellar_biosynthesis_protein_FliQ_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 25451 + }, + "GOMEMAFE_02414": { + "contig": 22, + "end": 76878, + "id": "22126281", + "name": "permease_and_ATP-binding_protein_of_yersiniabactin-iron_ABC_transporter", + "product": "gi|22126281|ref|NP_669704.1|permease_and_ATP-binding_protein_of_yersiniabactin-iron_ABC_transporter_[Yersinia_pestis_KIM10+]", + "start": 75076 + }, + "GOMEMAFE_02427": { + "contig": 23, + "end": 12385, + "id": "16764996", + "name": "universal_stress_protein_F", + "product": "gi|16764996|ref|NP_460611.1|universal_stress_protein_F_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 11951 + }, + "GOMEMAFE_02500": { + "contig": 24, + "end": 8993, + "id": "26251202", + "name": "fimbrin-like_protein_fimI", + "product": "gi|26251202|ref|NP_757242.1|fimbrin-like_protein_fimI_[Escherichia_coli_CFT073]", + "start": 8496 + }, + "GOMEMAFE_02505": { + "contig": 24, + "end": 14435, + "id": "26251208", + "name": "FimH_protein", + "product": "gi|26251208|ref|NP_757248.1|FimH_protein_[Escherichia_coli_CFT073]", + "start": 13533 + }, + "GOMEMAFE_02533": { + "contig": 24, + "end": 46550, + "id": "16763338", + "name": "carbon_starvation_protein", + "product": "gi|16763338|ref|NP_458955.1|carbon_starvation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", + "start": 44400 + }, + "GOMEMAFE_02576": { + "contig": 25, + "end": 10680, + "id": "117626120", + "name": "transcriptional_activator_RfaH", + "product": "gi|117626120|ref|YP_859443.1|transcriptional_activator_RfaH_[Escherichia_coli_APEC_O1]", + "start": 10192 + }, + "GOMEMAFE_02639": { + "contig": 25, + "end": 76349, + "id": "91213321", + "name": "arylsulfatase", + "product": "gi|91213321|ref|YP_543307.1|arylsulfatase_[Escherichia_coli_UTI89]", + "start": 74694 + }, + "GOMEMAFE_02695": { + "contig": 26, + "end": 51269, + "id": "15803477", + "name": "arginine_decarboxylase", + "product": "gi|15803477|ref|NP_289510.1|arginine_decarboxylase_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 49293 + }, + "GOMEMAFE_02753": { + "contig": 27, + "end": 34917, + "id": "117625828", + "name": "dipeptide_transporter_protein_DppA", + "product": "gi|117625828|ref|YP_859151.1|dipeptide_transporter_protein_DppA_[Escherichia_coli_APEC_O1]", + "start": 33310 + }, + "GOMEMAFE_02816": { + "contig": 28, + "end": 29026, + "id": "110808097", + "name": "exoribonuclease_R", + "product": "gi|110808097|ref|YP_691617.1|exoribonuclease_R_[Shigella_flexneri_5_str._8401]", + "start": 26585 + }, + "GOMEMAFE_02823": { + "contig": 28, + "end": 35392, + "id": "24115527", + "name": "RNA-binding_protein_Hfq", + "product": "gi|24115527|ref|NP_710037.1|RNA-binding_protein_Hfq_[Shigella_flexneri_2a_str._301]", + "start": 35084 + }, + "GOMEMAFE_02824": { + "contig": 28, + "end": 36428, + "id": "82546588", + "name": "tRNA_delta(2)-isopentenylpyrophosphate_transferase", + "product": "gi|82546588|ref|YP_410535.1|tRNA_delta(2)-isopentenylpyrophosphate_transferase_[Shigella_boydii_Sb227]", + "start": 35478 + }, + "GOMEMAFE_02929": { + "contig": 29, + "end": 65651, + "id": "16764498", + "name": "DNA-binding_transcriptional_regulator_CsgD", + "product": "gi|16764498|ref|NP_460113.1|DNA-binding_transcriptional_regulator_CsgD_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 65001 + }, + "GOMEMAFE_02946": { + "contig": 30, + "end": 6116, + "id": "16763854", + "name": "cytoplasmic_protein", + "product": "gi|16763854|ref|NP_459469.1|cytoplasmic_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 5742 + }, + "GOMEMAFE_03151": { + "contig": 33, + "end": 51070, + "id": "24111499", + "name": "peptidyl-prolyl_cis-trans_isomerase_SurA", + "product": "gi|24111499|ref|NP_706009.1|peptidyl-prolyl_cis-trans_isomerase_SurA_[Shigella_flexneri_2a_str._301]", + "start": 49784 + }, + "GOMEMAFE_03157": { + "contig": 34, + "end": 1464, + "id": "187732326", + "name": "serine_endoprotease", + "product": "gi|187732326|ref|YP_001878964.1|serine_endoprotease_[Shigella_boydii_CDC_3083-94]", + "start": 40 + }, + "GOMEMAFE_03173": { + "contig": 34, + "end": 21989, + "id": "56479612", + "name": "RNA_polymerase-binding_transcription_factor", + "product": "gi|56479612|ref|NP_706093.2|RNA_polymerase-binding_transcription_factor_[Shigella_flexneri_2a_str._301]", + "start": 21534 + }, + "GOMEMAFE_03331": { + "contig": 37, + "end": 29847, + "id": "16765496", + "name": "periplasmic_beta-glucosidase", + "product": "gi|16765496|ref|NP_461111.1|periplasmic_beta-glucosidase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 27580 + }, + "GOMEMAFE_03346": { + "contig": 37, + "end": 44397, + "id": "16765517", + "name": "NAD-dependent_dihydropyrimidine_dehydrogenase_subunit_PreA", + "product": "gi|16765517|ref|NP_461132.1|NAD-dependent_dihydropyrimidine_dehydrogenase_subunit_PreA_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 43162 + }, + "GOMEMAFE_03367": { + "contig": 38, + "end": 9937, + "id": "16765465", + "name": "protease", + "product": "gi|16765465|ref|NP_461080.1|protease_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 8576 + }, + "GOMEMAFE_03428": { + "contig": 39, + "end": 26216, + "id": "16765896", + "name": "ferredoxin", + "product": "gi|16765896|ref|NP_461511.1|ferredoxin_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 25956 + }, + "GOMEMAFE_03429": { + "contig": 39, + "end": 27120, + "id": "161367545", + "name": "DNA-binding_transcriptional_regulator", + "product": "gi|161367545|ref|NP_289117.2|DNA-binding_transcriptional_regulator_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 26272 + }, + "GOMEMAFE_03480": { + "contig": 40, + "end": 32897, + "id": "170681293", + "name": "outer_membrane_heme/hemoglobin_receptor_ChuA", + "product": "gi|170681293|ref|YP_001745768.1|outer_membrane_heme/hemoglobin_receptor_ChuA_[Escherichia_coli_SMS-3-5]", + "start": 30915 + }, + "GOMEMAFE_03491": { + "contig": 40, + "end": 42480, + "id": "110807348", + "name": "hypothetical_protein_SFV_3526", + "product": "gi|110807348|ref|YP_690868.1|hypothetical_protein_SFV_3526_[Shigella_flexneri_5_str._8401]", + "start": 41953 + }, + "GOMEMAFE_03568": { + "contig": 42, + "end": 39945, + "id": "16765878", + "name": "APC_family_lysine/cadaverine_transport_protein", + "product": "gi|16765878|ref|NP_461493.1|APC_family_lysine/cadaverine_transport_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 38611 + }, + "GOMEMAFE_03592": { + "contig": 43, + "end": 23530, + "id": "26248405", + "name": "phosphomannomutase", + "product": "gi|26248405|ref|NP_754445.1|phosphomannomutase_[Escherichia_coli_CFT073]", + "start": 22160 + }, + "GOMEMAFE_03601": { + "contig": 43, + "end": 34167, + "id": "16765428", + "name": "UTP--glucose-1-phosphate_uridylyltransferase_subunit_GalF", + "product": "gi|16765428|ref|NP_461043.1|UTP--glucose-1-phosphate_uridylyltransferase_subunit_GalF_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 33274 + }, + "GOMEMAFE_03779": { + "contig": 48, + "end": 15645, + "id": "218558181", + "name": "transporter", + "product": "gi|218558181|ref|YP_002391094.1|transporter_[Escherichia_coli_S88]", + "start": 14929 + }, + "GOMEMAFE_03802": { + "contig": 49, + "end": 5741, + "id": "16767200", + "name": "TDP-4-oxo-6-deoxy-D-glucose_transaminase", + "product": "gi|16767200|ref|NP_462815.1|TDP-4-oxo-6-deoxy-D-glucose_transaminase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 4611 + }, + "GOMEMAFE_03809": { + "contig": 49, + "end": 12971, + "id": "24115078", + "name": "undecaprenyl-phosphate_alpha-N-acetylglucosaminyl_1-phosphate_transferase", + "product": "gi|24115078|ref|NP_709588.1|undecaprenyl-phosphate_alpha-N-acetylglucosaminyl_1-phosphate_transferase_[Shigella_flexneri_2a_str._301]", + "start": 11868 + }, + "GOMEMAFE_03811": { + "contig": 49, + "end": 15126, + "id": "16767191", + "name": "thioredoxin", + "product": "gi|16767191|ref|NP_462806.1|thioredoxin_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 14797 + }, + "GOMEMAFE_03815": { + "contig": 49, + "end": 20578, + "id": "16767186", + "name": "peptidyl-prolyl_cis-trans_isomerase_C", + "product": "gi|16767186|ref|NP_462801.1|peptidyl-prolyl_cis-trans_isomerase_C_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 20297 + }, + "GOMEMAFE_03832": { + "contig": 50, + "end": 6463, + "id": "15799850", + "name": "methionine_aminopeptidase", + "product": "gi|15799850|ref|NP_285862.1|methionine_aminopeptidase_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 5669 + }, + "GOMEMAFE_03843": { + "contig": 50, + "end": 17659, + "id": "187734090", + "name": "periplasmic_chaperone", + "product": "gi|187734090|ref|YP_001878980.1|periplasmic_chaperone_[Shigella_boydii_CDC_3083-94]", + "start": 17174 + }, + "GOMEMAFE_03887": { + "contig": 52, + "end": 3306, + "id": "16767429", + "name": "phosphoribosylamine--glycine_ligase", + "product": "gi|16767429|ref|NP_463044.1|phosphoribosylamine--glycine_ligase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 2017 + }, + "GOMEMAFE_03894": { + "contig": 52, + "end": 8417, + "id": "16767423", + "name": "hypothetical_protein_STM4169", + "product": "gi|16767423|ref|NP_463038.1|hypothetical_protein_STM4169_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 7827 + }, + "GOMEMAFE_03913": { + "contig": 53, + "end": 2686, + "id": "16765976", + "name": "chaperone_protein_ClpB", + "product": "gi|16765976|ref|NP_461591.1|chaperone_protein_ClpB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 113 + }, + "GOMEMAFE_03961": { + "contig": 54, + "end": 14701, + "id": "26249462", + "name": "IucA_protein", + "product": "gi|26249462|ref|NP_755502.1|IucA_protein_[Escherichia_coli_CFT073]", + "start": 12977 + }, + "GOMEMAFE_03962": { + "contig": 54, + "end": 15649, + "id": "26249461", + "name": "IucB_protein", + "product": "gi|26249461|ref|NP_755501.1|IucB_protein_[Escherichia_coli_CFT073]", + "start": 14702 + }, + "GOMEMAFE_03963": { + "contig": 54, + "end": 17391, + "id": "26249460", + "name": "IucC_protein", + "product": "gi|26249460|ref|NP_755500.1|IucC_protein_[Escherichia_coli_CFT073]", + "start": 15649 + }, + "GOMEMAFE_03964": { + "contig": 54, + "end": 18725, + "id": "26249459", + "name": "IucD_protein", + "product": "gi|26249459|ref|NP_755499.1|IucD_protein_[Escherichia_coli_CFT073]", + "start": 17388 + }, + "GOMEMAFE_03965": { + "contig": 54, + "end": 20926, + "id": "26249458", + "name": "IutA_protein", + "product": "gi|26249458|ref|NP_755498.1|IutA_protein_[Escherichia_coli_CFT073]", + "start": 18728 + }, + "GOMEMAFE_03966": { + "contig": 54, + "end": 25757, + "id": "26249454", + "name": "secreted_auto_transporter_toxin", + "product": "gi|26249454|ref|NP_755494.1|secreted_auto_transporter_toxin_[Escherichia_coli_CFT073]", + "start": 21870 + }, + "GOMEMAFE_04033": { + "contig": 56, + "end": 21337, + "id": "24112549", + "name": "DNA-binding_transcriptional_regulator_PhoP", + "product": "gi|24112549|ref|NP_707059.1|DNA-binding_transcriptional_regulator_PhoP_[Shigella_flexneri_2a_str._301]", + "start": 20666 + }, + "GOMEMAFE_04184": { + "contig": 62, + "end": 16436, + "id": "16764908", + "name": "biofilm-dependent_modulation_protein", + "product": "gi|16764908|ref|NP_460523.1|biofilm-dependent_modulation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 16221 + }, + "GOMEMAFE_04235": { + "contig": 65, + "end": 9095, + "id": "26249405", + "name": "hemolysin_A", + "product": "gi|26249405|ref|NP_755445.1|hemolysin_A_[Escherichia_coli_CFT073]", + "start": 6021 + }, + "GOMEMAFE_04502": { + "contig": 82, + "end": 2228, + "id": "26249427", + "name": "PapA_protein", + "product": "gi|26249427|ref|NP_755467.1|PapA_protein_[Escherichia_coli_CFT073]", + "start": 1662 + }, + "GOMEMAFE_04510": { + "contig": 82, + "end": 9600, + "id": "117625201", + "name": "protein_PapG", + "product": "gi|117625201|ref|YP_854248.1|protein_PapG_[Escherichia_coli_APEC_O1]", + "start": 8590 + }, + "GOMEMAFE_04521": { + "contig": 84, + "end": 2357, + "id": "26247124", + "name": "outer_membrane_receptor_FepA", + "product": "gi|26247124|ref|NP_753164.1|outer_membrane_receptor_FepA_[Escherichia_coli_CFT073]", + "start": 180 + }, + "GOMEMAFE_04523": { + "contig": 84, + "end": 4672, + "id": "26247126", + "name": "ferric_enterochelin_esterase", + "product": "gi|26247126|ref|NP_753166.1|ferric_enterochelin_esterase_[Escherichia_coli_CFT073]", + "start": 3443 + }, + "GOMEMAFE_04524": { + "contig": 84, + "end": 8435, + "id": "26247127", + "name": "ABC_transporter_ATP-binding_protein", + "product": "gi|26247127|ref|NP_753167.1|ABC_transporter_ATP-binding_protein_[Escherichia_coli_CFT073]", + "start": 4776 + }, + "GOMEMAFE_04525": { + "contig": 84, + "end": 9690, + "id": "26247128", + "name": "glucosyltransferase", + "product": "gi|26247128|ref|NP_753168.1|glucosyltransferase_[Escherichia_coli_CFT073]", + "start": 8575 + }, + "GOMEMAFE_04635": { + "contig": 99, + "end": 4835, + "id": "16765285", + "name": "LuxR/UhpA_family_response_regulator", + "product": "gi|16765285|ref|NP_460900.1|LuxR/UhpA_family_response_regulator_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 4179 + }, + "total": 106 + } + } + }, + "ecoli_2": { + "MGE": {}, + "general_annotation": { + "cds": 11501, + "closest_reference": { + "accession": "GCF_000233895.1", + "distance": 0.0157891, + "strain": "Escherichia coli str. 'clone D i14'" + }, + "mlst": "null", + "rrna": 22, + "tmrna": 2, + "trna": 83 + }, + "plasmid": { + "plasmidfinder": {}, + "platon": {} + }, + "resistance": { + "amrfinderplus": { + "total": 0 + }, + "resfinder": { + "total": 0 + }, + "rgi": { + "ENGLJAIC_00316": { + "accession": 5921, + "card_aro": 3003843, + "contig": "contig_2", + "cut_off": "Strict", + "end": 151476, + "gene": "leuO", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 98.0, + "name": "HTH-type transcriptional regulator LeuO", + "resistance_mechanism": "antibiotic efflux", + "start": 151024, + "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_01058": { + "accession": 4594, + "card_aro": 3006880, + "contig": "contig_2", + "cut_off": "Strict", + "end": 484789, + "gene": "EC-5", + "gene_family": "EC beta-lactamase", + "identity": 95.12, + "name": "Beta-lactamase", + "resistance_mechanism": "antibiotic inactivation", + "start": 484637, + "subclass": "cephalosporin" + }, + "ENGLJAIC_01250": { + "accession": 516, + "card_aro": 3003576, + "contig": "contig_2", + "cut_off": "Strict", + "end": 578645, + "gene": "eptA", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 95.62, + "name": "Phosphoethanolamine transferase EptA", + "resistance_mechanism": "antibiotic target alteration", + "start": 577878, + "subclass": "peptide antibiotic" + }, + "ENGLJAIC_01251": { + "accession": 516, + "card_aro": 3003576, + "contig": "contig_2", + "cut_off": "Strict", + "end": 578895, + "gene": "eptA", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 98.48, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic target alteration", + "start": 578602, + "subclass": "peptide antibiotic" + }, + "ENGLJAIC_01326": { + "accession": 1442, + "card_aro": 3003548, + "contig": "contig_2", + "cut_off": "Strict", + "end": 608743, + "gene": "mdtN", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 96.12, + "name": "p-hydroxybenzoic acid efflux pump subunit AaeA", + "resistance_mechanism": "antibiotic efflux", + "start": 608195, + "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_01328": { + "accession": 1442, + "card_aro": 3003548, + "contig": "contig_2", + "cut_off": "Strict", + "end": 609170, + "gene": "mdtN", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 99.1, + "name": "Multidrug resistance protein MdtN", + "resistance_mechanism": "antibiotic efflux", + "start": 608835, + "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_01330": { + "accession": 2056, + "card_aro": 3003549, + "contig": "contig_2", + "cut_off": "Strict", + "end": 609448, + "gene": "mdtO", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 97.3, + "name": "Multidrug resistance protein MdtO", + "resistance_mechanism": "antibiotic efflux", + "start": 609332, + "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_01388": { + "accession": 1005, + "card_aro": 3003381, + "contig": "contig_2", + "cut_off": "Strict", + "end": 641280, + "gene": "Escherichia coli soxR with mutation conferring antibiotic resistance", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.55, + "name": "Redox-sensitive transcriptional activator SoxR", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", + "start": 640864, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_01389": { + "accession": 2066, + "card_aro": 3003511, + "contig": "contig_2", + "cut_off": "Strict", + "end": 641734, + "gene": "Escherichia coli soxS with mutation conferring antibiotic resistance", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", + "identity": 99.07, + "name": "Regulatory protein SoxS", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux; reduced permeability to antibiotic", + "start": 641411, + "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" + }, + "ENGLJAIC_01820": { + "accession": 152, + "card_aro": 3000830, + "contig": "contig_2", + "cut_off": "Strict", + "end": 846716, + "gene": "cpxA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Sensor histidine kinase CpxA", + "resistance_mechanism": "antibiotic efflux", + "start": 846453, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "ENGLJAIC_01821": { + "accession": 152, + "card_aro": 3000830, + "contig": "contig_2", + "cut_off": "Strict", + "end": 847156, + "gene": "cpxA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.17, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 846683, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "ENGLJAIC_01822": { + "accession": 152, + "card_aro": 3000830, + "contig": "contig_2", + "cut_off": "Strict", + "end": 847574, + "gene": "cpxA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.11, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 847308, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "ENGLJAIC_02732": { + "accession": 3828, + "card_aro": 3005096, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1271603, + "gene": "GPC-1", + "gene_family": "GPC beta-lactamase", + "identity": 100.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic inactivation", + "start": 1271334, + "subclass": "carbapenem" + }, + "ENGLJAIC_02840": { + "accession": 3791, + "card_aro": 3005047, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1322543, + "gene": "eptB", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 100.0, + "name": "Kdo(2)-lipid A phosphoethanolamine 7''-transferase", + "resistance_mechanism": "antibiotic target alteration", + "start": 1322406, + "subclass": "peptide antibiotic" + }, + "ENGLJAIC_02935": { + "accession": 121, + "card_aro": 3000796, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1368264, + "gene": "mdtF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Multidrug resistance protein MdtF", + "resistance_mechanism": "antibiotic efflux", + "start": 1368088, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "ENGLJAIC_02936": { + "accession": 121, + "card_aro": 3000796, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1368650, + "gene": "mdtF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 97.46, + "name": "Multidrug resistance protein MdtF", + "resistance_mechanism": "antibiotic efflux", + "start": 1368288, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "ENGLJAIC_02937": { + "accession": 121, + "card_aro": 3000796, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1369453, + "gene": "mdtF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 97.34, + "name": "Multidrug resistance protein MdtF", + "resistance_mechanism": "antibiotic efflux", + "start": 1368647, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "ENGLJAIC_02938": { + "accession": 121, + "card_aro": 3000796, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1370100, + "gene": "mdtF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.07, + "name": "Multidrug resistance protein MdtF", + "resistance_mechanism": "antibiotic efflux", + "start": 1369453, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "ENGLJAIC_02940": { + "accession": 121, + "card_aro": 3000796, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1370750, + "gene": "mdtF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "2A0602: RND transporter, hydrophobe/amphiphile efflux-1 (HAE1) family", + "resistance_mechanism": "antibiotic efflux", + "start": 1370472, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "ENGLJAIC_02941": { + "accession": 121, + "card_aro": 3000796, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1371106, + "gene": "mdtF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 97.27, + "name": "Multidrug resistance protein MdtF", + "resistance_mechanism": "antibiotic efflux", + "start": 1370750, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "ENGLJAIC_02942": { + "accession": 1903, + "card_aro": 3000795, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1371483, + "gene": "mdtE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.97, + "name": "Multidrug resistance protein MdtE", + "resistance_mechanism": "antibiotic efflux", + "start": 1371184, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "ENGLJAIC_02943": { + "accession": 1903, + "card_aro": 3000795, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1371959, + "gene": "mdtE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 97.48, + "name": "Multidrug resistance protein MdtE", + "resistance_mechanism": "antibiotic efflux", + "start": 1371465, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "ENGLJAIC_02944": { + "accession": 1903, + "card_aro": 3000795, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1372336, + "gene": "mdtE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Multidrug resistance protein MdtE", + "resistance_mechanism": "antibiotic efflux", + "start": 1372190, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "ENGLJAIC_03332": { + "accession": 869, + "card_aro": 3000518, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1552408, + "gene": "CRP", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.11, + "name": "cAMP-activated global transcriptional regulator CRP", + "resistance_mechanism": "antibiotic efflux", + "start": 1552241, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "ENGLJAIC_03372": { + "accession": 2158, + "card_aro": 3003369, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1568832, + "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", + "gene_family": "elfamycin resistant EF-Tu", + "identity": 97.94, + "name": "Elongation factor Tu 1", + "resistance_mechanism": "antibiotic target alteration", + "start": 1567780, + "subclass": "elfamycin antibiotic" + }, + "ENGLJAIC_03495": { + "accession": 1437, + "card_aro": 3000502, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1621032, + "gene": "AcrF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.67, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 1620895, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "ENGLJAIC_03501": { + "accession": 1437, + "card_aro": 3000502, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1623183, + "gene": "AcrF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 95.35, + "name": "2A0602: RND transporter, hydrophobe/amphiphile efflux-1 (HAE1) family", + "resistance_mechanism": "antibiotic efflux", + "start": 1623010, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "ENGLJAIC_03502": { + "accession": 1437, + "card_aro": 3000502, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1623532, + "gene": "AcrF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.67, + "name": "Multidrug export protein AcrF", + "resistance_mechanism": "antibiotic efflux", + "start": 1623302, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "ENGLJAIC_03503": { + "accession": 1437, + "card_aro": 3000502, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1623740, + "gene": "AcrF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 95.24, + "name": "Multidrug export protein AcrF", + "resistance_mechanism": "antibiotic efflux", + "start": 1623516, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "ENGLJAIC_03504": { + "accession": 1445, + "card_aro": 3000499, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1624170, + "gene": "AcrE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 97.74, + "name": "Multidrug export protein AcrE", + "resistance_mechanism": "antibiotic efflux", + "start": 1623742, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "ENGLJAIC_03505": { + "accession": 1445, + "card_aro": 3000499, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1624446, + "gene": "AcrE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.36, + "name": "Multidrug export protein AcrE", + "resistance_mechanism": "antibiotic efflux", + "start": 1624270, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "ENGLJAIC_03506": { + "accession": 1445, + "card_aro": 3000499, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1624658, + "gene": "AcrE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 97.56, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 1624443, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "ENGLJAIC_03507": { + "accession": 1445, + "card_aro": 3000499, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1624910, + "gene": "AcrE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.49, + "name": "Multidrug export protein AcrE", + "resistance_mechanism": "antibiotic efflux", + "start": 1624719, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "ENGLJAIC_03508": { + "accession": 520, + "card_aro": 3000656, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1625638, + "gene": "AcrS", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 97.12, + "name": "HTH-type transcriptional regulator AcrR", + "resistance_mechanism": "antibiotic efflux", + "start": 1625309, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_03509": { + "accession": 520, + "card_aro": 3000656, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1625971, + "gene": "AcrS", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.55, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 1625795, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_03648": { + "accession": 2423, + "card_aro": 3003950, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1689806, + "gene": "msbA", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", + "identity": 100.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 1689705, + "subclass": "nitroimidazole antibiotic" + }, + "ENGLJAIC_03975": { + "accession": 1820, + "card_aro": 3002986, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1826320, + "gene": "bacA", + "gene_family": "undecaprenyl pyrophosphate related proteins", + "identity": 98.9, + "name": "Undecaprenyl-diphosphatase", + "resistance_mechanism": "antibiotic target alteration", + "start": 1825499, + "subclass": "peptide antibiotic" + }, + "ENGLJAIC_04035": { + "accession": 826, + "card_aro": 3000237, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1855075, + "gene": "TolC", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 95.45, + "name": "type_I_sec_TolC: type I secretion outer membrane protein, TolC family", + "resistance_mechanism": "antibiotic efflux", + "start": 1854881, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; aminoglycoside antibiotic; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; peptide antibiotic; aminocoumarin antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" + }, + "ENGLJAIC_04036": { + "accession": 826, + "card_aro": 3000237, + "contig": "contig_2", + "cut_off": "Strict", + "end": 1855304, + "gene": "TolC", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.63, + "name": "Outer membrane protein TolC", + "resistance_mechanism": "antibiotic efflux", + "start": 1855062, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; aminoglycoside antibiotic; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; peptide antibiotic; aminocoumarin antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" + }, + "ENGLJAIC_04652": { + "accession": 1246, + "card_aro": 3002525, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2135426, + "gene": "AAC(2')-Ic", + "gene_family": "AAC(2')", + "identity": 100.0, + "name": "Single-stranded-DNA-specific exonuclease RecJ", + "resistance_mechanism": "antibiotic inactivation", + "start": 2135265, + "subclass": "aminoglycoside antibiotic" + }, + "ENGLJAIC_04970": { + "accession": 5746, + "card_aro": 3007033, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2279938, + "gene": "Erm(51)", + "gene_family": "Erm 23S ribosomal RNA methyltransferase", + "identity": 100.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic target alteration", + "start": 2279693, + "subclass": "macrolide antibiotic; lincosamide antibiotic; streptogramin antibiotic; streptogramin B antibiotic" + }, + "ENGLJAIC_05209": { + "accession": 1757, + "card_aro": 3000027, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2378148, + "gene": "emrA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 97.31, + "name": "Multidrug export protein EmrA", + "resistance_mechanism": "antibiotic efflux", + "start": 2377144, + "subclass": "fluoroquinolone antibiotic" + }, + "ENGLJAIC_05210": { + "accession": 1757, + "card_aro": 3000027, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2378315, + "gene": "emrA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 2378100, + "subclass": "fluoroquinolone antibiotic" + }, + "ENGLJAIC_05211": { + "accession": 1330, + "card_aro": 3000516, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2378797, + "gene": "emrR", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 2378312, + "subclass": "fluoroquinolone antibiotic" + }, + "ENGLJAIC_05212": { + "accession": 1330, + "card_aro": 3000516, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2378970, + "gene": "emrR", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 96.3, + "name": "Transcriptional repressor MprA", + "resistance_mechanism": "antibiotic efflux", + "start": 2378788, + "subclass": "fluoroquinolone antibiotic" + }, + "ENGLJAIC_05714": { + "accession": 1427, + "card_aro": 3000491, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2608709, + "gene": "acrD", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "2A0602: RND transporter, hydrophobe/amphiphile efflux-1 (HAE1) family", + "resistance_mechanism": "antibiotic efflux", + "start": 2608488, + "subclass": "aminoglycoside antibiotic" + }, + "ENGLJAIC_05715": { + "accession": 1427, + "card_aro": 3000491, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2609112, + "gene": "acrD", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.55, + "name": "2A0602: RND transporter, hydrophobe/amphiphile efflux-1 (HAE1) family", + "resistance_mechanism": "antibiotic efflux", + "start": 2608777, + "subclass": "aminoglycoside antibiotic" + }, + "ENGLJAIC_05717": { + "accession": 1427, + "card_aro": 3000491, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2609827, + "gene": "acrD", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 97.16, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 2609357, + "subclass": "aminoglycoside antibiotic" + }, + "ENGLJAIC_05718": { + "accession": 1427, + "card_aro": 3000491, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2610038, + "gene": "acrD", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.63, + "name": "Multidrug export protein AcrF", + "resistance_mechanism": "antibiotic efflux", + "start": 2609769, + "subclass": "aminoglycoside antibiotic" + }, + "ENGLJAIC_05720": { + "accession": 1427, + "card_aro": 3000491, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2610726, + "gene": "acrD", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.33, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 2610256, + "subclass": "aminoglycoside antibiotic" + }, + "ENGLJAIC_05721": { + "accession": 1427, + "card_aro": 3000491, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2611622, + "gene": "acrD", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.63, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 2610708, + "subclass": "aminoglycoside antibiotic" + }, + "ENGLJAIC_06172": { + "accession": 2014, + "card_aro": 3003578, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2816114, + "gene": "PmrF", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 97.62, + "name": "Undecaprenyl-phosphate 4-deoxy-4-formamido-L-arabinose transferase", + "resistance_mechanism": "antibiotic target alteration", + "start": 2815950, + "subclass": "peptide antibiotic" + }, + "ENGLJAIC_06173": { + "accession": 2014, + "card_aro": 3003578, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2816322, + "gene": "PmrF", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 98.44, + "name": "Undecaprenyl-phosphate 4-deoxy-4-formamido-L-arabinose transferase", + "resistance_mechanism": "antibiotic target alteration", + "start": 2816098, + "subclass": "peptide antibiotic" + }, + "ENGLJAIC_06208": { + "accession": 2372, + "card_aro": 3003889, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2832187, + "gene": "Escherichia coli GlpT with mutation conferring resistance to fosfomycin", + "gene_family": "antibiotic-resistant GlpT", + "identity": 98.85, + "name": "Glycerol-3-phosphate transporter", + "resistance_mechanism": "antibiotic target alteration", + "start": 2831924, + "subclass": "phosphonic acid antibiotic" + }, + "ENGLJAIC_06285": { + "accession": 2271, + "card_aro": 3000510, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2870483, + "gene": "Staphylococcus aureus mupB conferring resistance to mupirocin", + "gene_family": "antibiotic-resistant isoleucyl-tRNA synthetase (ileS)", + "identity": 100.0, + "name": "Outer membrane porin C", + "resistance_mechanism": "antibiotic target alteration", + "start": 2870355, + "subclass": "mupirocin-like antibiotic" + }, + "ENGLJAIC_06294": { + "accession": 2424, + "card_aro": 3003952, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2874556, + "gene": "YojI", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", + "identity": 100.0, + "name": "ABC transporter ATP-binding/permease protein YojI", + "resistance_mechanism": "antibiotic efflux", + "start": 2874224, + "subclass": "peptide antibiotic" + }, + "ENGLJAIC_06295": { + "accession": 2424, + "card_aro": 3003952, + "contig": "contig_2", + "cut_off": "Strict", + "end": 2875301, + "gene": "YojI", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", + "identity": 96.44, + "name": "ABC transporter ATP-binding/permease protein YojI", + "resistance_mechanism": "antibiotic efflux", + "start": 2874606, + "subclass": "peptide antibiotic" + }, + "ENGLJAIC_06627": { + "accession": 1337, + "card_aro": 3000828, + "contig": "contig_2", + "cut_off": "Strict", + "end": 3018357, + "gene": "baeR", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.68, + "name": "Transcriptional regulatory protein BaeR", + "resistance_mechanism": "antibiotic efflux", + "start": 3018079, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "ENGLJAIC_06628": { + "accession": 986, + "card_aro": 3000829, + "contig": "contig_2", + "cut_off": "Strict", + "end": 3019719, + "gene": "baeS", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.46, + "name": "Signal transduction histidine-protein kinase BaeS", + "resistance_mechanism": "antibiotic efflux", + "start": 3019120, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "ENGLJAIC_06629": { + "accession": 986, + "card_aro": 3000829, + "contig": "contig_2", + "cut_off": "Strict", + "end": 3020227, + "gene": "baeS", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 95.21, + "name": "Signal transduction histidine-protein kinase BaeS", + "resistance_mechanism": "antibiotic efflux", + "start": 3019784, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "ENGLJAIC_06633": { + "accession": 1315, + "card_aro": 3000794, + "contig": "contig_2", + "cut_off": "Strict", + "end": 3022240, + "gene": "mdtC", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 95.83, + "name": "Multidrug resistance protein MdtC", + "resistance_mechanism": "antibiotic efflux", + "start": 3021944, + "subclass": "aminocoumarin antibiotic" + }, + "ENGLJAIC_06636": { + "accession": 1315, + "card_aro": 3000794, + "contig": "contig_2", + "cut_off": "Strict", + "end": 3022983, + "gene": "mdtC", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.25, + "name": "Multidrug resistance protein MdtC", + "resistance_mechanism": "antibiotic efflux", + "start": 3022774, + "subclass": "aminocoumarin antibiotic" + }, + "ENGLJAIC_06647": { + "accession": 820, + "card_aro": 3000793, + "contig": "contig_2", + "cut_off": "Strict", + "end": 3027207, + "gene": "mdtB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.86, + "name": "Multidrug resistance protein MdtB", + "resistance_mechanism": "antibiotic efflux", + "start": 3026851, + "subclass": "aminocoumarin antibiotic" + }, + "ENGLJAIC_06648": { + "accession": 820, + "card_aro": 3000793, + "contig": "contig_2", + "cut_off": "Strict", + "end": 3027643, + "gene": "mdtB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Multidrug resistance protein MdtB", + "resistance_mechanism": "antibiotic efflux", + "start": 3027443, + "subclass": "aminocoumarin antibiotic" + }, + "ENGLJAIC_06649": { + "accession": 820, + "card_aro": 3000793, + "contig": "contig_2", + "cut_off": "Strict", + "end": 3027795, + "gene": "mdtB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 97.73, + "name": "Multidrug resistance protein MdtB", + "resistance_mechanism": "antibiotic efflux", + "start": 3027640, + "subclass": "aminocoumarin antibiotic" + }, + "ENGLJAIC_06759": { + "accession": 842, + "card_aro": 3003577, + "contig": "contig_2", + "cut_off": "Strict", + "end": 3083319, + "gene": "ugd", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 98.55, + "name": "UDP-glucose 6-dehydrogenase", + "resistance_mechanism": "antibiotic target alteration", + "start": 3082150, + "subclass": "peptide antibiotic" + }, + "ENGLJAIC_06894": { + "accession": 5638, + "card_aro": 3006981, + "contig": "contig_2", + "cut_off": "Strict", + "end": 3150409, + "gene": "RSA2-1", + "gene_family": "RSA2 beta-lactamase", + "identity": 100.0, + "name": "Adenosylcobinamide-GDP ribazoletransferase", + "resistance_mechanism": "antibiotic inactivation", + "start": 3150200, + "subclass": "carbapenem" + }, + "ENGLJAIC_08032": { + "accession": 431, + "card_aro": 3003378, + "contig": "contig_2", + "cut_off": "Strict", + "end": 3675342, + "gene": "Escherichia coli AcrAB-TolC with MarR mutations conferring resistance to ciprofloxacin and tetracycline", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.0, + "name": "Multiple antibiotic resistance protein MarR", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", + "start": 3675154, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_08631": { + "accession": 1248, + "card_aro": 3000676, + "contig": "contig_2", + "cut_off": "Strict", + "end": 3935755, + "gene": "H-NS", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 3935342, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; cephalosporin; cephamycin; penam; tetracycline antibiotic" + }, + "ENGLJAIC_08809": { + "accession": 5342, + "card_aro": 3006582, + "contig": "contig_2", + "cut_off": "Strict", + "end": 4019653, + "gene": "PDC-203", + "gene_family": "PDC beta-lactamase", + "identity": 100.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic inactivation", + "start": 4019333, + "subclass": "monobactam; carbapenem; cephalosporin" + }, + "ENGLJAIC_09390": { + "accession": 1367, + "card_aro": 3000865, + "contig": "contig_2", + "cut_off": "Strict", + "end": 4273217, + "gene": "oleD", + "gene_family": "ole glycosyltransferase", + "identity": 100.0, + "name": "Ferric enterobactin receptor", + "resistance_mechanism": "antibiotic inactivation", + "start": 4272969, + "subclass": "macrolide antibiotic" + }, + "ENGLJAIC_09788": { + "accession": 2423, + "card_aro": 3003950, + "contig": "contig_2", + "cut_off": "Strict", + "end": 4454443, + "gene": "msbA", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", + "identity": 98.85, + "name": "Lipid A export ATP-binding/permease protein MsbA", + "resistance_mechanism": "antibiotic efflux", + "start": 4454180, + "subclass": "nitroimidazole antibiotic" + }, + "ENGLJAIC_10054": { + "accession": 37, + "card_aro": 3001328, + "contig": "contig_2", + "cut_off": "Strict", + "end": 4568145, + "gene": "Escherichia coli mdfA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 96.5, + "name": "Multidrug transporter MdfA", + "resistance_mechanism": "antibiotic efflux", + "start": 4567666, + "subclass": "tetracycline antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_10380": { + "accession": 2331, + "card_aro": 3003841, + "contig": "contig_2", + "cut_off": "Strict", + "end": 4711461, + "gene": "kdpE", + "gene_family": "kdpDE", + "identity": 99.5, + "name": "KDP operon transcriptional regulatory protein KdpE", + "resistance_mechanism": "antibiotic efflux", + "start": 4710814, + "subclass": "aminoglycoside antibiotic" + }, + "ENGLJAIC_10853": { + "accession": 2306, + "card_aro": 3003807, + "contig": "contig_2", + "cut_off": "Strict", + "end": 4912473, + "gene": "Escherichia coli AcrAB-TolC with AcrR mutation conferring resistance to ciprofloxacin, tetracycline, and ceftazidime", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.06, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", + "start": 4911952, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_10854": { + "accession": 2661, + "card_aro": 3004043, + "contig": "contig_2", + "cut_off": "Strict", + "end": 4913814, + "gene": "Escherichia coli acrA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.7, + "name": "Multidrug efflux pump subunit AcrA", + "resistance_mechanism": "antibiotic efflux", + "start": 4912867, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_10856": { + "accession": 1104, + "card_aro": 3000216, + "contig": "contig_2", + "cut_off": "Strict", + "end": 4914772, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.67, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 4914524, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_10857": { + "accession": 1104, + "card_aro": 3000216, + "contig": "contig_2", + "cut_off": "Strict", + "end": 4915337, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 97.78, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 4915020, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_10858": { + "accession": 1104, + "card_aro": 3000216, + "contig": "contig_2", + "cut_off": "Strict", + "end": 4915680, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 97.09, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 4915300, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_10860": { + "accession": 1104, + "card_aro": 3000216, + "contig": "contig_2", + "cut_off": "Strict", + "end": 4916574, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.1, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 4915918, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_10862": { + "accession": 1104, + "card_aro": 3000216, + "contig": "contig_2", + "cut_off": "Strict", + "end": 4917147, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Multidrug resistance protein MdtC", + "resistance_mechanism": "antibiotic efflux", + "start": 4916848, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "ENGLJAIC_11557": { + "accession": 1318, + "card_aro": 3000833, + "contig": "contig_3", + "cut_off": "Strict", + "end": 8886, + "gene": "evgS", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 97.84, + "name": "Sensor protein EvgS", + "resistance_mechanism": "antibiotic efflux", + "start": 8458, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" + }, + "ENGLJAIC_11559": { + "accession": 1318, + "card_aro": 3000833, + "contig": "contig_3", + "cut_off": "Strict", + "end": 9924, + "gene": "evgS", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Sensor protein EvgS", + "resistance_mechanism": "antibiotic efflux", + "start": 9622, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" + }, + "ENGLJAIC_11560": { + "accession": 1318, + "card_aro": 3000833, + "contig": "contig_3", + "cut_off": "Strict", + "end": 10194, + "gene": "evgS", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.43, + "name": "Sensor protein EvgS", + "resistance_mechanism": "antibiotic efflux", + "start": 9997, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" + }, + "ENGLJAIC_11564": { + "accession": 1015, + "card_aro": 3000832, + "contig": "contig_3", + "cut_off": "Strict", + "end": 11752, + "gene": "evgA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 95.83, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 11504, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" + }, + "ENGLJAIC_11565": { + "accession": 1015, + "card_aro": 3000832, + "contig": "contig_3", + "cut_off": "Strict", + "end": 11807, + "gene": "evgA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 11703, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" + }, + "ENGLJAIC_11567": { + "accession": 1015, + "card_aro": 3000832, + "contig": "contig_3", + "cut_off": "Strict", + "end": 12103, + "gene": "evgA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "DNA-binding transcriptional activator EvgA", + "resistance_mechanism": "antibiotic efflux", + "start": 11969, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" + }, + "ENGLJAIC_11568": { + "accession": 609, + "card_aro": 3000206, + "contig": "contig_3", + "cut_off": "Strict", + "end": 13140, + "gene": "emrK", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 96.93, + "name": "putative multidrug resistance protein EmrK", + "resistance_mechanism": "antibiotic efflux", + "start": 12643, + "subclass": "tetracycline antibiotic" + }, + "ENGLJAIC_11571": { + "accession": 540, + "card_aro": 3000254, + "contig": "contig_3", + "cut_off": "Strict", + "end": 13976, + "gene": "emrY", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 98.92, + "name": "putative multidrug resistance protein EmrY", + "resistance_mechanism": "antibiotic efflux", + "start": 13683, + "subclass": "tetracycline antibiotic" + }, + "ENGLJAIC_11572": { + "accession": 540, + "card_aro": 3000254, + "contig": "contig_3", + "cut_off": "Strict", + "end": 14476, + "gene": "emrY", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 98.16, + "name": "putative multidrug resistance protein EmrY", + "resistance_mechanism": "antibiotic efflux", + "start": 13976, + "subclass": "tetracycline antibiotic" + }, + "ENGLJAIC_11573": { + "accession": 540, + "card_aro": 3000254, + "contig": "contig_3", + "cut_off": "Strict", + "end": 14773, + "gene": "emrY", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 98.21, + "name": "putative multidrug resistance protein EmrY", + "resistance_mechanism": "antibiotic efflux", + "start": 14564, + "subclass": "tetracycline antibiotic" + }, + "ENGLJAIC_11574": { + "accession": 540, + "card_aro": 3000254, + "contig": "contig_3", + "cut_off": "Strict", + "end": 15219, + "gene": "emrY", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "putative multidrug resistance protein EmrY", + "resistance_mechanism": "antibiotic efflux", + "start": 14944, + "subclass": "tetracycline antibiotic" + }, + "total": 92 + } + }, + "results_dir": "/home/falmeida/Documents/GitHub/pythonScripts/_ANNOTATION/ecoli_2", + "sample": "ecoli_2", + "virulence": { + "VFDB": { + "ENGLJAIC_04435": { + "chr": "contig_2", + "end": 2039276, + "gene": "papE", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 2038716, + "virulence_factor": "P_fimbriae" + }, + "ENGLJAIC_07123": { + "chr": "contig_2", + "end": 3267356, + "gene": "tcpC", + "id": "VF0413", + "product": "TcpC_(VF0413)_Immune_modulation_(VFC0258)", + "start": 3266472, + "virulence_factor": "TcpC" + }, + "ENGLJAIC_09292": { + "chr": "contig_2", + "end": 4228063, + "gene": "cgsF", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 4227662, + "virulence_factor": "Curli_fibers" + }, + "ENGLJAIC_10602": { + "chr": "contig_2", + "end": 4802591, + "gene": "entA", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 4801899, + "virulence_factor": "Enterobactin" + }, + "ENGLJAIC_10620": { + "chr": "contig_2", + "end": 4811606, + "gene": "fepC", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 4810791, + "virulence_factor": "Enterobactin" + }, + "total": 5 + }, + "Victors": { + "ENGLJAIC_00668": { + "contig": "contig_2", + "end": 304454, + "id": "15804920", + "name": "putative_restriction_modification_enzyme_S_subunit", + "product": "gi|15804920|ref|NP_290962.1|putative_restriction_modification_enzyme_S_subunit_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 304254 + }, + "ENGLJAIC_01006": { + "contig": "contig_2", + "end": 464089, + "id": "82546588", + "name": "tRNA_delta(2)-isopentenylpyrophosphate_transferase", + "product": "gi|82546588|ref|YP_410535.1|tRNA_delta(2)-isopentenylpyrophosphate_transferase_[Shigella_boydii_Sb227]", + "start": 463202 + }, + "ENGLJAIC_05997": { + "contig": "contig_2", + "end": 2741627, + "id": "16761308", + "name": "chorismate_synthase", + "product": "gi|16761308|ref|NP_456925.1|chorismate_synthase_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", + "start": 2740542 + }, + "ENGLJAIC_08532": { + "contig": "contig_2", + "end": 3893133, + "id": "15801901", + "name": "aconitate_hydratase", + "product": "gi|15801901|ref|NP_287921.1|aconitate_hydratase_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 3892924 + }, + "ENGLJAIC_09416": { + "contig": "contig_2", + "end": 4285093, + "id": "26247113", + "name": "F1C_major_fimbrial_subunit_precursor", + "product": "gi|26247113|ref|NP_753153.1|F1C_major_fimbrial_subunit_precursor_[Escherichia_coli_CFT073]", + "start": 4284881 + }, + "total": 5 + } + } + }, + "ecoli_3": { + "MGE": {}, + "general_annotation": { + "cds": 10148, + "closest_reference": { + "accession": "GCF_000456485.1", + "distance": 0.0144670999999999, + "strain": "Escherichia coli HVH 31 (4-2602156)" + }, + "mlst": "null", + "rrna": 15, + "tmrna": 1, + "trna": 82 + }, + "plasmid": { + "plasmidfinder": {}, + "platon": {} + }, + "resistance": { + "amrfinderplus": { + "NPFEELLH_02173": { + "card_aro": null, + "contig": "contig_26", + "end": 141186, + "gene": "ymgB", + "identity": 94.32, + "start": 140920, + "subclass": null, + "type": "STRESS" + }, + "total": 1 + }, + "resfinder": { + "total": 0 + }, + "rgi": { + "NPFEELLH_00115": { + "accession": 906, + "card_aro": 3003176, + "contig": "contig_1", + "cut_off": "Strict", + "end": 59526, + "gene": "CARB-21", + "gene_family": "CARB beta-lactamase", + "identity": 100.0, + "name": "phage_tail_L: phage minor tail protein L", + "resistance_mechanism": "antibiotic inactivation", + "start": 59245, + "subclass": "penam" + }, + "NPFEELLH_00460": { + "accession": 5921, + "card_aro": 3003843, + "contig": "contig_10", + "cut_off": "Strict", + "end": 95571, + "gene": "leuO", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "HTH-type transcriptional regulator LeuO", + "resistance_mechanism": "antibiotic efflux", + "start": 95374, + "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_00692": { + "accession": 1318, + "card_aro": 3000833, + "contig": "contig_11", + "cut_off": "Strict", + "end": 31182, + "gene": "evgS", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 97.24, + "name": "Sensor protein EvgS", + "resistance_mechanism": "antibiotic efflux", + "start": 28684, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" + }, + "NPFEELLH_00694": { + "accession": 1015, + "card_aro": 3000832, + "contig": "contig_11", + "cut_off": "Strict", + "end": 32897, + "gene": "evgA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "DNA-binding transcriptional activator EvgA", + "resistance_mechanism": "antibiotic efflux", + "start": 32706, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" + }, + "NPFEELLH_00695": { + "accession": 609, + "card_aro": 3000206, + "contig": "contig_11", + "cut_off": "Strict", + "end": 34256, + "gene": "emrK", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 98.76, + "name": "putative multidrug resistance protein EmrK", + "resistance_mechanism": "antibiotic efflux", + "start": 33312, + "subclass": "tetracycline antibiotic" + }, + "NPFEELLH_00697": { + "accession": 540, + "card_aro": 3000254, + "contig": "contig_11", + "cut_off": "Strict", + "end": 35661, + "gene": "emrY", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 99.61, + "name": "putative multidrug resistance protein EmrY", + "resistance_mechanism": "antibiotic efflux", + "start": 34828, + "subclass": "tetracycline antibiotic" + }, + "NPFEELLH_00698": { + "accession": 540, + "card_aro": 3000254, + "contig": "contig_11", + "cut_off": "Strict", + "end": 36010, + "gene": "emrY", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "putative multidrug resistance protein EmrY", + "resistance_mechanism": "antibiotic efflux", + "start": 35684, + "subclass": "tetracycline antibiotic" + }, + "NPFEELLH_01659": { + "accession": 869, + "card_aro": 3000518, + "contig": "contig_21", + "cut_off": "Strict", + "end": 135748, + "gene": "CRP", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 95.56, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 135344, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "NPFEELLH_01694": { + "accession": 2158, + "card_aro": 3003369, + "contig": "contig_21", + "cut_off": "Strict", + "end": 151049, + "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", + "gene_family": "elfamycin resistant EF-Tu", + "identity": 99.57, + "name": "Elongation factor Tu 2", + "resistance_mechanism": "antibiotic target alteration", + "start": 150327, + "subclass": "elfamycin antibiotic" + }, + "NPFEELLH_02019": { + "accession": 1248, + "card_aro": 3000676, + "contig": "contig_26", + "cut_off": "Strict", + "end": 59553, + "gene": "H-NS", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.97, + "name": "DNA-binding protein H-NS", + "resistance_mechanism": "antibiotic efflux", + "start": 59440, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; cephalosporin; cephamycin; penam; tetracycline antibiotic" + }, + "NPFEELLH_02020": { + "accession": 1248, + "card_aro": 3000676, + "contig": "contig_26", + "cut_off": "Strict", + "end": 59843, + "gene": "H-NS", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 59547, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; cephalosporin; cephamycin; penam; tetracycline antibiotic" + }, + "NPFEELLH_02306": { + "accession": 2158, + "card_aro": 3003369, + "contig": "contig_30", + "cut_off": "Strict", + "end": 9777, + "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", + "gene_family": "elfamycin resistant EF-Tu", + "identity": 100.0, + "name": "Elongation factor Tu 2", + "resistance_mechanism": "antibiotic target alteration", + "start": 8941, + "subclass": "elfamycin antibiotic" + }, + "NPFEELLH_02817": { + "accession": 1427, + "card_aro": 3000491, + "contig": "contig_34", + "cut_off": "Strict", + "end": 26765, + "gene": "acrD", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "2A0602: RND transporter, hydrophobe/amphiphile efflux-1 (HAE1) family", + "resistance_mechanism": "antibiotic efflux", + "start": 26664, + "subclass": "aminoglycoside antibiotic" + }, + "NPFEELLH_02818": { + "accession": 1427, + "card_aro": 3000491, + "contig": "contig_34", + "cut_off": "Strict", + "end": 27248, + "gene": "acrD", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Multidrug resistance protein MexB", + "resistance_mechanism": "antibiotic efflux", + "start": 26952, + "subclass": "aminoglycoside antibiotic" + }, + "NPFEELLH_02823": { + "accession": 1427, + "card_aro": 3000491, + "contig": "contig_34", + "cut_off": "Strict", + "end": 29443, + "gene": "acrD", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.02, + "name": "Multidrug resistance protein MexB", + "resistance_mechanism": "antibiotic efflux", + "start": 29123, + "subclass": "aminoglycoside antibiotic" + }, + "NPFEELLH_02825": { + "accession": 1427, + "card_aro": 3000491, + "contig": "contig_34", + "cut_off": "Strict", + "end": 29827, + "gene": "acrD", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.04, + "name": "Multidrug export protein AcrF", + "resistance_mechanism": "antibiotic efflux", + "start": 29645, + "subclass": "aminoglycoside antibiotic" + }, + "NPFEELLH_02956": { + "accession": 1437, + "card_aro": 3000502, + "contig": "contig_37", + "cut_off": "Strict", + "end": 11974, + "gene": "AcrF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.1, + "name": "Multidrug export protein AcrF", + "resistance_mechanism": "antibiotic efflux", + "start": 10634, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "NPFEELLH_02957": { + "accession": 1437, + "card_aro": 3000502, + "contig": "contig_37", + "cut_off": "Strict", + "end": 12435, + "gene": "AcrF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.35, + "name": "Multidrug export protein AcrF", + "resistance_mechanism": "antibiotic efflux", + "start": 11959, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "NPFEELLH_02958": { + "accession": 1437, + "card_aro": 3000502, + "contig": "contig_37", + "cut_off": "Strict", + "end": 13736, + "gene": "AcrF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.83, + "name": "Multidrug export protein AcrF", + "resistance_mechanism": "antibiotic efflux", + "start": 12408, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "NPFEELLH_02959": { + "accession": 1445, + "card_aro": 3000499, + "contig": "contig_37", + "cut_off": "Strict", + "end": 14596, + "gene": "AcrE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.2, + "name": "Multidrug export protein AcrE", + "resistance_mechanism": "antibiotic efflux", + "start": 13748, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "NPFEELLH_02960": { + "accession": 1445, + "card_aro": 3000499, + "contig": "contig_37", + "cut_off": "Strict", + "end": 14906, + "gene": "AcrE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.12, + "name": "Multidrug export protein AcrE", + "resistance_mechanism": "antibiotic efflux", + "start": 14562, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "NPFEELLH_02961": { + "accession": 520, + "card_aro": 3000656, + "contig": "contig_37", + "cut_off": "Strict", + "end": 15950, + "gene": "AcrS", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.59, + "name": "HTH-type transcriptional regulator AcrR", + "resistance_mechanism": "antibiotic efflux", + "start": 15303, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_03078": { + "accession": 2423, + "card_aro": 3003950, + "contig": "contig_37", + "cut_off": "Strict", + "end": 79966, + "gene": "msbA", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", + "identity": 100.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 79865, + "subclass": "nitroimidazole antibiotic" + }, + "NPFEELLH_03337": { + "accession": 1820, + "card_aro": 3002986, + "contig": "contig_37", + "cut_off": "Strict", + "end": 216115, + "gene": "bacA", + "gene_family": "undecaprenyl pyrophosphate related proteins", + "identity": 100.0, + "name": "Undecaprenyl-diphosphatase", + "resistance_mechanism": "antibiotic target alteration", + "start": 215774, + "subclass": "peptide antibiotic" + }, + "NPFEELLH_03995": { + "accession": 4594, + "card_aro": 3006880, + "contig": "contig_40", + "cut_off": "Strict", + "end": 89680, + "gene": "EC-5", + "gene_family": "EC beta-lactamase", + "identity": 98.96, + "name": "Beta-lactamase", + "resistance_mechanism": "antibiotic inactivation", + "start": 89390, + "subclass": "cephalosporin" + }, + "NPFEELLH_03997": { + "accession": 4594, + "card_aro": 3006880, + "contig": "contig_40", + "cut_off": "Strict", + "end": 90264, + "gene": "EC-5", + "gene_family": "EC beta-lactamase", + "identity": 100.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic inactivation", + "start": 89908, + "subclass": "cephalosporin" + }, + "NPFEELLH_04721": { + "accession": 1337, + "card_aro": 3000828, + "contig": "contig_43", + "cut_off": "Strict", + "end": 145324, + "gene": "baeR", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 95.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 145016, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "NPFEELLH_04722": { + "accession": 1337, + "card_aro": 3000828, + "contig": "contig_43", + "cut_off": "Strict", + "end": 145446, + "gene": "baeR", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.77, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 145300, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "NPFEELLH_04723": { + "accession": 1337, + "card_aro": 3000828, + "contig": "contig_43", + "cut_off": "Strict", + "end": 145858, + "gene": "baeR", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.6, + "name": "Transcriptional regulatory protein BaeR", + "resistance_mechanism": "antibiotic efflux", + "start": 145388, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "NPFEELLH_04724": { + "accession": 986, + "card_aro": 3000829, + "contig": "contig_43", + "cut_off": "Strict", + "end": 146190, + "gene": "baeS", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 95.5, + "name": "Signal transduction histidine-protein kinase BaeS", + "resistance_mechanism": "antibiotic efflux", + "start": 145855, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "NPFEELLH_04725": { + "accession": 986, + "card_aro": 3000829, + "contig": "contig_43", + "cut_off": "Strict", + "end": 146362, + "gene": "baeS", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Signal transduction histidine-protein kinase BaeS", + "resistance_mechanism": "antibiotic efflux", + "start": 146180, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "NPFEELLH_04733": { + "accession": 1315, + "card_aro": 3000794, + "contig": "contig_43", + "cut_off": "Strict", + "end": 149244, + "gene": "mdtC", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.92, + "name": "Multidrug resistance protein MdtC", + "resistance_mechanism": "antibiotic efflux", + "start": 148981, + "subclass": "aminocoumarin antibiotic" + }, + "NPFEELLH_04932": { + "accession": 842, + "card_aro": 3003577, + "contig": "contig_45", + "cut_off": "Strict", + "end": 55300, + "gene": "ugd", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 100.0, + "name": "UDP-glucose 6-dehydrogenase", + "resistance_mechanism": "antibiotic target alteration", + "start": 55106, + "subclass": "peptide antibiotic" + }, + "NPFEELLH_04934": { + "accession": 842, + "card_aro": 3003577, + "contig": "contig_45", + "cut_off": "Strict", + "end": 55953, + "gene": "ugd", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 98.7, + "name": "UDP-glucose 6-dehydrogenase", + "resistance_mechanism": "antibiotic target alteration", + "start": 55717, + "subclass": "peptide antibiotic" + }, + "NPFEELLH_04935": { + "accession": 842, + "card_aro": 3003577, + "contig": "contig_45", + "cut_off": "Strict", + "end": 56235, + "gene": "ugd", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 97.47, + "name": "UDP-glucose 6-dehydrogenase", + "resistance_mechanism": "antibiotic target alteration", + "start": 55993, + "subclass": "peptide antibiotic" + }, + "NPFEELLH_05067": { + "accession": 2423, + "card_aro": 3003950, + "contig": "contig_47", + "cut_off": "Strict", + "end": 42020, + "gene": "msbA", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", + "identity": 100.0, + "name": "Lipid A export ATP-binding/permease protein MsbA", + "resistance_mechanism": "antibiotic efflux", + "start": 41754, + "subclass": "nitroimidazole antibiotic" + }, + "NPFEELLH_05324": { + "accession": 2331, + "card_aro": 3003841, + "contig": "contig_50", + "cut_off": "Strict", + "end": 30476, + "gene": "kdpE", + "gene_family": "kdpDE", + "identity": 97.84, + "name": "KDP operon transcriptional regulatory protein KdpE", + "resistance_mechanism": "antibiotic efflux", + "start": 30009, + "subclass": "aminoglycoside antibiotic" + }, + "NPFEELLH_05325": { + "accession": 2331, + "card_aro": 3003841, + "contig": "contig_50", + "cut_off": "Strict", + "end": 30687, + "gene": "kdpE", + "gene_family": "kdpDE", + "identity": 98.67, + "name": "KDP operon transcriptional regulatory protein KdpE", + "resistance_mechanism": "antibiotic efflux", + "start": 30457, + "subclass": "aminoglycoside antibiotic" + }, + "NPFEELLH_05782": { + "accession": 2424, + "card_aro": 3003952, + "contig": "contig_52", + "cut_off": "Strict", + "end": 21439, + "gene": "YojI", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", + "identity": 98.8, + "name": "ABC transporter ATP-binding/permease protein YojI", + "resistance_mechanism": "antibiotic efflux", + "start": 20936, + "subclass": "peptide antibiotic" + }, + "NPFEELLH_05783": { + "accession": 2424, + "card_aro": 3003952, + "contig": "contig_52", + "cut_off": "Strict", + "end": 22358, + "gene": "YojI", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", + "identity": 98.74, + "name": "ABC transporter ATP-binding/permease protein YojI", + "resistance_mechanism": "antibiotic efflux", + "start": 21879, + "subclass": "peptide antibiotic" + }, + "NPFEELLH_05857": { + "accession": 2306, + "card_aro": 3003807, + "contig": "contig_53", + "cut_off": "Strict", + "end": 25321, + "gene": "Escherichia coli AcrAB-TolC with AcrR mutation conferring resistance to ciprofloxacin, tetracycline, and ceftazidime", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", + "start": 25142, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_05858": { + "accession": 2661, + "card_aro": 3004043, + "contig": "contig_53", + "cut_off": "Strict", + "end": 26367, + "gene": "Escherichia coli acrA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.85, + "name": "Multidrug efflux pump subunit AcrA", + "resistance_mechanism": "antibiotic efflux", + "start": 25420, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_05859": { + "accession": 2661, + "card_aro": 3004043, + "contig": "contig_53", + "cut_off": "Strict", + "end": 26605, + "gene": "Escherichia coli acrA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "RND_mfp: efflux transporter, RND family, MFP subunit", + "resistance_mechanism": "antibiotic efflux", + "start": 26333, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_05860": { + "accession": 1104, + "card_aro": 3000216, + "contig": "contig_53", + "cut_off": "Strict", + "end": 27059, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 26715, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_05861": { + "accession": 1104, + "card_aro": 3000216, + "contig": "contig_53", + "cut_off": "Strict", + "end": 27352, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.11, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 27191, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_05863": { + "accession": 1104, + "card_aro": 3000216, + "contig": "contig_53", + "cut_off": "Strict", + "end": 28074, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 27856, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_05864": { + "accession": 1104, + "card_aro": 3000216, + "contig": "contig_53", + "cut_off": "Strict", + "end": 28759, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.12, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 28064, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_05865": { + "accession": 1104, + "card_aro": 3000216, + "contig": "contig_53", + "cut_off": "Strict", + "end": 29202, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.32, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 28807, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_05866": { + "accession": 1104, + "card_aro": 3000216, + "contig": "contig_53", + "cut_off": "Strict", + "end": 29536, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 29255, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_05867": { + "accession": 1104, + "card_aro": 3000216, + "contig": "contig_53", + "cut_off": "Strict", + "end": 29774, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.67, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 29529, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_06219": { + "accession": 37, + "card_aro": 3001328, + "contig": "contig_55", + "cut_off": "Strict", + "end": 11914, + "gene": "Escherichia coli mdfA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 98.67, + "name": "Multidrug transporter MdfA", + "resistance_mechanism": "antibiotic efflux", + "start": 11444, + "subclass": "tetracycline antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_06220": { + "accession": 37, + "card_aro": 3001328, + "contig": "contig_55", + "cut_off": "Strict", + "end": 12415, + "gene": "Escherichia coli mdfA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 96.52, + "name": "Multidrug transporter MdfA", + "resistance_mechanism": "antibiotic efflux", + "start": 12050, + "subclass": "tetracycline antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_06760": { + "accession": 2066, + "card_aro": 3003511, + "contig": "contig_63", + "cut_off": "Strict", + "end": 38422, + "gene": "Escherichia coli soxS with mutation conferring antibiotic resistance", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", + "identity": 100.0, + "name": "HTH-type transcriptional activator RhaR", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux; reduced permeability to antibiotic", + "start": 38045, + "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" + }, + "NPFEELLH_06761": { + "accession": 1005, + "card_aro": 3003381, + "contig": "contig_63", + "cut_off": "Strict", + "end": 38972, + "gene": "Escherichia coli soxR with mutation conferring antibiotic resistance", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.35, + "name": "Redox-sensitive transcriptional activator SoxR", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", + "start": 38508, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_07344": { + "accession": 516, + "card_aro": 3003576, + "contig": "contig_67", + "cut_off": "Strict", + "end": 77615, + "gene": "eptA", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 96.73, + "name": "Phosphoethanolamine transferase EptA", + "resistance_mechanism": "antibiotic target alteration", + "start": 76953, + "subclass": "peptide antibiotic" + }, + "NPFEELLH_07398": { + "accession": 1442, + "card_aro": 3003548, + "contig": "contig_67", + "cut_off": "Strict", + "end": 108129, + "gene": "mdtN", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 98.41, + "name": "Multidrug resistance protein MdtN", + "resistance_mechanism": "antibiotic efflux", + "start": 107938, + "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_08004": { + "accession": 2014, + "card_aro": 3003578, + "contig": "contig_73", + "cut_off": "Strict", + "end": 23181, + "gene": "PmrF", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 95.74, + "name": "Undecaprenyl-phosphate 4-deoxy-4-formamido-L-arabinose transferase", + "resistance_mechanism": "antibiotic target alteration", + "start": 22966, + "subclass": "peptide antibiotic" + }, + "NPFEELLH_08005": { + "accession": 2014, + "card_aro": 3003578, + "contig": "contig_73", + "cut_off": "Strict", + "end": 23332, + "gene": "PmrF", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 100.0, + "name": "Undecaprenyl-phosphate 4-deoxy-4-formamido-L-arabinose transferase", + "resistance_mechanism": "antibiotic target alteration", + "start": 23138, + "subclass": "peptide antibiotic" + }, + "NPFEELLH_08254": { + "accession": 431, + "card_aro": 3003378, + "contig": "contig_74", + "cut_off": "Strict", + "end": 77636, + "gene": "Escherichia coli AcrAB-TolC with MarR mutations conferring resistance to ciprofloxacin and tetracycline", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Multiple antibiotic resistance protein MarR", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", + "start": 77457, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_08255": { + "accession": 431, + "card_aro": 3003378, + "contig": "contig_74", + "cut_off": "Strict", + "end": 77782, + "gene": "Escherichia coli AcrAB-TolC with MarR mutations conferring resistance to ciprofloxacin and tetracycline", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", + "start": 77615, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_08256": { + "accession": 1922, + "card_aro": 3000263, + "contig": "contig_74", + "cut_off": "Strict", + "end": 78295, + "gene": "marA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", + "identity": 99.21, + "name": "Multiple antibiotic resistance protein MarA", + "resistance_mechanism": "antibiotic efflux; reduced permeability to antibiotic", + "start": 77912, + "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" + }, + "NPFEELLH_08571": { + "accession": 3791, + "card_aro": 3005047, + "contig": "contig_75", + "cut_off": "Strict", + "end": 136568, + "gene": "eptB", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 100.0, + "name": "Kdo(2)-lipid A phosphoethanolamine 7''-transferase", + "resistance_mechanism": "antibiotic target alteration", + "start": 136431, + "subclass": "peptide antibiotic" + }, + "NPFEELLH_09079": { + "accession": 1330, + "card_aro": 3000516, + "contig": "contig_79", + "cut_off": "Perfect", + "end": 50344, + "gene": "emrR", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "Transcriptional repressor MprA", + "resistance_mechanism": "antibiotic efflux", + "start": 49814, + "subclass": "fluoroquinolone antibiotic" + }, + "NPFEELLH_09080": { + "accession": 1757, + "card_aro": 3000027, + "contig": "contig_79", + "cut_off": "Strict", + "end": 50686, + "gene": "emrA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic efflux", + "start": 50471, + "subclass": "fluoroquinolone antibiotic" + }, + "NPFEELLH_09081": { + "accession": 1757, + "card_aro": 3000027, + "contig": "contig_79", + "cut_off": "Strict", + "end": 51643, + "gene": "emrA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 98.97, + "name": "Multidrug export protein EmrA", + "resistance_mechanism": "antibiotic efflux", + "start": 50756, + "subclass": "fluoroquinolone antibiotic" + }, + "NPFEELLH_09082": { + "accession": 1847, + "card_aro": 3000074, + "contig": "contig_79", + "cut_off": "Strict", + "end": 53198, + "gene": "emrB", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 99.8, + "name": "Multidrug export protein EmrB", + "resistance_mechanism": "antibiotic efflux", + "start": 51660, + "subclass": "fluoroquinolone antibiotic" + }, + "NPFEELLH_09861": { + "accession": 152, + "card_aro": 3000830, + "contig": "contig_83", + "cut_off": "Strict", + "end": 15859, + "gene": "cpxA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.55, + "name": "Sensor histidine kinase CpxA", + "resistance_mechanism": "antibiotic efflux", + "start": 15767, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "NPFEELLH_09862": { + "accession": 152, + "card_aro": 3000830, + "contig": "contig_83", + "cut_off": "Strict", + "end": 16245, + "gene": "cpxA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Sensor histidine kinase CpxA", + "resistance_mechanism": "antibiotic efflux", + "start": 15859, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "NPFEELLH_09864": { + "accession": 152, + "card_aro": 3000830, + "contig": "contig_83", + "cut_off": "Strict", + "end": 17011, + "gene": "cpxA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Sensor histidine kinase CpxA", + "resistance_mechanism": "antibiotic efflux", + "start": 16526, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "NPFEELLH_09945": { + "accession": 2205, + "card_aro": 3003692, + "contig": "contig_84", + "cut_off": "Strict", + "end": 4613, + "gene": "MexJ", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Multidrug resistance protein MdtB", + "resistance_mechanism": "antibiotic efflux", + "start": 4389, + "subclass": "macrolide antibiotic; tetracycline antibiotic; disinfecting agents and antiseptics" + }, + "NPFEELLH_10077": { + "accession": 121, + "card_aro": 3000796, + "contig": "contig_85", + "cut_off": "Strict", + "end": 28873, + "gene": "mdtF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.52, + "name": "Multidrug resistance protein MdtF", + "resistance_mechanism": "antibiotic efflux", + "start": 28193, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "NPFEELLH_10078": { + "accession": 121, + "card_aro": 3000796, + "contig": "contig_85", + "cut_off": "Strict", + "end": 29261, + "gene": "mdtF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 97.18, + "name": "Multidrug resistance protein MdtF", + "resistance_mechanism": "antibiotic efflux", + "start": 28815, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "NPFEELLH_10079": { + "accession": 121, + "card_aro": 3000796, + "contig": "contig_85", + "cut_off": "Strict", + "end": 29683, + "gene": "mdtF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.09, + "name": "Multidrug resistance protein MdtF", + "resistance_mechanism": "antibiotic efflux", + "start": 29327, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "NPFEELLH_10080": { + "accession": 121, + "card_aro": 3000796, + "contig": "contig_85", + "cut_off": "Strict", + "end": 31097, + "gene": "mdtF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.1, + "name": "Multidrug resistance protein MdtF", + "resistance_mechanism": "antibiotic efflux", + "start": 29745, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "NPFEELLH_10081": { + "accession": 1903, + "card_aro": 3000795, + "contig": "contig_85", + "cut_off": "Strict", + "end": 31807, + "gene": "mdtE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.05, + "name": "Multidrug resistance protein MdtA", + "resistance_mechanism": "antibiotic efflux", + "start": 31130, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "NPFEELLH_10082": { + "accession": 1903, + "card_aro": 3000795, + "contig": "contig_85", + "cut_off": "Strict", + "end": 32350, + "gene": "mdtE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.58, + "name": "Multidrug resistance protein MdtE", + "resistance_mechanism": "antibiotic efflux", + "start": 31910, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "NPFEELLH_10083": { + "accession": 1903, + "card_aro": 3000795, + "contig": "contig_85", + "cut_off": "Strict", + "end": 32493, + "gene": "mdtE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Multidrug resistance protein MdtE", + "resistance_mechanism": "antibiotic efflux", + "start": 32344, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "total": 77 + } + }, + "results_dir": "/home/falmeida/Documents/GitHub/pythonScripts/_ANNOTATION/ecoli_3", + "sample": "ecoli_3", + "virulence": { + "VFDB": { + "NPFEELLH_01043": { + "chr": "contig_15", + "end": 86939, + "gene": "fimA", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 86391, + "virulence_factor": "Type_1_fimbriae" + }, + "NPFEELLH_01052": { + "chr": "contig_15", + "end": 92052, + "gene": "fimG", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 91549, + "virulence_factor": "Type_1_fimbriae" + }, + "NPFEELLH_03525": { + "chr": "contig_37", + "end": 312556, + "gene": "cgsF", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 312140, + "virulence_factor": "Curli_fibers" + }, + "NPFEELLH_03526": { + "chr": "contig_37", + "end": 312970, + "gene": "cgsE", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 312581, + "virulence_factor": "Curli_fibers" + }, + "NPFEELLH_03528": { + "chr": "contig_37", + "end": 314779, + "gene": "csgB", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 314342, + "virulence_factor": "Curli_fibers" + }, + "NPFEELLH_04067": { + "chr": "contig_40", + "end": 131109, + "gene": "papI", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 130888, + "virulence_factor": "P_fimbriae" + }, + "NPFEELLH_06541": { + "chr": "contig_61", + "end": 28241, + "gene": "fepC", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 27426, + "virulence_factor": "Enterobactin" + }, + "NPFEELLH_06624": { + "chr": "contig_62", + "end": 21150, + "gene": "yagY/ecpB", + "id": "VF0404", + "product": "ECP_(VF0404)_Adherence_(VFC0001)", + "start": 20533, + "virulence_factor": "ECP" + }, + "NPFEELLH_06627": { + "chr": "contig_62", + "end": 22457, + "gene": "ykgK/ecpR", + "id": "VF0404", + "product": "ECP_(VF0404)_Adherence_(VFC0001)", + "start": 21867, + "virulence_factor": "ECP" + }, + "NPFEELLH_09642": { + "chr": "contig_80", + "end": 203101, + "gene": "clbA", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 202367, + "virulence_factor": "Colibactin" + }, + "NPFEELLH_09700": { + "chr": "contig_81", + "end": 18539, + "gene": "iucD", + "id": "VF0229", + "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 17205, + "virulence_factor": "Aerobactin" + }, + "NPFEELLH_09749": { + "chr": "contig_81", + "end": 43604, + "gene": "papI", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 43383, + "virulence_factor": "P_fimbriae" + }, + "NPFEELLH_10102": { + "chr": "contig_85", + "end": 41752, + "gene": "chuT", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 40829, + "virulence_factor": "Chu" + }, + "total": 13 + }, + "Victors": { + "NPFEELLH_01586": { + "contig": "contig_21", + "end": 90567, + "id": "24114667", + "name": "osmolarity_sensor_protein", + "product": "gi|24114667|ref|NP_709177.1|osmolarity_sensor_protein_[Shigella_flexneri_2a_str._301]", + "start": 89215 + }, + "NPFEELLH_01682": { + "contig": "contig_21", + "end": 145048, + "id": "16766742", + "name": "FKBP-type_peptidyl-prolyl_cis-trans_isomerase", + "product": "gi|16766742|ref|NP_462357.1|FKBP-type_peptidyl-prolyl_cis-trans_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 144236 + }, + "NPFEELLH_01821": { + "contig": "contig_23", + "end": 14905, + "id": "16767186", + "name": "peptidyl-prolyl_cis-trans_isomerase_C", + "product": "gi|16767186|ref|NP_462801.1|peptidyl-prolyl_cis-trans_isomerase_C_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 14624 + }, + "NPFEELLH_02105": { + "contig": "contig_26", + "end": 100802, + "id": "117623421", + "name": "GTP-dependent_nucleic_acid-binding_protein_EngD", + "product": "gi|117623421|ref|YP_852334.1|GTP-dependent_nucleic_acid-binding_protein_EngD_[Escherichia_coli_APEC_O1]", + "start": 99711 + }, + "NPFEELLH_02354": { + "contig": "contig_30", + "end": 37675, + "id": "16767429", + "name": "phosphoribosylamine--glycine_ligase", + "product": "gi|16767429|ref|NP_463044.1|phosphoribosylamine--glycine_ligase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 36386 + }, + "NPFEELLH_02364": { + "contig": "contig_30", + "end": 47025, + "id": "16767432", + "name": "homoserine_O-succinyltransferase", + "product": "gi|16767432|ref|NP_463047.1|homoserine_O-succinyltransferase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 46096 + }, + "NPFEELLH_02476": { + "contig": "contig_31", + "end": 36196, + "id": "15799850", + "name": "methionine_aminopeptidase", + "product": "gi|15799850|ref|NP_285862.1|methionine_aminopeptidase_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 35402 + }, + "NPFEELLH_02535": { + "contig": "contig_31", + "end": 64574, + "id": "56479612", + "name": "RNA_polymerase-binding_transcription_factor", + "product": "gi|56479612|ref|NP_706093.2|RNA_polymerase-binding_transcription_factor_[Shigella_flexneri_2a_str._301]", + "start": 64119 + }, + "NPFEELLH_02780": { + "contig": "contig_34", + "end": 8174, + "id": "16765821", + "name": "polyphosphate_kinase", + "product": "gi|16765821|ref|NP_461436.1|polyphosphate_kinase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 6102 + }, + "NPFEELLH_05456": { + "contig": "contig_50", + "end": 94761, + "id": "16764006", + "name": "RNA_chaperone", + "product": "gi|16764006|ref|NP_459621.1|RNA_chaperone_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 94552 + }, + "NPFEELLH_05910": { + "contig": "contig_53", + "end": 55307, + "id": "16763829", + "name": "ATP-dependent_Clp_protease_proteolytic_subunit", + "product": "gi|16763829|ref|NP_459444.1|ATP-dependent_Clp_protease_proteolytic_subunit_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 54684 + }, + "NPFEELLH_08206": { + "contig": "contig_74", + "end": 56234, + "id": "15801635", + "name": "putative_fimbrial-like_protein", + "product": "gi|15801635|ref|NP_287652.1|putative_fimbrial-like_protein_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 56025 + }, + "NPFEELLH_08790": { + "contig": "contig_76", + "end": 86063, + "id": "16767200", + "name": "TDP-4-oxo-6-deoxy-D-glucose_transaminase", + "product": "gi|16767200|ref|NP_462815.1|TDP-4-oxo-6-deoxy-D-glucose_transaminase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 84981 + }, + "NPFEELLH_09700": { + "contig": "contig_81", + "end": 18539, + "id": "26249459", + "name": "IucD_protein", + "product": "gi|26249459|ref|NP_755499.1|IucD_protein_[Escherichia_coli_CFT073]", + "start": 17205 + }, + "NPFEELLH_09795": { + "contig": "contig_82", + "end": 21798, + "id": "16764663", + "name": "PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB", + "product": "gi|16764663|ref|NP_460278.1|PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 21478 + }, + "NPFEELLH_10195": { + "contig": "contig_86", + "end": 47449, + "id": "161367545", + "name": "DNA-binding_transcriptional_regulator", + "product": "gi|161367545|ref|NP_289117.2|DNA-binding_transcriptional_regulator_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 46601 + }, + "NPFEELLH_10196": { + "contig": "contig_86", + "end": 47765, + "id": "16765896", + "name": "ferredoxin", + "product": "gi|16765896|ref|NP_461511.1|ferredoxin_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 47505 + }, + "total": 17 + } + } + }, + "ecoli_4": { + "MGE": {}, + "general_annotation": { + "cds": 4870, + "closest_reference": { + "accession": "NZ_JTDT", + "distance": 0.00265998, + "strain": "Escherichia coli" + }, + "mlst": "73", + "rrna": 21, + "tmrna": 1, + "trna": 76 + }, + "plasmid": { + "plasmidfinder": {}, + "platon": {} + }, + "resistance": { + "amrfinderplus": { + "BOLIEGLD_01373": { + "card_aro": 3006880, + "contig": 1, + "end": 1476052, + "gene": "blaEC-5", + "identity": 100.0, + "start": 1474919, + "subclass": "CEPHALOSPORIN", + "type": "AMR" + }, + "BOLIEGLD_01705": { + "card_aro": null, + "contig": 1, + "end": 1836314, + "gene": "fieF", + "identity": 99.67, + "start": 1835412, + "subclass": null, + "type": "STRESS" + }, + "BOLIEGLD_01956": { + "card_aro": null, + "contig": 1, + "end": 2102684, + "gene": "emrD", + "identity": 99.49, + "start": 2101500, + "subclass": "EFFLUX", + "type": "AMR" + }, + "BOLIEGLD_02213": { + "card_aro": null, + "contig": 1, + "end": 2379698, + "gene": "arsC", + "identity": 93.62, + "start": 2379273, + "subclass": "ARSENATE", + "type": "STRESS" + }, + "BOLIEGLD_02454": { + "card_aro": 3000502, + "contig": 1, + "end": 2614884, + "gene": "acrF", + "identity": 99.42, + "start": 2611780, + "subclass": "EFFLUX", + "type": "AMR" + }, + "BOLIEGLD_03529": { + "card_aro": 3004039, + "contig": 2, + "end": 862109, + "gene": "emrE", + "identity": 98.18, + "start": 861777, + "subclass": "EFFLUX", + "type": "STRESS" + }, + "BOLIEGLD_03862": { + "card_aro": null, + "contig": 2, + "end": 1193822, + "gene": "asr", + "identity": 98.04, + "start": 1193514, + "subclass": null, + "type": "STRESS" + }, + "BOLIEGLD_04218": { + "card_aro": null, + "contig": 2, + "end": 1571805, + "gene": "ymgB", + "identity": 97.73, + "start": 1571539, + "subclass": null, + "type": "STRESS" + }, + "total": 8 + }, + "resfinder": { + "total": 0 + }, + "rgi": { + "BOLIEGLD_00202": { + "accession": 2423, + "card_aro": 3003950, + "contig": 1, + "cut_off": "Strict", + "end": 211980, + "gene": "msbA", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", + "identity": 99.66, + "name": "Lipid A export ATP-binding/permease protein MsbA", + "resistance_mechanism": "antibiotic efflux", + "start": 210232, + "subclass": "nitroimidazole antibiotic" + }, + "BOLIEGLD_00317": { + "accession": 37, + "card_aro": 3001328, + "contig": 1, + "cut_off": "Strict", + "end": 324989, + "gene": "Escherichia coli mdfA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 97.07, + "name": "Multidrug transporter MdfA", + "resistance_mechanism": "antibiotic efflux", + "start": 323757, + "subclass": "tetracycline antibiotic; disinfecting agents and antiseptics" + }, + "BOLIEGLD_00451": { + "accession": 2331, + "card_aro": 3003841, + "contig": 1, + "cut_off": "Strict", + "end": 467180, + "gene": "kdpE", + "gene_family": "kdpDE", + "identity": 99.55, + "name": "KDP operon transcriptional regulatory protein KdpE", + "resistance_mechanism": "antibiotic efflux", + "start": 466503, + "subclass": "aminoglycoside antibiotic" + }, + "BOLIEGLD_00638": { + "accession": 2306, + "card_aro": 3003807, + "contig": 1, + "cut_off": "Strict", + "end": 668508, + "gene": "Escherichia coli AcrAB-TolC with AcrR mutation conferring resistance to ciprofloxacin, tetracycline, and ceftazidime", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "HTH-type transcriptional regulator AcrR", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", + "start": 667861, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "BOLIEGLD_00639": { + "accession": 2661, + "card_aro": 3004043, + "contig": 1, + "cut_off": "Strict", + "end": 669843, + "gene": "Escherichia coli acrA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.75, + "name": "Multidrug efflux pump subunit AcrA", + "resistance_mechanism": "antibiotic efflux", + "start": 668650, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "BOLIEGLD_00640": { + "accession": 1104, + "card_aro": 3000216, + "contig": 1, + "cut_off": "Strict", + "end": 673015, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.9, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 669866, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "BOLIEGLD_01066": { + "accession": 5921, + "card_aro": 3003843, + "contig": 1, + "cut_off": "Perfect", + "end": 1143426, + "gene": "leuO", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "HTH-type transcriptional regulator LeuO", + "resistance_mechanism": "antibiotic efflux", + "start": 1142482, + "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" + }, + "BOLIEGLD_01373": { + "accession": 4594, + "card_aro": 3006880, + "contig": 1, + "cut_off": "Perfect", + "end": 1476052, + "gene": "EC-5", + "gene_family": "EC beta-lactamase", + "identity": 100.0, + "name": "Beta-lactamase", + "resistance_mechanism": "antibiotic inactivation", + "start": 1474919, + "subclass": "cephalosporin" + }, + "BOLIEGLD_01466": { + "accession": 516, + "card_aro": 3003576, + "contig": 1, + "cut_off": "Strict", + "end": 1569976, + "gene": "eptA", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 96.16, + "name": "Phosphoethanolamine transferase EptA", + "resistance_mechanism": "antibiotic target alteration", + "start": 1568333, + "subclass": "peptide antibiotic" + }, + "BOLIEGLD_01499": { + "accession": 1442, + "card_aro": 3003548, + "contig": 1, + "cut_off": "Strict", + "end": 1600220, + "gene": "mdtN", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 99.13, + "name": "Multidrug resistance protein MdtN", + "resistance_mechanism": "antibiotic efflux", + "start": 1599189, + "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" + }, + "BOLIEGLD_01500": { + "accession": 2056, + "card_aro": 3003549, + "contig": 1, + "cut_off": "Strict", + "end": 1602271, + "gene": "mdtO", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 97.36, + "name": "Multidrug resistance protein MdtO", + "resistance_mechanism": "antibiotic efflux", + "start": 1600220, + "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" + }, + "BOLIEGLD_01501": { + "accession": 45, + "card_aro": 3003550, + "contig": 1, + "cut_off": "Strict", + "end": 1603734, + "gene": "mdtP", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 97.75, + "name": "Cation efflux system protein CusC", + "resistance_mechanism": "antibiotic efflux", + "start": 1602268, + "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" + }, + "BOLIEGLD_01526": { + "accession": 1005, + "card_aro": 3003381, + "contig": 1, + "cut_off": "Strict", + "end": 1632429, + "gene": "Escherichia coli soxR with mutation conferring antibiotic resistance", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.35, + "name": "Redox-sensitive transcriptional activator SoxR", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", + "start": 1631965, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "BOLIEGLD_01527": { + "accession": 2066, + "card_aro": 3003511, + "contig": 1, + "cut_off": "Strict", + "end": 1632838, + "gene": "Escherichia coli soxS with mutation conferring antibiotic resistance", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", + "identity": 100.0, + "name": "Regulatory protein SoxS", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux; reduced permeability to antibiotic", + "start": 1632515, + "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" + }, + "BOLIEGLD_01633": { + "accession": 2158, + "card_aro": 3003369, + "contig": 1, + "cut_off": "Strict", + "end": 1754344, + "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", + "gene_family": "elfamycin resistant EF-Tu", + "identity": 99.75, + "name": "Elongation factor Tu 2", + "resistance_mechanism": "antibiotic target alteration", + "start": 1753160, + "subclass": "elfamycin antibiotic" + }, + "BOLIEGLD_01708": { + "accession": 152, + "card_aro": 3000830, + "contig": 1, + "cut_off": "Perfect", + "end": 1839181, + "gene": "cpxA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Sensor histidine kinase CpxA", + "resistance_mechanism": "antibiotic efflux", + "start": 1837808, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "BOLIEGLD_02191": { + "accession": 91, + "card_aro": 3000508, + "contig": 1, + "cut_off": "Strict", + "end": 2358047, + "gene": "gadX", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 93.07, + "name": "HTH-type transcriptional regulator GadX", + "resistance_mechanism": "antibiotic efflux", + "start": 2357223, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "BOLIEGLD_02192": { + "accession": 2324, + "card_aro": 3003838, + "contig": 1, + "cut_off": "Perfect", + "end": 2359144, + "gene": "gadW", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "HTH-type transcriptional regulator GadW", + "resistance_mechanism": "antibiotic efflux", + "start": 2358416, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "BOLIEGLD_02194": { + "accession": 121, + "card_aro": 3000796, + "contig": 1, + "cut_off": "Strict", + "end": 2362620, + "gene": "mdtF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.52, + "name": "Multidrug resistance protein MdtF", + "resistance_mechanism": "antibiotic efflux", + "start": 2359507, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "BOLIEGLD_02195": { + "accession": 1903, + "card_aro": 3000795, + "contig": 1, + "cut_off": "Strict", + "end": 2363802, + "gene": "mdtE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.74, + "name": "Multidrug resistance protein MdtE", + "resistance_mechanism": "antibiotic efflux", + "start": 2362645, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "BOLIEGLD_02364": { + "accession": 869, + "card_aro": 3000518, + "contig": 1, + "cut_off": "Strict", + "end": 2544272, + "gene": "CRP", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.52, + "name": "cAMP-activated global transcriptional regulator CRP", + "resistance_mechanism": "antibiotic efflux", + "start": 2543640, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "BOLIEGLD_02383": { + "accession": 2158, + "card_aro": 3003369, + "contig": 1, + "cut_off": "Strict", + "end": 2560247, + "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", + "gene_family": "elfamycin resistant EF-Tu", + "identity": 99.75, + "name": "Elongation factor Tu 1", + "resistance_mechanism": "antibiotic target alteration", + "start": 2559063, + "subclass": "elfamycin antibiotic" + }, + "BOLIEGLD_02454": { + "accession": 1437, + "card_aro": 3000502, + "contig": 1, + "cut_off": "Strict", + "end": 2614884, + "gene": "AcrF", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.42, + "name": "Multidrug export protein AcrF", + "resistance_mechanism": "antibiotic efflux", + "start": 2611780, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "BOLIEGLD_02455": { + "accession": 1445, + "card_aro": 3000499, + "contig": 1, + "cut_off": "Strict", + "end": 2616053, + "gene": "AcrE", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.48, + "name": "Multidrug export protein AcrE", + "resistance_mechanism": "antibiotic efflux", + "start": 2614896, + "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" + }, + "BOLIEGLD_02456": { + "accession": 520, + "card_aro": 3000656, + "contig": 1, + "cut_off": "Strict", + "end": 2617114, + "gene": "AcrS", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.18, + "name": "HTH-type transcriptional regulator AcrR", + "resistance_mechanism": "antibiotic efflux", + "start": 2616452, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "BOLIEGLD_02649": { + "accession": 1820, + "card_aro": 3002986, + "contig": 1, + "cut_off": "Strict", + "end": 2817775, + "gene": "bacA", + "gene_family": "undecaprenyl pyrophosphate related proteins", + "identity": 99.63, + "name": "Undecaprenyl-diphosphatase", + "resistance_mechanism": "antibiotic target alteration", + "start": 2816954, + "subclass": "peptide antibiotic" + }, + "BOLIEGLD_02674": { + "accession": 826, + "card_aro": 3000237, + "contig": 1, + "cut_off": "Strict", + "end": 2846772, + "gene": "TolC", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.59, + "name": "Outer membrane protein TolC", + "resistance_mechanism": "antibiotic efflux", + "start": 2845291, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; aminoglycoside antibiotic; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; peptide antibiotic; aminocoumarin antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" + }, + "BOLIEGLD_02918": { + "accession": 1427, + "card_aro": 3000491, + "contig": 2, + "cut_off": "Strict", + "end": 167831, + "gene": "acrD", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.71, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 164718, + "subclass": "aminoglycoside antibiotic" + }, + "BOLIEGLD_03005": { + "accession": 1318, + "card_aro": 3000833, + "contig": 2, + "cut_off": "Strict", + "end": 259429, + "gene": "evgS", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.66, + "name": "Sensor protein EvgS", + "resistance_mechanism": "antibiotic efflux", + "start": 255836, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" + }, + "BOLIEGLD_03006": { + "accession": 1015, + "card_aro": 3000832, + "contig": 2, + "cut_off": "Perfect", + "end": 260048, + "gene": "evgA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "DNA-binding transcriptional activator EvgA", + "resistance_mechanism": "antibiotic efflux", + "start": 259434, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" + }, + "BOLIEGLD_03007": { + "accession": 609, + "card_aro": 3000206, + "contig": 2, + "cut_off": "Strict", + "end": 261627, + "gene": "emrK", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 98.86, + "name": "putative multidrug resistance protein EmrK", + "resistance_mechanism": "antibiotic efflux", + "start": 260464, + "subclass": "tetracycline antibiotic" + }, + "BOLIEGLD_03008": { + "accession": 540, + "card_aro": 3000254, + "contig": 2, + "cut_off": "Strict", + "end": 263165, + "gene": "emrY", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 99.8, + "name": "putative multidrug resistance protein EmrY", + "resistance_mechanism": "antibiotic efflux", + "start": 261627, + "subclass": "tetracycline antibiotic" + }, + "BOLIEGLD_03107": { + "accession": 2014, + "card_aro": 3003578, + "contig": 2, + "cut_off": "Strict", + "end": 372736, + "gene": "PmrF", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 99.38, + "name": "Undecaprenyl-phosphate 4-deoxy-4-formamido-L-arabinose transferase", + "resistance_mechanism": "antibiotic target alteration", + "start": 371768, + "subclass": "peptide antibiotic" + }, + "BOLIEGLD_03122": { + "accession": 2372, + "card_aro": 3003889, + "contig": 2, + "cut_off": "Strict", + "end": 388620, + "gene": "Escherichia coli GlpT with mutation conferring resistance to fosfomycin", + "gene_family": "antibiotic-resistant GlpT", + "identity": 99.52, + "name": "Glycerol-3-phosphate transporter", + "resistance_mechanism": "antibiotic target alteration", + "start": 387997, + "subclass": "phosphonic acid antibiotic" + }, + "BOLIEGLD_03149": { + "accession": 2424, + "card_aro": 3003952, + "contig": 2, + "cut_off": "Strict", + "end": 432274, + "gene": "YojI", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", + "identity": 99.63, + "name": "ABC transporter ATP-binding/permease protein YojI", + "resistance_mechanism": "antibiotic efflux", + "start": 430631, + "subclass": "peptide antibiotic" + }, + "BOLIEGLD_03288": { + "accession": 1337, + "card_aro": 3000828, + "contig": 2, + "cut_off": "Perfect", + "end": 575325, + "gene": "baeR", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Transcriptional regulatory protein BaeR", + "resistance_mechanism": "antibiotic efflux", + "start": 574603, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "BOLIEGLD_03289": { + "accession": 986, + "card_aro": 3000829, + "contig": 2, + "cut_off": "Strict", + "end": 576725, + "gene": "baeS", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 96.15, + "name": "Signal transduction histidine-protein kinase BaeS", + "resistance_mechanism": "antibiotic efflux", + "start": 575322, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "BOLIEGLD_03291": { + "accession": 1315, + "card_aro": 3000794, + "contig": 2, + "cut_off": "Strict", + "end": 581215, + "gene": "mdtC", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.83, + "name": "Multidrug resistance protein MdtC", + "resistance_mechanism": "antibiotic efflux", + "start": 578138, + "subclass": "aminocoumarin antibiotic" + }, + "BOLIEGLD_03292": { + "accession": 820, + "card_aro": 3000793, + "contig": 2, + "cut_off": "Strict", + "end": 584338, + "gene": "mdtB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.9, + "name": "Multidrug resistance protein MdtB", + "resistance_mechanism": "antibiotic efflux", + "start": 581216, + "subclass": "aminocoumarin antibiotic" + }, + "BOLIEGLD_03293": { + "accession": 387, + "card_aro": 3000792, + "contig": 2, + "cut_off": "Strict", + "end": 585585, + "gene": "mdtA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.8, + "name": "Multidrug resistance protein MdtA", + "resistance_mechanism": "antibiotic efflux", + "start": 584338, + "subclass": "aminocoumarin antibiotic" + }, + "BOLIEGLD_03336": { + "accession": 842, + "card_aro": 3003577, + "contig": 2, + "cut_off": "Strict", + "end": 639410, + "gene": "ugd", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 99.23, + "name": "UDP-glucose 6-dehydrogenase", + "resistance_mechanism": "antibiotic target alteration", + "start": 638244, + "subclass": "peptide antibiotic" + }, + "BOLIEGLD_03529": { + "accession": 2656, + "card_aro": 3004039, + "contig": 2, + "cut_off": "Strict", + "end": 862109, + "gene": "Escherichia coli emrE", + "gene_family": "small multidrug resistance (SMR) antibiotic efflux pump", + "identity": 98.18, + "name": "Multidrug transporter EmrE", + "resistance_mechanism": "antibiotic efflux", + "start": 861777, + "subclass": "macrolide antibiotic" + }, + "BOLIEGLD_03897": { + "accession": 1922, + "card_aro": 3000263, + "contig": 2, + "cut_off": "Strict", + "end": 1230414, + "gene": "marA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", + "identity": 99.21, + "name": "Multiple antibiotic resistance protein MarA", + "resistance_mechanism": "antibiotic efflux; reduced permeability to antibiotic", + "start": 1230031, + "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" + }, + "BOLIEGLD_03898": { + "accession": 431, + "card_aro": 3003378, + "contig": 2, + "cut_off": "Strict", + "end": 1230869, + "gene": "Escherichia coli AcrAB-TolC with MarR mutations conferring resistance to ciprofloxacin and tetracycline", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 98.61, + "name": "Multiple antibiotic resistance protein MarR", + "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", + "start": 1230435, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "BOLIEGLD_04136": { + "accession": 1248, + "card_aro": 3000676, + "contig": 2, + "cut_off": "Perfect", + "end": 1490484, + "gene": "H-NS", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "DNA-binding protein H-NS", + "resistance_mechanism": "antibiotic efflux", + "start": 1490071, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; cephalosporin; cephamycin; penam; tetracycline antibiotic" + }, + "BOLIEGLD_04311": { + "accession": 1330, + "card_aro": 3000516, + "contig": 2, + "cut_off": "Perfect", + "end": 1648176, + "gene": "emrR", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "Transcriptional repressor MprA", + "resistance_mechanism": "antibiotic efflux", + "start": 1647646, + "subclass": "fluoroquinolone antibiotic" + }, + "BOLIEGLD_04312": { + "accession": 1757, + "card_aro": 3000027, + "contig": 2, + "cut_off": "Strict", + "end": 1649475, + "gene": "emrA", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 99.74, + "name": "Multidrug export protein EmrA", + "resistance_mechanism": "antibiotic efflux", + "start": 1648303, + "subclass": "fluoroquinolone antibiotic" + }, + "BOLIEGLD_04313": { + "accession": 1847, + "card_aro": 3000074, + "contig": 2, + "cut_off": "Strict", + "end": 1651030, + "gene": "emrB", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 99.8, + "name": "Multidrug export protein EmrB", + "resistance_mechanism": "antibiotic efflux", + "start": 1649492, + "subclass": "fluoroquinolone antibiotic" + }, + "BOLIEGLD_04732": { + "accession": 603, + "card_aro": 3001329, + "contig": 2, + "cut_off": "Strict", + "end": 2086394, + "gene": "mdtG", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 99.51, + "name": "Staphyloferrin B transporter", + "resistance_mechanism": "antibiotic efflux", + "start": 2085168, + "subclass": "phosphonic acid antibiotic" + }, + "BOLIEGLD_04744": { + "accession": 375, + "card_aro": 3001216, + "contig": 2, + "cut_off": "Perfect", + "end": 2096231, + "gene": "mdtH", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "Multidrug resistance protein MdtH", + "resistance_mechanism": "antibiotic efflux", + "start": 2095023, + "subclass": "fluoroquinolone antibiotic" + }, + "total": 50 + } + }, + "results_dir": "/home/falmeida/Documents/GitHub/pythonScripts/_ANNOTATION/ecoli_4", + "sample": "ecoli_4", + "virulence": { + "VFDB": { + "BOLIEGLD_00021": { + "chr": 1, + "end": 23014, + "gene": "iroB", + "id": "VF0230", + "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 21899, + "virulence_factor": "Salmochelin_siderophore" + }, + "BOLIEGLD_00022": { + "chr": 1, + "end": 26813, + "gene": "iroC", + "id": "VF0230", + "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 23154, + "virulence_factor": "Salmochelin_siderophore" + }, + "BOLIEGLD_00023": { + "chr": 1, + "end": 28146, + "gene": "iroD", + "id": "VF0230", + "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 26917, + "virulence_factor": "Salmochelin_siderophore" + }, + "BOLIEGLD_00024": { + "chr": 1, + "end": 29187, + "gene": "iroE", + "id": "VF0230", + "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 28231, + "virulence_factor": "Salmochelin_siderophore" + }, + "BOLIEGLD_00025": { + "chr": 1, + "end": 31409, + "gene": "iroN", + "id": "VF0230", + "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 29232, + "virulence_factor": "Salmochelin_siderophore" + }, + "BOLIEGLD_00027": { + "chr": 1, + "end": 33503, + "gene": "sfaX", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 33003, + "virulence_factor": "F1C_fimbriae" + }, + "BOLIEGLD_00028": { + "chr": 1, + "end": 34441, + "gene": "sfaY", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 33701, + "virulence_factor": "F1C_fimbriae" + }, + "BOLIEGLD_00029": { + "chr": 1, + "end": 35755, + "gene": "focH", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 34745, + "virulence_factor": "F1C_fimbriae" + }, + "BOLIEGLD_00030": { + "chr": 1, + "end": 36209, + "gene": "focG", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 35706, + "virulence_factor": "F1C_fimbriae" + }, + "BOLIEGLD_00031": { + "chr": 1, + "end": 36758, + "gene": "focF", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 36231, + "virulence_factor": "F1C_fimbriae" + }, + "BOLIEGLD_00032": { + "chr": 1, + "end": 39401, + "gene": "focD", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 36771, + "virulence_factor": "F1C_fimbriae" + }, + "BOLIEGLD_00033": { + "chr": 1, + "end": 40166, + "gene": "focC", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 39471, + "virulence_factor": "F1C_fimbriae" + }, + "BOLIEGLD_00035": { + "chr": 1, + "end": 41359, + "gene": "focA", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 40817, + "virulence_factor": "F1C_fimbriae" + }, + "BOLIEGLD_00037": { + "chr": 1, + "end": 42060, + "gene": "C_RS05810", + "id": "VF0224", + "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", + "start": 41731, + "virulence_factor": "F1C_fimbriae" + }, + "BOLIEGLD_00166": { + "chr": 1, + "end": 166771, + "gene": "ompA", + "id": "VF0236", + "product": "OmpA_(VF0236)_Invasion_(VFC0083)", + "start": 165719, + "virulence_factor": "OmpA" + }, + "BOLIEGLD_00543": { + "chr": 1, + "end": 558298, + "gene": "entA", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 557552, + "virulence_factor": "Enterobactin" + }, + "BOLIEGLD_00544": { + "chr": 1, + "end": 559155, + "gene": "entB", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 558298, + "virulence_factor": "Enterobactin" + }, + "BOLIEGLD_00545": { + "chr": 1, + "end": 560779, + "gene": "entE", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 559169, + "virulence_factor": "Enterobactin" + }, + "BOLIEGLD_00546": { + "chr": 1, + "end": 561964, + "gene": "entC", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 560789, + "virulence_factor": "Enterobactin" + }, + "BOLIEGLD_00547": { + "chr": 1, + "end": 563109, + "gene": "fepB", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 562153, + "virulence_factor": "Enterobactin" + }, + "BOLIEGLD_00548": { + "chr": 1, + "end": 564363, + "gene": "entS", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 563113, + "virulence_factor": "Enterobactin" + }, + "BOLIEGLD_00549": { + "chr": 1, + "end": 565478, + "gene": "fepD", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 564474, + "virulence_factor": "Enterobactin" + }, + "BOLIEGLD_00550": { + "chr": 1, + "end": 566467, + "gene": "fepG", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 565475, + "virulence_factor": "Enterobactin" + }, + "BOLIEGLD_00551": { + "chr": 1, + "end": 567279, + "gene": "fepC", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 566464, + "virulence_factor": "Enterobactin" + }, + "BOLIEGLD_00552": { + "chr": 1, + "end": 568409, + "gene": "fepE", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 567276, + "virulence_factor": "Enterobactin" + }, + "BOLIEGLD_00553": { + "chr": 1, + "end": 572537, + "gene": "entF", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 568656, + "virulence_factor": "Enterobactin" + }, + "BOLIEGLD_00555": { + "chr": 1, + "end": 573957, + "gene": "fes", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 572755, + "virulence_factor": "Enterobactin" + }, + "BOLIEGLD_00556": { + "chr": 1, + "end": 576440, + "gene": "fepA", + "id": "VF0228", + "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 574200, + "virulence_factor": "Enterobactin" + }, + "BOLIEGLD_00568": { + "chr": 1, + "end": 589701, + "gene": "ibeB", + "id": "VF0237", + "product": "Ibes_(VF0237)_Invasion_(VFC0083)", + "start": 588319, + "virulence_factor": "Ibes" + }, + "BOLIEGLD_00786": { + "chr": 1, + "end": 833015, + "gene": "fdeC", + "id": "VF0506", + "product": "FdeC_(VF0506)_Adherence_(VFC0001)", + "start": 828765, + "virulence_factor": "FdeC" + }, + "BOLIEGLD_00796": { + "chr": 1, + "end": 842857, + "gene": "ykgK/ecpR", + "id": "VF0404", + "product": "ECP_(VF0404)_Adherence_(VFC0001)", + "start": 842315, + "virulence_factor": "ECP" + }, + "BOLIEGLD_00797": { + "chr": 1, + "end": 843519, + "gene": "yagZ/ecpA", + "id": "VF0404", + "product": "ECP_(VF0404)_Adherence_(VFC0001)", + "start": 842932, + "virulence_factor": "ECP" + }, + "BOLIEGLD_00798": { + "chr": 1, + "end": 844244, + "gene": "yagY/ecpB", + "id": "VF0404", + "product": "ECP_(VF0404)_Adherence_(VFC0001)", + "start": 843576, + "virulence_factor": "ECP" + }, + "BOLIEGLD_00799": { + "chr": 1, + "end": 846795, + "gene": "yagX/ecpC", + "id": "VF0404", + "product": "ECP_(VF0404)_Adherence_(VFC0001)", + "start": 844270, + "virulence_factor": "ECP" + }, + "BOLIEGLD_00800": { + "chr": 1, + "end": 848428, + "gene": "yagW/ecpD", + "id": "VF0404", + "product": "ECP_(VF0404)_Adherence_(VFC0001)", + "start": 846785, + "virulence_factor": "ECP" + }, + "BOLIEGLD_00801": { + "chr": 1, + "end": 849107, + "gene": "yagV/ecpE", + "id": "VF0404", + "product": "ECP_(VF0404)_Adherence_(VFC0001)", + "start": 848397, + "virulence_factor": "ECP" + }, + "BOLIEGLD_00839": { + "chr": 1, + "end": 905523, + "gene": "pic", + "id": "VF0232", + "product": "Pic_(VF0232)_Effector_delivery_system_(VFC0086)", + "start": 901408, + "virulence_factor": "Pic" + }, + "BOLIEGLD_01229": { + "chr": 1, + "end": 1319273, + "gene": "fimH", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 1318371, + "virulence_factor": "Type_1_fimbriae" + }, + "BOLIEGLD_01230": { + "chr": 1, + "end": 1319796, + "gene": "fimG", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 1319293, + "virulence_factor": "Type_1_fimbriae" + }, + "BOLIEGLD_01231": { + "chr": 1, + "end": 1320339, + "gene": "fimF", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 1319809, + "virulence_factor": "Type_1_fimbriae" + }, + "BOLIEGLD_01232": { + "chr": 1, + "end": 1322985, + "gene": "fimD", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 1320349, + "virulence_factor": "Type_1_fimbriae" + }, + "BOLIEGLD_01233": { + "chr": 1, + "end": 1323776, + "gene": "fimC", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 1323051, + "virulence_factor": "Type_1_fimbriae" + }, + "BOLIEGLD_01234": { + "chr": 1, + "end": 1324310, + "gene": "fimI", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 1323813, + "virulence_factor": "Type_1_fimbriae" + }, + "BOLIEGLD_01235": { + "chr": 1, + "end": 1324965, + "gene": "fimA", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 1324417, + "virulence_factor": "Type_1_fimbriae" + }, + "BOLIEGLD_01236": { + "chr": 1, + "end": 1326042, + "gene": "fimE", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 1325446, + "virulence_factor": "Type_1_fimbriae" + }, + "BOLIEGLD_01237": { + "chr": 1, + "end": 1327122, + "gene": "fimB", + "id": "VF0221", + "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", + "start": 1326520, + "virulence_factor": "Type_1_fimbriae" + }, + "BOLIEGLD_01415": { + "chr": 1, + "end": 1514379, + "gene": "papA", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 1513816, + "virulence_factor": "P_fimbriae" + }, + "BOLIEGLD_01661": { + "chr": 1, + "end": 1786885, + "gene": "ibeC", + "id": "VF0237", + "product": "Ibes_(VF0237)_Invasion_(VFC0083)", + "start": 1785152, + "virulence_factor": "Ibes" + }, + "BOLIEGLD_02202": { + "chr": 1, + "end": 2368601, + "gene": "chuV", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2367831, + "virulence_factor": "Chu" + }, + "BOLIEGLD_02203": { + "chr": 1, + "end": 2369554, + "gene": "chuU", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2368598, + "virulence_factor": "Chu" + }, + "BOLIEGLD_02204": { + "chr": 1, + "end": 2370262, + "gene": "chuY", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2369639, + "virulence_factor": "Chu" + }, + "BOLIEGLD_02205": { + "chr": 1, + "end": 2370756, + "gene": "chuX", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2370262, + "virulence_factor": "Chu" + }, + "BOLIEGLD_02206": { + "chr": 1, + "end": 2372106, + "gene": "chuW", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2370769, + "virulence_factor": "Chu" + }, + "BOLIEGLD_02207": { + "chr": 1, + "end": 2373040, + "gene": "chuT", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2372126, + "virulence_factor": "Chu" + }, + "BOLIEGLD_02208": { + "chr": 1, + "end": 2375706, + "gene": "chuA", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2373724, + "virulence_factor": "Chu" + }, + "BOLIEGLD_02209": { + "chr": 1, + "end": 2376783, + "gene": "chuS", + "id": "VF0227", + "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2375755, + "virulence_factor": "Chu" + }, + "BOLIEGLD_02756": { + "chr": 1, + "end": 2931211, + "gene": "gspM", + "id": "VF0333", + "product": "T2SS_(VF0333)_Effector_delivery_system_(VFC0086)", + "start": 2930675, + "virulence_factor": "T2SS" + }, + "BOLIEGLD_02757": { + "chr": 1, + "end": 2933161, + "gene": "kpsM", + "id": "VF0239", + "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", + "start": 2932385, + "virulence_factor": "K1_capsule" + }, + "BOLIEGLD_02764": { + "chr": 1, + "end": 2942873, + "gene": "kpsS", + "id": "VF0239", + "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", + "start": 2941635, + "virulence_factor": "K1_capsule" + }, + "BOLIEGLD_02765": { + "chr": 1, + "end": 2944935, + "gene": "kpsC", + "id": "VF0239", + "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", + "start": 2942908, + "virulence_factor": "K1_capsule" + }, + "BOLIEGLD_02766": { + "chr": 1, + "end": 2945672, + "gene": "kpsU", + "id": "VF0239", + "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", + "start": 2944932, + "virulence_factor": "K1_capsule" + }, + "BOLIEGLD_02767": { + "chr": 1, + "end": 2947358, + "gene": "kpsD", + "id": "VF0239", + "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", + "start": 2945682, + "virulence_factor": "K1_capsule" + }, + "BOLIEGLD_02768": { + "chr": 1, + "end": 2948530, + "gene": "kpsE", + "id": "VF0239", + "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", + "start": 2947382, + "virulence_factor": "K1_capsule" + }, + "BOLIEGLD_02769": { + "chr": 1, + "end": 2949585, + "gene": "kpsF", + "id": "VF0239", + "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", + "start": 2948602, + "virulence_factor": "K1_capsule" + }, + "BOLIEGLD_03418": { + "chr": 2, + "end": 711416, + "gene": "clbA", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 710682, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03420": { + "chr": 2, + "end": 721659, + "gene": "clbB", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 712039, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03421": { + "chr": 2, + "end": 724300, + "gene": "clbC", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 721700, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03422": { + "chr": 2, + "end": 725179, + "gene": "clbD", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 724313, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03423": { + "chr": 2, + "end": 725457, + "gene": "clbE", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 725209, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03424": { + "chr": 2, + "end": 726591, + "gene": "clbF", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 725461, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03425": { + "chr": 2, + "end": 727856, + "gene": "clbG", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 726588, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03426": { + "chr": 2, + "end": 732700, + "gene": "clbH", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 727904, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03427": { + "chr": 2, + "end": 735782, + "gene": "clbI", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 732750, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03428": { + "chr": 2, + "end": 742326, + "gene": "clbJ", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 735826, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03431": { + "chr": 2, + "end": 750212, + "gene": "clbL", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 748749, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03432": { + "chr": 2, + "end": 751713, + "gene": "clbM", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 750274, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03433": { + "chr": 2, + "end": 756077, + "gene": "clbN", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 751710, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03434": { + "chr": 2, + "end": 758567, + "gene": "clbO", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 756108, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03435": { + "chr": 2, + "end": 760094, + "gene": "clbP", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 758589, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03436": { + "chr": 2, + "end": 760809, + "gene": "clbQ", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 760087, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03437": { + "chr": 2, + "end": 761356, + "gene": "clbS", + "id": "VF0573", + "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", + "start": 760844, + "virulence_factor": "Colibactin" + }, + "BOLIEGLD_03452": { + "chr": 2, + "end": 778766, + "gene": "fyuA/psn", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 776745, + "virulence_factor": "Yersiniabactin" + }, + "BOLIEGLD_03453": { + "chr": 2, + "end": 780474, + "gene": "ybtE", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 778897, + "virulence_factor": "Yersiniabactin" + }, + "BOLIEGLD_03454": { + "chr": 2, + "end": 781281, + "gene": "ybtT", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 780478, + "virulence_factor": "Yersiniabactin" + }, + "BOLIEGLD_03455": { + "chr": 2, + "end": 782378, + "gene": "ybtU", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 781278, + "virulence_factor": "Yersiniabactin" + }, + "BOLIEGLD_03456": { + "chr": 2, + "end": 791866, + "gene": "irp1", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 782375, + "virulence_factor": "Yersiniabactin" + }, + "BOLIEGLD_03460": { + "chr": 2, + "end": 799922, + "gene": "ybtA", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 798963, + "virulence_factor": "Yersiniabactin" + }, + "BOLIEGLD_03461": { + "chr": 2, + "end": 801891, + "gene": "ybtP", + "id": "VF0564", + "product": "Ybt_(VF0564)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 800089, + "virulence_factor": "Ybt" + }, + "BOLIEGLD_03462": { + "chr": 2, + "end": 803680, + "gene": "ybtQ", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 801878, + "virulence_factor": "Yersiniabactin" + }, + "BOLIEGLD_03463": { + "chr": 2, + "end": 804953, + "gene": "ybtX", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 803673, + "virulence_factor": "Yersiniabactin" + }, + "BOLIEGLD_03464": { + "chr": 2, + "end": 806285, + "gene": "ybtS", + "id": "VF0136", + "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 804981, + "virulence_factor": "Yersiniabactin" + }, + "BOLIEGLD_03488": { + "chr": 2, + "end": 823137, + "gene": "tcpC", + "id": "VF0413", + "product": "TcpC_(VF0413)_Immune_modulation_(VFC0258)", + "start": 822214, + "virulence_factor": "TcpC" + }, + "BOLIEGLD_04614": { + "chr": 2, + "end": 1974795, + "gene": "hlyC", + "id": "VF0225", + "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", + "start": 1974283, + "virulence_factor": "-Hemolysin" + }, + "BOLIEGLD_04615": { + "chr": 2, + "end": 1977881, + "gene": "hlyA", + "id": "VF0225", + "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", + "start": 1974807, + "virulence_factor": "-Hemolysin" + }, + "BOLIEGLD_04616": { + "chr": 2, + "end": 1980075, + "gene": "hlyB", + "id": "VF0225", + "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", + "start": 1977952, + "virulence_factor": "-Hemolysin" + }, + "BOLIEGLD_04617": { + "chr": 2, + "end": 1981530, + "gene": "hlyD", + "id": "VF0225", + "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", + "start": 1980094, + "virulence_factor": "-Hemolysin" + }, + "BOLIEGLD_04623": { + "chr": 2, + "end": 1985190, + "gene": "papX", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 1984690, + "virulence_factor": "P_fimbriae" + }, + "BOLIEGLD_04624": { + "chr": 2, + "end": 1986514, + "gene": "papG", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 1985504, + "virulence_factor": "P_fimbriae" + }, + "BOLIEGLD_04625": { + "chr": 2, + "end": 1987058, + "gene": "papF", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 1986558, + "virulence_factor": "P_fimbriae" + }, + "BOLIEGLD_04626": { + "chr": 2, + "end": 1987654, + "gene": "papE", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 1987133, + "virulence_factor": "P_fimbriae" + }, + "BOLIEGLD_04627": { + "chr": 2, + "end": 1988217, + "gene": "papK", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 1987681, + "virulence_factor": "P_fimbriae" + }, + "BOLIEGLD_04628": { + "chr": 2, + "end": 1988808, + "gene": "papJ", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 1988227, + "virulence_factor": "P_fimbriae" + }, + "BOLIEGLD_04629": { + "chr": 2, + "end": 1989564, + "gene": "papD", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 1988845, + "virulence_factor": "P_fimbriae" + }, + "BOLIEGLD_04630": { + "chr": 2, + "end": 1992169, + "gene": "papC", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 1989650, + "virulence_factor": "P_fimbriae" + }, + "BOLIEGLD_04631": { + "chr": 2, + "end": 1992806, + "gene": "papH", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 1992219, + "virulence_factor": "P_fimbriae" + }, + "BOLIEGLD_04632": { + "chr": 2, + "end": 1993442, + "gene": "papA", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 1992876, + "virulence_factor": "P_fimbriae" + }, + "BOLIEGLD_04634": { + "chr": 2, + "end": 1994601, + "gene": "papI", + "id": "VF0220", + "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", + "start": 1994380, + "virulence_factor": "P_fimbriae" + }, + "BOLIEGLD_04655": { + "chr": 2, + "end": 2016160, + "gene": "sat", + "id": "VF0231", + "product": "Sat_(VF0231)_Effector_delivery_system_(VFC0086)", + "start": 2012273, + "virulence_factor": "Sat" + }, + "BOLIEGLD_04656": { + "chr": 2, + "end": 2019302, + "gene": "iutA", + "id": "VF0229", + "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2017104, + "virulence_factor": "Aerobactin" + }, + "BOLIEGLD_04657": { + "chr": 2, + "end": 2020642, + "gene": "iucD", + "id": "VF0229", + "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2019305, + "virulence_factor": "Aerobactin" + }, + "BOLIEGLD_04658": { + "chr": 2, + "end": 2022381, + "gene": "iucC", + "id": "VF0229", + "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2020639, + "virulence_factor": "Aerobactin" + }, + "BOLIEGLD_04659": { + "chr": 2, + "end": 2023328, + "gene": "iucB", + "id": "VF0229", + "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2022381, + "virulence_factor": "Aerobactin" + }, + "BOLIEGLD_04660": { + "chr": 2, + "end": 2025053, + "gene": "iucA", + "id": "VF0229", + "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2023329, + "virulence_factor": "Aerobactin" + }, + "BOLIEGLD_04717": { + "chr": 2, + "end": 2072588, + "gene": "cgsG", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 2071755, + "virulence_factor": "Curli_fibers" + }, + "BOLIEGLD_04718": { + "chr": 2, + "end": 2073031, + "gene": "cgsF", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 2072615, + "virulence_factor": "Curli_fibers" + }, + "BOLIEGLD_04719": { + "chr": 2, + "end": 2073445, + "gene": "cgsE", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 2073056, + "virulence_factor": "Curli_fibers" + }, + "BOLIEGLD_04720": { + "chr": 2, + "end": 2074100, + "gene": "cgsD", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 2073450, + "virulence_factor": "Curli_fibers" + }, + "BOLIEGLD_04721": { + "chr": 2, + "end": 2075308, + "gene": "csgB", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 2074853, + "virulence_factor": "Curli_fibers" + }, + "BOLIEGLD_04722": { + "chr": 2, + "end": 2075807, + "gene": "csgA", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 2075349, + "virulence_factor": "Curli_fibers" + }, + "BOLIEGLD_04723": { + "chr": 2, + "end": 2076198, + "gene": "csgC", + "id": "VF1138", + "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", + "start": 2075866, + "virulence_factor": "Curli_fibers" + }, + "total": 120 + }, + "Victors": { + "BOLIEGLD_00021": { + "contig": 1, + "end": 23014, + "id": "26247128", + "name": "glucosyltransferase", + "product": "gi|26247128|ref|NP_753168.1|glucosyltransferase_[Escherichia_coli_CFT073]", + "start": 21899 + }, + "BOLIEGLD_00022": { + "contig": 1, + "end": 26813, + "id": "26247127", + "name": "ABC_transporter_ATP-binding_protein", + "product": "gi|26247127|ref|NP_753167.1|ABC_transporter_ATP-binding_protein_[Escherichia_coli_CFT073]", + "start": 23154 + }, + "BOLIEGLD_00023": { + "contig": 1, + "end": 28146, + "id": "26247126", + "name": "ferric_enterochelin_esterase", + "product": "gi|26247126|ref|NP_753166.1|ferric_enterochelin_esterase_[Escherichia_coli_CFT073]", + "start": 26917 + }, + "BOLIEGLD_00025": { + "contig": 1, + "end": 31409, + "id": "26247124", + "name": "outer_membrane_receptor_FepA", + "product": "gi|26247124|ref|NP_753164.1|outer_membrane_receptor_FepA_[Escherichia_coli_CFT073]", + "start": 29232 + }, + "BOLIEGLD_00166": { + "contig": 1, + "end": 166771, + "id": "26246978", + "name": "outer_membrane_protein_A", + "product": "gi|26246978|ref|NP_753018.1|outer_membrane_protein_A_[Escherichia_coli_CFT073]", + "start": 165719 + }, + "BOLIEGLD_00178": { + "contig": 1, + "end": 180871, + "id": "16764417", + "name": "dihydroorotate_dehydrogenase_2", + "product": "gi|16764417|ref|NP_460032.1|dihydroorotate_dehydrogenase_2_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 179861 + }, + "BOLIEGLD_00208": { + "contig": 1, + "end": 219788, + "id": "82544646", + "name": "3-phosphoshikimate_1-carboxyvinyltransferase", + "product": "gi|82544646|ref|YP_408593.1|3-phosphoshikimate_1-carboxyvinyltransferase_[Shigella_boydii_Sb227]", + "start": 218505 + }, + "BOLIEGLD_00214": { + "contig": 1, + "end": 228260, + "id": "161353606", + "name": "pyruvate_formate_lyase-activating_enzyme_1", + "product": "gi|161353606|ref|NP_459945.2|pyruvate_formate_lyase-activating_enzyme_1_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 227520 + }, + "BOLIEGLD_00225": { + "contig": 1, + "end": 244345, + "id": "15800751", + "name": "thioredoxin_reductase", + "product": "gi|15800751|ref|NP_286765.1|thioredoxin_reductase_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 243275 + }, + "BOLIEGLD_00317": { + "contig": 1, + "end": 324989, + "id": "16764228", + "name": "multidrug_translocase", + "product": "gi|16764228|ref|NP_459843.1|multidrug_translocase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 323757 + }, + "BOLIEGLD_00516": { + "contig": 1, + "end": 531039, + "id": "16764006", + "name": "RNA_chaperone", + "product": "gi|16764006|ref|NP_459621.1|RNA_chaperone_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 530830 + }, + "BOLIEGLD_00541": { + "contig": 1, + "end": 556955, + "id": "16763977", + "name": "carbon_starvation_protein", + "product": "gi|16763977|ref|NP_459592.1|carbon_starvation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 554850 + }, + "BOLIEGLD_00641": { + "contig": 1, + "end": 673934, + "id": "16763854", + "name": "cytoplasmic_protein", + "product": "gi|16763854|ref|NP_459469.1|cytoplasmic_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 673560 + }, + "BOLIEGLD_00666": { + "contig": 1, + "end": 698314, + "id": "16763829", + "name": "ATP-dependent_Clp_protease_proteolytic_subunit", + "product": "gi|16763829|ref|NP_459444.1|ATP-dependent_Clp_protease_proteolytic_subunit_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 697691 + }, + "BOLIEGLD_00672": { + "contig": 1, + "end": 706340, + "id": "16763823", + "name": "cytochrome_o_ubiquinol_oxidase_subunit_I", + "product": "gi|16763823|ref|NP_459438.1|cytochrome_o_ubiquinol_oxidase_subunit_I_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 704349 + }, + "BOLIEGLD_00797": { + "contig": 1, + "end": 843519, + "id": "215485400", + "name": "fimbrillin_precursor", + "product": "gi|215485400|ref|YP_002327831.1|fimbrillin_precursor_[Escherichia_coli_O127:H6_str._E2348/69]", + "start": 842932 + }, + "BOLIEGLD_00818": { + "contig": 1, + "end": 869837, + "id": "16763696", + "name": "DNA_polymerase_IV", + "product": "gi|16763696|ref|NP_459311.1|DNA_polymerase_IV_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 868782 + }, + "BOLIEGLD_00824": { + "contig": 1, + "end": 875974, + "id": "16759305", + "name": "phosphoheptose_isomerase", + "product": "gi|16759305|ref|NP_454922.1|phosphoheptose_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", + "start": 875396 + }, + "BOLIEGLD_00957": { + "contig": 1, + "end": 1021112, + "id": "187734090", + "name": "periplasmic_chaperone", + "product": "gi|187734090|ref|YP_001878980.1|periplasmic_chaperone_[Shigella_boydii_CDC_3083-94]", + "start": 1020627 + }, + "BOLIEGLD_00968": { + "contig": 1, + "end": 1032617, + "id": "15799850", + "name": "methionine_aminopeptidase", + "product": "gi|15799850|ref|NP_285862.1|methionine_aminopeptidase_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 1031823 + }, + "BOLIEGLD_00975": { + "contig": 1, + "end": 1040404, + "id": "187732326", + "name": "serine_endoprotease", + "product": "gi|187732326|ref|YP_001878964.1|serine_endoprotease_[Shigella_boydii_CDC_3083-94]", + "start": 1038980 + }, + "BOLIEGLD_00991": { + "contig": 1, + "end": 1060929, + "id": "56479612", + "name": "RNA_polymerase-binding_transcription_factor", + "product": "gi|56479612|ref|NP_706093.2|RNA_polymerase-binding_transcription_factor_[Shigella_flexneri_2a_str._301]", + "start": 1060474 + }, + "BOLIEGLD_01091": { + "contig": 1, + "end": 1175012, + "id": "24111499", + "name": "peptidyl-prolyl_cis-trans_isomerase_SurA", + "product": "gi|24111499|ref|NP_706009.1|peptidyl-prolyl_cis-trans_isomerase_SurA_[Shigella_flexneri_2a_str._301]", + "start": 1173726 + }, + "BOLIEGLD_01201": { + "contig": 1, + "end": 1288406, + "id": "16763338", + "name": "carbon_starvation_protein", + "product": "gi|16763338|ref|NP_458955.1|carbon_starvation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", + "start": 1286256 + }, + "BOLIEGLD_01229": { + "contig": 1, + "end": 1319273, + "id": "26251208", + "name": "FimH_protein", + "product": "gi|26251208|ref|NP_757248.1|FimH_protein_[Escherichia_coli_CFT073]", + "start": 1318371 + }, + "BOLIEGLD_01234": { + "contig": 1, + "end": 1324310, + "id": "26251202", + "name": "fimbrin-like_protein_fimI", + "product": "gi|26251202|ref|NP_757242.1|fimbrin-like_protein_fimI_[Escherichia_coli_CFT073]", + "start": 1323813 + }, + "BOLIEGLD_01348": { + "contig": 1, + "end": 1447993, + "id": "110808097", + "name": "exoribonuclease_R", + "product": "gi|110808097|ref|YP_691617.1|exoribonuclease_R_[Shigella_flexneri_5_str._8401]", + "start": 1445552 + }, + "BOLIEGLD_01355": { + "contig": 1, + "end": 1454359, + "id": "24115527", + "name": "RNA-binding_protein_Hfq", + "product": "gi|24115527|ref|NP_710037.1|RNA-binding_protein_Hfq_[Shigella_flexneri_2a_str._301]", + "start": 1454051 + }, + "BOLIEGLD_01356": { + "contig": 1, + "end": 1455395, + "id": "82546588", + "name": "tRNA_delta(2)-isopentenylpyrophosphate_transferase", + "product": "gi|82546588|ref|YP_410535.1|tRNA_delta(2)-isopentenylpyrophosphate_transferase_[Shigella_boydii_Sb227]", + "start": 1454445 + }, + "BOLIEGLD_01447": { + "contig": 1, + "end": 1546865, + "id": "16765878", + "name": "APC_family_lysine/cadaverine_transport_protein", + "product": "gi|16765878|ref|NP_461493.1|APC_family_lysine/cadaverine_transport_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1545531 + }, + "BOLIEGLD_01598": { + "contig": 1, + "end": 1716990, + "id": "16767432", + "name": "homoserine_O-succinyltransferase", + "product": "gi|16767432|ref|NP_463047.1|homoserine_O-succinyltransferase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1716061 + }, + "BOLIEGLD_01607": { + "contig": 1, + "end": 1726714, + "id": "16767429", + "name": "phosphoribosylamine--glycine_ligase", + "product": "gi|16767429|ref|NP_463044.1|phosphoribosylamine--glycine_ligase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1725425 + }, + "BOLIEGLD_01614": { + "contig": 1, + "end": 1731825, + "id": "16767423", + "name": "hypothetical_protein_STM4169", + "product": "gi|16767423|ref|NP_463038.1|hypothetical_protein_STM4169_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1731235 + }, + "BOLIEGLD_01760": { + "contig": 1, + "end": 1893533, + "id": "117626134", + "name": "protein_disulfide_isomerase_I", + "product": "gi|117626134|ref|YP_859457.1|protein_disulfide_isomerase_I_[Escherichia_coli_APEC_O1]", + "start": 1892907 + }, + "BOLIEGLD_01761": { + "contig": 1, + "end": 1894536, + "id": "82778968", + "name": "serine/threonine_protein_kinase", + "product": "gi|82778968|ref|YP_405317.1|serine/threonine_protein_kinase_[Shigella_dysenteriae_Sd197]", + "start": 1893550 + }, + "BOLIEGLD_01776": { + "contig": 1, + "end": 1912114, + "id": "117626120", + "name": "transcriptional_activator_RfaH", + "product": "gi|117626120|ref|YP_859443.1|transcriptional_activator_RfaH_[Escherichia_coli_APEC_O1]", + "start": 1911626 + }, + "BOLIEGLD_01839": { + "contig": 1, + "end": 1977783, + "id": "91213321", + "name": "arylsulfatase", + "product": "gi|91213321|ref|YP_543307.1|arylsulfatase_[Escherichia_coli_UTI89]", + "start": 1976128 + }, + "BOLIEGLD_01850": { + "contig": 1, + "end": 1986990, + "id": "16767200", + "name": "TDP-4-oxo-6-deoxy-D-glucose_transaminase", + "product": "gi|16767200|ref|NP_462815.1|TDP-4-oxo-6-deoxy-D-glucose_transaminase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1985860 + }, + "BOLIEGLD_01857": { + "contig": 1, + "end": 1994220, + "id": "24115078", + "name": "undecaprenyl-phosphate_alpha-N-acetylglucosaminyl_1-phosphate_transferase", + "product": "gi|24115078|ref|NP_709588.1|undecaprenyl-phosphate_alpha-N-acetylglucosaminyl_1-phosphate_transferase_[Shigella_flexneri_2a_str._301]", + "start": 1993117 + }, + "BOLIEGLD_01859": { + "contig": 1, + "end": 1996375, + "id": "16767191", + "name": "thioredoxin", + "product": "gi|16767191|ref|NP_462806.1|thioredoxin_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1996046 + }, + "BOLIEGLD_01863": { + "contig": 1, + "end": 2001827, + "id": "16767186", + "name": "peptidyl-prolyl_cis-trans_isomerase_C", + "product": "gi|16767186|ref|NP_462801.1|peptidyl-prolyl_cis-trans_isomerase_C_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 2001546 + }, + "BOLIEGLD_01947": { + "contig": 1, + "end": 2093513, + "id": "228960701", + "name": "heat_shock_protein_IbpA", + "product": "gi|228960701|ref|NP_462709.3|heat_shock_protein_IbpA_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 2093100 + }, + "BOLIEGLD_02060": { + "contig": 1, + "end": 2208847, + "id": "22124023", + "name": "bifunctional_(p)ppGpp_synthetase_II/_guanosine-3',5'-bis_pyrophosphate_3'-pyrophosphohydrolase", + "product": "gi|22124023|ref|NP_667446.1|bifunctional_(p)ppGpp_synthetase_II/_guanosine-3',5'-bis_pyrophosphate_3'-pyrophosphohydrolase_[Yersinia_pestis_KIM10+]", + "start": 2206739 + }, + "BOLIEGLD_02092": { + "contig": 1, + "end": 2239017, + "id": "15804159", + "name": "glycosyl_transferase", + "product": "gi|15804159|ref|NP_290198.1|glycosyl_transferase_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 2237983 + }, + "BOLIEGLD_02160": { + "contig": 1, + "end": 2316477, + "id": "117625828", + "name": "dipeptide_transporter_protein_DppA", + "product": "gi|117625828|ref|YP_859151.1|dipeptide_transporter_protein_DppA_[Escherichia_coli_APEC_O1]", + "start": 2314870 + }, + "BOLIEGLD_02197": { + "contig": 1, + "end": 2364668, + "id": "110807348", + "name": "hypothetical_protein_SFV_3526", + "product": "gi|110807348|ref|YP_690868.1|hypothetical_protein_SFV_3526_[Shigella_flexneri_5_str._8401]", + "start": 2364141 + }, + "BOLIEGLD_02208": { + "contig": 1, + "end": 2375706, + "id": "170681293", + "name": "outer_membrane_heme/hemoglobin_receptor_ChuA", + "product": "gi|170681293|ref|YP_001745768.1|outer_membrane_heme/hemoglobin_receptor_ChuA_[Escherichia_coli_SMS-3-5]", + "start": 2373724 + }, + "BOLIEGLD_02320": { + "contig": 1, + "end": 2499051, + "id": "56480330", + "name": "osmolarity_response_regulator", + "product": "gi|56480330|ref|NP_709178.2|osmolarity_response_regulator_[Shigella_flexneri_2a_str._301]", + "start": 2498332 + }, + "BOLIEGLD_02321": { + "contig": 1, + "end": 2500400, + "id": "24114667", + "name": "osmolarity_sensor_protein", + "product": "gi|24114667|ref|NP_709177.1|osmolarity_sensor_protein_[Shigella_flexneri_2a_str._301]", + "start": 2499048 + }, + "BOLIEGLD_02340": { + "contig": 1, + "end": 2520651, + "id": "16766772", + "name": "DNA_adenine_methylase", + "product": "gi|16766772|ref|NP_462387.1|DNA_adenine_methylase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 2519815 + }, + "BOLIEGLD_02364": { + "contig": 1, + "end": 2544272, + "id": "16766754", + "name": "cAMP-activated_global_transcriptional_regulator", + "product": "gi|16766754|ref|NP_462369.1|cAMP-activated_global_transcriptional_regulator_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 2543640 + }, + "BOLIEGLD_02373": { + "contig": 1, + "end": 2552485, + "id": "16766744", + "name": "FKBP-type_peptidyl-prolyl_cis-trans_isomerase", + "product": "gi|16766744|ref|NP_462359.1|FKBP-type_peptidyl-prolyl_cis-trans_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 2551895 + }, + "BOLIEGLD_02375": { + "contig": 1, + "end": 2553785, + "id": "16766742", + "name": "FKBP-type_peptidyl-prolyl_cis-trans_isomerase", + "product": "gi|16766742|ref|NP_462357.1|FKBP-type_peptidyl-prolyl_cis-trans_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 2552973 + }, + "BOLIEGLD_02497": { + "contig": 1, + "end": 2661423, + "id": "16766637", + "name": "stringent_starvation_protein_A", + "product": "gi|16766637|ref|NP_462252.1|stringent_starvation_protein_A_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 2660785 + }, + "BOLIEGLD_02808": { + "contig": 2, + "end": 31977, + "id": "16765976", + "name": "chaperone_protein_ClpB", + "product": "gi|16765976|ref|NP_461591.1|chaperone_protein_ClpB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 29404 + }, + "BOLIEGLD_02838": { + "contig": 2, + "end": 63660, + "id": "16765896", + "name": "ferredoxin", + "product": "gi|16765896|ref|NP_461511.1|ferredoxin_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 63400 + }, + "BOLIEGLD_02839": { + "contig": 2, + "end": 64564, + "id": "161367545", + "name": "DNA-binding_transcriptional_regulator", + "product": "gi|161367545|ref|NP_289117.2|DNA-binding_transcriptional_regulator_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 63716 + }, + "BOLIEGLD_02889": { + "contig": 2, + "end": 136623, + "id": "56480121", + "name": "inosine_5'-monophosphate_dehydrogenase", + "product": "gi|56480121|ref|NP_708347.2|inosine_5'-monophosphate_dehydrogenase_[Shigella_flexneri_2a_str._301]", + "start": 135157 + }, + "BOLIEGLD_02890": { + "contig": 2, + "end": 138269, + "id": "24113836", + "name": "GMP_synthase", + "product": "gi|24113836|ref|NP_708346.1|GMP_synthase_[Shigella_flexneri_2a_str._301]", + "start": 136692 + }, + "BOLIEGLD_02897": { + "contig": 2, + "end": 146184, + "id": "16765821", + "name": "polyphosphate_kinase", + "product": "gi|16765821|ref|NP_461436.1|polyphosphate_kinase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 144118 + }, + "BOLIEGLD_03019": { + "contig": 2, + "end": 281521, + "id": "24113718", + "name": "ABC_transporter_outer_membrane_lipoprotein", + "product": "gi|24113718|ref|NP_708228.1|ABC_transporter_outer_membrane_lipoprotein_[Shigella_flexneri_2a_str._301]", + "start": 280766 + }, + "BOLIEGLD_03034": { + "contig": 2, + "end": 298003, + "id": "16761308", + "name": "chorismate_synthase", + "product": "gi|16761308|ref|NP_456925.1|chorismate_synthase_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", + "start": 296918 + }, + "BOLIEGLD_03145": { + "contig": 2, + "end": 427600, + "id": "82776181", + "name": "porin", + "product": "gi|82776181|ref|YP_402530.1|porin_[Shigella_dysenteriae_Sd197]", + "start": 426473 + }, + "BOLIEGLD_03216": { + "contig": 2, + "end": 499229, + "id": "16765517", + "name": "NAD-dependent_dihydropyrimidine_dehydrogenase_subunit_PreA", + "product": "gi|16765517|ref|NP_461132.1|NAD-dependent_dihydropyrimidine_dehydrogenase_subunit_PreA_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 497994 + }, + "BOLIEGLD_03231": { + "contig": 2, + "end": 514811, + "id": "16765496", + "name": "periplasmic_beta-glucosidase", + "product": "gi|16765496|ref|NP_461111.1|periplasmic_beta-glucosidase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 512514 + }, + "BOLIEGLD_03282": { + "contig": 2, + "end": 568763, + "id": "16765465", + "name": "protease", + "product": "gi|16765465|ref|NP_461080.1|protease_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 567402 + }, + "BOLIEGLD_03325": { + "contig": 2, + "end": 625311, + "id": "16765428", + "name": "UTP--glucose-1-phosphate_uridylyltransferase_subunit_GalF", + "product": "gi|16765428|ref|NP_461043.1|UTP--glucose-1-phosphate_uridylyltransferase_subunit_GalF_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 624418 + }, + "BOLIEGLD_03334": { + "contig": 2, + "end": 636425, + "id": "26248405", + "name": "phosphomannomutase", + "product": "gi|26248405|ref|NP_754445.1|phosphomannomutase_[Escherichia_coli_CFT073]", + "start": 635055 + }, + "BOLIEGLD_03452": { + "contig": 2, + "end": 778766, + "id": "162421186", + "name": "yersiniabactin/pesticin_receptor_FyuA", + "product": "gi|162421186|ref|YP_001606551.1|yersiniabactin/pesticin_receptor_FyuA_[Yersinia_pestis_Angola]", + "start": 776745 + }, + "BOLIEGLD_03456": { + "contig": 2, + "end": 791866, + "id": "123442840", + "name": "yersiniabactin_biosynthetic_protein", + "product": "gi|123442840|ref|YP_001006816.1|yersiniabactin_biosynthetic_protein_[Yersinia_enterocolitica_subsp._enterocolitica_8081]", + "start": 782375 + }, + "BOLIEGLD_03461": { + "contig": 2, + "end": 801891, + "id": "22126281", + "name": "permease_and_ATP-binding_protein_of_yersiniabactin-iron_ABC_transporter", + "product": "gi|22126281|ref|NP_669704.1|permease_and_ATP-binding_protein_of_yersiniabactin-iron_ABC_transporter_[Yersinia_pestis_KIM10+]", + "start": 800089 + }, + "BOLIEGLD_03516": { + "contig": 2, + "end": 851516, + "id": "16765318", + "name": "flagellar_biosynthesis_protein_FliQ", + "product": "gi|16765318|ref|NP_460933.1|flagellar_biosynthesis_protein_FliQ_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 851247 + }, + "BOLIEGLD_03541": { + "contig": 2, + "end": 874403, + "id": "26248190", + "name": "flagellin", + "product": "gi|26248190|ref|NP_754230.1|flagellin_[Escherichia_coli_CFT073]", + "start": 872616 + }, + "BOLIEGLD_03551": { + "contig": 2, + "end": 882521, + "id": "16765285", + "name": "LuxR/UhpA_family_response_regulator", + "product": "gi|16765285|ref|NP_460900.1|LuxR/UhpA_family_response_regulator_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 881865 + }, + "BOLIEGLD_03603": { + "contig": 2, + "end": 930808, + "id": "16765235", + "name": "zinc_ABC_transporter_permease_ZnuB", + "product": "gi|16765235|ref|NP_460850.1|zinc_ABC_transporter_permease_ZnuB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 930023 + }, + "BOLIEGLD_03604": { + "contig": 2, + "end": 931560, + "id": "39546331", + "name": "zinc_ABC_transporter_ATP-binding_protein_ZnuC", + "product": "gi|39546331|ref|NP_460849.2|zinc_ABC_transporter_ATP-binding_protein_ZnuC_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 930805 + }, + "BOLIEGLD_03607": { + "contig": 2, + "end": 934999, + "id": "30063266", + "name": "lipid_A_biosynthesis_(KDO)2-(lauroyl)-lipid_IVA_acyltransferase", + "product": "gi|30063266|ref|NP_837437.1|lipid_A_biosynthesis_(KDO)2-(lauroyl)-lipid_IVA_acyltransferase_[Shigella_flexneri_2a_str._2457T]", + "start": 934028 + }, + "BOLIEGLD_03640": { + "contig": 2, + "end": 966996, + "id": "15802236", + "name": "cold_shock-like_protein_CspC", + "product": "gi|15802236|ref|NP_288259.1|cold_shock-like_protein_CspC_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 966787 + }, + "BOLIEGLD_03659": { + "contig": 2, + "end": 986161, + "id": "16765159", + "name": "long-chain-fatty-acid--CoA_ligase", + "product": "gi|16765159|ref|NP_460774.1|long-chain-fatty-acid--CoA_ligase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 984410 + }, + "BOLIEGLD_03722": { + "contig": 2, + "end": 1050751, + "id": "16764663", + "name": "PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB", + "product": "gi|16764663|ref|NP_460278.1|PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1050431 + }, + "BOLIEGLD_03726": { + "contig": 2, + "end": 1054900, + "id": "16764667", + "name": "phospho-beta-glucosidase", + "product": "gi|16764667|ref|NP_460282.1|phospho-beta-glucosidase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1053548 + }, + "BOLIEGLD_03766": { + "contig": 2, + "end": 1095241, + "id": "24113082", + "name": "3-dehydroquinate_dehydratase", + "product": "gi|24113082|ref|NP_707592.1|3-dehydroquinate_dehydratase_[Shigella_flexneri_2a_str._301]", + "start": 1094483 + }, + "BOLIEGLD_03804": { + "contig": 2, + "end": 1134361, + "id": "24113046", + "name": "superoxide_dismutase", + "product": "gi|24113046|ref|NP_707556.1|superoxide_dismutase_[Shigella_flexneri_2a_str._301]", + "start": 1133780 + }, + "BOLIEGLD_03817": { + "contig": 2, + "end": 1144974, + "id": "161353603", + "name": "transcriptional_regulator_SlyA", + "product": "gi|161353603|ref|NP_460407.2|transcriptional_regulator_SlyA_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1144540 + }, + "BOLIEGLD_03934": { + "contig": 2, + "end": 1276861, + "id": "16764908", + "name": "biofilm-dependent_modulation_protein", + "product": "gi|16764908|ref|NP_460523.1|biofilm-dependent_modulation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1276646 + }, + "BOLIEGLD_04026": { + "contig": 2, + "end": 1375038, + "id": "16764996", + "name": "universal_stress_protein_F", + "product": "gi|16764996|ref|NP_460611.1|universal_stress_protein_F_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1374604 + }, + "BOLIEGLD_04120": { + "contig": 2, + "end": 1472948, + "id": "218558181", + "name": "transporter", + "product": "gi|218558181|ref|YP_002391094.1|transporter_[Escherichia_coli_S88]", + "start": 1472232 + }, + "BOLIEGLD_04136": { + "contig": 2, + "end": 1490484, + "id": "16765095", + "name": "DNA-binding_protein_H-NS", + "product": "gi|16765095|ref|NP_460710.1|DNA-binding_protein_H-NS_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1490071 + }, + "BOLIEGLD_04137": { + "contig": 2, + "end": 1491536, + "id": "24112632", + "name": "UTP-glucose-1-phosphate_uridylyltransferase", + "product": "gi|24112632|ref|NP_707142.1|UTP-glucose-1-phosphate_uridylyltransferase_[Shigella_flexneri_2a_str._301]", + "start": 1490628 + }, + "BOLIEGLD_04177": { + "contig": 2, + "end": 1531367, + "id": "117623421", + "name": "GTP-dependent_nucleic_acid-binding_protein_EngD", + "product": "gi|117623421|ref|YP_852334.1|GTP-dependent_nucleic_acid-binding_protein_EngD_[Escherichia_coli_APEC_O1]", + "start": 1530276 + }, + "BOLIEGLD_04226": { + "contig": 2, + "end": 1578728, + "id": "82776740", + "name": "iron_ABC_transporter_substrate-binding_protein", + "product": "gi|82776740|ref|YP_403089.1|iron_ABC_transporter_substrate-binding_protein_[Shigella_dysenteriae_Sd197]", + "start": 1577814 + }, + "BOLIEGLD_04227": { + "contig": 2, + "end": 1579555, + "id": "117623375", + "name": "Mn+2/Fe+2_ABC_transporter_ATPase_SitB", + "product": "gi|117623375|ref|YP_852288.1|Mn+2/Fe+2_ABC_transporter_ATPase_SitB_[Escherichia_coli_APEC_O1]", + "start": 1578728 + }, + "BOLIEGLD_04292": { + "contig": 2, + "end": 1632027, + "id": "16766107", + "name": "transporter", + "product": "gi|16766107|ref|NP_461722.1|transporter_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1631869 + }, + "BOLIEGLD_04412": { + "contig": 2, + "end": 1748536, + "id": "16766264", + "name": "sensory_histidine_kinase", + "product": "gi|16766264|ref|NP_461879.1|sensory_histidine_kinase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1745780 + }, + "BOLIEGLD_04574": { + "contig": 2, + "end": 1937765, + "id": "15803477", + "name": "arginine_decarboxylase", + "product": "gi|15803477|ref|NP_289510.1|arginine_decarboxylase_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 1935789 + }, + "BOLIEGLD_04615": { + "contig": 2, + "end": 1977881, + "id": "26249405", + "name": "hemolysin_A", + "product": "gi|26249405|ref|NP_755445.1|hemolysin_A_[Escherichia_coli_CFT073]", + "start": 1974807 + }, + "BOLIEGLD_04624": { + "contig": 2, + "end": 1986514, + "id": "26249418", + "name": "PapG_protein", + "product": "gi|26249418|ref|NP_755458.1|PapG_protein_[Escherichia_coli_CFT073]", + "start": 1985504 + }, + "BOLIEGLD_04632": { + "contig": 2, + "end": 1993442, + "id": "26249427", + "name": "PapA_protein", + "product": "gi|26249427|ref|NP_755467.1|PapA_protein_[Escherichia_coli_CFT073]", + "start": 1992876 + }, + "BOLIEGLD_04655": { + "contig": 2, + "end": 2016160, + "id": "26249454", + "name": "secreted_auto_transporter_toxin", + "product": "gi|26249454|ref|NP_755494.1|secreted_auto_transporter_toxin_[Escherichia_coli_CFT073]", + "start": 2012273 + }, + "BOLIEGLD_04656": { + "contig": 2, + "end": 2019302, + "id": "26249458", + "name": "IutA_protein", + "product": "gi|26249458|ref|NP_755498.1|IutA_protein_[Escherichia_coli_CFT073]", + "start": 2017104 + }, + "BOLIEGLD_04657": { + "contig": 2, + "end": 2020642, + "id": "26249459", + "name": "IucD_protein", + "product": "gi|26249459|ref|NP_755499.1|IucD_protein_[Escherichia_coli_CFT073]", + "start": 2019305 + }, + "BOLIEGLD_04658": { + "contig": 2, + "end": 2022381, + "id": "26249460", + "name": "IucC_protein", + "product": "gi|26249460|ref|NP_755500.1|IucC_protein_[Escherichia_coli_CFT073]", + "start": 2020639 + }, + "BOLIEGLD_04659": { + "contig": 2, + "end": 2023328, + "id": "26249461", + "name": "IucB_protein", + "product": "gi|26249461|ref|NP_755501.1|IucB_protein_[Escherichia_coli_CFT073]", + "start": 2022381 + }, + "BOLIEGLD_04660": { + "contig": 2, + "end": 2025053, + "id": "26249462", + "name": "IucA_protein", + "product": "gi|26249462|ref|NP_755502.1|IucA_protein_[Escherichia_coli_CFT073]", + "start": 2023329 + }, + "BOLIEGLD_04720": { + "contig": 2, + "end": 2074100, + "id": "16764498", + "name": "DNA-binding_transcriptional_regulator_CsgD", + "product": "gi|16764498|ref|NP_460113.1|DNA-binding_transcriptional_regulator_CsgD_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 2073450 + }, + "BOLIEGLD_04892": { + "contig": 2, + "end": 2218721, + "id": "24112549", + "name": "DNA-binding_transcriptional_regulator_PhoP", + "product": "gi|24112549|ref|NP_707059.1|DNA-binding_transcriptional_regulator_PhoP_[Shigella_flexneri_2a_str._301]", + "start": 2218050 + }, + "total": 106 + } + } + }, + "h_influenzae": { + "MGE": {}, + "general_annotation": { + "cds": 1705, + "closest_reference": { + "accession": "GCF_000165525.1", + "distance": 0.0143241, + "strain": "Haemophilus virus HP2" + }, + "mlst": "1221", + "rrna": 13, + "tmrna": 1, + "trna": 47 + }, + "plasmid": { + "plasmidfinder": {}, + "platon": {} + }, + "resistance": { + "amrfinderplus": { + "ILGNJHOM_00541": { + "card_aro": 3003953, + "contig": "NZ_QWLX01000001.1", + "end": 552926, + "gene": "hmrM", + "identity": 97.2, + "start": 551532, + "subclass": "EFFLUX", + "type": "AMR" + }, + "total": 1 + }, + "resfinder": { + "total": 0 + }, + "rgi": { + "ILGNJHOM_00044": { + "accession": 3794, + "card_aro": 3005052, + "contig": "NZ_QWLX01000001.1", + "cut_off": "Strict", + "end": 50136, + "gene": "LpsA", + "gene_family": "Intrinsic peptide antibiotic resistant Lps", + "identity": 99.61, + "name": "Lipooligosaccharide biosynthesis protein lex-1", + "resistance_mechanism": "reduced permeability to antibiotic", + "start": 49366, + "subclass": "peptide antibiotic" + }, + "ILGNJHOM_00541": { + "accession": 2425, + "card_aro": 3003953, + "contig": "NZ_QWLX01000001.1", + "cut_off": "Strict", + "end": 552926, + "gene": "hmrM", + "gene_family": "multidrug and toxic compound extrusion (MATE) transporter", + "identity": 96.77, + "name": "Multidrug resistance protein NorM", + "resistance_mechanism": "antibiotic efflux", + "start": 551532, + "subclass": "fluoroquinolone antibiotic; disinfecting agents and antiseptics" + }, + "ILGNJHOM_01329": { + "accession": 2158, + "card_aro": 3003369, + "contig": "NZ_QWLX01000002.1", + "cut_off": "Strict", + "end": 357337, + "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", + "gene_family": "elfamycin resistant EF-Tu", + "identity": 92.62, + "name": "Elongation factor Tu 2", + "resistance_mechanism": "antibiotic target alteration", + "start": 356153, + "subclass": "elfamycin antibiotic" + }, + "ILGNJHOM_01620": { + "accession": 2158, + "card_aro": 3003369, + "contig": "NZ_QWLX01000005.1", + "cut_off": "Strict", + "end": 11567, + "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", + "gene_family": "elfamycin resistant EF-Tu", + "identity": 92.88, + "name": "Elongation factor Tu 2", + "resistance_mechanism": "antibiotic target alteration", + "start": 10383, + "subclass": "elfamycin antibiotic" + }, + "total": 4 + } + }, + "results_dir": "/home/falmeida/Documents/GitHub/pythonScripts/_ANNOTATION/h_influenzae", + "sample": "h_influenzae", + "virulence": { + "VFDB": { + "ILGNJHOM_00013": { + "chr": "NZ_QWLX01000001.1", + "end": 13477, + "gene": "lpxH", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 12764, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00020": { + "chr": "NZ_QWLX01000001.1", + "end": 24784, + "gene": "manB/yhxB", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 23129, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00044": { + "chr": "NZ_QWLX01000001.1", + "end": 50136, + "gene": "lpsA", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 49366, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00092": { + "chr": "NZ_QWLX01000001.1", + "end": 84444, + "gene": "galU", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 83557, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00160": { + "chr": "NZ_QWLX01000001.1", + "end": 150899, + "gene": "kfiC", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 150147, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00164": { + "chr": "NZ_QWLX01000001.1", + "end": 155227, + "gene": "wbaP/rfbP", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 153812, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00165": { + "chr": "NZ_QWLX01000001.1", + "end": 156303, + "gene": "rffG", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 155299, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00206": { + "chr": "NZ_QWLX01000001.1", + "end": 200520, + "gene": "lpxD", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 199495, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00285": { + "chr": "NZ_QWLX01000001.1", + "end": 287351, + "gene": "tbpA", + "id": "VF0267", + "product": "Tbp_(VF0267)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 284610, + "virulence_factor": "Tbp" + }, + "ILGNJHOM_00294": { + "chr": "NZ_QWLX01000001.1", + "end": 298689, + "gene": "yhbX", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 297130, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00343": { + "chr": "NZ_QWLX01000001.1", + "end": 348577, + "gene": "lpxB", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 347405, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00344": { + "chr": "NZ_QWLX01000001.1", + "end": 349432, + "gene": "lpxA", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 348644, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00346": { + "chr": "NZ_QWLX01000001.1", + "end": 351540, + "gene": "HI_RS05585*", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 349978, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00389": { + "chr": "NZ_QWLX01000001.1", + "end": 393229, + "gene": "rfaF", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 392189, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00395": { + "chr": "NZ_QWLX01000001.1", + "end": 401207, + "gene": "rfaD", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 400281, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00423": { + "chr": "NZ_QWLX01000001.1", + "end": 433569, + "gene": "lpxC", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 432652, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00442": { + "chr": "NZ_QWLX01000001.1", + "end": 454796, + "gene": "ompP5", + "id": "VF0041", + "product": "P5_protein_(VF0041)_Adherence_(VFC0001)", + "start": 453720, + "virulence_factor": "P5_protein" + }, + "ILGNJHOM_00458": { + "chr": "NZ_QWLX01000001.1", + "end": 467130, + "gene": "gmhA/lpcA", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 466546, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00535": { + "chr": "NZ_QWLX01000001.1", + "end": 543269, + "gene": "hifB", + "id": "VF0036", + "product": "Haemagglutinating_pili_(VF0036)_Adherence_(VFC0001)", + "start": 542556, + "virulence_factor": "Haemagglutinating_pili" + }, + "ILGNJHOM_00536": { + "chr": "NZ_QWLX01000001.1", + "end": 545880, + "gene": "hifC", + "id": "VF0036", + "product": "Haemagglutinating_pili_(VF0036)_Adherence_(VFC0001)", + "start": 543367, + "virulence_factor": "Haemagglutinating_pili" + }, + "ILGNJHOM_00537": { + "chr": "NZ_QWLX01000001.1", + "end": 546526, + "gene": "hifD", + "id": "VF0036", + "product": "Haemagglutinating_pili_(VF0036)_Adherence_(VFC0001)", + "start": 545894, + "virulence_factor": "Haemagglutinating_pili" + }, + "ILGNJHOM_00571": { + "chr": "NZ_QWLX01000001.1", + "end": 584317, + "gene": "lgtA", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 583274, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00592": { + "chr": "NZ_QWLX01000001.1", + "end": 601809, + "gene": "kdsA", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 600955, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00610": { + "chr": "NZ_QWLX01000001.1", + "end": 619252, + "gene": "licC", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 618551, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00611": { + "chr": "NZ_QWLX01000001.1", + "end": 620127, + "gene": "licB", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 619249, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00612": { + "chr": "NZ_QWLX01000001.1", + "end": 621119, + "gene": "licA", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 620127, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00620": { + "chr": "NZ_QWLX01000001.1", + "end": 632434, + "gene": "htrB", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 631499, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00621": { + "chr": "NZ_QWLX01000001.1", + "end": 633961, + "gene": "rfaE", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 632531, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00830": { + "chr": "NZ_QWLX01000001.1", + "end": 837831, + "gene": "neuA", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 837139, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00911": { + "chr": "NZ_QWLX01000001.1", + "end": 937777, + "gene": "kpsF", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 936842, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00936": { + "chr": "NZ_QWLX01000001.1", + "end": 963582, + "gene": "lsgF", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 962779, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00937": { + "chr": "NZ_QWLX01000001.1", + "end": 964468, + "gene": "lsgE", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 963584, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00938": { + "chr": "NZ_QWLX01000001.1", + "end": 965253, + "gene": "lsgD", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 964480, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00939": { + "chr": "NZ_QWLX01000001.1", + "end": 966326, + "gene": "lsgC", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 965265, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00940": { + "chr": "NZ_QWLX01000001.1", + "end": 967242, + "gene": "lsgB", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 966328, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00941": { + "chr": "NZ_QWLX01000001.1", + "end": 968444, + "gene": "lsgA", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 967239, + "virulence_factor": "LOS" + }, + "ILGNJHOM_00958": { + "chr": "NZ_QWLX01000001.1", + "end": 986875, + "gene": "wecA", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 985808, + "virulence_factor": "LOS" + }, + "ILGNJHOM_01010": { + "chr": "NZ_QWLX01000002.1", + "end": 42739, + "gene": "orfM", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 42152, + "virulence_factor": "LOS" + }, + "ILGNJHOM_01011": { + "chr": "NZ_QWLX01000002.1", + "end": 43476, + "gene": "kdkA", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 42751, + "virulence_factor": "LOS" + }, + "ILGNJHOM_01012": { + "chr": "NZ_QWLX01000002.1", + "end": 44597, + "gene": "opsX/rfaC", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 43554, + "virulence_factor": "LOS" + }, + "ILGNJHOM_01013": { + "chr": "NZ_QWLX01000002.1", + "end": 47116, + "gene": "hxuC", + "id": "VF0269", + "product": "HxuABC_(VF0269)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 44924, + "virulence_factor": "HxuABC" + }, + "ILGNJHOM_01014": { + "chr": "NZ_QWLX01000002.1", + "end": 48886, + "gene": "hxuB", + "id": "VF0269", + "product": "HxuABC_(VF0269)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 47192, + "virulence_factor": "HxuABC" + }, + "ILGNJHOM_01015": { + "chr": "NZ_QWLX01000002.1", + "end": 51615, + "gene": "hxuA", + "id": "VF0269", + "product": "HxuABC_(VF0269)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 48898, + "virulence_factor": "HxuABC" + }, + "ILGNJHOM_01031": { + "chr": "NZ_QWLX01000002.1", + "end": 64172, + "gene": "lpt6", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 62517, + "virulence_factor": "LOS" + }, + "ILGNJHOM_01090": { + "chr": "NZ_QWLX01000002.1", + "end": 117217, + "gene": "oapA", + "id": "VF0040", + "product": "OapA_(VF0040)_Adherence_(VFC0001)", + "start": 115922, + "virulence_factor": "OapA" + }, + "ILGNJHOM_01115": { + "chr": "NZ_QWLX01000002.1", + "end": 143034, + "gene": "galE", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 142018, + "virulence_factor": "LOS" + }, + "ILGNJHOM_01116": { + "chr": "NZ_QWLX01000002.1", + "end": 144163, + "gene": "lic3A", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 143207, + "virulence_factor": "LOS" + }, + "ILGNJHOM_01280": { + "chr": "NZ_QWLX01000002.1", + "end": 310877, + "gene": "waaQ", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 309837, + "virulence_factor": "LOS" + }, + "ILGNJHOM_01422": { + "chr": "NZ_QWLX01000003.1", + "end": 68962, + "gene": "kdsB", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 68198, + "virulence_factor": "LOS" + }, + "ILGNJHOM_01423": { + "chr": "NZ_QWLX01000003.1", + "end": 70031, + "gene": "lpxK", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 69033, + "virulence_factor": "LOS" + }, + "ILGNJHOM_01424": { + "chr": "NZ_QWLX01000003.1", + "end": 71867, + "gene": "msbA", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 70104, + "virulence_factor": "LOS" + }, + "ILGNJHOM_01466": { + "chr": "NZ_QWLX01000003.1", + "end": 114921, + "gene": "hitA", + "id": "VF0268", + "product": "HitABC_(VF0268)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 113923, + "virulence_factor": "HitABC" + }, + "ILGNJHOM_01467": { + "chr": "NZ_QWLX01000003.1", + "end": 116559, + "gene": "hitB", + "id": "VF0268", + "product": "HitABC_(VF0268)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 115039, + "virulence_factor": "HitABC" + }, + "ILGNJHOM_01468": { + "chr": "NZ_QWLX01000003.1", + "end": 117616, + "gene": "hitC", + "id": "VF0268", + "product": "HitABC_(VF0268)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 116546, + "virulence_factor": "HitABC" + }, + "ILGNJHOM_01577": { + "chr": "NZ_QWLX01000004.1", + "end": 88739, + "gene": "msbB", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 87783, + "virulence_factor": "LOS" + }, + "ILGNJHOM_01647": { + "chr": "NZ_QWLX01000005.1", + "end": 37774, + "gene": "kdtA", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 36491, + "virulence_factor": "LOS" + }, + "ILGNJHOM_01648": { + "chr": "NZ_QWLX01000005.1", + "end": 38601, + "gene": "lgtF", + "id": "VF0044", + "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", + "start": 37837, + "virulence_factor": "LOS" + }, + "total": 57 + }, + "Victors": { + "ILGNJHOM_00125": { + "contig": "NZ_QWLX01000001.1", + "end": 115752, + "id": "68249440", + "name": "thiol:disulfide_interchange_protein_DsbA", + "product": "gi|68249440|ref|YP_248552.1|thiol:disulfide_interchange_protein_DsbA_[Haemophilus_influenzae_86-028NP]", + "start": 115135 + }, + "ILGNJHOM_00220": { + "contig": "NZ_QWLX01000001.1", + "end": 217102, + "id": "16272865", + "name": "catalase", + "product": "gi|16272865|ref|NP_439088.1|catalase_[Haemophilus_influenzae_Rd_KW20]", + "start": 215576 + }, + "ILGNJHOM_00494": { + "contig": "NZ_QWLX01000001.1", + "end": 506927, + "id": "30995432", + "name": "thiol-disulfide_interchange_protein", + "product": "gi|30995432|ref|NP_439371.2|thiol-disulfide_interchange_protein_[Haemophilus_influenzae_Rd_KW20]", + "start": 506220 + }, + "ILGNJHOM_00834": { + "contig": "NZ_QWLX01000001.1", + "end": 842938, + "id": "68250201", + "name": "tellurite_resistance_protein_TehB", + "product": "gi|68250201|ref|YP_249313.1|tellurite_resistance_protein_TehB_[Haemophilus_influenzae_86-028NP]", + "start": 842078 + }, + "ILGNJHOM_00865": { + "contig": "NZ_QWLX01000001.1", + "end": 882913, + "id": "165977352", + "name": "molecular_chaperone_DnaK", + "product": "gi|165977352|ref|YP_001652945.1|molecular_chaperone_DnaK_[Actinobacillus_pleuropneumoniae_serovar_3_str._JL03]", + "start": 881006 + }, + "ILGNJHOM_00870": { + "contig": "NZ_QWLX01000001.1", + "end": 891543, + "id": "165976188", + "name": "dihydrolipoamide_dehydrogenase", + "product": "gi|165976188|ref|YP_001651781.1|dihydrolipoamide_dehydrogenase_[Actinobacillus_pleuropneumoniae_serovar_3_str._JL03]", + "start": 890119 + }, + "ILGNJHOM_00953": { + "contig": "NZ_QWLX01000001.1", + "end": 983351, + "id": "16273599", + "name": "phosphoenolpyruvate-protein_phosphotransferase", + "product": "gi|16273599|ref|NP_439854.1|phosphoenolpyruvate-protein_phosphotransferase_[Haemophilus_influenzae_Rd_KW20]", + "start": 981624 + }, + "ILGNJHOM_00965": { + "contig": "NZ_QWLX01000001.1", + "end": 996162, + "id": "126207906", + "name": "argininosuccinate_synthase", + "product": "gi|126207906|ref|YP_001053131.1|argininosuccinate_synthase_[Actinobacillus_pleuropneumoniae_serovar_5b_str._L20]", + "start": 994828 + }, + "ILGNJHOM_00974": { + "contig": "NZ_QWLX01000002.1", + "end": 5070, + "id": "165976006", + "name": "GMP_synthase", + "product": "gi|165976006|ref|YP_001651599.1|GMP_synthase_[Actinobacillus_pleuropneumoniae_serovar_3_str._JL03]", + "start": 3499 + }, + "ILGNJHOM_00981": { + "contig": "NZ_QWLX01000002.1", + "end": 12996, + "id": "126208059", + "name": "polynucleotide_phosphorylase/polyadenylase", + "product": "gi|126208059|ref|YP_001053284.1|polynucleotide_phosphorylase/polyadenylase_[Actinobacillus_pleuropneumoniae_serovar_5b_str._L20]", + "start": 10867 + }, + "ILGNJHOM_01090": { + "contig": "NZ_QWLX01000002.1", + "end": 117217, + "id": "16272282", + "name": "opacity_associated_protein", + "product": "gi|16272282|ref|NP_438494.1|opacity_associated_protein_[Haemophilus_influenzae_Rd_KW20]", + "start": 115922 + }, + "ILGNJHOM_01169": { + "contig": "NZ_QWLX01000002.1", + "end": 191965, + "id": "16272355", + "name": "acetyl-CoA_carboxylase_carboxyltransferase_subunit_alpha", + "product": "gi|16272355|ref|NP_438568.1|acetyl-CoA_carboxylase_carboxyltransferase_subunit_alpha_[Haemophilus_influenzae_Rd_KW20]", + "start": 191018 + }, + "ILGNJHOM_01537": { + "contig": "NZ_QWLX01000004.1", + "end": 47786, + "id": "126208850", + "name": "50S_ribosomal_protein_L32", + "product": "gi|126208850|ref|YP_001054075.1|50S_ribosomal_protein_L32_[Actinobacillus_pleuropneumoniae_serovar_5b_str._L20]", + "start": 47616 + }, + "ILGNJHOM_01587": { + "contig": "NZ_QWLX01000004.1", + "end": 97630, + "id": "68248814", + "name": "DNA_adenine_methylase", + "product": "gi|68248814|ref|YP_247926.1|DNA_adenine_methylase_[Haemophilus_influenzae_86-028NP]", + "start": 96770 + }, + "ILGNJHOM_01612": { + "contig": "NZ_QWLX01000005.1", + "end": 7023, + "id": "16272571", + "name": "RNA_polymerase_sigma_factor_RpoE", + "product": "gi|16272571|ref|NP_438788.1|RNA_polymerase_sigma_factor_RpoE_[Haemophilus_influenzae_Rd_KW20]", + "start": 6454 + }, + "ILGNJHOM_01759": { + "contig": "NZ_QWLX01000007.1", + "end": 4957, + "id": "165975488", + "name": "peptide_chain_release_factor_3", + "product": "gi|165975488|ref|YP_001651081.1|peptide_chain_release_factor_3_[Actinobacillus_pleuropneumoniae_serovar_3_str._JL03]", + "start": 3377 + }, + "total": 16 + } + } + }, + "klebsiella_1": { + "MGE": { + "integron_finder": { + "NZ_CP006661.1": { + "integron_01": { + "contig": "NZ_CP006661.1", + "end": 116253, + "id": "integron_01", + "product": "integron", + "source": "Integron_Finder", + "start": 113939, + "type": "complete" + } + }, + "NZ_CP006662.2": { + "integron_01": { + "contig": "NZ_CP006662.2", + "end": 9205, + "id": "integron_01", + "product": "integron", + "source": "Integron_Finder", + "start": 7112, + "type": "complete" + }, + "integron_02": { + "contig": "NZ_CP006662.2", + "end": 40357, + "id": "integron_02", + "product": "integron", + "source": "Integron_Finder", + "start": 38111, + "type": "CALIN" + } + } + } + }, + "general_annotation": { + "cds": 5510, + "closest_reference": { + "accession": "NZ_AOCV", + "distance": 7.82718e-05, + "strain": "Klebsiella pneumoniae ATCC BAA-2146" + }, + "mlst": "11", + "rrna": 25, + "tmrna": 1, + "trna": 85 + }, + "plasmid": { + "plasmidfinder": { + "NZ_CP006660.1": { + "accession": "KU674895", + "identity": 93.13, + "inc_types": "Col(pHAD28)" + }, + "NZ_CP006661.1": { + "accession": "JN157804", + "identity": 100.0, + "inc_types": "IncC" + }, + "NZ_CP006662.2": { + "accession": "DQ449578", + "identity": 100.0, + "inc_types": "IncR" + }, + "NZ_CP006663.1": { + "accession": "CP000648", + "identity": 97.32, + "inc_types": "IncFII(K)" + }, + "meta": { + "database": "enterobacteriales" + }, + "total": 4 + }, + "platon": { + "NZ_CP006660.1": { + "AMRs": 0, + "Circular": "no", + "Conjugation": 0, + "Length": 2014, + "Mobilization": 0, + "ORFs": 2, + "Replication": 0 + }, + "NZ_CP006661.1": { + "AMRs": 6, + "Circular": "no", + "Conjugation": 8, + "Length": 140825, + "Mobilization": 1, + "ORFs": 163, + "Replication": 1 + }, + "NZ_CP006662.2": { + "AMRs": 17, + "Circular": "no", + "Conjugation": 0, + "Length": 85161, + "Mobilization": 1, + "ORFs": 96, + "Replication": 2 + }, + "NZ_CP006663.1": { + "AMRs": 4, + "Circular": "no", + "Conjugation": 0, + "Length": 117755, + "Mobilization": 0, + "ORFs": 113, + "Replication": 3 + } + } + }, + "resistance": { + "amrfinderplus": { + "FKEDNGPL_00077": { + "card_aro": null, + "contig": "NZ_CP006659.2", + "end": 80789, + "gene": "fieF", + "identity": 100.0, + "start": 79887, + "subclass": null, + "type": "STRESS" + }, + "FKEDNGPL_00626": { + "card_aro": 3004111, + "contig": "NZ_CP006659.2", + "end": 668378, + "gene": "fosA", + "identity": 98.56, + "start": 667959, + "subclass": "FOSFOMYCIN", + "type": "AMR" + }, + "FKEDNGPL_01688": { + "card_aro": null, + "contig": "NZ_CP006659.2", + "end": 1782794, + "gene": "kdeA", + "identity": 99.76, + "start": 1781562, + "subclass": "EFFLUX", + "type": "AMR" + }, + "FKEDNGPL_02188": { + "card_aro": 3002602, + "contig": "NZ_CP006659.2", + "end": 2298476, + "gene": "aadA2", + "identity": 99.61, + "start": 2297697, + "subclass": "STREPTOMYCIN", + "type": "AMR" + }, + "FKEDNGPL_02189": { + "card_aro": 3005010, + "contig": "NZ_CP006659.2", + "end": 2298987, + "gene": "qacEdelta1", + "identity": 100.0, + "start": 2298640, + "subclass": "QUATERNARY AMMONIUM", + "type": "STRESS" + }, + "FKEDNGPL_02190": { + "card_aro": 3000410, + "contig": "NZ_CP006659.2", + "end": 2299820, + "gene": "sul1", + "identity": 100.0, + "start": 2298981, + "subclass": "SULFONAMIDE", + "type": "AMR" + }, + "FKEDNGPL_02500": { + "card_aro": 3001070, + "contig": "NZ_CP006659.2", + "end": 2613825, + "gene": "blaSHV-11", + "identity": 100.0, + "start": 2612965, + "subclass": "BETA-LACTAM", + "type": "AMR" + }, + "FKEDNGPL_02929": { + "card_aro": null, + "contig": "NZ_CP006659.2", + "end": 3042690, + "gene": "asr", + "identity": 61.32, + "start": 3042283, + "subclass": null, + "type": "STRESS" + }, + "FKEDNGPL_04009": { + "card_aro": 3003922, + "contig": "NZ_CP006659.2", + "end": 4170874, + "gene": "oqxA", + "identity": 100.0, + "start": 4169699, + "subclass": "PHENICOL/QUINOLONE", + "type": "AMR" + }, + "FKEDNGPL_04010": { + "card_aro": 3003923, + "contig": "NZ_CP006659.2", + "end": 4174050, + "gene": "oqxB", + "identity": 100.0, + "start": 4170898, + "subclass": "PHENICOL/QUINOLONE", + "type": "AMR" + }, + "FKEDNGPL_04336": { + "card_aro": null, + "contig": "NZ_CP006659.2", + "end": 4509593, + "gene": "arsC", + "identity": 78.42, + "start": 4509171, + "subclass": "ARSENATE", + "type": "STRESS" + }, + "FKEDNGPL_05185": { + "card_aro": null, + "contig": "NZ_CP006659.2", + "end": 5368672, + "gene": "emrD", + "identity": 99.24, + "start": 5367488, + "subclass": "EFFLUX", + "type": "AMR" + }, + "FKEDNGPL_05222": { + "card_aro": 3001878, + "contig": "NZ_CP006659.2", + "end": 5408782, + "gene": "blaCTX-M-15", + "identity": 100.0, + "start": 5407907, + "subclass": "CEPHALOSPORIN", + "type": "AMR" + }, + "FKEDNGPL_05269": { + "card_aro": 3000316, + "contig": "NZ_CP006663.1", + "end": 17408, + "gene": "mph(A)", + "identity": 100.0, + "start": 16503, + "subclass": "MACROLIDE", + "type": "AMR" + }, + "FKEDNGPL_05272": { + "card_aro": 3000165, + "contig": "NZ_CP006663.1", + "end": 20367, + "gene": "tet(A)", + "identity": 100.0, + "start": 19168, + "subclass": "TETRACYCLINE", + "type": "AMR" + }, + "FKEDNGPL_05306": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 57673, + "gene": "arsR", + "identity": 100.0, + "start": 57323, + "subclass": "ARSENIC", + "type": "STRESS" + }, + "FKEDNGPL_05307": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 58085, + "gene": "arsD", + "identity": 91.67, + "start": 57723, + "subclass": "ARSENITE", + "type": "STRESS" + }, + "FKEDNGPL_05308": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 59854, + "gene": "arsA", + "identity": 100.0, + "start": 58103, + "subclass": "ARSENITE", + "type": "STRESS" + }, + "FKEDNGPL_05309": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 61191, + "gene": "arsB", + "identity": 100.0, + "start": 59902, + "subclass": "ARSENITE", + "type": "STRESS" + }, + "FKEDNGPL_05310": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 61629, + "gene": "arsC", + "identity": 100.0, + "start": 61204, + "subclass": "ARSENATE", + "type": "STRESS" + }, + "FKEDNGPL_05321": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 70099, + "gene": "pcoE", + "identity": 94.44, + "start": 69665, + "subclass": "COPPER", + "type": "STRESS" + }, + "FKEDNGPL_05322": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 71716, + "gene": "pcoS", + "identity": 99.14, + "start": 70316, + "subclass": "COPPER", + "type": "STRESS" + }, + "FKEDNGPL_05323": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 72393, + "gene": "pcoR", + "identity": 99.56, + "start": 71713, + "subclass": "COPPER", + "type": "STRESS" + }, + "FKEDNGPL_05324": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 73377, + "gene": "pcoD", + "identity": 99.68, + "start": 72448, + "subclass": "COPPER", + "type": "STRESS" + }, + "FKEDNGPL_05325": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 73762, + "gene": "pcoC", + "identity": 100.0, + "start": 73382, + "subclass": "COPPER", + "type": "STRESS" + }, + "FKEDNGPL_05326": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 74698, + "gene": "pcoB", + "identity": 100.0, + "start": 73802, + "subclass": "COPPER", + "type": "STRESS" + }, + "FKEDNGPL_05327": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 76515, + "gene": "pcoA", + "identity": 100.0, + "start": 74698, + "subclass": "COPPER", + "type": "STRESS" + }, + "FKEDNGPL_05331": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 80943, + "gene": "silP", + "identity": 94.49, + "start": 78496, + "subclass": "SILVER", + "type": "STRESS" + }, + "FKEDNGPL_05333": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 84743, + "gene": "silA", + "identity": 98.85, + "start": 81597, + "subclass": "COPPER/SILVER", + "type": "STRESS" + }, + "FKEDNGPL_05334": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 86046, + "gene": "silB", + "identity": 97.67, + "start": 84754, + "subclass": "COPPER/SILVER", + "type": "STRESS" + }, + "FKEDNGPL_05335": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 86513, + "gene": "silF", + "identity": 99.15, + "start": 86160, + "subclass": "COPPER/SILVER", + "type": "STRESS" + }, + "FKEDNGPL_05336": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 87927, + "gene": "silC", + "identity": 100.0, + "start": 86542, + "subclass": "COPPER/SILVER", + "type": "STRESS" + }, + "FKEDNGPL_05337": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 88797, + "gene": "silR", + "identity": 100.0, + "start": 88117, + "subclass": "COPPER/SILVER", + "type": "STRESS" + }, + "FKEDNGPL_05338": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 90265, + "gene": "silS", + "identity": 100.0, + "start": 88790, + "subclass": "COPPER/SILVER", + "type": "STRESS" + }, + "FKEDNGPL_05339": { + "card_aro": null, + "contig": "NZ_CP006663.1", + "end": 90947, + "gene": "silE", + "identity": 91.61, + "start": 90516, + "subclass": "SILVER", + "type": "STRESS" + }, + "FKEDNGPL_05388": { + "card_aro": 3002723, + "contig": "NZ_CP006662.2", + "end": 26742, + "gene": "qnrB9", + "identity": 100.0, + "start": 26098, + "subclass": "QUINOLONE", + "type": "AMR" + }, + "FKEDNGPL_05398": { + "card_aro": 3001070, + "contig": "NZ_CP006662.2", + "end": 37171, + "gene": "blaSHV", + "identity": 99.65, + "start": 36311, + "subclass": "BETA-LACTAM", + "type": "AMR" + }, + "FKEDNGPL_05400": { + "card_aro": 3005116, + "contig": "NZ_CP006662.2", + "end": 38710, + "gene": "aac(6')-Ib-cr", + "identity": 100.0, + "start": 38111, + "subclass": "AMIKACIN/KANAMYCIN/QUINOLONE/TOBRAMYCIN", + "type": "AMR" + }, + "FKEDNGPL_05401": { + "card_aro": 3001396, + "contig": "NZ_CP006662.2", + "end": 39671, + "gene": "blaOXA-1", + "identity": 100.0, + "start": 38841, + "subclass": "CEPHALOSPORIN", + "type": "AMR" + }, + "FKEDNGPL_05404": { + "card_aro": 3004621, + "contig": "NZ_CP006662.2", + "end": 41974, + "gene": "aac(3)-IIe", + "identity": 100.0, + "start": 41114, + "subclass": "GENTAMICIN", + "type": "AMR" + }, + "FKEDNGPL_05411": { + "card_aro": 3001878, + "contig": "NZ_CP006662.2", + "end": 48003, + "gene": "blaCTX-M-15", + "identity": 100.0, + "start": 47128, + "subclass": "CEPHALOSPORIN", + "type": "AMR" + }, + "FKEDNGPL_05416": { + "card_aro": 3000873, + "contig": "NZ_CP006662.2", + "end": 51685, + "gene": "blaTEM-1", + "identity": 100.0, + "start": 50825, + "subclass": "BETA-LACTAM", + "type": "AMR" + }, + "FKEDNGPL_05418": { + "card_aro": 3002660, + "contig": "NZ_CP006662.2", + "end": 53242, + "gene": "aph(6)-Id", + "identity": 100.0, + "start": 52406, + "subclass": "STREPTOMYCIN", + "type": "AMR" + }, + "FKEDNGPL_05419": { + "card_aro": 3002639, + "contig": "NZ_CP006662.2", + "end": 54045, + "gene": "aph(3'')-Ib", + "identity": 100.0, + "start": 53242, + "subclass": "STREPTOMYCIN", + "type": "AMR" + }, + "FKEDNGPL_05420": { + "card_aro": 3000412, + "contig": "NZ_CP006662.2", + "end": 54921, + "gene": "sul2", + "identity": 100.0, + "start": 54106, + "subclass": "SULFONAMIDE", + "type": "AMR" + }, + "FKEDNGPL_05426": { + "card_aro": null, + "contig": "NZ_CP006662.2", + "end": 60866, + "gene": "merE", + "identity": 96.15, + "start": 60630, + "subclass": "MERCURY", + "type": "STRESS" + }, + "FKEDNGPL_05427": { + "card_aro": null, + "contig": "NZ_CP006662.2", + "end": 61228, + "gene": "merD", + "identity": 90.08, + "start": 60863, + "subclass": "MERCURY", + "type": "STRESS" + }, + "FKEDNGPL_05428": { + "card_aro": null, + "contig": "NZ_CP006662.2", + "end": 62931, + "gene": "merA", + "identity": 93.23, + "start": 61246, + "subclass": "MERCURY", + "type": "STRESS" + }, + "FKEDNGPL_05429": { + "card_aro": null, + "contig": "NZ_CP006662.2", + "end": 63395, + "gene": "merC", + "identity": 80.14, + "start": 62970, + "subclass": "ORGANOMERCURY", + "type": "STRESS" + }, + "FKEDNGPL_05430": { + "card_aro": null, + "contig": "NZ_CP006662.2", + "end": 63698, + "gene": "merP", + "identity": 85.71, + "start": 63423, + "subclass": "MERCURY", + "type": "STRESS" + }, + "FKEDNGPL_05431": { + "card_aro": null, + "contig": "NZ_CP006662.2", + "end": 64079, + "gene": "merT", + "identity": 98.26, + "start": 63714, + "subclass": "MERCURY", + "type": "STRESS" + }, + "FKEDNGPL_05432": { + "card_aro": null, + "contig": "NZ_CP006662.2", + "end": 64606, + "gene": "merR", + "identity": 92.96, + "start": 64151, + "subclass": "MERCURY", + "type": "STRESS" + }, + "FKEDNGPL_05454": { + "card_aro": 3002581, + "contig": "NZ_CP006662.2", + "end": 83347, + "gene": "aac(6')-Ib", + "identity": 100.0, + "start": 82742, + "subclass": "AMIKACIN/KANAMYCIN/TOBRAMYCIN", + "type": "AMR" + }, + "FKEDNGPL_05553": { + "card_aro": 3002017, + "contig": "NZ_CP006661.1", + "end": 73348, + "gene": "blaCMY-6", + "identity": 100.0, + "start": 72203, + "subclass": "CEPHALOSPORIN", + "type": "AMR" + }, + "FKEDNGPL_05593": { + "card_aro": 3002581, + "contig": "NZ_CP006661.1", + "end": 115737, + "gene": "aac(6')-Ib", + "identity": 100.0, + "start": 115159, + "subclass": "AMIKACIN/KANAMYCIN/TOBRAMYCIN", + "type": "AMR" + }, + "FKEDNGPL_05594": { + "card_aro": 3005010, + "contig": "NZ_CP006661.1", + "end": 116253, + "gene": "qacEdelta1", + "identity": 100.0, + "start": 115906, + "subclass": "QUATERNARY AMMONIUM", + "type": "STRESS" + }, + "FKEDNGPL_05595": { + "card_aro": 3000410, + "contig": "NZ_CP006661.1", + "end": 117086, + "gene": "sul1", + "identity": 100.0, + "start": 116247, + "subclass": "SULFONAMIDE", + "type": "AMR" + }, + "FKEDNGPL_05603": { + "card_aro": 3000589, + "contig": "NZ_CP006661.1", + "end": 123003, + "gene": "blaNDM-1", + "identity": 100.0, + "start": 122191, + "subclass": "CARBAPENEM", + "type": "AMR" + }, + "FKEDNGPL_05604": { + "card_aro": 3001205, + "contig": "NZ_CP006661.1", + "end": 123372, + "gene": "ble", + "identity": 100.0, + "start": 123007, + "subclass": "BLEOMYCIN", + "type": "AMR" + }, + "total": 59 + }, + "resfinder": { + "FKEDNGPL_00626": { + "accession": "ACWO01000079", + "card_aro": 3004111, + "end": 668378, + "name": "fosA", + "phenotype": "Fosfomycin_resistance", + "start": 667959 + }, + "FKEDNGPL_02188": { + "accession": "D43625", + "card_aro": 3002602, + "end": 2298476, + "name": "aadA2b", + "phenotype": "Aminoglycoside_resistance", + "start": 2297697 + }, + "FKEDNGPL_02190": { + "accession": "U12338", + "card_aro": 3000410, + "end": 2299820, + "name": "sul1", + "phenotype": "Sulphonamide_resistance", + "start": 2298981 + }, + "FKEDNGPL_02500": { + "accession": "KP050489", + "card_aro": 3001070, + "end": 2613825, + "name": "blaSHV-182", + "phenotype": "Beta-lactam_resistance", + "start": 2612965 + }, + "FKEDNGPL_04009": { + "accession": "EU370913", + "card_aro": 3003922, + "end": 4170874, + "name": "OqxA", + "phenotype": "Warning:_gene_is_missing_from_Notes_file._Please_inform_curator.", + "start": 4169699 + }, + "FKEDNGPL_04010": { + "accession": "EU370913", + "card_aro": 3003923, + "end": 4174050, + "name": "OqxB", + "phenotype": "Warning:_gene_is_missing_from_Notes_file._Please_inform_curator.", + "start": 4170898 + }, + "FKEDNGPL_05222": { + "accession": "AY044436", + "card_aro": 3001878, + "end": 5408782, + "name": "blaCTX-M-15", + "phenotype": "Beta-lactam_resistance_Alternate_name_UOE-1", + "start": 5407907 + }, + "FKEDNGPL_05269": { + "accession": "D16251", + "card_aro": 3000316, + "end": 17408, + "name": "mph(A)", + "phenotype": "Macrolide_resistance", + "start": 16503 + }, + "FKEDNGPL_05272": { + "accession": "AJ517790", + "card_aro": 3000165, + "end": 20367, + "name": "tet(A)", + "phenotype": "Tetracycline_resistance", + "start": 19168 + }, + "FKEDNGPL_05388": { + "accession": "EF526508", + "card_aro": 3002723, + "end": 26742, + "name": "qnrB9", + "phenotype": "Quinolone_resistance", + "start": 26098 + }, + "FKEDNGPL_05398": { + "accession": "AF164577", + "card_aro": 3001070, + "end": 37171, + "name": "blaSHV-13", + "phenotype": "Beta-lactam_resistance", + "start": 36311 + }, + "FKEDNGPL_05400": { + "accession": "DQ303918", + "card_aro": 3005116, + "end": 38710, + "name": "aac(6')-Ib-cr", + "phenotype": "Fluoroquinolone_and_aminoglycoside_resistance", + "start": 38111 + }, + "FKEDNGPL_05401": { + "accession": "HQ170510", + "card_aro": 3001396, + "end": 39671, + "name": "blaOXA-1", + "phenotype": "Beta-lactam_resistance", + "start": 38841 + }, + "FKEDNGPL_05404": { + "accession": "CP023555", + "card_aro": 3004621, + "end": 41974, + "name": "aac(3)-IIa", + "phenotype": "Aminoglycoside_resistance", + "start": 41114 + }, + "FKEDNGPL_05411": { + "accession": "AY044436", + "card_aro": 3001878, + "end": 48003, + "name": "blaCTX-M-15", + "phenotype": "Beta-lactam_resistance_Alternate_name_UOE-1", + "start": 47128 + }, + "FKEDNGPL_05416": { + "accession": "AY458016", + "card_aro": 3000873, + "end": 51685, + "name": "blaTEM-1B", + "phenotype": "Beta-lactam_resistance_Alternate_name_RblaTEM-1", + "start": 50825 + }, + "FKEDNGPL_05419": { + "accession": "AF321551", + "card_aro": 3002639, + "end": 54045, + "name": "aph(3'')-Ib", + "phenotype": "Aminoglycoside_resistance_Alternate_name_aph(3'')-Ib", + "start": 53242 + }, + "FKEDNGPL_05420": { + "accession": "AY034138", + "card_aro": 3000412, + "end": 54921, + "name": "sul2", + "phenotype": "Sulphonamide_resistance", + "start": 54106 + }, + "FKEDNGPL_05454": { + "accession": "M21682", + "card_aro": 3002581, + "end": 83347, + "name": "aac(6')-Ib", + "phenotype": "Aminoglycoside_resistance", + "start": 82742 + }, + "FKEDNGPL_05553": { + "accession": "AJ011293", + "card_aro": 3002017, + "end": 73348, + "name": "blaCMY-6", + "phenotype": "Beta-lactam_resistance", + "start": 72203 + }, + "FKEDNGPL_05593": { + "accession": "X60321", + "card_aro": 3002581, + "end": 115737, + "name": "aac(6')-Ib3", + "phenotype": "Warning:_gene_is_missing_from_Notes_file._Please_inform_curator.", + "start": 115159 + }, + "FKEDNGPL_05595": { + "accession": "U12338", + "card_aro": 3000410, + "end": 117086, + "name": "sul1", + "phenotype": "Sulphonamide_resistance", + "start": 116247 + }, + "FKEDNGPL_05600": { + "accession": "AB194779", + "card_aro": 3000861, + "end": 120492, + "name": "rmtC", + "phenotype": "Aminoglycoside_resistance", + "start": 120100 + }, + "FKEDNGPL_05603": { + "accession": "FN396876", + "card_aro": 3000589, + "end": 123003, + "name": "blaNDM-1", + "phenotype": "Beta-lactam_resistance", + "start": 122191 + }, + "total": 24 + }, + "rgi": { + "FKEDNGPL_00212": { + "accession": 2158, + "card_aro": 3003369, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 223131, + "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", + "gene_family": "elfamycin resistant EF-Tu", + "identity": 97.97, + "name": "Elongation factor Tu 1", + "resistance_mechanism": "antibiotic target alteration", + "start": 221947, + "subclass": "elfamycin antibiotic" + }, + "FKEDNGPL_00626": { + "accession": 2779, + "card_aro": 3004111, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 668378, + "gene": "FosA6", + "gene_family": "fosfomycin thiol transferase", + "identity": 97.84, + "name": "Glutathione transferase FosA", + "resistance_mechanism": "antibiotic inactivation", + "start": 667959, + "subclass": "phosphonic acid antibiotic" + }, + "FKEDNGPL_00782": { + "accession": 3799, + "card_aro": 3005059, + "contig": "NZ_CP006659.2", + "cut_off": "Perfect", + "end": 828170, + "gene": "LptD", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", + "identity": 100.0, + "name": "LPS-assembly protein LptD", + "resistance_mechanism": "antibiotic efflux", + "start": 825822, + "subclass": "peptide antibiotic; aminocoumarin antibiotic; rifamycin antibiotic" + }, + "FKEDNGPL_01174": { + "accession": 1104, + "card_aro": 3000216, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 1252826, + "gene": "acrB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 91.52, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 1249680, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "FKEDNGPL_01175": { + "accession": 2659, + "card_aro": 3004041, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 1254042, + "gene": "Klebsiella pneumoniae acrA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 95.24, + "name": "Multidrug efflux pump subunit AcrA", + "resistance_mechanism": "antibiotic efflux", + "start": 1252849, + "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" + }, + "FKEDNGPL_01802": { + "accession": 2423, + "card_aro": 3003950, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 1901352, + "gene": "msbA", + "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", + "identity": 92.78, + "name": "Lipid A export ATP-binding/permease protein MsbA", + "resistance_mechanism": "antibiotic efflux", + "start": 1899604, + "subclass": "nitroimidazole antibiotic" + }, + "FKEDNGPL_01844": { + "accession": 3787, + "card_aro": 3005044, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 1951794, + "gene": "OmpA", + "gene_family": "General Bacterial Porin with reduced permeability to peptide antibiotics", + "identity": 99.72, + "name": "Outer membrane protein A", + "resistance_mechanism": "reduced permeability to antibiotic", + "start": 1950724, + "subclass": "peptide antibiotic" + }, + "FKEDNGPL_02188": { + "accession": 1227, + "card_aro": 3002602, + "contig": "NZ_CP006659.2", + "cut_off": "Perfect", + "end": 2298476, + "gene": "aadA2", + "gene_family": "ANT(3'')", + "identity": 100.0, + "name": "Streptomycin 3''-adenylyltransferase", + "resistance_mechanism": "antibiotic inactivation", + "start": 2297697, + "subclass": "aminoglycoside antibiotic" + }, + "FKEDNGPL_02189": { + "accession": 3755, + "card_aro": 3005010, + "contig": "NZ_CP006659.2", + "cut_off": "Perfect", + "end": 2298987, + "gene": "qacEdelta1", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "Multidrug transporter EmrE", + "resistance_mechanism": "antibiotic efflux", + "start": 2298640, + "subclass": "disinfecting agents and antiseptics" + }, + "FKEDNGPL_02190": { + "accession": 1070, + "card_aro": 3000410, + "contig": "NZ_CP006659.2", + "cut_off": "Perfect", + "end": 2299820, + "gene": "sul1", + "gene_family": "sulfonamide resistant sul", + "identity": 100.0, + "name": "Dihydropteroate synthase", + "resistance_mechanism": "antibiotic target replacement", + "start": 2298981, + "subclass": "sulfonamide antibiotic" + }, + "FKEDNGPL_02457": { + "accession": 3283, + "card_aro": 3004580, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 2572631, + "gene": "Klebsiella pneumoniae KpnE", + "gene_family": "small multidrug resistance (SMR) antibiotic efflux pump", + "identity": 99.17, + "name": "Spermidine export protein MdtJ", + "resistance_mechanism": "antibiotic efflux", + "start": 2572269, + "subclass": "macrolide antibiotic; aminoglycoside antibiotic; cephalosporin; tetracycline antibiotic; peptide antibiotic; rifamycin antibiotic; disinfecting agents and antiseptics" + }, + "FKEDNGPL_02458": { + "accession": 3286, + "card_aro": 3004583, + "contig": "NZ_CP006659.2", + "cut_off": "Perfect", + "end": 2572947, + "gene": "Klebsiella pneumoniae KpnF", + "gene_family": "small multidrug resistance (SMR) antibiotic efflux pump", + "identity": 100.0, + "name": "Spermidine export protein MdtI", + "resistance_mechanism": "antibiotic efflux", + "start": 2572618, + "subclass": "macrolide antibiotic; aminoglycoside antibiotic; cephalosporin; tetracycline antibiotic; peptide antibiotic; rifamycin antibiotic; disinfecting agents and antiseptics" + }, + "FKEDNGPL_02500": { + "accession": 578, + "card_aro": 3001070, + "contig": "NZ_CP006659.2", + "cut_off": "Perfect", + "end": 2613825, + "gene": "SHV-11", + "gene_family": "SHV beta-lactamase", + "identity": 100.0, + "name": "Beta-lactamase SHV-1", + "resistance_mechanism": "antibiotic inactivation", + "start": 2612965, + "subclass": "carbapenem; cephalosporin; penam" + }, + "FKEDNGPL_02520": { + "accession": 1922, + "card_aro": 3000263, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 2634302, + "gene": "marA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", + "identity": 92.74, + "name": "Multiple antibiotic resistance protein MarA", + "resistance_mechanism": "antibiotic efflux; reduced permeability to antibiotic", + "start": 2633928, + "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" + }, + "FKEDNGPL_03488": { + "accession": 820, + "card_aro": 3000793, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 3623962, + "gene": "mdtB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 90.48, + "name": "Multidrug resistance protein MdtB", + "resistance_mechanism": "antibiotic efflux", + "start": 3620840, + "subclass": "aminocoumarin antibiotic" + }, + "FKEDNGPL_03489": { + "accession": 1315, + "card_aro": 3000794, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 3627040, + "gene": "mdtC", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 91.32, + "name": "Multidrug resistance protein MdtC", + "resistance_mechanism": "antibiotic efflux", + "start": 3623963, + "subclass": "aminocoumarin antibiotic" + }, + "FKEDNGPL_03492": { + "accession": 1337, + "card_aro": 3000828, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 3630711, + "gene": "baeR", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 92.5, + "name": "Transcriptional regulatory protein BaeR", + "resistance_mechanism": "antibiotic efflux", + "start": 3629989, + "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" + }, + "FKEDNGPL_03608": { + "accession": 1545, + "card_aro": 3003294, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 3766306, + "gene": "Escherichia coli gyrA conferring resistance to fluoroquinolones", + "gene_family": "fluoroquinolone resistant gyrA", + "identity": 92.23, + "name": "DNA gyrase subunit A", + "resistance_mechanism": "antibiotic target alteration", + "start": 3763673, + "subclass": "fluoroquinolone antibiotic" + }, + "FKEDNGPL_03769": { + "accession": 1427, + "card_aro": 3000491, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 3935888, + "gene": "acrD", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 91.03, + "name": "Multidrug efflux pump subunit AcrB", + "resistance_mechanism": "antibiotic efflux", + "start": 3932775, + "subclass": "aminoglycoside antibiotic" + }, + "FKEDNGPL_04009": { + "accession": 2399, + "card_aro": 3003922, + "contig": "NZ_CP006659.2", + "cut_off": "Perfect", + "end": 4170874, + "gene": "oqxA", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "Efflux pump periplasmic linker BepF", + "resistance_mechanism": "antibiotic efflux", + "start": 4169699, + "subclass": "fluoroquinolone antibiotic; glycylcycline; tetracycline antibiotic; diaminopyrimidine antibiotic; nitrofuran antibiotic" + }, + "FKEDNGPL_04010": { + "accession": 2400, + "card_aro": 3003923, + "contig": "NZ_CP006659.2", + "cut_off": "Perfect", + "end": 4174050, + "gene": "oqxB", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 100.0, + "name": "multidrug efflux RND transporter permease subunit OqxB3", + "resistance_mechanism": "antibiotic efflux", + "start": 4170898, + "subclass": "fluoroquinolone antibiotic; glycylcycline; tetracycline antibiotic; diaminopyrimidine antibiotic; nitrofuran antibiotic" + }, + "FKEDNGPL_04055": { + "accession": 1330, + "card_aro": 3000516, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 4218850, + "gene": "emrR", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 92.57, + "name": "Transcriptional repressor MprA", + "resistance_mechanism": "antibiotic efflux", + "start": 4218320, + "subclass": "fluoroquinolone antibiotic" + }, + "FKEDNGPL_04056": { + "accession": 3298, + "card_aro": 3004588, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 4220148, + "gene": "Klebsiella pneumoniae KpnG", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 99.74, + "name": "Multidrug export protein EmrA", + "resistance_mechanism": "antibiotic efflux", + "start": 4218976, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; aminoglycoside antibiotic; carbapenem; cephalosporin; penam; peptide antibiotic; penem" + }, + "FKEDNGPL_04057": { + "accession": 3299, + "card_aro": 3004597, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 4221702, + "gene": "Klebsiella pneumoniae KpnH", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 94.02, + "name": "Multidrug export protein EmrB", + "resistance_mechanism": "antibiotic efflux", + "start": 4220164, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; aminoglycoside antibiotic; carbapenem; cephalosporin; penam; peptide antibiotic; penem" + }, + "FKEDNGPL_04522": { + "accession": 1450, + "card_aro": 3003308, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 4691805, + "gene": "Escherichia coli parC conferring resistance to fluoroquinolones", + "gene_family": "fluoroquinolone resistant parC", + "identity": 94.41, + "name": "DNA topoisomerase 4 subunit A", + "resistance_mechanism": "antibiotic target alteration", + "start": 4689547, + "subclass": "fluoroquinolone antibiotic" + }, + "FKEDNGPL_04827": { + "accession": 2158, + "card_aro": 3003369, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 4974037, + "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", + "gene_family": "elfamycin resistant EF-Tu", + "identity": 97.97, + "name": "Elongation factor Tu 1", + "resistance_mechanism": "antibiotic target alteration", + "start": 4972853, + "subclass": "elfamycin antibiotic" + }, + "FKEDNGPL_04846": { + "accession": 869, + "card_aro": 3000518, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 4989716, + "gene": "CRP", + "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", + "identity": 99.05, + "name": "cAMP-activated global transcriptional regulator CRP", + "resistance_mechanism": "antibiotic efflux", + "start": 4989084, + "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" + }, + "FKEDNGPL_04946": { + "accession": 3795, + "card_aro": 3005053, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 5101117, + "gene": "ArnT", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 99.64, + "name": "Undecaprenyl phosphate-alpha-4-amino-4-deoxy-L-arabinose arabinosyl transferase", + "resistance_mechanism": "antibiotic target alteration", + "start": 5099462, + "subclass": "peptide antibiotic" + }, + "FKEDNGPL_05008": { + "accession": 3791, + "card_aro": 3005047, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 5182773, + "gene": "eptB", + "gene_family": "pmr phosphoethanolamine transferase", + "identity": 99.46, + "name": "Kdo(2)-lipid A phosphoethanolamine 7''-transferase", + "resistance_mechanism": "antibiotic target alteration", + "start": 5181100, + "subclass": "peptide antibiotic" + }, + "FKEDNGPL_05175": { + "accession": 2373, + "card_aro": 3003890, + "contig": "NZ_CP006659.2", + "cut_off": "Strict", + "end": 5359214, + "gene": "Escherichia coli UhpT with mutation conferring resistance to fosfomycin", + "gene_family": "antibiotic-resistant UhpT", + "identity": 95.03, + "name": "Hexose-6-phosphate:phosphate antiporter", + "resistance_mechanism": "antibiotic target alteration", + "start": 5357823, + "subclass": "phosphonic acid antibiotic" + }, + "FKEDNGPL_05222": { + "accession": 2035, + "card_aro": 3001878, + "contig": "NZ_CP006659.2", + "cut_off": "Perfect", + "end": 5408782, + "gene": "CTX-M-15", + "gene_family": "CTX-M beta-lactamase", + "identity": 100.0, + "name": "Beta-lactamase CTX-M-1", + "resistance_mechanism": "antibiotic inactivation", + "start": 5407907, + "subclass": "cephalosporin; penam" + }, + "FKEDNGPL_05268": { + "accession": 5917, + "card_aro": 3003839, + "contig": "NZ_CP006663.1", + "cut_off": "Perfect", + "end": 16506, + "gene": "Mrx", + "gene_family": "macrolide phosphotransferase (MPH)", + "identity": 100.0, + "name": "Multidrug efflux pump Tap", + "resistance_mechanism": "antibiotic inactivation", + "start": 15268, + "subclass": "macrolide antibiotic" + }, + "FKEDNGPL_05269": { + "accession": 1243, + "card_aro": 3000316, + "contig": "NZ_CP006663.1", + "cut_off": "Perfect", + "end": 17408, + "gene": "mphA", + "gene_family": "macrolide phosphotransferase (MPH)", + "identity": 100.0, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic inactivation", + "start": 16503, + "subclass": "macrolide antibiotic" + }, + "FKEDNGPL_05272": { + "accession": 1808, + "card_aro": 3000165, + "contig": "NZ_CP006663.1", + "cut_off": "Strict", + "end": 20367, + "gene": "tet(A)", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 98.48, + "name": "Tetracycline resistance protein, class C", + "resistance_mechanism": "antibiotic efflux", + "start": 19168, + "subclass": "tetracycline antibiotic" + }, + "FKEDNGPL_05388": { + "accession": 1579, + "card_aro": 3002723, + "contig": "NZ_CP006662.2", + "cut_off": "Perfect", + "end": 26742, + "gene": "QnrB9", + "gene_family": "quinolone resistance protein (qnr)", + "identity": 100.0, + "name": "Pentapeptide repeat protein", + "resistance_mechanism": "antibiotic target protection", + "start": 26098, + "subclass": "fluoroquinolone antibiotic" + }, + "FKEDNGPL_05398": { + "accession": 578, + "card_aro": 3001070, + "contig": "NZ_CP006662.2", + "cut_off": "Strict", + "end": 37171, + "gene": "SHV-11", + "gene_family": "SHV beta-lactamase", + "identity": 99.65, + "name": "Beta-lactamase SHV-1", + "resistance_mechanism": "antibiotic inactivation", + "start": 36311, + "subclass": "carbapenem; cephalosporin; penam" + }, + "FKEDNGPL_05400": { + "accession": 3843, + "card_aro": 3005116, + "contig": "NZ_CP006662.2", + "cut_off": "Strict", + "end": 38710, + "gene": "AAC(6')-Ib-cr6", + "gene_family": "AAC(6'); AAC(6')-Ib-cr", + "identity": 98.99, + "name": "Aminoglycoside N(6')-acetyltransferase type 1", + "resistance_mechanism": "antibiotic inactivation", + "start": 38111, + "subclass": "fluoroquinolone antibiotic; aminoglycoside antibiotic" + }, + "FKEDNGPL_05401": { + "accession": 1952, + "card_aro": 3001396, + "contig": "NZ_CP006662.2", + "cut_off": "Perfect", + "end": 39671, + "gene": "OXA-1", + "gene_family": "OXA beta-lactamase", + "identity": 100.0, + "name": "Beta-lactamase OXA-1", + "resistance_mechanism": "antibiotic inactivation", + "start": 38841, + "subclass": "carbapenem; cephalosporin; penam" + }, + "FKEDNGPL_05402": { + "accession": 150, + "card_aro": 3002676, + "contig": "NZ_CP006662.2", + "cut_off": "Strict", + "end": 40357, + "gene": "catB3", + "gene_family": "chloramphenicol acetyltransferase (CAT)", + "identity": 100.0, + "name": "Chloramphenicol acetyltransferase", + "resistance_mechanism": "antibiotic inactivation", + "start": 39809, + "subclass": "phenicol antibiotic" + }, + "FKEDNGPL_05404": { + "accession": 3321, + "card_aro": 3004621, + "contig": "NZ_CP006662.2", + "cut_off": "Strict", + "end": 41974, + "gene": "AAC(3)-IIe", + "gene_family": "AAC(3)", + "identity": 98.95, + "name": "SPbeta prophage-derived aminoglycoside N(3')-acetyltransferase-like protein YokD", + "resistance_mechanism": "antibiotic inactivation", + "start": 41114, + "subclass": "aminoglycoside antibiotic" + }, + "FKEDNGPL_05411": { + "accession": 2035, + "card_aro": 3001878, + "contig": "NZ_CP006662.2", + "cut_off": "Perfect", + "end": 48003, + "gene": "CTX-M-15", + "gene_family": "CTX-M beta-lactamase", + "identity": 100.0, + "name": "Beta-lactamase CTX-M-1", + "resistance_mechanism": "antibiotic inactivation", + "start": 47128, + "subclass": "cephalosporin; penam" + }, + "FKEDNGPL_05416": { + "accession": 355, + "card_aro": 3000873, + "contig": "NZ_CP006662.2", + "cut_off": "Perfect", + "end": 51685, + "gene": "TEM-1", + "gene_family": "TEM beta-lactamase", + "identity": 100.0, + "name": "Beta-lactamase TEM", + "resistance_mechanism": "antibiotic inactivation", + "start": 50825, + "subclass": "monobactam; cephalosporin; penam; penem" + }, + "FKEDNGPL_05418": { + "accession": 1031, + "card_aro": 3002660, + "contig": "NZ_CP006662.2", + "cut_off": "Strict", + "end": 53242, + "gene": "APH(6)-Id", + "gene_family": "APH(6)", + "identity": 99.64, + "name": "hypothetical protein", + "resistance_mechanism": "antibiotic inactivation", + "start": 52406, + "subclass": "aminoglycoside antibiotic" + }, + "FKEDNGPL_05419": { + "accession": 1830, + "card_aro": 3002639, + "contig": "NZ_CP006662.2", + "cut_off": "Strict", + "end": 54045, + "gene": "APH(3'')-Ib", + "gene_family": "APH(3'')", + "identity": 99.63, + "name": "Aminoglycoside 3'-phosphotransferase", + "resistance_mechanism": "antibiotic inactivation", + "start": 53242, + "subclass": "aminoglycoside antibiotic" + }, + "FKEDNGPL_05420": { + "accession": 952, + "card_aro": 3000412, + "contig": "NZ_CP006662.2", + "cut_off": "Perfect", + "end": 54921, + "gene": "sul2", + "gene_family": "sulfonamide resistant sul", + "identity": 100.0, + "name": "Dihydropteroate synthase", + "resistance_mechanism": "antibiotic target replacement", + "start": 54106, + "subclass": "sulfonamide antibiotic" + }, + "FKEDNGPL_05454": { + "accession": 1370, + "card_aro": 3002581, + "contig": "NZ_CP006662.2", + "cut_off": "Strict", + "end": 83347, + "gene": "AAC(6')-Ib10", + "gene_family": "AAC(6')", + "identity": 98.97, + "name": "Aminoglycoside N(6')-acetyltransferase type 1", + "resistance_mechanism": "antibiotic inactivation", + "start": 82742, + "subclass": "aminoglycoside antibiotic" + }, + "FKEDNGPL_05553": { + "accession": 1409, + "card_aro": 3002017, + "contig": "NZ_CP006661.1", + "cut_off": "Perfect", + "end": 73348, + "gene": "CMY-6", + "gene_family": "CMY beta-lactamase", + "identity": 100.0, + "name": "Beta-lactamase", + "resistance_mechanism": "antibiotic inactivation", + "start": 72203, + "subclass": "cephamycin" + }, + "FKEDNGPL_05593": { + "accession": 1370, + "card_aro": 3002581, + "contig": "NZ_CP006661.1", + "cut_off": "Strict", + "end": 115737, + "gene": "AAC(6')-Ib10", + "gene_family": "AAC(6')", + "identity": 98.94, + "name": "Aminoglycoside N(6')-acetyltransferase type 1", + "resistance_mechanism": "antibiotic inactivation", + "start": 115159, + "subclass": "aminoglycoside antibiotic" + }, + "FKEDNGPL_05594": { + "accession": 3755, + "card_aro": 3005010, + "contig": "NZ_CP006661.1", + "cut_off": "Perfect", + "end": 116253, + "gene": "qacEdelta1", + "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", + "identity": 100.0, + "name": "Multidrug transporter EmrE", + "resistance_mechanism": "antibiotic efflux", + "start": 115906, + "subclass": "disinfecting agents and antiseptics" + }, + "FKEDNGPL_05595": { + "accession": 1070, + "card_aro": 3000410, + "contig": "NZ_CP006661.1", + "cut_off": "Perfect", + "end": 117086, + "gene": "sul1", + "gene_family": "sulfonamide resistant sul", + "identity": 100.0, + "name": "Dihydropteroate synthase", + "resistance_mechanism": "antibiotic target replacement", + "start": 116247, + "subclass": "sulfonamide antibiotic" + }, + "FKEDNGPL_05600": { + "accession": 1540, + "card_aro": 3000861, + "contig": "NZ_CP006661.1", + "cut_off": "Strict", + "end": 120492, + "gene": "rmtC", + "gene_family": "16S rRNA methyltransferase (G1405)", + "identity": 100.0, + "name": "16S rRNA (guanine(1405)-N(7))-methyltransferase", + "resistance_mechanism": "antibiotic target alteration", + "start": 120100, + "subclass": "aminoglycoside antibiotic" + }, + "FKEDNGPL_05603": { + "accession": 783, + "card_aro": 3000589, + "contig": "NZ_CP006661.1", + "cut_off": "Perfect", + "end": 123003, + "gene": "NDM-1", + "gene_family": "NDM beta-lactamase", + "identity": 100.0, + "name": "Metallo-beta-lactamase type 2", + "resistance_mechanism": "antibiotic inactivation", + "start": 122191, + "subclass": "carbapenem; cephalosporin; cephamycin; penam" + }, + "FKEDNGPL_05604": { + "accession": 255, + "card_aro": 3001205, + "contig": "NZ_CP006661.1", + "cut_off": "Perfect", + "end": 123372, + "gene": "BRP(MBL)", + "gene_family": "Bleomycin resistant protein", + "identity": 100.0, + "name": "Bleomycin resistance protein", + "resistance_mechanism": "antibiotic inactivation", + "start": 123007, + "subclass": "glycopeptide antibiotic" + }, + "total": 53 + } + }, + "results_dir": "/home/falmeida/Documents/GitHub/pythonScripts/_ANNOTATION/klebsiella_1", + "sample": "klebsiella_1", + "virulence": { + "VFDB": { + "FKEDNGPL_01174": { + "chr": "NZ_CP006659.2", + "end": 1252826, + "gene": "acrB", + "id": "VF0568", + "product": "AcrAB_(VF0568)_Antimicrobial_activity/Competitive_advantage_(VFC0325)", + "start": 1249680, + "virulence_factor": "AcrAB" + }, + "FKEDNGPL_01175": { + "chr": "NZ_CP006659.2", + "end": 1254042, + "gene": "acrA", + "id": "VF0568", + "product": "AcrAB_(VF0568)_Antimicrobial_activity/Competitive_advantage_(VFC0325)", + "start": 1252849, + "virulence_factor": "AcrAB" + }, + "FKEDNGPL_01418": { + "chr": "NZ_CP006659.2", + "end": 1500092, + "gene": "fepA", + "id": "VF0562", + "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 1497864, + "virulence_factor": "Ent" + }, + "FKEDNGPL_01419": { + "chr": "NZ_CP006659.2", + "end": 1501560, + "gene": "fes", + "id": "VF0562", + "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 1500352, + "virulence_factor": "Ent" + }, + "FKEDNGPL_01421": { + "chr": "NZ_CP006659.2", + "end": 1505683, + "gene": "entF", + "id": "VF0562", + "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 1501802, + "virulence_factor": "Ent" + }, + "FKEDNGPL_01422": { + "chr": "NZ_CP006659.2", + "end": 1506542, + "gene": "fepC", + "id": "VF0562", + "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 1505748, + "virulence_factor": "Ent" + }, + "FKEDNGPL_01423": { + "chr": "NZ_CP006659.2", + "end": 1507531, + "gene": "fepG", + "id": "VF0562", + "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 1506539, + "virulence_factor": "Ent" + }, + "FKEDNGPL_01424": { + "chr": "NZ_CP006659.2", + "end": 1508535, + "gene": "fepD", + "id": "VF0562", + "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 1507528, + "virulence_factor": "Ent" + }, + "FKEDNGPL_01425": { + "chr": "NZ_CP006659.2", + "end": 1509889, + "gene": "entS", + "id": "VF0562", + "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 1508648, + "virulence_factor": "Ent" + }, + "FKEDNGPL_01426": { + "chr": "NZ_CP006659.2", + "end": 1511109, + "gene": "fepB", + "id": "VF0562", + "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 1510150, + "virulence_factor": "Ent" + }, + "FKEDNGPL_01427": { + "chr": "NZ_CP006659.2", + "end": 1512473, + "gene": "entC", + "id": "VF0562", + "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 1511298, + "virulence_factor": "Ent" + }, + "FKEDNGPL_01428": { + "chr": "NZ_CP006659.2", + "end": 1514090, + "gene": "entE", + "id": "VF0562", + "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 1512483, + "virulence_factor": "Ent" + }, + "FKEDNGPL_01429": { + "chr": "NZ_CP006659.2", + "end": 1514955, + "gene": "entB", + "id": "VF0562", + "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 1514104, + "virulence_factor": "Ent" + }, + "FKEDNGPL_01430": { + "chr": "NZ_CP006659.2", + "end": 1515710, + "gene": "entA", + "id": "VF0562", + "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 1514955, + "virulence_factor": "Ent" + }, + "FKEDNGPL_01987": { + "chr": "NZ_CP006659.2", + "end": 2095799, + "gene": "iutA", + "id": "VF0565", + "product": "Aerobactin_(VF0565)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2093610, + "virulence_factor": "Aerobactin" + }, + "FKEDNGPL_02293": { + "chr": "NZ_CP006659.2", + "end": 2389254, + "gene": "vipA/tssB", + "id": "VF0569", + "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", + "start": 2388763, + "virulence_factor": "T6SS" + }, + "FKEDNGPL_02294": { + "chr": "NZ_CP006659.2", + "end": 2390841, + "gene": "vipB/tssC", + "id": "VF0569", + "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", + "start": 2389297, + "virulence_factor": "T6SS" + }, + "FKEDNGPL_02295": { + "chr": "NZ_CP006659.2", + "end": 2392194, + "gene": "vasE/tssK", + "id": "VF0569", + "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", + "start": 2390851, + "virulence_factor": "T6SS" + }, + "FKEDNGPL_02296": { + "chr": "NZ_CP006659.2", + "end": 2392880, + "gene": "dotU/tssL", + "id": "VF0569", + "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", + "start": 2392191, + "virulence_factor": "T6SS" + }, + "FKEDNGPL_02297": { + "chr": "NZ_CP006659.2", + "end": 2394583, + "gene": "ompA", + "id": "VF0569", + "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", + "start": 2392877, + "virulence_factor": "T6SS" + }, + "FKEDNGPL_02298": { + "chr": "NZ_CP006659.2", + "end": 2395079, + "gene": "hcp/tssD", + "id": "VF0569", + "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", + "start": 2394588, + "virulence_factor": "T6SS" + }, + "FKEDNGPL_02299": { + "chr": "NZ_CP006659.2", + "end": 2397998, + "gene": "clpV/tssH", + "id": "VF0569", + "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", + "start": 2395344, + "virulence_factor": "T6SS" + }, + "FKEDNGPL_02313": { + "chr": "NZ_CP006659.2", + "end": 2414815, + "gene": "tssF", + "id": "VF0569", + "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", + "start": 2413061, + "virulence_factor": "T6SS" + }, + "FKEDNGPL_02314": { + "chr": "NZ_CP006659.2", + "end": 2415864, + "gene": "tssG", + "id": "VF0569", + "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", + "start": 2414779, + "virulence_factor": "T6SS" + }, + "FKEDNGPL_02315": { + "chr": "NZ_CP006659.2", + "end": 2416384, + "gene": "sciN/tssJ", + "id": "VF0569", + "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", + "start": 2415842, + "virulence_factor": "T6SS" + }, + "FKEDNGPL_02586": { + "chr": "NZ_CP006659.2", + "end": 2693868, + "gene": "iroE", + "id": "VF0563", + "product": "Sal_(VF0563)_Nutritional/Metabolic_factor_(VFC0272)", + "start": 2692939, + "virulence_factor": "Sal" + }, + "FKEDNGPL_03351": { + "chr": "NZ_CP006659.2", + "end": 3479723, + "gene": "rcsA", + "id": "VF0571", + "product": "RcsAB_(VF0571)_Regulation_(VFC0301)", + "start": 3479100, + "virulence_factor": "RcsAB" + }, + "FKEDNGPL_03606": { + "chr": "NZ_CP006659.2", + "end": 3760655, + "gene": "rcsB", + "id": "VF0571", + "product": "RcsAB_(VF0571)_Regulation_(VFC0301)", + "start": 3760005, + "virulence_factor": "RcsAB" + }, + "FKEDNGPL_04306": { + "chr": "NZ_CP006659.2", + "end": 4479302, + "gene": "mrkH", + "id": "VF0567", + "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", + "start": 4478598, + "virulence_factor": "Type_3_fimbriae" + }, + "FKEDNGPL_04307": { + "chr": "NZ_CP006659.2", + "end": 4479892, + "gene": "mrkI", + "id": "VF0567", + "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", + "start": 4479320, + "virulence_factor": "Type_3_fimbriae" + }, + "FKEDNGPL_04308": { + "chr": "NZ_CP006659.2", + "end": 4480752, + "gene": "mrkJ", + "id": "VF0567", + "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", + "start": 4480036, + "virulence_factor": "Type_3_fimbriae" + }, + "FKEDNGPL_04309": { + "chr": "NZ_CP006659.2", + "end": 4481422, + "gene": "mrkF", + "id": "VF0567", + "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", + "start": 4480787, + "virulence_factor": "Type_3_fimbriae" + }, + "FKEDNGPL_04310": { + "chr": "NZ_CP006659.2", + "end": 4482431, + "gene": "mrkD", + "id": "VF0567", + "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", + "start": 4481436, + "virulence_factor": "Type_3_fimbriae" + }, + "FKEDNGPL_04311": { + "chr": "NZ_CP006659.2", + "end": 4484908, + "gene": "mrkC", + "id": "VF0567", + "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", + "start": 4482422, + "virulence_factor": "Type_3_fimbriae" + }, + "FKEDNGPL_04312": { + "chr": "NZ_CP006659.2", + "end": 4485621, + "gene": "mrkB", + "id": "VF0567", + "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", + "start": 4484920, + "virulence_factor": "Type_3_fimbriae" + }, + "FKEDNGPL_04313": { + "chr": "NZ_CP006659.2", + "end": 4486325, + "gene": "mrkA", + "id": "VF0567", + "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", + "start": 4485717, + "virulence_factor": "Type_3_fimbriae" + }, + "FKEDNGPL_04318": { + "chr": "NZ_CP006659.2", + "end": 4491596, + "gene": "fimB", + "id": "VF0566", + "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", + "start": 4490991, + "virulence_factor": "Type_I_fimbriae" + }, + "FKEDNGPL_04319": { + "chr": "NZ_CP006659.2", + "end": 4492670, + "gene": "fimE", + "id": "VF0566", + "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", + "start": 4492062, + "virulence_factor": "Type_I_fimbriae" + }, + "FKEDNGPL_04320": { + "chr": "NZ_CP006659.2", + "end": 4493698, + "gene": "fimA", + "id": "VF0566", + "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", + "start": 4493150, + "virulence_factor": "Type_I_fimbriae" + }, + "FKEDNGPL_04321": { + "chr": "NZ_CP006659.2", + "end": 4494305, + "gene": "fimI", + "id": "VF0566", + "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", + "start": 4493769, + "virulence_factor": "Type_I_fimbriae" + }, + "FKEDNGPL_04322": { + "chr": "NZ_CP006659.2", + "end": 4495059, + "gene": "fimC", + "id": "VF0566", + "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", + "start": 4494355, + "virulence_factor": "Type_I_fimbriae" + }, + "FKEDNGPL_04323": { + "chr": "NZ_CP006659.2", + "end": 4497753, + "gene": "fimD", + "id": "VF0566", + "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", + "start": 4495141, + "virulence_factor": "Type_I_fimbriae" + }, + "FKEDNGPL_04324": { + "chr": "NZ_CP006659.2", + "end": 4498291, + "gene": "fimF", + "id": "VF0566", + "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", + "start": 4497764, + "virulence_factor": "Type_I_fimbriae" + }, + "FKEDNGPL_04325": { + "chr": "NZ_CP006659.2", + "end": 4498804, + "gene": "fimG", + "id": "VF0566", + "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", + "start": 4498304, + "virulence_factor": "Type_I_fimbriae" + }, + "FKEDNGPL_04326": { + "chr": "NZ_CP006659.2", + "end": 4499727, + "gene": "fimH", + "id": "VF0566", + "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", + "start": 4498819, + "virulence_factor": "Type_I_fimbriae" + }, + "FKEDNGPL_04327": { + "chr": "NZ_CP006659.2", + "end": 4501046, + "gene": "fimK", + "id": "VF0566", + "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", + "start": 4499724, + "virulence_factor": "Type_I_fimbriae" + }, + "total": 46 + }, + "Victors": { + "FKEDNGPL_00129": { + "contig": "NZ_CP006659.2", + "end": 138803, + "id": "16767186", + "name": "peptidyl-prolyl_cis-trans_isomerase_C", + "product": "gi|16767186|ref|NP_462801.1|peptidyl-prolyl_cis-trans_isomerase_C_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 138522 + }, + "FKEDNGPL_00137": { + "contig": "NZ_CP006659.2", + "end": 147698, + "id": "16767191", + "name": "thioredoxin", + "product": "gi|16767191|ref|NP_462806.1|thioredoxin_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 147369 + }, + "FKEDNGPL_00236": { + "contig": "NZ_CP006659.2", + "end": 249532, + "id": "16767423", + "name": "hypothetical_protein_STM4169", + "product": "gi|16767423|ref|NP_463038.1|hypothetical_protein_STM4169_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 248942 + }, + "FKEDNGPL_00242": { + "contig": "NZ_CP006659.2", + "end": 255397, + "id": "16767429", + "name": "phosphoribosylamine--glycine_ligase", + "product": "gi|16767429|ref|NP_463044.1|phosphoribosylamine--glycine_ligase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 254102 + }, + "FKEDNGPL_00250": { + "contig": "NZ_CP006659.2", + "end": 264337, + "id": "16767432", + "name": "homoserine_O-succinyltransferase", + "product": "gi|16767432|ref|NP_463047.1|homoserine_O-succinyltransferase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 263408 + }, + "FKEDNGPL_00424": { + "contig": "NZ_CP006659.2", + "end": 454422, + "id": "82546588", + "name": "tRNA_delta(2)-isopentenylpyrophosphate_transferase", + "product": "gi|82546588|ref|YP_410535.1|tRNA_delta(2)-isopentenylpyrophosphate_transferase_[Shigella_boydii_Sb227]", + "start": 453472 + }, + "FKEDNGPL_00425": { + "contig": "NZ_CP006659.2", + "end": 454823, + "id": "24115527", + "name": "RNA-binding_protein_Hfq", + "product": "gi|24115527|ref|NP_710037.1|RNA-binding_protein_Hfq_[Shigella_flexneri_2a_str._301]", + "start": 454515 + }, + "FKEDNGPL_00433": { + "contig": "NZ_CP006659.2", + "end": 463753, + "id": "110808097", + "name": "exoribonuclease_R", + "product": "gi|110808097|ref|YP_691617.1|exoribonuclease_R_[Shigella_flexneri_5_str._8401]", + "start": 461321 + }, + "FKEDNGPL_00645": { + "contig": "NZ_CP006659.2", + "end": 686743, + "id": "16763338", + "name": "carbon_starvation_protein", + "product": "gi|16763338|ref|NP_458955.1|carbon_starvation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", + "start": 684593 + }, + "FKEDNGPL_00879": { + "contig": "NZ_CP006659.2", + "end": 942387, + "id": "56479612", + "name": "RNA_polymerase-binding_transcription_factor", + "product": "gi|56479612|ref|NP_706093.2|RNA_polymerase-binding_transcription_factor_[Shigella_flexneri_2a_str._301]", + "start": 941932 + }, + "FKEDNGPL_00910": { + "contig": "NZ_CP006659.2", + "end": 980937, + "id": "187732326", + "name": "serine_endoprotease", + "product": "gi|187732326|ref|YP_001878964.1|serine_endoprotease_[Shigella_boydii_CDC_3083-94]", + "start": 979504 + }, + "FKEDNGPL_00915": { + "contig": "NZ_CP006659.2", + "end": 987244, + "id": "15799850", + "name": "methionine_aminopeptidase", + "product": "gi|15799850|ref|NP_285862.1|methionine_aminopeptidase_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 986450 + }, + "FKEDNGPL_00925": { + "contig": "NZ_CP006659.2", + "end": 998576, + "id": "187734090", + "name": "periplasmic_chaperone", + "product": "gi|187734090|ref|YP_001878980.1|periplasmic_chaperone_[Shigella_boydii_CDC_3083-94]", + "start": 998091 + }, + "FKEDNGPL_00970": { + "contig": "NZ_CP006659.2", + "end": 1041902, + "id": "16759305", + "name": "phosphoheptose_isomerase", + "product": "gi|16759305|ref|NP_454922.1|phosphoheptose_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", + "start": 1041321 + }, + "FKEDNGPL_01021": { + "contig": "NZ_CP006659.2", + "end": 1095449, + "id": "218693755", + "name": "common_pilus_ECP", + "product": "gi|218693755|ref|YP_002401422.1|common_pilus_ECP_[Escherichia_coli_55989]", + "start": 1094862 + }, + "FKEDNGPL_01124": { + "contig": "NZ_CP006659.2", + "end": 1199042, + "id": "16763823", + "name": "cytochrome_o_ubiquinol_oxidase_subunit_I", + "product": "gi|16763823|ref|NP_459438.1|cytochrome_o_ubiquinol_oxidase_subunit_I_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1197051 + }, + "FKEDNGPL_01130": { + "contig": "NZ_CP006659.2", + "end": 1205780, + "id": "16763829", + "name": "ATP-dependent_Clp_protease_proteolytic_subunit", + "product": "gi|16763829|ref|NP_459444.1|ATP-dependent_Clp_protease_proteolytic_subunit_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1205157 + }, + "FKEDNGPL_01173": { + "contig": "NZ_CP006659.2", + "end": 1249194, + "id": "16763854", + "name": "cytoplasmic_protein", + "product": "gi|16763854|ref|NP_459469.1|cytoplasmic_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1248820 + }, + "FKEDNGPL_01298": { + "contig": "NZ_CP006659.2", + "end": 1362112, + "id": "16765878", + "name": "APC_family_lysine/cadaverine_transport_protein", + "product": "gi|16765878|ref|NP_461493.1|APC_family_lysine/cadaverine_transport_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1360778 + }, + "FKEDNGPL_01432": { + "contig": "NZ_CP006659.2", + "end": 1518586, + "id": "16763977", + "name": "carbon_starvation_protein", + "product": "gi|16763977|ref|NP_459592.1|carbon_starvation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1516481 + }, + "FKEDNGPL_01474": { + "contig": "NZ_CP006659.2", + "end": 1563637, + "id": "16764006", + "name": "RNA_chaperone", + "product": "gi|16764006|ref|NP_459621.1|RNA_chaperone_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1563428 + }, + "FKEDNGPL_01781": { + "contig": "NZ_CP006659.2", + "end": 1869707, + "id": "15800751", + "name": "thioredoxin_reductase", + "product": "gi|15800751|ref|NP_286765.1|thioredoxin_reductase_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 1868712 + }, + "FKEDNGPL_01791": { + "contig": "NZ_CP006659.2", + "end": 1885023, + "id": "161353606", + "name": "pyruvate_formate_lyase-activating_enzyme_1", + "product": "gi|161353606|ref|NP_459945.2|pyruvate_formate_lyase-activating_enzyme_1_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1884283 + }, + "FKEDNGPL_01793": { + "contig": "NZ_CP006659.2", + "end": 1888406, + "id": "16764334", + "name": "formate_transporter", + "product": "gi|16764334|ref|NP_459949.1|formate_transporter_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1887549 + }, + "FKEDNGPL_01833": { + "contig": "NZ_CP006659.2", + "end": 1937703, + "id": "16764417", + "name": "dihydroorotate_dehydrogenase_2", + "product": "gi|16764417|ref|NP_460032.1|dihydroorotate_dehydrogenase_2_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 1936693 + }, + "FKEDNGPL_02007": { + "contig": "NZ_CP006659.2", + "end": 2119989, + "id": "24112549", + "name": "DNA-binding_transcriptional_regulator_PhoP", + "product": "gi|24112549|ref|NP_707059.1|DNA-binding_transcriptional_regulator_PhoP_[Shigella_flexneri_2a_str._301]", + "start": 2119318 + }, + "FKEDNGPL_02109": { + "contig": "NZ_CP006659.2", + "end": 2219712, + "id": "16764663", + "name": "PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB", + "product": "gi|16764663|ref|NP_460278.1|PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 2219392 + }, + "FKEDNGPL_02395": { + "contig": "NZ_CP006659.2", + "end": 2504021, + "id": "16766107", + "name": "transporter", + "product": "gi|16766107|ref|NP_461722.1|transporter_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 2503863 + }, + "FKEDNGPL_02920": { + "contig": "NZ_CP006659.2", + "end": 3033360, + "id": "24113046", + "name": "superoxide_dismutase", + "product": "gi|24113046|ref|NP_707556.1|superoxide_dismutase_[Shigella_flexneri_2a_str._301]", + "start": 3032779 + }, + "FKEDNGPL_03060": { + "contig": "NZ_CP006659.2", + "end": 3173089, + "id": "218929485", + "name": "major_outer_membrane_lipoprotein", + "product": "gi|218929485|ref|YP_002347360.1|major_outer_membrane_lipoprotein_[Yersinia_pestis_CO92]", + "start": 3172853 + }, + "FKEDNGPL_03132": { + "contig": "NZ_CP006659.2", + "end": 3248764, + "id": "24112632", + "name": "UTP-glucose-1-phosphate_uridylyltransferase", + "product": "gi|24112632|ref|NP_707142.1|UTP-glucose-1-phosphate_uridylyltransferase_[Shigella_flexneri_2a_str._301]", + "start": 3247862 + }, + "FKEDNGPL_03173": { + "contig": "NZ_CP006659.2", + "end": 3296054, + "id": "117623421", + "name": "GTP-dependent_nucleic_acid-binding_protein_EngD", + "product": "gi|117623421|ref|YP_852334.1|GTP-dependent_nucleic_acid-binding_protein_EngD_[Escherichia_coli_APEC_O1]", + "start": 3294963 + }, + "FKEDNGPL_03251": { + "contig": "NZ_CP006659.2", + "end": 3379910, + "id": "16765159", + "name": "long-chain-fatty-acid--CoA_ligase", + "product": "gi|16765159|ref|NP_460774.1|long-chain-fatty-acid--CoA_ligase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 3378192 + }, + "FKEDNGPL_03269": { + "contig": "NZ_CP006659.2", + "end": 3398678, + "id": "15802236", + "name": "cold_shock-like_protein_CspC", + "product": "gi|15802236|ref|NP_288259.1|cold_shock-like_protein_CspC_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 3398469 + }, + "FKEDNGPL_03303": { + "contig": "NZ_CP006659.2", + "end": 3434751, + "id": "39546331", + "name": "zinc_ABC_transporter_ATP-binding_protein_ZnuC", + "product": "gi|39546331|ref|NP_460849.2|zinc_ABC_transporter_ATP-binding_protein_ZnuC_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 3433999 + }, + "FKEDNGPL_03304": { + "contig": "NZ_CP006659.2", + "end": 3435536, + "id": "16765235", + "name": "zinc_ABC_transporter_permease_ZnuB", + "product": "gi|16765235|ref|NP_460850.1|zinc_ABC_transporter_permease_ZnuB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 3434751 + }, + "FKEDNGPL_03342": { + "contig": "NZ_CP006659.2", + "end": 3471454, + "id": "16765285", + "name": "LuxR/UhpA_family_response_regulator", + "product": "gi|16765285|ref|NP_460900.1|LuxR/UhpA_family_response_regulator_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 3470798 + }, + "FKEDNGPL_03445": { + "contig": "NZ_CP006659.2", + "end": 3579164, + "id": "16765428", + "name": "UTP--glucose-1-phosphate_uridylyltransferase_subunit_GalF", + "product": "gi|16765428|ref|NP_461043.1|UTP--glucose-1-phosphate_uridylyltransferase_subunit_GalF_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 3578316 + }, + "FKEDNGPL_03499": { + "contig": "NZ_CP006659.2", + "end": 3636422, + "id": "16765465", + "name": "protease", + "product": "gi|16765465|ref|NP_461080.1|protease_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 3635061 + }, + "FKEDNGPL_03686": { + "contig": "NZ_CP006659.2", + "end": 3850710, + "id": "16761308", + "name": "chorismate_synthase", + "product": "gi|16761308|ref|NP_456925.1|chorismate_synthase_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", + "start": 3849625 + }, + "FKEDNGPL_03792": { + "contig": "NZ_CP006659.2", + "end": 3959792, + "id": "16765821", + "name": "polyphosphate_kinase", + "product": "gi|16765821|ref|NP_461436.1|polyphosphate_kinase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 3957732 + }, + "FKEDNGPL_03853": { + "contig": "NZ_CP006659.2", + "end": 4011931, + "id": "24113836", + "name": "GMP_synthase", + "product": "gi|24113836|ref|NP_708346.1|GMP_synthase_[Shigella_flexneri_2a_str._301]", + "start": 4010354 + }, + "FKEDNGPL_03854": { + "contig": "NZ_CP006659.2", + "end": 4013465, + "id": "56480121", + "name": "inosine_5'-monophosphate_dehydrogenase", + "product": "gi|56480121|ref|NP_708347.2|inosine_5'-monophosphate_dehydrogenase_[Shigella_flexneri_2a_str._301]", + "start": 4011999 + }, + "FKEDNGPL_03903": { + "contig": "NZ_CP006659.2", + "end": 4073409, + "id": "16765896", + "name": "ferredoxin", + "product": "gi|16765896|ref|NP_461511.1|ferredoxin_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 4073149 + }, + "FKEDNGPL_03932": { + "contig": "NZ_CP006659.2", + "end": 4105356, + "id": "16765976", + "name": "chaperone_protein_ClpB", + "product": "gi|16765976|ref|NP_461591.1|chaperone_protein_ClpB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 4102783 + }, + "FKEDNGPL_04406": { + "contig": "NZ_CP006659.2", + "end": 4580961, + "id": "15803477", + "name": "arginine_decarboxylase", + "product": "gi|15803477|ref|NP_289510.1|arginine_decarboxylase_[Escherichia_coli_O157:H7_str._EDL933]", + "start": 4578985 + }, + "FKEDNGPL_04717": { + "contig": "NZ_CP006659.2", + "end": 4884708, + "id": "16766637", + "name": "stringent_starvation_protein_A", + "product": "gi|16766637|ref|NP_462252.1|stringent_starvation_protein_A_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 4884070 + }, + "FKEDNGPL_04846": { + "contig": "NZ_CP006659.2", + "end": 4989716, + "id": "16766754", + "name": "cAMP-activated_global_transcriptional_regulator", + "product": "gi|16766754|ref|NP_462369.1|cAMP-activated_global_transcriptional_regulator_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 4989084 + }, + "FKEDNGPL_04877": { + "contig": "NZ_CP006659.2", + "end": 5023818, + "id": "16766789", + "name": "osmolarity_sensor_protein_EnvZ", + "product": "gi|16766789|ref|NP_462404.1|osmolarity_sensor_protein_EnvZ_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 5022463 + }, + "FKEDNGPL_04878": { + "contig": "NZ_CP006659.2", + "end": 5024534, + "id": "56480330", + "name": "osmolarity_response_regulator", + "product": "gi|56480330|ref|NP_709178.2|osmolarity_response_regulator_[Shigella_flexneri_2a_str._301]", + "start": 5023815 + }, + "FKEDNGPL_05003": { + "contig": "NZ_CP006659.2", + "end": 5176986, + "id": "117625828", + "name": "dipeptide_transporter_protein_DppA", + "product": "gi|117625828|ref|YP_859151.1|dipeptide_transporter_protein_DppA_[Escherichia_coli_APEC_O1]", + "start": 5175379 + }, + "FKEDNGPL_05102": { + "contig": "NZ_CP006659.2", + "end": 5282416, + "id": "22124023", + "name": "bifunctional_(p)ppGpp_synthetase_II/_guanosine-3',5'-bis_pyrophosphate_3'-pyrophosphohydrolase", + "product": "gi|22124023|ref|NP_667446.1|bifunctional_(p)ppGpp_synthetase_II/_guanosine-3',5'-bis_pyrophosphate_3'-pyrophosphohydrolase_[Yersinia_pestis_KIM10+]", + "start": 5280296 + }, + "FKEDNGPL_05198": { + "contig": "NZ_CP006659.2", + "end": 5381601, + "id": "228960701", + "name": "heat_shock_protein_IbpA", + "product": "gi|228960701|ref|NP_462709.3|heat_shock_protein_IbpA_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", + "start": 5381188 + }, + "total": 53 + } + } + } +} \ No newline at end of file diff --git a/falmeida_py/bacannot2json.py b/falmeida_py/bacannot2json.py index 532323b..b4a8b75 100644 --- a/falmeida_py/bacannot2json.py +++ b/falmeida_py/bacannot2json.py @@ -37,6 +37,7 @@ from .plasmid_function import * from .virulence_function import * from .resistance_function import * +from .mges_function import * ############################## ### fix keys in dictionary ### @@ -103,6 +104,9 @@ def bacannot2json(indir, outfile, check): # check virulence annotation stats virulence_stats( bacannot_summary ) + # check MGEs annotation stats + mges_stats( bacannot_summary ) + # check plasmids annotation stats plasmids_stats( bacannot_summary ) diff --git a/falmeida_py/mges_function.py b/falmeida_py/mges_function.py new file mode 100644 index 0000000..29d1c46 --- /dev/null +++ b/falmeida_py/mges_function.py @@ -0,0 +1,59 @@ +################################## +### Loading Necessary Packages ### +################################## +import pandas as pd +import os + +#################################### +### check MGEs annotations stats ### +#################################### +def mges_stats(bacannot_summary): + + # iterate over available samples + for sample in bacannot_summary: + + # load dir of samples' results + results_dir = bacannot_summary[sample]['results_dir'] + + # init MGE annotation dictionary + bacannot_summary[sample]['MGE'] = {} + + # load annotation stats + if os.path.exists(f"{results_dir}/integron_finder"): + + # integron_finder + if os.path.exists(f"{results_dir}/integron_finder/{sample}_integrons.gff"): + + # init integron_finder annotation dictionary + bacannot_summary[sample]['MGE']['integron_finder'] = {} + + # load integron_finder results + results = pd.read_csv( + f"{results_dir}/integron_finder/{sample}_integrons.gff", + sep='\t', + header=None, + names=[ + 'chr', 'source', 'type', 'start', 'end', 'score', 'strand', 'frame', 'atts' + ] + ) + + # number of integron_finder annotations + total_number = len(results.index) + bacannot_summary[sample]['MGE']['integron_finder']['total'] = total_number + + # per integron info + bacannot_summary[sample]['MGE']['integron_finder'] = {} + if int(results.shape[0]) > 0: + for seq in [ str(x) for x in results['chr'].unique() ]: + + bacannot_summary[sample]['MGE']['integron_finder'][seq] = {} + for index, row in results[results['chr'] == seq].reset_index().iterrows(): + id = row['atts'].split(';')[0].split('=')[-1] + bacannot_summary[sample]['MGE']['integron_finder'][seq][id] = {} + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['id'] = id + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['contig'] = row['chr'] + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['start'] = row['start'] + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['end'] = row['end'] + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['type'] = row['atts'].split(';')[1].split('=')[-1] + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['source'] = row['source'] + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['product'] = row['type'] \ No newline at end of file diff --git a/falmeida_py/plasmid_function.py b/falmeida_py/plasmid_function.py index 741549f..86e00a8 100644 --- a/falmeida_py/plasmid_function.py +++ b/falmeida_py/plasmid_function.py @@ -2,11 +2,7 @@ ### Loading Necessary Packages ### ################################## import pandas as pd -from .utils import find_files -import json import os -import yaml -from pathlib import Path ######################################## ### check plasmids annotations stats ### From 618cd3ec87e5866b28b29bdd3e335916b3a9889d Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 27 Feb 2023 18:47:49 +0100 Subject: [PATCH 105/130] update package --- docs/align2subsetgbk_help.txt | 50 +++++------------------------------ docs/help_message.txt | 31 +++++----------------- docs/splitgbk_help.txt | 44 +++++------------------------- docs/tsv2markdown_help.txt | 46 +++++--------------------------- 4 files changed, 24 insertions(+), 147 deletions(-) diff --git a/docs/align2subsetgbk_help.txt b/docs/align2subsetgbk_help.txt index 769c2b2..087e990 100644 --- a/docs/align2subsetgbk_help.txt +++ b/docs/align2subsetgbk_help.txt @@ -1,44 +1,6 @@ -A script meant to subset a genbank annotation file based on alignments against a query (Nucleotide) FASTA file - ---- -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -Usage: - falmeida-py align2subsetgbk [ -h|--help ] - falmeida-py align2subsetgbk [ --gbk --fasta --out --minid --mincov --culling_limit --extension ] - -Options: - -h --help Show this screen. - -g --gbk= Gbk file for subset - -f --fasta= FASTA (nucl) file for querying the gbk - -o --out= Gbk filtered output file [Default: out.gbk]. - --extension= Base pair length to extend the flank regions in the alignment [Default: 0]. - --minid= Min. Identity percentage for gene annotation [Default: 80]. - --mincov= Min. Covereage for gene annotation [Default: 80]. - --culling_limit= Blast culling_limit for best hit only [Default: 1]. -falmeida-py: a package to the simple distribution of my custom scripts. - -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] - falmeida-py [ -h|--help ] [ ... ] - -options: - -h --help Show this screen - -v --version Show version information - --license Show LEGAL LICENSE information - -commands: - tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. - splitgbk Command to split multisequence genbank files into individual files. - align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. - gbk2fasta Command to convert genbank files to fasta files. - blasts Command to execute automatized blast commands. - replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file - mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file - bacannot2json Command to summarize main bacannot annotation results into JSON file - -Use: `falmeida-py -h` to get more help and see examples. +Traceback (most recent call last): + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in + from falmeida_py.__main__ import main + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in + from docopt import docopt +ModuleNotFoundError: No module named 'docopt' diff --git a/docs/help_message.txt b/docs/help_message.txt index 6ed5318..087e990 100644 --- a/docs/help_message.txt +++ b/docs/help_message.txt @@ -1,25 +1,6 @@ -falmeida-py: a package to the simple distribution of my custom scripts. - -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] - falmeida-py [ -h|--help ] [ ... ] - -options: - -h --help Show this screen - -v --version Show version information - --license Show LEGAL LICENSE information - -commands: - tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. - splitgbk Command to split multisequence genbank files into individual files. - align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. - gbk2fasta Command to convert genbank files to fasta files. - blasts Command to execute automatized blast commands. - replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file - mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file - bacannot2json Command to summarize main bacannot annotation results into JSON file - -Use: `falmeida-py -h` to get more help and see examples. +Traceback (most recent call last): + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in + from falmeida_py.__main__ import main + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in + from docopt import docopt +ModuleNotFoundError: No module named 'docopt' diff --git a/docs/splitgbk_help.txt b/docs/splitgbk_help.txt index f139033..087e990 100644 --- a/docs/splitgbk_help.txt +++ b/docs/splitgbk_help.txt @@ -1,38 +1,6 @@ -A very simple script to split multisequence genbank files into separate files -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - falmeida-py splitgbk - falmeida-py splitgbk [ -h|--help ] - falmeida-py splitgbk [ --gbk ] [ --outdir ] - -options: - -h --help Show this screen. - -g --gbk= Input genbank file to split into multiple individual files. - -o --outdir= Directory (must already exist) in which to write the splitted files [Default: ./]. -falmeida-py: a package to the simple distribution of my custom scripts. - -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] - falmeida-py [ -h|--help ] [ ... ] - -options: - -h --help Show this screen - -v --version Show version information - --license Show LEGAL LICENSE information - -commands: - tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. - splitgbk Command to split multisequence genbank files into individual files. - align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. - gbk2fasta Command to convert genbank files to fasta files. - blasts Command to execute automatized blast commands. - replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file - mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file - bacannot2json Command to summarize main bacannot annotation results into JSON file - -Use: `falmeida-py -h` to get more help and see examples. +Traceback (most recent call last): + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in + from falmeida_py.__main__ import main + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in + from docopt import docopt +ModuleNotFoundError: No module named 'docopt' diff --git a/docs/tsv2markdown_help.txt b/docs/tsv2markdown_help.txt index 0b2b685..087e990 100644 --- a/docs/tsv2markdown_help.txt +++ b/docs/tsv2markdown_help.txt @@ -1,40 +1,6 @@ -A simple script to convert tsv (or csv) files to markdown tables using tabulate! -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - falmeida-py tsv2markdown - falmeida-py tsv2markdown [ -h|--help ] - falmeida-py tsv2markdown [ --tsv --csv --header ] - -options: - -h --help Show this screen. - --tsv= Input tsv file to print as markdown table - --csv= Input csv file to print as markdown table - --header= If file does not have a header, set a - custom header. E.g. --header "Planet,R (km),mass (x 10^29 kg)". -falmeida-py: a package to the simple distribution of my custom scripts. - -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] - falmeida-py [ -h|--help ] [ ... ] - -options: - -h --help Show this screen - -v --version Show version information - --license Show LEGAL LICENSE information - -commands: - tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. - splitgbk Command to split multisequence genbank files into individual files. - align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. - gbk2fasta Command to convert genbank files to fasta files. - blasts Command to execute automatized blast commands. - replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file - mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file - bacannot2json Command to summarize main bacannot annotation results into JSON file - -Use: `falmeida-py -h` to get more help and see examples. +Traceback (most recent call last): + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in + from falmeida_py.__main__ import main + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in + from docopt import docopt +ModuleNotFoundError: No module named 'docopt' From 86d754757d7f3a1cf08306f9a50ecd5edb3bff51 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 27 Feb 2023 19:36:39 +0100 Subject: [PATCH 106/130] update python package --- conda.recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index b16d576..4bbd0bc 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -14,7 +14,7 @@ build: requirements: build: - - python >=3.7,{{PY_VER}}* + - python >=3.10,{{PY_VER}}* - setuptools - setuptools-git - pandas From 9931b4201b7c3e87fef07fcb75c41cebcb2c9c33 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Tue, 28 Feb 2023 11:24:52 +0100 Subject: [PATCH 107/130] fix indentation --- falmeida_py/mges_function.py | 75 +++++++++++++++++------------------- 1 file changed, 36 insertions(+), 39 deletions(-) diff --git a/falmeida_py/mges_function.py b/falmeida_py/mges_function.py index 29d1c46..035355c 100644 --- a/falmeida_py/mges_function.py +++ b/falmeida_py/mges_function.py @@ -17,43 +17,40 @@ def mges_stats(bacannot_summary): # init MGE annotation dictionary bacannot_summary[sample]['MGE'] = {} - - # load annotation stats - if os.path.exists(f"{results_dir}/integron_finder"): - # integron_finder - if os.path.exists(f"{results_dir}/integron_finder/{sample}_integrons.gff"): - - # init integron_finder annotation dictionary - bacannot_summary[sample]['MGE']['integron_finder'] = {} - - # load integron_finder results - results = pd.read_csv( - f"{results_dir}/integron_finder/{sample}_integrons.gff", - sep='\t', - header=None, - names=[ - 'chr', 'source', 'type', 'start', 'end', 'score', 'strand', 'frame', 'atts' - ] - ) - - # number of integron_finder annotations - total_number = len(results.index) - bacannot_summary[sample]['MGE']['integron_finder']['total'] = total_number - - # per integron info - bacannot_summary[sample]['MGE']['integron_finder'] = {} - if int(results.shape[0]) > 0: - for seq in [ str(x) for x in results['chr'].unique() ]: - - bacannot_summary[sample]['MGE']['integron_finder'][seq] = {} - for index, row in results[results['chr'] == seq].reset_index().iterrows(): - id = row['atts'].split(';')[0].split('=')[-1] - bacannot_summary[sample]['MGE']['integron_finder'][seq][id] = {} - bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['id'] = id - bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['contig'] = row['chr'] - bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['start'] = row['start'] - bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['end'] = row['end'] - bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['type'] = row['atts'].split(';')[1].split('=')[-1] - bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['source'] = row['source'] - bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['product'] = row['type'] \ No newline at end of file + # integron_finder + if os.path.exists(f"{results_dir}/integron_finder/{sample}_integrons.gff"): + + # init integron_finder annotation dictionary + bacannot_summary[sample]['MGE']['integron_finder'] = {} + + # load integron_finder results + results = pd.read_csv( + f"{results_dir}/integron_finder/{sample}_integrons.gff", + sep='\t', + header=None, + names=[ + 'chr', 'source', 'type', 'start', 'end', 'score', 'strand', 'frame', 'atts' + ] + ) + + # number of integron_finder annotations + total_number = len(results.index) + bacannot_summary[sample]['MGE']['integron_finder']['total'] = total_number + + # per integron info + bacannot_summary[sample]['MGE']['integron_finder'] = {} + if int(results.shape[0]) > 0: + for seq in [ str(x) for x in results['chr'].unique() ]: + + bacannot_summary[sample]['MGE']['integron_finder'][seq] = {} + for index, row in results[results['chr'] == seq].reset_index().iterrows(): + id = row['atts'].split(';')[0].split('=')[-1] + bacannot_summary[sample]['MGE']['integron_finder'][seq][id] = {} + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['id'] = id + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['contig'] = row['chr'] + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['start'] = row['start'] + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['end'] = row['end'] + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['type'] = row['atts'].split(';')[1].split('=')[-1] + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['source'] = row['source'] + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['product'] = row['type'] \ No newline at end of file From 713dd3f5eda6349e4268ace752b794c646130ee5 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sun, 26 Mar 2023 10:21:44 +0200 Subject: [PATCH 108/130] include mob_suite results parsing to summary --- bacannot_summary.json | 11492 ------------------------------ conda.recipe/meta.yaml | 2 +- falmeida_py/plasmid_function.py | 171 +- falmeida_py/version.py | 2 +- 4 files changed, 110 insertions(+), 11557 deletions(-) delete mode 100644 bacannot_summary.json diff --git a/bacannot_summary.json b/bacannot_summary.json deleted file mode 100644 index 43bc050..0000000 --- a/bacannot_summary.json +++ /dev/null @@ -1,11492 +0,0 @@ -{ - "ecoli_1": { - "MGE": {}, - "general_annotation": { - "cds": 4681, - "closest_reference": { - "accession": "NZ_JTDT", - "distance": 0.00274861, - "strain": "Escherichia coli" - }, - "mlst": "73", - "rrna": 4, - "tmrna": 1, - "trna": 70 - }, - "plasmid": { - "plasmidfinder": {}, - "platon": { - "84": { - "AMRs": 0, - "Circular": "no", - "Conjugation": 0, - "Length": 10558, - "Mobilization": 0, - "ORFs": 5, - "Replication": 0 - } - } - }, - "resistance": { - "amrfinderplus": { - "GOMEMAFE_00009": { - "card_aro": 3000502, - "contig": 1, - "end": 8462, - "gene": "acrF", - "identity": 99.42, - "start": 5358, - "subclass": "EFFLUX", - "type": "AMR" - }, - "GOMEMAFE_00892": { - "card_aro": null, - "contig": 6, - "end": 72884, - "gene": "fieF", - "identity": 99.67, - "start": 71982, - "subclass": null, - "type": "STRESS" - }, - "GOMEMAFE_01968": { - "card_aro": null, - "contig": 17, - "end": 8615, - "gene": "ymgB", - "identity": 97.73, - "start": 8349, - "subclass": null, - "type": "STRESS" - }, - "GOMEMAFE_02188": { - "card_aro": null, - "contig": 20, - "end": 8779, - "gene": "asr", - "identity": 98.04, - "start": 8471, - "subclass": null, - "type": "STRESS" - }, - "GOMEMAFE_02315": { - "card_aro": null, - "contig": 21, - "end": 64895, - "gene": "emrD", - "identity": 99.49, - "start": 63711, - "subclass": "EFFLUX", - "type": "AMR" - }, - "GOMEMAFE_02346": { - "card_aro": 3004039, - "contig": 22, - "end": 15190, - "gene": "emrE", - "identity": 98.18, - "start": 14858, - "subclass": "EFFLUX", - "type": "STRESS" - }, - "GOMEMAFE_02841": { - "card_aro": 3006880, - "contig": 28, - "end": 57085, - "gene": "blaEC-5", - "identity": 100.0, - "start": 55952, - "subclass": "CEPHALOSPORIN", - "type": "AMR" - }, - "GOMEMAFE_03475": { - "card_aro": null, - "contig": 40, - "end": 27348, - "gene": "arsC", - "identity": 93.62, - "start": 26923, - "subclass": "ARSENATE", - "type": "STRESS" - }, - "total": 8 - }, - "resfinder": { - "total": 0 - }, - "rgi": { - "GOMEMAFE_00009": { - "accession": 1437, - "card_aro": 3000502, - "contig": 1, - "cut_off": "Strict", - "end": 8462, - "gene": "AcrF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.42, - "name": "Multidrug export protein AcrF", - "resistance_mechanism": "antibiotic efflux", - "start": 5358, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "GOMEMAFE_00010": { - "accession": 1445, - "card_aro": 3000499, - "contig": 1, - "cut_off": "Strict", - "end": 9631, - "gene": "AcrE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.48, - "name": "Multidrug export protein AcrE", - "resistance_mechanism": "antibiotic efflux", - "start": 8474, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "GOMEMAFE_00011": { - "accession": 520, - "card_aro": 3000656, - "contig": 1, - "cut_off": "Strict", - "end": 10692, - "gene": "AcrS", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.18, - "name": "HTH-type transcriptional regulator AcrR", - "resistance_mechanism": "antibiotic efflux", - "start": 10030, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "GOMEMAFE_00231": { - "accession": 1427, - "card_aro": 3000491, - "contig": 2, - "cut_off": "Strict", - "end": 47007, - "gene": "acrD", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.71, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 43894, - "subclass": "aminoglycoside antibiotic" - }, - "GOMEMAFE_00318": { - "accession": 1318, - "card_aro": 3000833, - "contig": 2, - "cut_off": "Strict", - "end": 138605, - "gene": "evgS", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.66, - "name": "Sensor protein EvgS", - "resistance_mechanism": "antibiotic efflux", - "start": 135012, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" - }, - "GOMEMAFE_00319": { - "accession": 1015, - "card_aro": 3000832, - "contig": 2, - "cut_off": "Perfect", - "end": 139224, - "gene": "evgA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "DNA-binding transcriptional activator EvgA", - "resistance_mechanism": "antibiotic efflux", - "start": 138610, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" - }, - "GOMEMAFE_00320": { - "accession": 609, - "card_aro": 3000206, - "contig": 2, - "cut_off": "Strict", - "end": 140803, - "gene": "emrK", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 98.86, - "name": "putative multidrug resistance protein EmrK", - "resistance_mechanism": "antibiotic efflux", - "start": 139640, - "subclass": "tetracycline antibiotic" - }, - "GOMEMAFE_00321": { - "accession": 540, - "card_aro": 3000254, - "contig": 2, - "cut_off": "Strict", - "end": 142341, - "gene": "emrY", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 99.8, - "name": "putative multidrug resistance protein EmrY", - "resistance_mechanism": "antibiotic efflux", - "start": 140803, - "subclass": "tetracycline antibiotic" - }, - "GOMEMAFE_00431": { - "accession": 1330, - "card_aro": 3000516, - "contig": 3, - "cut_off": "Perfect", - "end": 51266, - "gene": "emrR", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "Transcriptional repressor MprA", - "resistance_mechanism": "antibiotic efflux", - "start": 50736, - "subclass": "fluoroquinolone antibiotic" - }, - "GOMEMAFE_00432": { - "accession": 1757, - "card_aro": 3000027, - "contig": 3, - "cut_off": "Strict", - "end": 52565, - "gene": "emrA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 99.74, - "name": "Multidrug export protein EmrA", - "resistance_mechanism": "antibiotic efflux", - "start": 51393, - "subclass": "fluoroquinolone antibiotic" - }, - "GOMEMAFE_00433": { - "accession": 1847, - "card_aro": 3000074, - "contig": 3, - "cut_off": "Strict", - "end": 54120, - "gene": "emrB", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 99.8, - "name": "Multidrug export protein EmrB", - "resistance_mechanism": "antibiotic efflux", - "start": 52582, - "subclass": "fluoroquinolone antibiotic" - }, - "GOMEMAFE_00739": { - "accession": 2424, - "card_aro": 3003952, - "contig": 5, - "cut_off": "Strict", - "end": 24184, - "gene": "YojI", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", - "identity": 99.63, - "name": "ABC transporter ATP-binding/permease protein YojI", - "resistance_mechanism": "antibiotic efflux", - "start": 22541, - "subclass": "peptide antibiotic" - }, - "GOMEMAFE_00766": { - "accession": 2372, - "card_aro": 3003889, - "contig": 5, - "cut_off": "Strict", - "end": 66818, - "gene": "Escherichia coli GlpT with mutation conferring resistance to fosfomycin", - "gene_family": "antibiotic-resistant GlpT", - "identity": 99.52, - "name": "Glycerol-3-phosphate transporter", - "resistance_mechanism": "antibiotic target alteration", - "start": 66195, - "subclass": "phosphonic acid antibiotic" - }, - "GOMEMAFE_00781": { - "accession": 2014, - "card_aro": 3003578, - "contig": 5, - "cut_off": "Strict", - "end": 83047, - "gene": "PmrF", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 99.38, - "name": "Undecaprenyl-phosphate 4-deoxy-4-formamido-L-arabinose transferase", - "resistance_mechanism": "antibiotic target alteration", - "start": 82079, - "subclass": "peptide antibiotic" - }, - "GOMEMAFE_00895": { - "accession": 152, - "card_aro": 3000830, - "contig": 6, - "cut_off": "Perfect", - "end": 75751, - "gene": "cpxA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Sensor histidine kinase CpxA", - "resistance_mechanism": "antibiotic efflux", - "start": 74378, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "GOMEMAFE_01051": { - "accession": 826, - "card_aro": 3000237, - "contig": 7, - "cut_off": "Strict", - "end": 107908, - "gene": "TolC", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.59, - "name": "Outer membrane protein TolC", - "resistance_mechanism": "antibiotic efflux", - "start": 106427, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; aminoglycoside antibiotic; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; peptide antibiotic; aminocoumarin antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" - }, - "GOMEMAFE_01431": { - "accession": 2423, - "card_aro": 3003950, - "contig": 11, - "cut_off": "Strict", - "end": 51647, - "gene": "msbA", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", - "identity": 99.66, - "name": "Lipid A export ATP-binding/permease protein MsbA", - "resistance_mechanism": "antibiotic efflux", - "start": 49899, - "subclass": "nitroimidazole antibiotic" - }, - "GOMEMAFE_01545": { - "accession": 37, - "card_aro": 3001328, - "contig": 12, - "cut_off": "Strict", - "end": 57024, - "gene": "Escherichia coli mdfA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 97.07, - "name": "Multidrug transporter MdfA", - "resistance_mechanism": "antibiotic efflux", - "start": 55792, - "subclass": "tetracycline antibiotic; disinfecting agents and antiseptics" - }, - "GOMEMAFE_01662": { - "accession": 2066, - "card_aro": 3003511, - "contig": 13, - "cut_off": "Strict", - "end": 85591, - "gene": "Escherichia coli soxS with mutation conferring antibiotic resistance", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", - "identity": 100.0, - "name": "Regulatory protein SoxS", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux; reduced permeability to antibiotic", - "start": 85268, - "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" - }, - "GOMEMAFE_01663": { - "accession": 1005, - "card_aro": 3003381, - "contig": 13, - "cut_off": "Strict", - "end": 86141, - "gene": "Escherichia coli soxR with mutation conferring antibiotic resistance", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.35, - "name": "Redox-sensitive transcriptional activator SoxR", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", - "start": 85677, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "GOMEMAFE_01771": { - "accession": 2331, - "card_aro": 3003841, - "contig": 14, - "cut_off": "Strict", - "end": 92341, - "gene": "kdpE", - "gene_family": "kdpDE", - "identity": 99.55, - "name": "KDP operon transcriptional regulatory protein KdpE", - "resistance_mechanism": "antibiotic efflux", - "start": 91664, - "subclass": "aminoglycoside antibiotic" - }, - "GOMEMAFE_01889": { - "accession": 869, - "card_aro": 3000518, - "contig": 16, - "cut_off": "Strict", - "end": 15657, - "gene": "CRP", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.52, - "name": "cAMP-activated global transcriptional regulator CRP", - "resistance_mechanism": "antibiotic efflux", - "start": 15025, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "GOMEMAFE_02050": { - "accession": 1248, - "card_aro": 3000676, - "contig": 17, - "cut_off": "Perfect", - "end": 90083, - "gene": "H-NS", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "DNA-binding protein H-NS", - "resistance_mechanism": "antibiotic efflux", - "start": 89670, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; cephalosporin; cephamycin; penam; tetracycline antibiotic" - }, - "GOMEMAFE_02223": { - "accession": 1922, - "card_aro": 3000263, - "contig": 20, - "cut_off": "Strict", - "end": 45371, - "gene": "marA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", - "identity": 99.21, - "name": "Multiple antibiotic resistance protein MarA", - "resistance_mechanism": "antibiotic efflux; reduced permeability to antibiotic", - "start": 44988, - "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" - }, - "GOMEMAFE_02224": { - "accession": 431, - "card_aro": 3003378, - "contig": 20, - "cut_off": "Strict", - "end": 45826, - "gene": "Escherichia coli AcrAB-TolC with MarR mutations conferring resistance to ciprofloxacin and tetracycline", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.61, - "name": "Multiple antibiotic resistance protein MarR", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", - "start": 45392, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "GOMEMAFE_02346": { - "accession": 2656, - "card_aro": 3004039, - "contig": 22, - "cut_off": "Strict", - "end": 15190, - "gene": "Escherichia coli emrE", - "gene_family": "small multidrug resistance (SMR) antibiotic efflux pump", - "identity": 98.18, - "name": "Multidrug transporter EmrE", - "resistance_mechanism": "antibiotic efflux", - "start": 14858, - "subclass": "macrolide antibiotic" - }, - "GOMEMAFE_02841": { - "accession": 4594, - "card_aro": 3006880, - "contig": 28, - "cut_off": "Perfect", - "end": 57085, - "gene": "EC-5", - "gene_family": "EC beta-lactamase", - "identity": 100.0, - "name": "Beta-lactamase", - "resistance_mechanism": "antibiotic inactivation", - "start": 55952, - "subclass": "cephalosporin" - }, - "GOMEMAFE_02905": { - "accession": 375, - "card_aro": 3001216, - "contig": 29, - "cut_off": "Perfect", - "end": 44078, - "gene": "mdtH", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "Multidrug resistance protein MdtH", - "resistance_mechanism": "antibiotic efflux", - "start": 42870, - "subclass": "fluoroquinolone antibiotic" - }, - "GOMEMAFE_02917": { - "accession": 603, - "card_aro": 3001329, - "contig": 29, - "cut_off": "Strict", - "end": 53933, - "gene": "mdtG", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 99.51, - "name": "Staphyloferrin B transporter", - "resistance_mechanism": "antibiotic efflux", - "start": 52707, - "subclass": "phosphonic acid antibiotic" - }, - "GOMEMAFE_02947": { - "accession": 1104, - "card_aro": 3000216, - "contig": 30, - "cut_off": "Strict", - "end": 9810, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.9, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 6661, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "GOMEMAFE_02948": { - "accession": 2661, - "card_aro": 3004043, - "contig": 30, - "cut_off": "Strict", - "end": 11026, - "gene": "Escherichia coli acrA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.75, - "name": "Multidrug efflux pump subunit AcrA", - "resistance_mechanism": "antibiotic efflux", - "start": 9833, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "GOMEMAFE_02949": { - "accession": 2306, - "card_aro": 3003807, - "contig": 30, - "cut_off": "Strict", - "end": 11815, - "gene": "Escherichia coli AcrAB-TolC with AcrR mutation conferring resistance to ciprofloxacin, tetracycline, and ceftazidime", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "HTH-type transcriptional regulator AcrR", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", - "start": 11168, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "GOMEMAFE_03373": { - "accession": 1337, - "card_aro": 3000828, - "contig": 38, - "cut_off": "Perfect", - "end": 16499, - "gene": "baeR", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Transcriptional regulatory protein BaeR", - "resistance_mechanism": "antibiotic efflux", - "start": 15777, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "GOMEMAFE_03374": { - "accession": 986, - "card_aro": 3000829, - "contig": 38, - "cut_off": "Strict", - "end": 17899, - "gene": "baeS", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.15, - "name": "Signal transduction histidine-protein kinase BaeS", - "resistance_mechanism": "antibiotic efflux", - "start": 16496, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "GOMEMAFE_03376": { - "accession": 1315, - "card_aro": 3000794, - "contig": 38, - "cut_off": "Strict", - "end": 22389, - "gene": "mdtC", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.83, - "name": "Multidrug resistance protein MdtC", - "resistance_mechanism": "antibiotic efflux", - "start": 19312, - "subclass": "aminocoumarin antibiotic" - }, - "GOMEMAFE_03377": { - "accession": 820, - "card_aro": 3000793, - "contig": 38, - "cut_off": "Strict", - "end": 25512, - "gene": "mdtB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.9, - "name": "Multidrug resistance protein MdtB", - "resistance_mechanism": "antibiotic efflux", - "start": 22390, - "subclass": "aminocoumarin antibiotic" - }, - "GOMEMAFE_03378": { - "accession": 387, - "card_aro": 3000792, - "contig": 38, - "cut_off": "Strict", - "end": 26759, - "gene": "mdtA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.8, - "name": "Multidrug resistance protein MdtA", - "resistance_mechanism": "antibiotic efflux", - "start": 25512, - "subclass": "aminocoumarin antibiotic" - }, - "GOMEMAFE_03493": { - "accession": 1903, - "card_aro": 3000795, - "contig": 40, - "cut_off": "Strict", - "end": 43976, - "gene": "mdtE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.74, - "name": "Multidrug resistance protein MdtE", - "resistance_mechanism": "antibiotic efflux", - "start": 42819, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "GOMEMAFE_03494": { - "accession": 121, - "card_aro": 3000796, - "contig": 40, - "cut_off": "Strict", - "end": 47114, - "gene": "mdtF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.52, - "name": "Multidrug resistance protein MdtF", - "resistance_mechanism": "antibiotic efflux", - "start": 44001, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "GOMEMAFE_03496": { - "accession": 2324, - "card_aro": 3003838, - "contig": 40, - "cut_off": "Perfect", - "end": 48205, - "gene": "gadW", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "HTH-type transcriptional regulator GadW", - "resistance_mechanism": "antibiotic efflux", - "start": 47477, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "GOMEMAFE_03497": { - "accession": 91, - "card_aro": 3000508, - "contig": 40, - "cut_off": "Strict", - "end": 49398, - "gene": "gadX", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 93.07, - "name": "HTH-type transcriptional regulator GadX", - "resistance_mechanism": "antibiotic efflux", - "start": 48574, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "GOMEMAFE_03549": { - "accession": 516, - "card_aro": 3003576, - "contig": 42, - "cut_off": "Strict", - "end": 17143, - "gene": "eptA", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 96.16, - "name": "Phosphoethanolamine transferase EptA", - "resistance_mechanism": "antibiotic target alteration", - "start": 15500, - "subclass": "peptide antibiotic" - }, - "GOMEMAFE_03590": { - "accession": 842, - "card_aro": 3003577, - "contig": 43, - "cut_off": "Strict", - "end": 20341, - "gene": "ugd", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 99.23, - "name": "UDP-glucose 6-dehydrogenase", - "resistance_mechanism": "antibiotic target alteration", - "start": 19175, - "subclass": "peptide antibiotic" - }, - "GOMEMAFE_03863": { - "accession": 5921, - "card_aro": 3003843, - "contig": 51, - "cut_off": "Perfect", - "end": 6554, - "gene": "leuO", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "HTH-type transcriptional regulator LeuO", - "resistance_mechanism": "antibiotic efflux", - "start": 5610, - "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" - }, - "GOMEMAFE_04197": { - "accession": 45, - "card_aro": 3003550, - "contig": 63, - "cut_off": "Strict", - "end": 10205, - "gene": "mdtP", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 97.75, - "name": "Cation efflux system protein CusC", - "resistance_mechanism": "antibiotic efflux", - "start": 8739, - "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" - }, - "GOMEMAFE_04198": { - "accession": 2056, - "card_aro": 3003549, - "contig": 63, - "cut_off": "Strict", - "end": 12253, - "gene": "mdtO", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 97.36, - "name": "Multidrug resistance protein MdtO", - "resistance_mechanism": "antibiotic efflux", - "start": 10202, - "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" - }, - "GOMEMAFE_04199": { - "accession": 1442, - "card_aro": 3003548, - "contig": 63, - "cut_off": "Strict", - "end": 13284, - "gene": "mdtN", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 99.13, - "name": "Multidrug resistance protein MdtN", - "resistance_mechanism": "antibiotic efflux", - "start": 12253, - "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" - }, - "GOMEMAFE_04444": { - "accession": 1820, - "card_aro": 3002986, - "contig": 78, - "cut_off": "Strict", - "end": 4543, - "gene": "bacA", - "gene_family": "undecaprenyl pyrophosphate related proteins", - "identity": 99.63, - "name": "Undecaprenyl-diphosphatase", - "resistance_mechanism": "antibiotic target alteration", - "start": 3722, - "subclass": "peptide antibiotic" - }, - "total": 48 - } - }, - "results_dir": "/home/falmeida/Documents/GitHub/pythonScripts/_ANNOTATION/ecoli_1", - "sample": "ecoli_1", - "virulence": { - "VFDB": { - "GOMEMAFE_00848": { - "chr": 6, - "end": 23455, - "gene": "ibeC", - "id": "VF0237", - "product": "Ibes_(VF0237)_Invasion_(VFC0083)", - "start": 21722, - "virulence_factor": "Ibes" - }, - "GOMEMAFE_00956": { - "chr": 7, - "end": 4597, - "gene": "kpsF", - "id": "VF0239", - "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", - "start": 3614, - "virulence_factor": "K1_capsule" - }, - "GOMEMAFE_00957": { - "chr": 7, - "end": 5817, - "gene": "kpsE", - "id": "VF0239", - "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", - "start": 4669, - "virulence_factor": "K1_capsule" - }, - "GOMEMAFE_00958": { - "chr": 7, - "end": 7517, - "gene": "kpsD", - "id": "VF0239", - "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", - "start": 5841, - "virulence_factor": "K1_capsule" - }, - "GOMEMAFE_00959": { - "chr": 7, - "end": 8267, - "gene": "kpsU", - "id": "VF0239", - "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", - "start": 7527, - "virulence_factor": "K1_capsule" - }, - "GOMEMAFE_00960": { - "chr": 7, - "end": 10291, - "gene": "kpsC", - "id": "VF0239", - "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", - "start": 8264, - "virulence_factor": "K1_capsule" - }, - "GOMEMAFE_00961": { - "chr": 7, - "end": 11564, - "gene": "kpsS", - "id": "VF0239", - "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", - "start": 10326, - "virulence_factor": "K1_capsule" - }, - "GOMEMAFE_00968": { - "chr": 7, - "end": 20814, - "gene": "kpsM", - "id": "VF0239", - "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", - "start": 20038, - "virulence_factor": "K1_capsule" - }, - "GOMEMAFE_00969": { - "chr": 7, - "end": 22524, - "gene": "gspM", - "id": "VF0333", - "product": "T2SS_(VF0333)_Effector_delivery_system_(VFC0086)", - "start": 21988, - "virulence_factor": "T2SS" - }, - "GOMEMAFE_01152": { - "chr": 8, - "end": 78925, - "gene": "entA", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 78179, - "virulence_factor": "Enterobactin" - }, - "GOMEMAFE_01153": { - "chr": 8, - "end": 79782, - "gene": "entB", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 78925, - "virulence_factor": "Enterobactin" - }, - "GOMEMAFE_01154": { - "chr": 8, - "end": 81406, - "gene": "entE", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 79796, - "virulence_factor": "Enterobactin" - }, - "GOMEMAFE_01155": { - "chr": 8, - "end": 82591, - "gene": "entC", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 81416, - "virulence_factor": "Enterobactin" - }, - "GOMEMAFE_01156": { - "chr": 8, - "end": 83736, - "gene": "fepB", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 82780, - "virulence_factor": "Enterobactin" - }, - "GOMEMAFE_01157": { - "chr": 8, - "end": 84990, - "gene": "entS", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 83740, - "virulence_factor": "Enterobactin" - }, - "GOMEMAFE_01158": { - "chr": 8, - "end": 86105, - "gene": "fepD", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 85101, - "virulence_factor": "Enterobactin" - }, - "GOMEMAFE_01159": { - "chr": 8, - "end": 87094, - "gene": "fepG", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 86102, - "virulence_factor": "Enterobactin" - }, - "GOMEMAFE_01160": { - "chr": 8, - "end": 87906, - "gene": "fepC", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 87091, - "virulence_factor": "Enterobactin" - }, - "GOMEMAFE_01161": { - "chr": 8, - "end": 89036, - "gene": "fepE", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 87903, - "virulence_factor": "Enterobactin" - }, - "GOMEMAFE_01162": { - "chr": 8, - "end": 93164, - "gene": "entF", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 89283, - "virulence_factor": "Enterobactin" - }, - "GOMEMAFE_01164": { - "chr": 8, - "end": 94584, - "gene": "fes", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 93382, - "virulence_factor": "Enterobactin" - }, - "GOMEMAFE_01165": { - "chr": 8, - "end": 97067, - "gene": "fepA", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 94827, - "virulence_factor": "Enterobactin" - }, - "GOMEMAFE_01177": { - "chr": 8, - "end": 110328, - "gene": "ibeB", - "id": "VF0237", - "product": "Ibes_(VF0237)_Invasion_(VFC0083)", - "start": 108946, - "virulence_factor": "Ibes" - }, - "GOMEMAFE_01346": { - "chr": 10, - "end": 56035, - "gene": "fdeC", - "id": "VF0506", - "product": "FdeC_(VF0506)_Adherence_(VFC0001)", - "start": 51785, - "virulence_factor": "FdeC" - }, - "GOMEMAFE_01356": { - "chr": 10, - "end": 65877, - "gene": "ykgK/ecpR", - "id": "VF0404", - "product": "ECP_(VF0404)_Adherence_(VFC0001)", - "start": 65335, - "virulence_factor": "ECP" - }, - "GOMEMAFE_01357": { - "chr": 10, - "end": 66539, - "gene": "yagZ/ecpA", - "id": "VF0404", - "product": "ECP_(VF0404)_Adherence_(VFC0001)", - "start": 65952, - "virulence_factor": "ECP" - }, - "GOMEMAFE_01358": { - "chr": 10, - "end": 67264, - "gene": "yagY/ecpB", - "id": "VF0404", - "product": "ECP_(VF0404)_Adherence_(VFC0001)", - "start": 66596, - "virulence_factor": "ECP" - }, - "GOMEMAFE_01359": { - "chr": 10, - "end": 69815, - "gene": "yagX/ecpC", - "id": "VF0404", - "product": "ECP_(VF0404)_Adherence_(VFC0001)", - "start": 67290, - "virulence_factor": "ECP" - }, - "GOMEMAFE_01360": { - "chr": 10, - "end": 71448, - "gene": "yagW/ecpD", - "id": "VF0404", - "product": "ECP_(VF0404)_Adherence_(VFC0001)", - "start": 69805, - "virulence_factor": "ECP" - }, - "GOMEMAFE_01361": { - "chr": 10, - "end": 72127, - "gene": "yagV/ecpE", - "id": "VF0404", - "product": "ECP_(VF0404)_Adherence_(VFC0001)", - "start": 71417, - "virulence_factor": "ECP" - }, - "GOMEMAFE_01395": { - "chr": 11, - "end": 6438, - "gene": "ompA", - "id": "VF0236", - "product": "OmpA_(VF0236)_Invasion_(VFC0083)", - "start": 5386, - "virulence_factor": "OmpA" - }, - "GOMEMAFE_02065": { - "chr": 18, - "end": 14623, - "gene": "clbA", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 13889, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02067": { - "chr": 18, - "end": 24866, - "gene": "clbB", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 15246, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02068": { - "chr": 18, - "end": 27507, - "gene": "clbC", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 24907, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02069": { - "chr": 18, - "end": 28386, - "gene": "clbD", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 27520, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02070": { - "chr": 18, - "end": 28664, - "gene": "clbE", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 28416, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02071": { - "chr": 18, - "end": 29798, - "gene": "clbF", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 28668, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02072": { - "chr": 18, - "end": 31063, - "gene": "clbG", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 29795, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02073": { - "chr": 18, - "end": 35907, - "gene": "clbH", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 31111, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02074": { - "chr": 18, - "end": 38989, - "gene": "clbI", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 35957, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02076": { - "chr": 18, - "end": 47811, - "gene": "clbL", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 46348, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02077": { - "chr": 18, - "end": 49312, - "gene": "clbM", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 47873, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02078": { - "chr": 18, - "end": 53676, - "gene": "clbN", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 49309, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02079": { - "chr": 18, - "end": 56166, - "gene": "clbO", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 53707, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02080": { - "chr": 18, - "end": 57693, - "gene": "clbP", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 56188, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02081": { - "chr": 18, - "end": 58408, - "gene": "clbQ", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 57686, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02082": { - "chr": 18, - "end": 58955, - "gene": "clbS", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 58443, - "virulence_factor": "Colibactin" - }, - "GOMEMAFE_02097": { - "chr": 18, - "end": 76365, - "gene": "fyuA/psn", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 74344, - "virulence_factor": "Yersiniabactin" - }, - "GOMEMAFE_02098": { - "chr": 18, - "end": 78073, - "gene": "ybtE", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 76496, - "virulence_factor": "Yersiniabactin" - }, - "GOMEMAFE_02099": { - "chr": 18, - "end": 78880, - "gene": "ybtT", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 78077, - "virulence_factor": "Yersiniabactin" - }, - "GOMEMAFE_02100": { - "chr": 18, - "end": 79977, - "gene": "ybtU", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 78877, - "virulence_factor": "Yersiniabactin" - }, - "GOMEMAFE_02101": { - "chr": 18, - "end": 89465, - "gene": "irp1", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 79974, - "virulence_factor": "Yersiniabactin" - }, - "GOMEMAFE_02387": { - "chr": 22, - "end": 54753, - "gene": "tcpC", - "id": "VF0413", - "product": "TcpC_(VF0413)_Immune_modulation_(VFC0258)", - "start": 53830, - "virulence_factor": "TcpC" - }, - "GOMEMAFE_02411": { - "chr": 22, - "end": 71986, - "gene": "ybtS", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 70682, - "virulence_factor": "Yersiniabactin" - }, - "GOMEMAFE_02412": { - "chr": 22, - "end": 73294, - "gene": "ybtX", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 72014, - "virulence_factor": "Yersiniabactin" - }, - "GOMEMAFE_02413": { - "chr": 22, - "end": 75089, - "gene": "ybtQ", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 73287, - "virulence_factor": "Yersiniabactin" - }, - "GOMEMAFE_02414": { - "chr": 22, - "end": 76878, - "gene": "ybtP", - "id": "VF0564", - "product": "Ybt_(VF0564)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 75076, - "virulence_factor": "Ybt" - }, - "GOMEMAFE_02415": { - "chr": 22, - "end": 78004, - "gene": "ybtA", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 77045, - "virulence_factor": "Yersiniabactin" - }, - "GOMEMAFE_02497": { - "chr": 24, - "end": 6286, - "gene": "fimB", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 5684, - "virulence_factor": "Type_1_fimbriae" - }, - "GOMEMAFE_02498": { - "chr": 24, - "end": 7360, - "gene": "fimE", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 6764, - "virulence_factor": "Type_1_fimbriae" - }, - "GOMEMAFE_02499": { - "chr": 24, - "end": 8389, - "gene": "fimA", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 7841, - "virulence_factor": "Type_1_fimbriae" - }, - "GOMEMAFE_02500": { - "chr": 24, - "end": 8993, - "gene": "fimI", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 8496, - "virulence_factor": "Type_1_fimbriae" - }, - "GOMEMAFE_02501": { - "chr": 24, - "end": 9755, - "gene": "fimC", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 9030, - "virulence_factor": "Type_1_fimbriae" - }, - "GOMEMAFE_02502": { - "chr": 24, - "end": 12457, - "gene": "fimD", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 9821, - "virulence_factor": "Type_1_fimbriae" - }, - "GOMEMAFE_02503": { - "chr": 24, - "end": 12997, - "gene": "fimF", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 12467, - "virulence_factor": "Type_1_fimbriae" - }, - "GOMEMAFE_02504": { - "chr": 24, - "end": 13513, - "gene": "fimG", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 13010, - "virulence_factor": "Type_1_fimbriae" - }, - "GOMEMAFE_02505": { - "chr": 24, - "end": 14435, - "gene": "fimH", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 13533, - "virulence_factor": "Type_1_fimbriae" - }, - "GOMEMAFE_02926": { - "chr": 29, - "end": 63235, - "gene": "csgC", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 62903, - "virulence_factor": "Curli_fibers" - }, - "GOMEMAFE_02927": { - "chr": 29, - "end": 63752, - "gene": "csgA", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 63294, - "virulence_factor": "Curli_fibers" - }, - "GOMEMAFE_02928": { - "chr": 29, - "end": 64248, - "gene": "csgB", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 63793, - "virulence_factor": "Curli_fibers" - }, - "GOMEMAFE_02929": { - "chr": 29, - "end": 65651, - "gene": "cgsD", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 65001, - "virulence_factor": "Curli_fibers" - }, - "GOMEMAFE_02930": { - "chr": 29, - "end": 66045, - "gene": "cgsE", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 65656, - "virulence_factor": "Curli_fibers" - }, - "GOMEMAFE_02931": { - "chr": 29, - "end": 66486, - "gene": "cgsF", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 66070, - "virulence_factor": "Curli_fibers" - }, - "GOMEMAFE_02932": { - "chr": 29, - "end": 67346, - "gene": "cgsG", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 66513, - "virulence_factor": "Curli_fibers" - }, - "GOMEMAFE_03479": { - "chr": 40, - "end": 30866, - "gene": "chuS", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 29838, - "virulence_factor": "Chu" - }, - "GOMEMAFE_03480": { - "chr": 40, - "end": 32897, - "gene": "chuA", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 30915, - "virulence_factor": "Chu" - }, - "GOMEMAFE_03481": { - "chr": 40, - "end": 34495, - "gene": "chuT", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 33581, - "virulence_factor": "Chu" - }, - "GOMEMAFE_03482": { - "chr": 40, - "end": 35852, - "gene": "chuW", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 34515, - "virulence_factor": "Chu" - }, - "GOMEMAFE_03483": { - "chr": 40, - "end": 36359, - "gene": "chuX", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 35865, - "virulence_factor": "Chu" - }, - "GOMEMAFE_03484": { - "chr": 40, - "end": 36982, - "gene": "chuY", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 36359, - "virulence_factor": "Chu" - }, - "GOMEMAFE_03485": { - "chr": 40, - "end": 38023, - "gene": "chuU", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 37067, - "virulence_factor": "Chu" - }, - "GOMEMAFE_03486": { - "chr": 40, - "end": 38790, - "gene": "chuV", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 38020, - "virulence_factor": "Chu" - }, - "GOMEMAFE_03961": { - "chr": 54, - "end": 14701, - "gene": "iucA", - "id": "VF0229", - "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 12977, - "virulence_factor": "Aerobactin" - }, - "GOMEMAFE_03962": { - "chr": 54, - "end": 15649, - "gene": "iucB", - "id": "VF0229", - "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 14702, - "virulence_factor": "Aerobactin" - }, - "GOMEMAFE_03963": { - "chr": 54, - "end": 17391, - "gene": "iucC", - "id": "VF0229", - "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 15649, - "virulence_factor": "Aerobactin" - }, - "GOMEMAFE_03964": { - "chr": 54, - "end": 18725, - "gene": "iucD", - "id": "VF0229", - "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 17388, - "virulence_factor": "Aerobactin" - }, - "GOMEMAFE_03965": { - "chr": 54, - "end": 20926, - "gene": "iutA", - "id": "VF0229", - "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 18728, - "virulence_factor": "Aerobactin" - }, - "GOMEMAFE_03966": { - "chr": 54, - "end": 25757, - "gene": "sat", - "id": "VF0231", - "product": "Sat_(VF0231)_Effector_delivery_system_(VFC0086)", - "start": 21870, - "virulence_factor": "Sat" - }, - "GOMEMAFE_04041": { - "chr": 57, - "end": 865, - "gene": "sfaY", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 125, - "virulence_factor": "F1C_fimbriae" - }, - "GOMEMAFE_04042": { - "chr": 57, - "end": 2179, - "gene": "focH", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 1169, - "virulence_factor": "F1C_fimbriae" - }, - "GOMEMAFE_04043": { - "chr": 57, - "end": 2633, - "gene": "focG", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 2130, - "virulence_factor": "F1C_fimbriae" - }, - "GOMEMAFE_04044": { - "chr": 57, - "end": 3182, - "gene": "focF", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 2655, - "virulence_factor": "F1C_fimbriae" - }, - "GOMEMAFE_04045": { - "chr": 57, - "end": 5825, - "gene": "focD", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 3195, - "virulence_factor": "F1C_fimbriae" - }, - "GOMEMAFE_04046": { - "chr": 57, - "end": 6590, - "gene": "focC", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 5895, - "virulence_factor": "F1C_fimbriae" - }, - "GOMEMAFE_04048": { - "chr": 57, - "end": 7783, - "gene": "focA", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 7241, - "virulence_factor": "F1C_fimbriae" - }, - "GOMEMAFE_04050": { - "chr": 57, - "end": 8484, - "gene": "C_RS05810", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 8155, - "virulence_factor": "F1C_fimbriae" - }, - "GOMEMAFE_04233": { - "chr": 65, - "end": 3808, - "gene": "hlyD", - "id": "VF0225", - "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", - "start": 2372, - "virulence_factor": "-Hemolysin" - }, - "GOMEMAFE_04234": { - "chr": 65, - "end": 5950, - "gene": "hlyB", - "id": "VF0225", - "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", - "start": 3827, - "virulence_factor": "-Hemolysin" - }, - "GOMEMAFE_04235": { - "chr": 65, - "end": 9095, - "gene": "hlyA", - "id": "VF0225", - "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", - "start": 6021, - "virulence_factor": "-Hemolysin" - }, - "GOMEMAFE_04236": { - "chr": 65, - "end": 9619, - "gene": "hlyC", - "id": "VF0225", - "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", - "start": 9107, - "virulence_factor": "-Hemolysin" - }, - "GOMEMAFE_04461": { - "chr": 79, - "end": 10628, - "gene": "pic", - "id": "VF0232", - "product": "Pic_(VF0232)_Effector_delivery_system_(VFC0086)", - "start": 6513, - "virulence_factor": "Pic" - }, - "GOMEMAFE_04500": { - "chr": 82, - "end": 705, - "gene": "papI", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 484, - "virulence_factor": "P_fimbriae" - }, - "GOMEMAFE_04502": { - "chr": 82, - "end": 2228, - "gene": "papA", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 1662, - "virulence_factor": "P_fimbriae" - }, - "GOMEMAFE_04503": { - "chr": 82, - "end": 2885, - "gene": "papH", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 2298, - "virulence_factor": "P_fimbriae" - }, - "GOMEMAFE_04504": { - "chr": 82, - "end": 5454, - "gene": "papC", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 2935, - "virulence_factor": "P_fimbriae" - }, - "GOMEMAFE_04505": { - "chr": 82, - "end": 6259, - "gene": "papD", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 5540, - "virulence_factor": "P_fimbriae" - }, - "GOMEMAFE_04506": { - "chr": 82, - "end": 6877, - "gene": "papJ", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 6296, - "virulence_factor": "P_fimbriae" - }, - "GOMEMAFE_04507": { - "chr": 82, - "end": 7423, - "gene": "papK", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 6887, - "virulence_factor": "P_fimbriae" - }, - "GOMEMAFE_04508": { - "chr": 82, - "end": 7971, - "gene": "papE", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 7450, - "virulence_factor": "P_fimbriae" - }, - "GOMEMAFE_04509": { - "chr": 82, - "end": 8546, - "gene": "papF", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 8046, - "virulence_factor": "P_fimbriae" - }, - "GOMEMAFE_04510": { - "chr": 82, - "end": 9600, - "gene": "papG", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 8590, - "virulence_factor": "P_fimbriae" - }, - "GOMEMAFE_04511": { - "chr": 82, - "end": 10414, - "gene": "papX", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 9914, - "virulence_factor": "P_fimbriae" - }, - "GOMEMAFE_04521": { - "chr": 84, - "end": 2357, - "gene": "iroN", - "id": "VF0230", - "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 180, - "virulence_factor": "Salmochelin_siderophore" - }, - "GOMEMAFE_04522": { - "chr": 84, - "end": 3358, - "gene": "iroE", - "id": "VF0230", - "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2402, - "virulence_factor": "Salmochelin_siderophore" - }, - "GOMEMAFE_04523": { - "chr": 84, - "end": 4672, - "gene": "iroD", - "id": "VF0230", - "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 3443, - "virulence_factor": "Salmochelin_siderophore" - }, - "GOMEMAFE_04524": { - "chr": 84, - "end": 8435, - "gene": "iroC", - "id": "VF0230", - "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 4776, - "virulence_factor": "Salmochelin_siderophore" - }, - "GOMEMAFE_04525": { - "chr": 84, - "end": 9690, - "gene": "iroB", - "id": "VF0230", - "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 8575, - "virulence_factor": "Salmochelin_siderophore" - }, - "total": 117 - }, - "Victors": { - "GOMEMAFE_00052": { - "contig": 1, - "end": 55001, - "id": "16766637", - "name": "stringent_starvation_protein_A", - "product": "gi|16766637|ref|NP_462252.1|stringent_starvation_protein_A_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 54363 - }, - "GOMEMAFE_00202": { - "contig": 2, - "end": 15799, - "id": "56480121", - "name": "inosine_5'-monophosphate_dehydrogenase", - "product": "gi|56480121|ref|NP_708347.2|inosine_5'-monophosphate_dehydrogenase_[Shigella_flexneri_2a_str._301]", - "start": 14333 - }, - "GOMEMAFE_00203": { - "contig": 2, - "end": 17445, - "id": "24113836", - "name": "GMP_synthase", - "product": "gi|24113836|ref|NP_708346.1|GMP_synthase_[Shigella_flexneri_2a_str._301]", - "start": 15868 - }, - "GOMEMAFE_00210": { - "contig": 2, - "end": 25360, - "id": "16765821", - "name": "polyphosphate_kinase", - "product": "gi|16765821|ref|NP_461436.1|polyphosphate_kinase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 23294 - }, - "GOMEMAFE_00332": { - "contig": 2, - "end": 160697, - "id": "24113718", - "name": "ABC_transporter_outer_membrane_lipoprotein", - "product": "gi|24113718|ref|NP_708228.1|ABC_transporter_outer_membrane_lipoprotein_[Shigella_flexneri_2a_str._301]", - "start": 159942 - }, - "GOMEMAFE_00347": { - "contig": 2, - "end": 177179, - "id": "16761308", - "name": "chorismate_synthase", - "product": "gi|16761308|ref|NP_456925.1|chorismate_synthase_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", - "start": 176094 - }, - "GOMEMAFE_00412": { - "contig": 3, - "end": 35117, - "id": "16766107", - "name": "transporter", - "product": "gi|16766107|ref|NP_461722.1|transporter_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 34959 - }, - "GOMEMAFE_00532": { - "contig": 3, - "end": 151626, - "id": "16766264", - "name": "sensory_histidine_kinase", - "product": "gi|16766264|ref|NP_461879.1|sensory_histidine_kinase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 148870 - }, - "GOMEMAFE_00610": { - "contig": 4, - "end": 53280, - "id": "16764663", - "name": "PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB", - "product": "gi|16764663|ref|NP_460278.1|PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 52960 - }, - "GOMEMAFE_00614": { - "contig": 4, - "end": 57429, - "id": "16764667", - "name": "phospho-beta-glucosidase", - "product": "gi|16764667|ref|NP_460282.1|phospho-beta-glucosidase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 56077 - }, - "GOMEMAFE_00654": { - "contig": 4, - "end": 97770, - "id": "24113082", - "name": "3-dehydroquinate_dehydratase", - "product": "gi|24113082|ref|NP_707592.1|3-dehydroquinate_dehydratase_[Shigella_flexneri_2a_str._301]", - "start": 97012 - }, - "GOMEMAFE_00692": { - "contig": 4, - "end": 136890, - "id": "24113046", - "name": "superoxide_dismutase", - "product": "gi|24113046|ref|NP_707556.1|superoxide_dismutase_[Shigella_flexneri_2a_str._301]", - "start": 136309 - }, - "GOMEMAFE_00705": { - "contig": 4, - "end": 147503, - "id": "161353603", - "name": "transcriptional_regulator_SlyA", - "product": "gi|161353603|ref|NP_460407.2|transcriptional_regulator_SlyA_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 147069 - }, - "GOMEMAFE_00743": { - "contig": 5, - "end": 28342, - "id": "82776181", - "name": "porin", - "product": "gi|82776181|ref|YP_402530.1|porin_[Shigella_dysenteriae_Sd197]", - "start": 27215 - }, - "GOMEMAFE_00947": { - "contig": 6, - "end": 130103, - "id": "117626134", - "name": "protein_disulfide_isomerase_I", - "product": "gi|117626134|ref|YP_859457.1|protein_disulfide_isomerase_I_[Escherichia_coli_APEC_O1]", - "start": 129477 - }, - "GOMEMAFE_00948": { - "contig": 6, - "end": 131106, - "id": "82778968", - "name": "serine/threonine_protein_kinase", - "product": "gi|82778968|ref|YP_405317.1|serine/threonine_protein_kinase_[Shigella_dysenteriae_Sd197]", - "start": 130120 - }, - "GOMEMAFE_01125": { - "contig": 8, - "end": 51666, - "id": "16764006", - "name": "RNA_chaperone", - "product": "gi|16764006|ref|NP_459621.1|RNA_chaperone_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 51457 - }, - "GOMEMAFE_01150": { - "contig": 8, - "end": 77582, - "id": "16763977", - "name": "carbon_starvation_protein", - "product": "gi|16763977|ref|NP_459592.1|carbon_starvation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 75477 - }, - "GOMEMAFE_01198": { - "contig": 9, - "end": 12945, - "id": "16765159", - "name": "long-chain-fatty-acid--CoA_ligase", - "product": "gi|16765159|ref|NP_460774.1|long-chain-fatty-acid--CoA_ligase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 11194 - }, - "GOMEMAFE_01216": { - "contig": 9, - "end": 30568, - "id": "15802236", - "name": "cold_shock-like_protein_CspC", - "product": "gi|15802236|ref|NP_288259.1|cold_shock-like_protein_CspC_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 30359 - }, - "GOMEMAFE_01249": { - "contig": 9, - "end": 63327, - "id": "30063266", - "name": "lipid_A_biosynthesis_(KDO)2-(lauroyl)-lipid_IVA_acyltransferase", - "product": "gi|30063266|ref|NP_837437.1|lipid_A_biosynthesis_(KDO)2-(lauroyl)-lipid_IVA_acyltransferase_[Shigella_flexneri_2a_str._2457T]", - "start": 62356 - }, - "GOMEMAFE_01252": { - "contig": 9, - "end": 66550, - "id": "39546331", - "name": "zinc_ABC_transporter_ATP-binding_protein_ZnuC", - "product": "gi|39546331|ref|NP_460849.2|zinc_ABC_transporter_ATP-binding_protein_ZnuC_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 65795 - }, - "GOMEMAFE_01253": { - "contig": 9, - "end": 67332, - "id": "16765235", - "name": "zinc_ABC_transporter_permease_ZnuB", - "product": "gi|16765235|ref|NP_460850.1|zinc_ABC_transporter_permease_ZnuB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 66547 - }, - "GOMEMAFE_01357": { - "contig": 10, - "end": 66539, - "id": "215485400", - "name": "fimbrillin_precursor", - "product": "gi|215485400|ref|YP_002327831.1|fimbrillin_precursor_[Escherichia_coli_O127:H6_str._E2348/69]", - "start": 65952 - }, - "GOMEMAFE_01377": { - "contig": 10, - "end": 92857, - "id": "16763696", - "name": "DNA_polymerase_IV", - "product": "gi|16763696|ref|NP_459311.1|DNA_polymerase_IV_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 91802 - }, - "GOMEMAFE_01383": { - "contig": 10, - "end": 98994, - "id": "16759305", - "name": "phosphoheptose_isomerase", - "product": "gi|16759305|ref|NP_454922.1|phosphoheptose_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", - "start": 98416 - }, - "GOMEMAFE_01395": { - "contig": 11, - "end": 6438, - "id": "26246978", - "name": "outer_membrane_protein_A", - "product": "gi|26246978|ref|NP_753018.1|outer_membrane_protein_A_[Escherichia_coli_CFT073]", - "start": 5386 - }, - "GOMEMAFE_01407": { - "contig": 11, - "end": 20538, - "id": "16764417", - "name": "dihydroorotate_dehydrogenase_2", - "product": "gi|16764417|ref|NP_460032.1|dihydroorotate_dehydrogenase_2_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 19528 - }, - "GOMEMAFE_01437": { - "contig": 11, - "end": 59455, - "id": "82544646", - "name": "3-phosphoshikimate_1-carboxyvinyltransferase", - "product": "gi|82544646|ref|YP_408593.1|3-phosphoshikimate_1-carboxyvinyltransferase_[Shigella_boydii_Sb227]", - "start": 58172 - }, - "GOMEMAFE_01443": { - "contig": 11, - "end": 67927, - "id": "161353606", - "name": "pyruvate_formate_lyase-activating_enzyme_1", - "product": "gi|161353606|ref|NP_459945.2|pyruvate_formate_lyase-activating_enzyme_1_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 67187 - }, - "GOMEMAFE_01454": { - "contig": 11, - "end": 84012, - "id": "15800751", - "name": "thioredoxin_reductase", - "product": "gi|15800751|ref|NP_286765.1|thioredoxin_reductase_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 82942 - }, - "GOMEMAFE_01545": { - "contig": 12, - "end": 57024, - "id": "16764228", - "name": "multidrug_translocase", - "product": "gi|16764228|ref|NP_459843.1|multidrug_translocase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 55792 - }, - "GOMEMAFE_01591": { - "contig": 13, - "end": 2045, - "id": "16767432", - "name": "homoserine_O-succinyltransferase", - "product": "gi|16767432|ref|NP_463047.1|homoserine_O-succinyltransferase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1116 - }, - "GOMEMAFE_01820": { - "contig": 15, - "end": 48312, - "id": "22124023", - "name": "bifunctional_(p)ppGpp_synthetase_II/_guanosine-3',5'-bis_pyrophosphate_3'-pyrophosphohydrolase", - "product": "gi|22124023|ref|NP_667446.1|bifunctional_(p)ppGpp_synthetase_II/_guanosine-3',5'-bis_pyrophosphate_3'-pyrophosphohydrolase_[Yersinia_pestis_KIM10+]", - "start": 46204 - }, - "GOMEMAFE_01852": { - "contig": 15, - "end": 78482, - "id": "15804159", - "name": "glycosyl_transferase", - "product": "gi|15804159|ref|NP_290198.1|glycosyl_transferase_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 77448 - }, - "GOMEMAFE_01878": { - "contig": 16, - "end": 6324, - "id": "16766742", - "name": "FKBP-type_peptidyl-prolyl_cis-trans_isomerase", - "product": "gi|16766742|ref|NP_462357.1|FKBP-type_peptidyl-prolyl_cis-trans_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 5512 - }, - "GOMEMAFE_01880": { - "contig": 16, - "end": 7402, - "id": "16766744", - "name": "FKBP-type_peptidyl-prolyl_cis-trans_isomerase", - "product": "gi|16766744|ref|NP_462359.1|FKBP-type_peptidyl-prolyl_cis-trans_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 6812 - }, - "GOMEMAFE_01889": { - "contig": 16, - "end": 15657, - "id": "16766754", - "name": "cAMP-activated_global_transcriptional_regulator", - "product": "gi|16766754|ref|NP_462369.1|cAMP-activated_global_transcriptional_regulator_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 15025 - }, - "GOMEMAFE_01913": { - "contig": 16, - "end": 39482, - "id": "16766772", - "name": "DNA_adenine_methylase", - "product": "gi|16766772|ref|NP_462387.1|DNA_adenine_methylase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 38646 - }, - "GOMEMAFE_01932": { - "contig": 16, - "end": 60249, - "id": "24114667", - "name": "osmolarity_sensor_protein", - "product": "gi|24114667|ref|NP_709177.1|osmolarity_sensor_protein_[Shigella_flexneri_2a_str._301]", - "start": 58897 - }, - "GOMEMAFE_01933": { - "contig": 16, - "end": 60965, - "id": "56480330", - "name": "osmolarity_response_regulator", - "product": "gi|56480330|ref|NP_709178.2|osmolarity_response_regulator_[Shigella_flexneri_2a_str._301]", - "start": 60246 - }, - "GOMEMAFE_01959": { - "contig": 17, - "end": 1426, - "id": "117623375", - "name": "Mn+2/Fe+2_ABC_transporter_ATPase_SitB", - "product": "gi|117623375|ref|YP_852288.1|Mn+2/Fe+2_ABC_transporter_ATPase_SitB_[Escherichia_coli_APEC_O1]", - "start": 599 - }, - "GOMEMAFE_01960": { - "contig": 17, - "end": 2340, - "id": "82776740", - "name": "iron_ABC_transporter_substrate-binding_protein", - "product": "gi|82776740|ref|YP_403089.1|iron_ABC_transporter_substrate-binding_protein_[Shigella_dysenteriae_Sd197]", - "start": 1426 - }, - "GOMEMAFE_02009": { - "contig": 17, - "end": 49878, - "id": "117623421", - "name": "GTP-dependent_nucleic_acid-binding_protein_EngD", - "product": "gi|117623421|ref|YP_852334.1|GTP-dependent_nucleic_acid-binding_protein_EngD_[Escherichia_coli_APEC_O1]", - "start": 48787 - }, - "GOMEMAFE_02049": { - "contig": 17, - "end": 89526, - "id": "24112632", - "name": "UTP-glucose-1-phosphate_uridylyltransferase", - "product": "gi|24112632|ref|NP_707142.1|UTP-glucose-1-phosphate_uridylyltransferase_[Shigella_flexneri_2a_str._301]", - "start": 88618 - }, - "GOMEMAFE_02050": { - "contig": 17, - "end": 90083, - "id": "16765095", - "name": "DNA-binding_protein_H-NS", - "product": "gi|16765095|ref|NP_460710.1|DNA-binding_protein_H-NS_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 89670 - }, - "GOMEMAFE_02097": { - "contig": 18, - "end": 76365, - "id": "162421186", - "name": "yersiniabactin/pesticin_receptor_FyuA", - "product": "gi|162421186|ref|YP_001606551.1|yersiniabactin/pesticin_receptor_FyuA_[Yersinia_pestis_Angola]", - "start": 74344 - }, - "GOMEMAFE_02101": { - "contig": 18, - "end": 89465, - "id": "123442840", - "name": "yersiniabactin_biosynthetic_protein", - "product": "gi|123442840|ref|YP_001006816.1|yersiniabactin_biosynthetic_protein_[Yersinia_enterocolitica_subsp._enterocolitica_8081]", - "start": 79974 - }, - "GOMEMAFE_02165": { - "contig": 19, - "end": 66072, - "id": "16763823", - "name": "cytochrome_o_ubiquinol_oxidase_subunit_I", - "product": "gi|16763823|ref|NP_459438.1|cytochrome_o_ubiquinol_oxidase_subunit_I_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 64081 - }, - "GOMEMAFE_02171": { - "contig": 19, - "end": 72730, - "id": "16763829", - "name": "ATP-dependent_Clp_protease_proteolytic_subunit", - "product": "gi|16763829|ref|NP_459444.1|ATP-dependent_Clp_protease_proteolytic_subunit_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 72107 - }, - "GOMEMAFE_02306": { - "contig": 21, - "end": 55724, - "id": "228960701", - "name": "heat_shock_protein_IbpA", - "product": "gi|228960701|ref|NP_462709.3|heat_shock_protein_IbpA_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 55311 - }, - "GOMEMAFE_02334": { - "contig": 22, - "end": 4351, - "id": "26248190", - "name": "flagellin", - "product": "gi|26248190|ref|NP_754230.1|flagellin_[Escherichia_coli_CFT073]", - "start": 2564 - }, - "GOMEMAFE_02359": { - "contig": 22, - "end": 25720, - "id": "16765318", - "name": "flagellar_biosynthesis_protein_FliQ", - "product": "gi|16765318|ref|NP_460933.1|flagellar_biosynthesis_protein_FliQ_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 25451 - }, - "GOMEMAFE_02414": { - "contig": 22, - "end": 76878, - "id": "22126281", - "name": "permease_and_ATP-binding_protein_of_yersiniabactin-iron_ABC_transporter", - "product": "gi|22126281|ref|NP_669704.1|permease_and_ATP-binding_protein_of_yersiniabactin-iron_ABC_transporter_[Yersinia_pestis_KIM10+]", - "start": 75076 - }, - "GOMEMAFE_02427": { - "contig": 23, - "end": 12385, - "id": "16764996", - "name": "universal_stress_protein_F", - "product": "gi|16764996|ref|NP_460611.1|universal_stress_protein_F_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 11951 - }, - "GOMEMAFE_02500": { - "contig": 24, - "end": 8993, - "id": "26251202", - "name": "fimbrin-like_protein_fimI", - "product": "gi|26251202|ref|NP_757242.1|fimbrin-like_protein_fimI_[Escherichia_coli_CFT073]", - "start": 8496 - }, - "GOMEMAFE_02505": { - "contig": 24, - "end": 14435, - "id": "26251208", - "name": "FimH_protein", - "product": "gi|26251208|ref|NP_757248.1|FimH_protein_[Escherichia_coli_CFT073]", - "start": 13533 - }, - "GOMEMAFE_02533": { - "contig": 24, - "end": 46550, - "id": "16763338", - "name": "carbon_starvation_protein", - "product": "gi|16763338|ref|NP_458955.1|carbon_starvation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", - "start": 44400 - }, - "GOMEMAFE_02576": { - "contig": 25, - "end": 10680, - "id": "117626120", - "name": "transcriptional_activator_RfaH", - "product": "gi|117626120|ref|YP_859443.1|transcriptional_activator_RfaH_[Escherichia_coli_APEC_O1]", - "start": 10192 - }, - "GOMEMAFE_02639": { - "contig": 25, - "end": 76349, - "id": "91213321", - "name": "arylsulfatase", - "product": "gi|91213321|ref|YP_543307.1|arylsulfatase_[Escherichia_coli_UTI89]", - "start": 74694 - }, - "GOMEMAFE_02695": { - "contig": 26, - "end": 51269, - "id": "15803477", - "name": "arginine_decarboxylase", - "product": "gi|15803477|ref|NP_289510.1|arginine_decarboxylase_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 49293 - }, - "GOMEMAFE_02753": { - "contig": 27, - "end": 34917, - "id": "117625828", - "name": "dipeptide_transporter_protein_DppA", - "product": "gi|117625828|ref|YP_859151.1|dipeptide_transporter_protein_DppA_[Escherichia_coli_APEC_O1]", - "start": 33310 - }, - "GOMEMAFE_02816": { - "contig": 28, - "end": 29026, - "id": "110808097", - "name": "exoribonuclease_R", - "product": "gi|110808097|ref|YP_691617.1|exoribonuclease_R_[Shigella_flexneri_5_str._8401]", - "start": 26585 - }, - "GOMEMAFE_02823": { - "contig": 28, - "end": 35392, - "id": "24115527", - "name": "RNA-binding_protein_Hfq", - "product": "gi|24115527|ref|NP_710037.1|RNA-binding_protein_Hfq_[Shigella_flexneri_2a_str._301]", - "start": 35084 - }, - "GOMEMAFE_02824": { - "contig": 28, - "end": 36428, - "id": "82546588", - "name": "tRNA_delta(2)-isopentenylpyrophosphate_transferase", - "product": "gi|82546588|ref|YP_410535.1|tRNA_delta(2)-isopentenylpyrophosphate_transferase_[Shigella_boydii_Sb227]", - "start": 35478 - }, - "GOMEMAFE_02929": { - "contig": 29, - "end": 65651, - "id": "16764498", - "name": "DNA-binding_transcriptional_regulator_CsgD", - "product": "gi|16764498|ref|NP_460113.1|DNA-binding_transcriptional_regulator_CsgD_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 65001 - }, - "GOMEMAFE_02946": { - "contig": 30, - "end": 6116, - "id": "16763854", - "name": "cytoplasmic_protein", - "product": "gi|16763854|ref|NP_459469.1|cytoplasmic_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 5742 - }, - "GOMEMAFE_03151": { - "contig": 33, - "end": 51070, - "id": "24111499", - "name": "peptidyl-prolyl_cis-trans_isomerase_SurA", - "product": "gi|24111499|ref|NP_706009.1|peptidyl-prolyl_cis-trans_isomerase_SurA_[Shigella_flexneri_2a_str._301]", - "start": 49784 - }, - "GOMEMAFE_03157": { - "contig": 34, - "end": 1464, - "id": "187732326", - "name": "serine_endoprotease", - "product": "gi|187732326|ref|YP_001878964.1|serine_endoprotease_[Shigella_boydii_CDC_3083-94]", - "start": 40 - }, - "GOMEMAFE_03173": { - "contig": 34, - "end": 21989, - "id": "56479612", - "name": "RNA_polymerase-binding_transcription_factor", - "product": "gi|56479612|ref|NP_706093.2|RNA_polymerase-binding_transcription_factor_[Shigella_flexneri_2a_str._301]", - "start": 21534 - }, - "GOMEMAFE_03331": { - "contig": 37, - "end": 29847, - "id": "16765496", - "name": "periplasmic_beta-glucosidase", - "product": "gi|16765496|ref|NP_461111.1|periplasmic_beta-glucosidase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 27580 - }, - "GOMEMAFE_03346": { - "contig": 37, - "end": 44397, - "id": "16765517", - "name": "NAD-dependent_dihydropyrimidine_dehydrogenase_subunit_PreA", - "product": "gi|16765517|ref|NP_461132.1|NAD-dependent_dihydropyrimidine_dehydrogenase_subunit_PreA_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 43162 - }, - "GOMEMAFE_03367": { - "contig": 38, - "end": 9937, - "id": "16765465", - "name": "protease", - "product": "gi|16765465|ref|NP_461080.1|protease_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 8576 - }, - "GOMEMAFE_03428": { - "contig": 39, - "end": 26216, - "id": "16765896", - "name": "ferredoxin", - "product": "gi|16765896|ref|NP_461511.1|ferredoxin_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 25956 - }, - "GOMEMAFE_03429": { - "contig": 39, - "end": 27120, - "id": "161367545", - "name": "DNA-binding_transcriptional_regulator", - "product": "gi|161367545|ref|NP_289117.2|DNA-binding_transcriptional_regulator_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 26272 - }, - "GOMEMAFE_03480": { - "contig": 40, - "end": 32897, - "id": "170681293", - "name": "outer_membrane_heme/hemoglobin_receptor_ChuA", - "product": "gi|170681293|ref|YP_001745768.1|outer_membrane_heme/hemoglobin_receptor_ChuA_[Escherichia_coli_SMS-3-5]", - "start": 30915 - }, - "GOMEMAFE_03491": { - "contig": 40, - "end": 42480, - "id": "110807348", - "name": "hypothetical_protein_SFV_3526", - "product": "gi|110807348|ref|YP_690868.1|hypothetical_protein_SFV_3526_[Shigella_flexneri_5_str._8401]", - "start": 41953 - }, - "GOMEMAFE_03568": { - "contig": 42, - "end": 39945, - "id": "16765878", - "name": "APC_family_lysine/cadaverine_transport_protein", - "product": "gi|16765878|ref|NP_461493.1|APC_family_lysine/cadaverine_transport_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 38611 - }, - "GOMEMAFE_03592": { - "contig": 43, - "end": 23530, - "id": "26248405", - "name": "phosphomannomutase", - "product": "gi|26248405|ref|NP_754445.1|phosphomannomutase_[Escherichia_coli_CFT073]", - "start": 22160 - }, - "GOMEMAFE_03601": { - "contig": 43, - "end": 34167, - "id": "16765428", - "name": "UTP--glucose-1-phosphate_uridylyltransferase_subunit_GalF", - "product": "gi|16765428|ref|NP_461043.1|UTP--glucose-1-phosphate_uridylyltransferase_subunit_GalF_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 33274 - }, - "GOMEMAFE_03779": { - "contig": 48, - "end": 15645, - "id": "218558181", - "name": "transporter", - "product": "gi|218558181|ref|YP_002391094.1|transporter_[Escherichia_coli_S88]", - "start": 14929 - }, - "GOMEMAFE_03802": { - "contig": 49, - "end": 5741, - "id": "16767200", - "name": "TDP-4-oxo-6-deoxy-D-glucose_transaminase", - "product": "gi|16767200|ref|NP_462815.1|TDP-4-oxo-6-deoxy-D-glucose_transaminase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 4611 - }, - "GOMEMAFE_03809": { - "contig": 49, - "end": 12971, - "id": "24115078", - "name": "undecaprenyl-phosphate_alpha-N-acetylglucosaminyl_1-phosphate_transferase", - "product": "gi|24115078|ref|NP_709588.1|undecaprenyl-phosphate_alpha-N-acetylglucosaminyl_1-phosphate_transferase_[Shigella_flexneri_2a_str._301]", - "start": 11868 - }, - "GOMEMAFE_03811": { - "contig": 49, - "end": 15126, - "id": "16767191", - "name": "thioredoxin", - "product": "gi|16767191|ref|NP_462806.1|thioredoxin_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 14797 - }, - "GOMEMAFE_03815": { - "contig": 49, - "end": 20578, - "id": "16767186", - "name": "peptidyl-prolyl_cis-trans_isomerase_C", - "product": "gi|16767186|ref|NP_462801.1|peptidyl-prolyl_cis-trans_isomerase_C_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 20297 - }, - "GOMEMAFE_03832": { - "contig": 50, - "end": 6463, - "id": "15799850", - "name": "methionine_aminopeptidase", - "product": "gi|15799850|ref|NP_285862.1|methionine_aminopeptidase_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 5669 - }, - "GOMEMAFE_03843": { - "contig": 50, - "end": 17659, - "id": "187734090", - "name": "periplasmic_chaperone", - "product": "gi|187734090|ref|YP_001878980.1|periplasmic_chaperone_[Shigella_boydii_CDC_3083-94]", - "start": 17174 - }, - "GOMEMAFE_03887": { - "contig": 52, - "end": 3306, - "id": "16767429", - "name": "phosphoribosylamine--glycine_ligase", - "product": "gi|16767429|ref|NP_463044.1|phosphoribosylamine--glycine_ligase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 2017 - }, - "GOMEMAFE_03894": { - "contig": 52, - "end": 8417, - "id": "16767423", - "name": "hypothetical_protein_STM4169", - "product": "gi|16767423|ref|NP_463038.1|hypothetical_protein_STM4169_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 7827 - }, - "GOMEMAFE_03913": { - "contig": 53, - "end": 2686, - "id": "16765976", - "name": "chaperone_protein_ClpB", - "product": "gi|16765976|ref|NP_461591.1|chaperone_protein_ClpB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 113 - }, - "GOMEMAFE_03961": { - "contig": 54, - "end": 14701, - "id": "26249462", - "name": "IucA_protein", - "product": "gi|26249462|ref|NP_755502.1|IucA_protein_[Escherichia_coli_CFT073]", - "start": 12977 - }, - "GOMEMAFE_03962": { - "contig": 54, - "end": 15649, - "id": "26249461", - "name": "IucB_protein", - "product": "gi|26249461|ref|NP_755501.1|IucB_protein_[Escherichia_coli_CFT073]", - "start": 14702 - }, - "GOMEMAFE_03963": { - "contig": 54, - "end": 17391, - "id": "26249460", - "name": "IucC_protein", - "product": "gi|26249460|ref|NP_755500.1|IucC_protein_[Escherichia_coli_CFT073]", - "start": 15649 - }, - "GOMEMAFE_03964": { - "contig": 54, - "end": 18725, - "id": "26249459", - "name": "IucD_protein", - "product": "gi|26249459|ref|NP_755499.1|IucD_protein_[Escherichia_coli_CFT073]", - "start": 17388 - }, - "GOMEMAFE_03965": { - "contig": 54, - "end": 20926, - "id": "26249458", - "name": "IutA_protein", - "product": "gi|26249458|ref|NP_755498.1|IutA_protein_[Escherichia_coli_CFT073]", - "start": 18728 - }, - "GOMEMAFE_03966": { - "contig": 54, - "end": 25757, - "id": "26249454", - "name": "secreted_auto_transporter_toxin", - "product": "gi|26249454|ref|NP_755494.1|secreted_auto_transporter_toxin_[Escherichia_coli_CFT073]", - "start": 21870 - }, - "GOMEMAFE_04033": { - "contig": 56, - "end": 21337, - "id": "24112549", - "name": "DNA-binding_transcriptional_regulator_PhoP", - "product": "gi|24112549|ref|NP_707059.1|DNA-binding_transcriptional_regulator_PhoP_[Shigella_flexneri_2a_str._301]", - "start": 20666 - }, - "GOMEMAFE_04184": { - "contig": 62, - "end": 16436, - "id": "16764908", - "name": "biofilm-dependent_modulation_protein", - "product": "gi|16764908|ref|NP_460523.1|biofilm-dependent_modulation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 16221 - }, - "GOMEMAFE_04235": { - "contig": 65, - "end": 9095, - "id": "26249405", - "name": "hemolysin_A", - "product": "gi|26249405|ref|NP_755445.1|hemolysin_A_[Escherichia_coli_CFT073]", - "start": 6021 - }, - "GOMEMAFE_04502": { - "contig": 82, - "end": 2228, - "id": "26249427", - "name": "PapA_protein", - "product": "gi|26249427|ref|NP_755467.1|PapA_protein_[Escherichia_coli_CFT073]", - "start": 1662 - }, - "GOMEMAFE_04510": { - "contig": 82, - "end": 9600, - "id": "117625201", - "name": "protein_PapG", - "product": "gi|117625201|ref|YP_854248.1|protein_PapG_[Escherichia_coli_APEC_O1]", - "start": 8590 - }, - "GOMEMAFE_04521": { - "contig": 84, - "end": 2357, - "id": "26247124", - "name": "outer_membrane_receptor_FepA", - "product": "gi|26247124|ref|NP_753164.1|outer_membrane_receptor_FepA_[Escherichia_coli_CFT073]", - "start": 180 - }, - "GOMEMAFE_04523": { - "contig": 84, - "end": 4672, - "id": "26247126", - "name": "ferric_enterochelin_esterase", - "product": "gi|26247126|ref|NP_753166.1|ferric_enterochelin_esterase_[Escherichia_coli_CFT073]", - "start": 3443 - }, - "GOMEMAFE_04524": { - "contig": 84, - "end": 8435, - "id": "26247127", - "name": "ABC_transporter_ATP-binding_protein", - "product": "gi|26247127|ref|NP_753167.1|ABC_transporter_ATP-binding_protein_[Escherichia_coli_CFT073]", - "start": 4776 - }, - "GOMEMAFE_04525": { - "contig": 84, - "end": 9690, - "id": "26247128", - "name": "glucosyltransferase", - "product": "gi|26247128|ref|NP_753168.1|glucosyltransferase_[Escherichia_coli_CFT073]", - "start": 8575 - }, - "GOMEMAFE_04635": { - "contig": 99, - "end": 4835, - "id": "16765285", - "name": "LuxR/UhpA_family_response_regulator", - "product": "gi|16765285|ref|NP_460900.1|LuxR/UhpA_family_response_regulator_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 4179 - }, - "total": 106 - } - } - }, - "ecoli_2": { - "MGE": {}, - "general_annotation": { - "cds": 11501, - "closest_reference": { - "accession": "GCF_000233895.1", - "distance": 0.0157891, - "strain": "Escherichia coli str. 'clone D i14'" - }, - "mlst": "null", - "rrna": 22, - "tmrna": 2, - "trna": 83 - }, - "plasmid": { - "plasmidfinder": {}, - "platon": {} - }, - "resistance": { - "amrfinderplus": { - "total": 0 - }, - "resfinder": { - "total": 0 - }, - "rgi": { - "ENGLJAIC_00316": { - "accession": 5921, - "card_aro": 3003843, - "contig": "contig_2", - "cut_off": "Strict", - "end": 151476, - "gene": "leuO", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 98.0, - "name": "HTH-type transcriptional regulator LeuO", - "resistance_mechanism": "antibiotic efflux", - "start": 151024, - "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_01058": { - "accession": 4594, - "card_aro": 3006880, - "contig": "contig_2", - "cut_off": "Strict", - "end": 484789, - "gene": "EC-5", - "gene_family": "EC beta-lactamase", - "identity": 95.12, - "name": "Beta-lactamase", - "resistance_mechanism": "antibiotic inactivation", - "start": 484637, - "subclass": "cephalosporin" - }, - "ENGLJAIC_01250": { - "accession": 516, - "card_aro": 3003576, - "contig": "contig_2", - "cut_off": "Strict", - "end": 578645, - "gene": "eptA", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 95.62, - "name": "Phosphoethanolamine transferase EptA", - "resistance_mechanism": "antibiotic target alteration", - "start": 577878, - "subclass": "peptide antibiotic" - }, - "ENGLJAIC_01251": { - "accession": 516, - "card_aro": 3003576, - "contig": "contig_2", - "cut_off": "Strict", - "end": 578895, - "gene": "eptA", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 98.48, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic target alteration", - "start": 578602, - "subclass": "peptide antibiotic" - }, - "ENGLJAIC_01326": { - "accession": 1442, - "card_aro": 3003548, - "contig": "contig_2", - "cut_off": "Strict", - "end": 608743, - "gene": "mdtN", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 96.12, - "name": "p-hydroxybenzoic acid efflux pump subunit AaeA", - "resistance_mechanism": "antibiotic efflux", - "start": 608195, - "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_01328": { - "accession": 1442, - "card_aro": 3003548, - "contig": "contig_2", - "cut_off": "Strict", - "end": 609170, - "gene": "mdtN", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 99.1, - "name": "Multidrug resistance protein MdtN", - "resistance_mechanism": "antibiotic efflux", - "start": 608835, - "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_01330": { - "accession": 2056, - "card_aro": 3003549, - "contig": "contig_2", - "cut_off": "Strict", - "end": 609448, - "gene": "mdtO", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 97.3, - "name": "Multidrug resistance protein MdtO", - "resistance_mechanism": "antibiotic efflux", - "start": 609332, - "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_01388": { - "accession": 1005, - "card_aro": 3003381, - "contig": "contig_2", - "cut_off": "Strict", - "end": 641280, - "gene": "Escherichia coli soxR with mutation conferring antibiotic resistance", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.55, - "name": "Redox-sensitive transcriptional activator SoxR", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", - "start": 640864, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_01389": { - "accession": 2066, - "card_aro": 3003511, - "contig": "contig_2", - "cut_off": "Strict", - "end": 641734, - "gene": "Escherichia coli soxS with mutation conferring antibiotic resistance", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", - "identity": 99.07, - "name": "Regulatory protein SoxS", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux; reduced permeability to antibiotic", - "start": 641411, - "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" - }, - "ENGLJAIC_01820": { - "accession": 152, - "card_aro": 3000830, - "contig": "contig_2", - "cut_off": "Strict", - "end": 846716, - "gene": "cpxA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Sensor histidine kinase CpxA", - "resistance_mechanism": "antibiotic efflux", - "start": 846453, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "ENGLJAIC_01821": { - "accession": 152, - "card_aro": 3000830, - "contig": "contig_2", - "cut_off": "Strict", - "end": 847156, - "gene": "cpxA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.17, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 846683, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "ENGLJAIC_01822": { - "accession": 152, - "card_aro": 3000830, - "contig": "contig_2", - "cut_off": "Strict", - "end": 847574, - "gene": "cpxA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.11, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 847308, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "ENGLJAIC_02732": { - "accession": 3828, - "card_aro": 3005096, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1271603, - "gene": "GPC-1", - "gene_family": "GPC beta-lactamase", - "identity": 100.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic inactivation", - "start": 1271334, - "subclass": "carbapenem" - }, - "ENGLJAIC_02840": { - "accession": 3791, - "card_aro": 3005047, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1322543, - "gene": "eptB", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 100.0, - "name": "Kdo(2)-lipid A phosphoethanolamine 7''-transferase", - "resistance_mechanism": "antibiotic target alteration", - "start": 1322406, - "subclass": "peptide antibiotic" - }, - "ENGLJAIC_02935": { - "accession": 121, - "card_aro": 3000796, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1368264, - "gene": "mdtF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Multidrug resistance protein MdtF", - "resistance_mechanism": "antibiotic efflux", - "start": 1368088, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "ENGLJAIC_02936": { - "accession": 121, - "card_aro": 3000796, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1368650, - "gene": "mdtF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 97.46, - "name": "Multidrug resistance protein MdtF", - "resistance_mechanism": "antibiotic efflux", - "start": 1368288, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "ENGLJAIC_02937": { - "accession": 121, - "card_aro": 3000796, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1369453, - "gene": "mdtF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 97.34, - "name": "Multidrug resistance protein MdtF", - "resistance_mechanism": "antibiotic efflux", - "start": 1368647, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "ENGLJAIC_02938": { - "accession": 121, - "card_aro": 3000796, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1370100, - "gene": "mdtF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.07, - "name": "Multidrug resistance protein MdtF", - "resistance_mechanism": "antibiotic efflux", - "start": 1369453, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "ENGLJAIC_02940": { - "accession": 121, - "card_aro": 3000796, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1370750, - "gene": "mdtF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "2A0602: RND transporter, hydrophobe/amphiphile efflux-1 (HAE1) family", - "resistance_mechanism": "antibiotic efflux", - "start": 1370472, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "ENGLJAIC_02941": { - "accession": 121, - "card_aro": 3000796, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1371106, - "gene": "mdtF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 97.27, - "name": "Multidrug resistance protein MdtF", - "resistance_mechanism": "antibiotic efflux", - "start": 1370750, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "ENGLJAIC_02942": { - "accession": 1903, - "card_aro": 3000795, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1371483, - "gene": "mdtE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.97, - "name": "Multidrug resistance protein MdtE", - "resistance_mechanism": "antibiotic efflux", - "start": 1371184, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "ENGLJAIC_02943": { - "accession": 1903, - "card_aro": 3000795, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1371959, - "gene": "mdtE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 97.48, - "name": "Multidrug resistance protein MdtE", - "resistance_mechanism": "antibiotic efflux", - "start": 1371465, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "ENGLJAIC_02944": { - "accession": 1903, - "card_aro": 3000795, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1372336, - "gene": "mdtE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Multidrug resistance protein MdtE", - "resistance_mechanism": "antibiotic efflux", - "start": 1372190, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "ENGLJAIC_03332": { - "accession": 869, - "card_aro": 3000518, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1552408, - "gene": "CRP", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.11, - "name": "cAMP-activated global transcriptional regulator CRP", - "resistance_mechanism": "antibiotic efflux", - "start": 1552241, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "ENGLJAIC_03372": { - "accession": 2158, - "card_aro": 3003369, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1568832, - "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", - "gene_family": "elfamycin resistant EF-Tu", - "identity": 97.94, - "name": "Elongation factor Tu 1", - "resistance_mechanism": "antibiotic target alteration", - "start": 1567780, - "subclass": "elfamycin antibiotic" - }, - "ENGLJAIC_03495": { - "accession": 1437, - "card_aro": 3000502, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1621032, - "gene": "AcrF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.67, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 1620895, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "ENGLJAIC_03501": { - "accession": 1437, - "card_aro": 3000502, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1623183, - "gene": "AcrF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 95.35, - "name": "2A0602: RND transporter, hydrophobe/amphiphile efflux-1 (HAE1) family", - "resistance_mechanism": "antibiotic efflux", - "start": 1623010, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "ENGLJAIC_03502": { - "accession": 1437, - "card_aro": 3000502, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1623532, - "gene": "AcrF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.67, - "name": "Multidrug export protein AcrF", - "resistance_mechanism": "antibiotic efflux", - "start": 1623302, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "ENGLJAIC_03503": { - "accession": 1437, - "card_aro": 3000502, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1623740, - "gene": "AcrF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 95.24, - "name": "Multidrug export protein AcrF", - "resistance_mechanism": "antibiotic efflux", - "start": 1623516, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "ENGLJAIC_03504": { - "accession": 1445, - "card_aro": 3000499, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1624170, - "gene": "AcrE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 97.74, - "name": "Multidrug export protein AcrE", - "resistance_mechanism": "antibiotic efflux", - "start": 1623742, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "ENGLJAIC_03505": { - "accession": 1445, - "card_aro": 3000499, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1624446, - "gene": "AcrE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.36, - "name": "Multidrug export protein AcrE", - "resistance_mechanism": "antibiotic efflux", - "start": 1624270, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "ENGLJAIC_03506": { - "accession": 1445, - "card_aro": 3000499, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1624658, - "gene": "AcrE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 97.56, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 1624443, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "ENGLJAIC_03507": { - "accession": 1445, - "card_aro": 3000499, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1624910, - "gene": "AcrE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.49, - "name": "Multidrug export protein AcrE", - "resistance_mechanism": "antibiotic efflux", - "start": 1624719, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "ENGLJAIC_03508": { - "accession": 520, - "card_aro": 3000656, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1625638, - "gene": "AcrS", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 97.12, - "name": "HTH-type transcriptional regulator AcrR", - "resistance_mechanism": "antibiotic efflux", - "start": 1625309, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_03509": { - "accession": 520, - "card_aro": 3000656, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1625971, - "gene": "AcrS", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.55, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 1625795, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_03648": { - "accession": 2423, - "card_aro": 3003950, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1689806, - "gene": "msbA", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", - "identity": 100.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 1689705, - "subclass": "nitroimidazole antibiotic" - }, - "ENGLJAIC_03975": { - "accession": 1820, - "card_aro": 3002986, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1826320, - "gene": "bacA", - "gene_family": "undecaprenyl pyrophosphate related proteins", - "identity": 98.9, - "name": "Undecaprenyl-diphosphatase", - "resistance_mechanism": "antibiotic target alteration", - "start": 1825499, - "subclass": "peptide antibiotic" - }, - "ENGLJAIC_04035": { - "accession": 826, - "card_aro": 3000237, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1855075, - "gene": "TolC", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 95.45, - "name": "type_I_sec_TolC: type I secretion outer membrane protein, TolC family", - "resistance_mechanism": "antibiotic efflux", - "start": 1854881, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; aminoglycoside antibiotic; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; peptide antibiotic; aminocoumarin antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" - }, - "ENGLJAIC_04036": { - "accession": 826, - "card_aro": 3000237, - "contig": "contig_2", - "cut_off": "Strict", - "end": 1855304, - "gene": "TolC", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.63, - "name": "Outer membrane protein TolC", - "resistance_mechanism": "antibiotic efflux", - "start": 1855062, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; aminoglycoside antibiotic; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; peptide antibiotic; aminocoumarin antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" - }, - "ENGLJAIC_04652": { - "accession": 1246, - "card_aro": 3002525, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2135426, - "gene": "AAC(2')-Ic", - "gene_family": "AAC(2')", - "identity": 100.0, - "name": "Single-stranded-DNA-specific exonuclease RecJ", - "resistance_mechanism": "antibiotic inactivation", - "start": 2135265, - "subclass": "aminoglycoside antibiotic" - }, - "ENGLJAIC_04970": { - "accession": 5746, - "card_aro": 3007033, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2279938, - "gene": "Erm(51)", - "gene_family": "Erm 23S ribosomal RNA methyltransferase", - "identity": 100.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic target alteration", - "start": 2279693, - "subclass": "macrolide antibiotic; lincosamide antibiotic; streptogramin antibiotic; streptogramin B antibiotic" - }, - "ENGLJAIC_05209": { - "accession": 1757, - "card_aro": 3000027, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2378148, - "gene": "emrA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 97.31, - "name": "Multidrug export protein EmrA", - "resistance_mechanism": "antibiotic efflux", - "start": 2377144, - "subclass": "fluoroquinolone antibiotic" - }, - "ENGLJAIC_05210": { - "accession": 1757, - "card_aro": 3000027, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2378315, - "gene": "emrA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 2378100, - "subclass": "fluoroquinolone antibiotic" - }, - "ENGLJAIC_05211": { - "accession": 1330, - "card_aro": 3000516, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2378797, - "gene": "emrR", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 2378312, - "subclass": "fluoroquinolone antibiotic" - }, - "ENGLJAIC_05212": { - "accession": 1330, - "card_aro": 3000516, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2378970, - "gene": "emrR", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 96.3, - "name": "Transcriptional repressor MprA", - "resistance_mechanism": "antibiotic efflux", - "start": 2378788, - "subclass": "fluoroquinolone antibiotic" - }, - "ENGLJAIC_05714": { - "accession": 1427, - "card_aro": 3000491, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2608709, - "gene": "acrD", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "2A0602: RND transporter, hydrophobe/amphiphile efflux-1 (HAE1) family", - "resistance_mechanism": "antibiotic efflux", - "start": 2608488, - "subclass": "aminoglycoside antibiotic" - }, - "ENGLJAIC_05715": { - "accession": 1427, - "card_aro": 3000491, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2609112, - "gene": "acrD", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.55, - "name": "2A0602: RND transporter, hydrophobe/amphiphile efflux-1 (HAE1) family", - "resistance_mechanism": "antibiotic efflux", - "start": 2608777, - "subclass": "aminoglycoside antibiotic" - }, - "ENGLJAIC_05717": { - "accession": 1427, - "card_aro": 3000491, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2609827, - "gene": "acrD", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 97.16, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 2609357, - "subclass": "aminoglycoside antibiotic" - }, - "ENGLJAIC_05718": { - "accession": 1427, - "card_aro": 3000491, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2610038, - "gene": "acrD", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.63, - "name": "Multidrug export protein AcrF", - "resistance_mechanism": "antibiotic efflux", - "start": 2609769, - "subclass": "aminoglycoside antibiotic" - }, - "ENGLJAIC_05720": { - "accession": 1427, - "card_aro": 3000491, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2610726, - "gene": "acrD", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.33, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 2610256, - "subclass": "aminoglycoside antibiotic" - }, - "ENGLJAIC_05721": { - "accession": 1427, - "card_aro": 3000491, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2611622, - "gene": "acrD", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.63, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 2610708, - "subclass": "aminoglycoside antibiotic" - }, - "ENGLJAIC_06172": { - "accession": 2014, - "card_aro": 3003578, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2816114, - "gene": "PmrF", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 97.62, - "name": "Undecaprenyl-phosphate 4-deoxy-4-formamido-L-arabinose transferase", - "resistance_mechanism": "antibiotic target alteration", - "start": 2815950, - "subclass": "peptide antibiotic" - }, - "ENGLJAIC_06173": { - "accession": 2014, - "card_aro": 3003578, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2816322, - "gene": "PmrF", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 98.44, - "name": "Undecaprenyl-phosphate 4-deoxy-4-formamido-L-arabinose transferase", - "resistance_mechanism": "antibiotic target alteration", - "start": 2816098, - "subclass": "peptide antibiotic" - }, - "ENGLJAIC_06208": { - "accession": 2372, - "card_aro": 3003889, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2832187, - "gene": "Escherichia coli GlpT with mutation conferring resistance to fosfomycin", - "gene_family": "antibiotic-resistant GlpT", - "identity": 98.85, - "name": "Glycerol-3-phosphate transporter", - "resistance_mechanism": "antibiotic target alteration", - "start": 2831924, - "subclass": "phosphonic acid antibiotic" - }, - "ENGLJAIC_06285": { - "accession": 2271, - "card_aro": 3000510, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2870483, - "gene": "Staphylococcus aureus mupB conferring resistance to mupirocin", - "gene_family": "antibiotic-resistant isoleucyl-tRNA synthetase (ileS)", - "identity": 100.0, - "name": "Outer membrane porin C", - "resistance_mechanism": "antibiotic target alteration", - "start": 2870355, - "subclass": "mupirocin-like antibiotic" - }, - "ENGLJAIC_06294": { - "accession": 2424, - "card_aro": 3003952, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2874556, - "gene": "YojI", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", - "identity": 100.0, - "name": "ABC transporter ATP-binding/permease protein YojI", - "resistance_mechanism": "antibiotic efflux", - "start": 2874224, - "subclass": "peptide antibiotic" - }, - "ENGLJAIC_06295": { - "accession": 2424, - "card_aro": 3003952, - "contig": "contig_2", - "cut_off": "Strict", - "end": 2875301, - "gene": "YojI", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", - "identity": 96.44, - "name": "ABC transporter ATP-binding/permease protein YojI", - "resistance_mechanism": "antibiotic efflux", - "start": 2874606, - "subclass": "peptide antibiotic" - }, - "ENGLJAIC_06627": { - "accession": 1337, - "card_aro": 3000828, - "contig": "contig_2", - "cut_off": "Strict", - "end": 3018357, - "gene": "baeR", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.68, - "name": "Transcriptional regulatory protein BaeR", - "resistance_mechanism": "antibiotic efflux", - "start": 3018079, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "ENGLJAIC_06628": { - "accession": 986, - "card_aro": 3000829, - "contig": "contig_2", - "cut_off": "Strict", - "end": 3019719, - "gene": "baeS", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.46, - "name": "Signal transduction histidine-protein kinase BaeS", - "resistance_mechanism": "antibiotic efflux", - "start": 3019120, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "ENGLJAIC_06629": { - "accession": 986, - "card_aro": 3000829, - "contig": "contig_2", - "cut_off": "Strict", - "end": 3020227, - "gene": "baeS", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 95.21, - "name": "Signal transduction histidine-protein kinase BaeS", - "resistance_mechanism": "antibiotic efflux", - "start": 3019784, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "ENGLJAIC_06633": { - "accession": 1315, - "card_aro": 3000794, - "contig": "contig_2", - "cut_off": "Strict", - "end": 3022240, - "gene": "mdtC", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 95.83, - "name": "Multidrug resistance protein MdtC", - "resistance_mechanism": "antibiotic efflux", - "start": 3021944, - "subclass": "aminocoumarin antibiotic" - }, - "ENGLJAIC_06636": { - "accession": 1315, - "card_aro": 3000794, - "contig": "contig_2", - "cut_off": "Strict", - "end": 3022983, - "gene": "mdtC", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.25, - "name": "Multidrug resistance protein MdtC", - "resistance_mechanism": "antibiotic efflux", - "start": 3022774, - "subclass": "aminocoumarin antibiotic" - }, - "ENGLJAIC_06647": { - "accession": 820, - "card_aro": 3000793, - "contig": "contig_2", - "cut_off": "Strict", - "end": 3027207, - "gene": "mdtB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.86, - "name": "Multidrug resistance protein MdtB", - "resistance_mechanism": "antibiotic efflux", - "start": 3026851, - "subclass": "aminocoumarin antibiotic" - }, - "ENGLJAIC_06648": { - "accession": 820, - "card_aro": 3000793, - "contig": "contig_2", - "cut_off": "Strict", - "end": 3027643, - "gene": "mdtB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Multidrug resistance protein MdtB", - "resistance_mechanism": "antibiotic efflux", - "start": 3027443, - "subclass": "aminocoumarin antibiotic" - }, - "ENGLJAIC_06649": { - "accession": 820, - "card_aro": 3000793, - "contig": "contig_2", - "cut_off": "Strict", - "end": 3027795, - "gene": "mdtB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 97.73, - "name": "Multidrug resistance protein MdtB", - "resistance_mechanism": "antibiotic efflux", - "start": 3027640, - "subclass": "aminocoumarin antibiotic" - }, - "ENGLJAIC_06759": { - "accession": 842, - "card_aro": 3003577, - "contig": "contig_2", - "cut_off": "Strict", - "end": 3083319, - "gene": "ugd", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 98.55, - "name": "UDP-glucose 6-dehydrogenase", - "resistance_mechanism": "antibiotic target alteration", - "start": 3082150, - "subclass": "peptide antibiotic" - }, - "ENGLJAIC_06894": { - "accession": 5638, - "card_aro": 3006981, - "contig": "contig_2", - "cut_off": "Strict", - "end": 3150409, - "gene": "RSA2-1", - "gene_family": "RSA2 beta-lactamase", - "identity": 100.0, - "name": "Adenosylcobinamide-GDP ribazoletransferase", - "resistance_mechanism": "antibiotic inactivation", - "start": 3150200, - "subclass": "carbapenem" - }, - "ENGLJAIC_08032": { - "accession": 431, - "card_aro": 3003378, - "contig": "contig_2", - "cut_off": "Strict", - "end": 3675342, - "gene": "Escherichia coli AcrAB-TolC with MarR mutations conferring resistance to ciprofloxacin and tetracycline", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.0, - "name": "Multiple antibiotic resistance protein MarR", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", - "start": 3675154, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_08631": { - "accession": 1248, - "card_aro": 3000676, - "contig": "contig_2", - "cut_off": "Strict", - "end": 3935755, - "gene": "H-NS", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 3935342, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; cephalosporin; cephamycin; penam; tetracycline antibiotic" - }, - "ENGLJAIC_08809": { - "accession": 5342, - "card_aro": 3006582, - "contig": "contig_2", - "cut_off": "Strict", - "end": 4019653, - "gene": "PDC-203", - "gene_family": "PDC beta-lactamase", - "identity": 100.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic inactivation", - "start": 4019333, - "subclass": "monobactam; carbapenem; cephalosporin" - }, - "ENGLJAIC_09390": { - "accession": 1367, - "card_aro": 3000865, - "contig": "contig_2", - "cut_off": "Strict", - "end": 4273217, - "gene": "oleD", - "gene_family": "ole glycosyltransferase", - "identity": 100.0, - "name": "Ferric enterobactin receptor", - "resistance_mechanism": "antibiotic inactivation", - "start": 4272969, - "subclass": "macrolide antibiotic" - }, - "ENGLJAIC_09788": { - "accession": 2423, - "card_aro": 3003950, - "contig": "contig_2", - "cut_off": "Strict", - "end": 4454443, - "gene": "msbA", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", - "identity": 98.85, - "name": "Lipid A export ATP-binding/permease protein MsbA", - "resistance_mechanism": "antibiotic efflux", - "start": 4454180, - "subclass": "nitroimidazole antibiotic" - }, - "ENGLJAIC_10054": { - "accession": 37, - "card_aro": 3001328, - "contig": "contig_2", - "cut_off": "Strict", - "end": 4568145, - "gene": "Escherichia coli mdfA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 96.5, - "name": "Multidrug transporter MdfA", - "resistance_mechanism": "antibiotic efflux", - "start": 4567666, - "subclass": "tetracycline antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_10380": { - "accession": 2331, - "card_aro": 3003841, - "contig": "contig_2", - "cut_off": "Strict", - "end": 4711461, - "gene": "kdpE", - "gene_family": "kdpDE", - "identity": 99.5, - "name": "KDP operon transcriptional regulatory protein KdpE", - "resistance_mechanism": "antibiotic efflux", - "start": 4710814, - "subclass": "aminoglycoside antibiotic" - }, - "ENGLJAIC_10853": { - "accession": 2306, - "card_aro": 3003807, - "contig": "contig_2", - "cut_off": "Strict", - "end": 4912473, - "gene": "Escherichia coli AcrAB-TolC with AcrR mutation conferring resistance to ciprofloxacin, tetracycline, and ceftazidime", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.06, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", - "start": 4911952, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_10854": { - "accession": 2661, - "card_aro": 3004043, - "contig": "contig_2", - "cut_off": "Strict", - "end": 4913814, - "gene": "Escherichia coli acrA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.7, - "name": "Multidrug efflux pump subunit AcrA", - "resistance_mechanism": "antibiotic efflux", - "start": 4912867, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_10856": { - "accession": 1104, - "card_aro": 3000216, - "contig": "contig_2", - "cut_off": "Strict", - "end": 4914772, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.67, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 4914524, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_10857": { - "accession": 1104, - "card_aro": 3000216, - "contig": "contig_2", - "cut_off": "Strict", - "end": 4915337, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 97.78, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 4915020, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_10858": { - "accession": 1104, - "card_aro": 3000216, - "contig": "contig_2", - "cut_off": "Strict", - "end": 4915680, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 97.09, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 4915300, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_10860": { - "accession": 1104, - "card_aro": 3000216, - "contig": "contig_2", - "cut_off": "Strict", - "end": 4916574, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.1, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 4915918, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_10862": { - "accession": 1104, - "card_aro": 3000216, - "contig": "contig_2", - "cut_off": "Strict", - "end": 4917147, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Multidrug resistance protein MdtC", - "resistance_mechanism": "antibiotic efflux", - "start": 4916848, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "ENGLJAIC_11557": { - "accession": 1318, - "card_aro": 3000833, - "contig": "contig_3", - "cut_off": "Strict", - "end": 8886, - "gene": "evgS", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 97.84, - "name": "Sensor protein EvgS", - "resistance_mechanism": "antibiotic efflux", - "start": 8458, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" - }, - "ENGLJAIC_11559": { - "accession": 1318, - "card_aro": 3000833, - "contig": "contig_3", - "cut_off": "Strict", - "end": 9924, - "gene": "evgS", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Sensor protein EvgS", - "resistance_mechanism": "antibiotic efflux", - "start": 9622, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" - }, - "ENGLJAIC_11560": { - "accession": 1318, - "card_aro": 3000833, - "contig": "contig_3", - "cut_off": "Strict", - "end": 10194, - "gene": "evgS", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.43, - "name": "Sensor protein EvgS", - "resistance_mechanism": "antibiotic efflux", - "start": 9997, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" - }, - "ENGLJAIC_11564": { - "accession": 1015, - "card_aro": 3000832, - "contig": "contig_3", - "cut_off": "Strict", - "end": 11752, - "gene": "evgA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 95.83, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 11504, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" - }, - "ENGLJAIC_11565": { - "accession": 1015, - "card_aro": 3000832, - "contig": "contig_3", - "cut_off": "Strict", - "end": 11807, - "gene": "evgA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 11703, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" - }, - "ENGLJAIC_11567": { - "accession": 1015, - "card_aro": 3000832, - "contig": "contig_3", - "cut_off": "Strict", - "end": 12103, - "gene": "evgA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "DNA-binding transcriptional activator EvgA", - "resistance_mechanism": "antibiotic efflux", - "start": 11969, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" - }, - "ENGLJAIC_11568": { - "accession": 609, - "card_aro": 3000206, - "contig": "contig_3", - "cut_off": "Strict", - "end": 13140, - "gene": "emrK", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 96.93, - "name": "putative multidrug resistance protein EmrK", - "resistance_mechanism": "antibiotic efflux", - "start": 12643, - "subclass": "tetracycline antibiotic" - }, - "ENGLJAIC_11571": { - "accession": 540, - "card_aro": 3000254, - "contig": "contig_3", - "cut_off": "Strict", - "end": 13976, - "gene": "emrY", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 98.92, - "name": "putative multidrug resistance protein EmrY", - "resistance_mechanism": "antibiotic efflux", - "start": 13683, - "subclass": "tetracycline antibiotic" - }, - "ENGLJAIC_11572": { - "accession": 540, - "card_aro": 3000254, - "contig": "contig_3", - "cut_off": "Strict", - "end": 14476, - "gene": "emrY", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 98.16, - "name": "putative multidrug resistance protein EmrY", - "resistance_mechanism": "antibiotic efflux", - "start": 13976, - "subclass": "tetracycline antibiotic" - }, - "ENGLJAIC_11573": { - "accession": 540, - "card_aro": 3000254, - "contig": "contig_3", - "cut_off": "Strict", - "end": 14773, - "gene": "emrY", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 98.21, - "name": "putative multidrug resistance protein EmrY", - "resistance_mechanism": "antibiotic efflux", - "start": 14564, - "subclass": "tetracycline antibiotic" - }, - "ENGLJAIC_11574": { - "accession": 540, - "card_aro": 3000254, - "contig": "contig_3", - "cut_off": "Strict", - "end": 15219, - "gene": "emrY", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "putative multidrug resistance protein EmrY", - "resistance_mechanism": "antibiotic efflux", - "start": 14944, - "subclass": "tetracycline antibiotic" - }, - "total": 92 - } - }, - "results_dir": "/home/falmeida/Documents/GitHub/pythonScripts/_ANNOTATION/ecoli_2", - "sample": "ecoli_2", - "virulence": { - "VFDB": { - "ENGLJAIC_04435": { - "chr": "contig_2", - "end": 2039276, - "gene": "papE", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 2038716, - "virulence_factor": "P_fimbriae" - }, - "ENGLJAIC_07123": { - "chr": "contig_2", - "end": 3267356, - "gene": "tcpC", - "id": "VF0413", - "product": "TcpC_(VF0413)_Immune_modulation_(VFC0258)", - "start": 3266472, - "virulence_factor": "TcpC" - }, - "ENGLJAIC_09292": { - "chr": "contig_2", - "end": 4228063, - "gene": "cgsF", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 4227662, - "virulence_factor": "Curli_fibers" - }, - "ENGLJAIC_10602": { - "chr": "contig_2", - "end": 4802591, - "gene": "entA", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 4801899, - "virulence_factor": "Enterobactin" - }, - "ENGLJAIC_10620": { - "chr": "contig_2", - "end": 4811606, - "gene": "fepC", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 4810791, - "virulence_factor": "Enterobactin" - }, - "total": 5 - }, - "Victors": { - "ENGLJAIC_00668": { - "contig": "contig_2", - "end": 304454, - "id": "15804920", - "name": "putative_restriction_modification_enzyme_S_subunit", - "product": "gi|15804920|ref|NP_290962.1|putative_restriction_modification_enzyme_S_subunit_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 304254 - }, - "ENGLJAIC_01006": { - "contig": "contig_2", - "end": 464089, - "id": "82546588", - "name": "tRNA_delta(2)-isopentenylpyrophosphate_transferase", - "product": "gi|82546588|ref|YP_410535.1|tRNA_delta(2)-isopentenylpyrophosphate_transferase_[Shigella_boydii_Sb227]", - "start": 463202 - }, - "ENGLJAIC_05997": { - "contig": "contig_2", - "end": 2741627, - "id": "16761308", - "name": "chorismate_synthase", - "product": "gi|16761308|ref|NP_456925.1|chorismate_synthase_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", - "start": 2740542 - }, - "ENGLJAIC_08532": { - "contig": "contig_2", - "end": 3893133, - "id": "15801901", - "name": "aconitate_hydratase", - "product": "gi|15801901|ref|NP_287921.1|aconitate_hydratase_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 3892924 - }, - "ENGLJAIC_09416": { - "contig": "contig_2", - "end": 4285093, - "id": "26247113", - "name": "F1C_major_fimbrial_subunit_precursor", - "product": "gi|26247113|ref|NP_753153.1|F1C_major_fimbrial_subunit_precursor_[Escherichia_coli_CFT073]", - "start": 4284881 - }, - "total": 5 - } - } - }, - "ecoli_3": { - "MGE": {}, - "general_annotation": { - "cds": 10148, - "closest_reference": { - "accession": "GCF_000456485.1", - "distance": 0.0144670999999999, - "strain": "Escherichia coli HVH 31 (4-2602156)" - }, - "mlst": "null", - "rrna": 15, - "tmrna": 1, - "trna": 82 - }, - "plasmid": { - "plasmidfinder": {}, - "platon": {} - }, - "resistance": { - "amrfinderplus": { - "NPFEELLH_02173": { - "card_aro": null, - "contig": "contig_26", - "end": 141186, - "gene": "ymgB", - "identity": 94.32, - "start": 140920, - "subclass": null, - "type": "STRESS" - }, - "total": 1 - }, - "resfinder": { - "total": 0 - }, - "rgi": { - "NPFEELLH_00115": { - "accession": 906, - "card_aro": 3003176, - "contig": "contig_1", - "cut_off": "Strict", - "end": 59526, - "gene": "CARB-21", - "gene_family": "CARB beta-lactamase", - "identity": 100.0, - "name": "phage_tail_L: phage minor tail protein L", - "resistance_mechanism": "antibiotic inactivation", - "start": 59245, - "subclass": "penam" - }, - "NPFEELLH_00460": { - "accession": 5921, - "card_aro": 3003843, - "contig": "contig_10", - "cut_off": "Strict", - "end": 95571, - "gene": "leuO", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "HTH-type transcriptional regulator LeuO", - "resistance_mechanism": "antibiotic efflux", - "start": 95374, - "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_00692": { - "accession": 1318, - "card_aro": 3000833, - "contig": "contig_11", - "cut_off": "Strict", - "end": 31182, - "gene": "evgS", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 97.24, - "name": "Sensor protein EvgS", - "resistance_mechanism": "antibiotic efflux", - "start": 28684, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" - }, - "NPFEELLH_00694": { - "accession": 1015, - "card_aro": 3000832, - "contig": "contig_11", - "cut_off": "Strict", - "end": 32897, - "gene": "evgA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "DNA-binding transcriptional activator EvgA", - "resistance_mechanism": "antibiotic efflux", - "start": 32706, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" - }, - "NPFEELLH_00695": { - "accession": 609, - "card_aro": 3000206, - "contig": "contig_11", - "cut_off": "Strict", - "end": 34256, - "gene": "emrK", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 98.76, - "name": "putative multidrug resistance protein EmrK", - "resistance_mechanism": "antibiotic efflux", - "start": 33312, - "subclass": "tetracycline antibiotic" - }, - "NPFEELLH_00697": { - "accession": 540, - "card_aro": 3000254, - "contig": "contig_11", - "cut_off": "Strict", - "end": 35661, - "gene": "emrY", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 99.61, - "name": "putative multidrug resistance protein EmrY", - "resistance_mechanism": "antibiotic efflux", - "start": 34828, - "subclass": "tetracycline antibiotic" - }, - "NPFEELLH_00698": { - "accession": 540, - "card_aro": 3000254, - "contig": "contig_11", - "cut_off": "Strict", - "end": 36010, - "gene": "emrY", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "putative multidrug resistance protein EmrY", - "resistance_mechanism": "antibiotic efflux", - "start": 35684, - "subclass": "tetracycline antibiotic" - }, - "NPFEELLH_01659": { - "accession": 869, - "card_aro": 3000518, - "contig": "contig_21", - "cut_off": "Strict", - "end": 135748, - "gene": "CRP", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 95.56, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 135344, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "NPFEELLH_01694": { - "accession": 2158, - "card_aro": 3003369, - "contig": "contig_21", - "cut_off": "Strict", - "end": 151049, - "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", - "gene_family": "elfamycin resistant EF-Tu", - "identity": 99.57, - "name": "Elongation factor Tu 2", - "resistance_mechanism": "antibiotic target alteration", - "start": 150327, - "subclass": "elfamycin antibiotic" - }, - "NPFEELLH_02019": { - "accession": 1248, - "card_aro": 3000676, - "contig": "contig_26", - "cut_off": "Strict", - "end": 59553, - "gene": "H-NS", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.97, - "name": "DNA-binding protein H-NS", - "resistance_mechanism": "antibiotic efflux", - "start": 59440, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; cephalosporin; cephamycin; penam; tetracycline antibiotic" - }, - "NPFEELLH_02020": { - "accession": 1248, - "card_aro": 3000676, - "contig": "contig_26", - "cut_off": "Strict", - "end": 59843, - "gene": "H-NS", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 59547, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; cephalosporin; cephamycin; penam; tetracycline antibiotic" - }, - "NPFEELLH_02306": { - "accession": 2158, - "card_aro": 3003369, - "contig": "contig_30", - "cut_off": "Strict", - "end": 9777, - "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", - "gene_family": "elfamycin resistant EF-Tu", - "identity": 100.0, - "name": "Elongation factor Tu 2", - "resistance_mechanism": "antibiotic target alteration", - "start": 8941, - "subclass": "elfamycin antibiotic" - }, - "NPFEELLH_02817": { - "accession": 1427, - "card_aro": 3000491, - "contig": "contig_34", - "cut_off": "Strict", - "end": 26765, - "gene": "acrD", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "2A0602: RND transporter, hydrophobe/amphiphile efflux-1 (HAE1) family", - "resistance_mechanism": "antibiotic efflux", - "start": 26664, - "subclass": "aminoglycoside antibiotic" - }, - "NPFEELLH_02818": { - "accession": 1427, - "card_aro": 3000491, - "contig": "contig_34", - "cut_off": "Strict", - "end": 27248, - "gene": "acrD", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Multidrug resistance protein MexB", - "resistance_mechanism": "antibiotic efflux", - "start": 26952, - "subclass": "aminoglycoside antibiotic" - }, - "NPFEELLH_02823": { - "accession": 1427, - "card_aro": 3000491, - "contig": "contig_34", - "cut_off": "Strict", - "end": 29443, - "gene": "acrD", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.02, - "name": "Multidrug resistance protein MexB", - "resistance_mechanism": "antibiotic efflux", - "start": 29123, - "subclass": "aminoglycoside antibiotic" - }, - "NPFEELLH_02825": { - "accession": 1427, - "card_aro": 3000491, - "contig": "contig_34", - "cut_off": "Strict", - "end": 29827, - "gene": "acrD", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.04, - "name": "Multidrug export protein AcrF", - "resistance_mechanism": "antibiotic efflux", - "start": 29645, - "subclass": "aminoglycoside antibiotic" - }, - "NPFEELLH_02956": { - "accession": 1437, - "card_aro": 3000502, - "contig": "contig_37", - "cut_off": "Strict", - "end": 11974, - "gene": "AcrF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.1, - "name": "Multidrug export protein AcrF", - "resistance_mechanism": "antibiotic efflux", - "start": 10634, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "NPFEELLH_02957": { - "accession": 1437, - "card_aro": 3000502, - "contig": "contig_37", - "cut_off": "Strict", - "end": 12435, - "gene": "AcrF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.35, - "name": "Multidrug export protein AcrF", - "resistance_mechanism": "antibiotic efflux", - "start": 11959, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "NPFEELLH_02958": { - "accession": 1437, - "card_aro": 3000502, - "contig": "contig_37", - "cut_off": "Strict", - "end": 13736, - "gene": "AcrF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.83, - "name": "Multidrug export protein AcrF", - "resistance_mechanism": "antibiotic efflux", - "start": 12408, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "NPFEELLH_02959": { - "accession": 1445, - "card_aro": 3000499, - "contig": "contig_37", - "cut_off": "Strict", - "end": 14596, - "gene": "AcrE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.2, - "name": "Multidrug export protein AcrE", - "resistance_mechanism": "antibiotic efflux", - "start": 13748, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "NPFEELLH_02960": { - "accession": 1445, - "card_aro": 3000499, - "contig": "contig_37", - "cut_off": "Strict", - "end": 14906, - "gene": "AcrE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.12, - "name": "Multidrug export protein AcrE", - "resistance_mechanism": "antibiotic efflux", - "start": 14562, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "NPFEELLH_02961": { - "accession": 520, - "card_aro": 3000656, - "contig": "contig_37", - "cut_off": "Strict", - "end": 15950, - "gene": "AcrS", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.59, - "name": "HTH-type transcriptional regulator AcrR", - "resistance_mechanism": "antibiotic efflux", - "start": 15303, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_03078": { - "accession": 2423, - "card_aro": 3003950, - "contig": "contig_37", - "cut_off": "Strict", - "end": 79966, - "gene": "msbA", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", - "identity": 100.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 79865, - "subclass": "nitroimidazole antibiotic" - }, - "NPFEELLH_03337": { - "accession": 1820, - "card_aro": 3002986, - "contig": "contig_37", - "cut_off": "Strict", - "end": 216115, - "gene": "bacA", - "gene_family": "undecaprenyl pyrophosphate related proteins", - "identity": 100.0, - "name": "Undecaprenyl-diphosphatase", - "resistance_mechanism": "antibiotic target alteration", - "start": 215774, - "subclass": "peptide antibiotic" - }, - "NPFEELLH_03995": { - "accession": 4594, - "card_aro": 3006880, - "contig": "contig_40", - "cut_off": "Strict", - "end": 89680, - "gene": "EC-5", - "gene_family": "EC beta-lactamase", - "identity": 98.96, - "name": "Beta-lactamase", - "resistance_mechanism": "antibiotic inactivation", - "start": 89390, - "subclass": "cephalosporin" - }, - "NPFEELLH_03997": { - "accession": 4594, - "card_aro": 3006880, - "contig": "contig_40", - "cut_off": "Strict", - "end": 90264, - "gene": "EC-5", - "gene_family": "EC beta-lactamase", - "identity": 100.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic inactivation", - "start": 89908, - "subclass": "cephalosporin" - }, - "NPFEELLH_04721": { - "accession": 1337, - "card_aro": 3000828, - "contig": "contig_43", - "cut_off": "Strict", - "end": 145324, - "gene": "baeR", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 95.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 145016, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "NPFEELLH_04722": { - "accession": 1337, - "card_aro": 3000828, - "contig": "contig_43", - "cut_off": "Strict", - "end": 145446, - "gene": "baeR", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.77, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 145300, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "NPFEELLH_04723": { - "accession": 1337, - "card_aro": 3000828, - "contig": "contig_43", - "cut_off": "Strict", - "end": 145858, - "gene": "baeR", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.6, - "name": "Transcriptional regulatory protein BaeR", - "resistance_mechanism": "antibiotic efflux", - "start": 145388, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "NPFEELLH_04724": { - "accession": 986, - "card_aro": 3000829, - "contig": "contig_43", - "cut_off": "Strict", - "end": 146190, - "gene": "baeS", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 95.5, - "name": "Signal transduction histidine-protein kinase BaeS", - "resistance_mechanism": "antibiotic efflux", - "start": 145855, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "NPFEELLH_04725": { - "accession": 986, - "card_aro": 3000829, - "contig": "contig_43", - "cut_off": "Strict", - "end": 146362, - "gene": "baeS", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Signal transduction histidine-protein kinase BaeS", - "resistance_mechanism": "antibiotic efflux", - "start": 146180, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "NPFEELLH_04733": { - "accession": 1315, - "card_aro": 3000794, - "contig": "contig_43", - "cut_off": "Strict", - "end": 149244, - "gene": "mdtC", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.92, - "name": "Multidrug resistance protein MdtC", - "resistance_mechanism": "antibiotic efflux", - "start": 148981, - "subclass": "aminocoumarin antibiotic" - }, - "NPFEELLH_04932": { - "accession": 842, - "card_aro": 3003577, - "contig": "contig_45", - "cut_off": "Strict", - "end": 55300, - "gene": "ugd", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 100.0, - "name": "UDP-glucose 6-dehydrogenase", - "resistance_mechanism": "antibiotic target alteration", - "start": 55106, - "subclass": "peptide antibiotic" - }, - "NPFEELLH_04934": { - "accession": 842, - "card_aro": 3003577, - "contig": "contig_45", - "cut_off": "Strict", - "end": 55953, - "gene": "ugd", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 98.7, - "name": "UDP-glucose 6-dehydrogenase", - "resistance_mechanism": "antibiotic target alteration", - "start": 55717, - "subclass": "peptide antibiotic" - }, - "NPFEELLH_04935": { - "accession": 842, - "card_aro": 3003577, - "contig": "contig_45", - "cut_off": "Strict", - "end": 56235, - "gene": "ugd", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 97.47, - "name": "UDP-glucose 6-dehydrogenase", - "resistance_mechanism": "antibiotic target alteration", - "start": 55993, - "subclass": "peptide antibiotic" - }, - "NPFEELLH_05067": { - "accession": 2423, - "card_aro": 3003950, - "contig": "contig_47", - "cut_off": "Strict", - "end": 42020, - "gene": "msbA", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", - "identity": 100.0, - "name": "Lipid A export ATP-binding/permease protein MsbA", - "resistance_mechanism": "antibiotic efflux", - "start": 41754, - "subclass": "nitroimidazole antibiotic" - }, - "NPFEELLH_05324": { - "accession": 2331, - "card_aro": 3003841, - "contig": "contig_50", - "cut_off": "Strict", - "end": 30476, - "gene": "kdpE", - "gene_family": "kdpDE", - "identity": 97.84, - "name": "KDP operon transcriptional regulatory protein KdpE", - "resistance_mechanism": "antibiotic efflux", - "start": 30009, - "subclass": "aminoglycoside antibiotic" - }, - "NPFEELLH_05325": { - "accession": 2331, - "card_aro": 3003841, - "contig": "contig_50", - "cut_off": "Strict", - "end": 30687, - "gene": "kdpE", - "gene_family": "kdpDE", - "identity": 98.67, - "name": "KDP operon transcriptional regulatory protein KdpE", - "resistance_mechanism": "antibiotic efflux", - "start": 30457, - "subclass": "aminoglycoside antibiotic" - }, - "NPFEELLH_05782": { - "accession": 2424, - "card_aro": 3003952, - "contig": "contig_52", - "cut_off": "Strict", - "end": 21439, - "gene": "YojI", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", - "identity": 98.8, - "name": "ABC transporter ATP-binding/permease protein YojI", - "resistance_mechanism": "antibiotic efflux", - "start": 20936, - "subclass": "peptide antibiotic" - }, - "NPFEELLH_05783": { - "accession": 2424, - "card_aro": 3003952, - "contig": "contig_52", - "cut_off": "Strict", - "end": 22358, - "gene": "YojI", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", - "identity": 98.74, - "name": "ABC transporter ATP-binding/permease protein YojI", - "resistance_mechanism": "antibiotic efflux", - "start": 21879, - "subclass": "peptide antibiotic" - }, - "NPFEELLH_05857": { - "accession": 2306, - "card_aro": 3003807, - "contig": "contig_53", - "cut_off": "Strict", - "end": 25321, - "gene": "Escherichia coli AcrAB-TolC with AcrR mutation conferring resistance to ciprofloxacin, tetracycline, and ceftazidime", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", - "start": 25142, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_05858": { - "accession": 2661, - "card_aro": 3004043, - "contig": "contig_53", - "cut_off": "Strict", - "end": 26367, - "gene": "Escherichia coli acrA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.85, - "name": "Multidrug efflux pump subunit AcrA", - "resistance_mechanism": "antibiotic efflux", - "start": 25420, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_05859": { - "accession": 2661, - "card_aro": 3004043, - "contig": "contig_53", - "cut_off": "Strict", - "end": 26605, - "gene": "Escherichia coli acrA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "RND_mfp: efflux transporter, RND family, MFP subunit", - "resistance_mechanism": "antibiotic efflux", - "start": 26333, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_05860": { - "accession": 1104, - "card_aro": 3000216, - "contig": "contig_53", - "cut_off": "Strict", - "end": 27059, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 26715, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_05861": { - "accession": 1104, - "card_aro": 3000216, - "contig": "contig_53", - "cut_off": "Strict", - "end": 27352, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.11, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 27191, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_05863": { - "accession": 1104, - "card_aro": 3000216, - "contig": "contig_53", - "cut_off": "Strict", - "end": 28074, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 27856, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_05864": { - "accession": 1104, - "card_aro": 3000216, - "contig": "contig_53", - "cut_off": "Strict", - "end": 28759, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.12, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 28064, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_05865": { - "accession": 1104, - "card_aro": 3000216, - "contig": "contig_53", - "cut_off": "Strict", - "end": 29202, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.32, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 28807, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_05866": { - "accession": 1104, - "card_aro": 3000216, - "contig": "contig_53", - "cut_off": "Strict", - "end": 29536, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 29255, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_05867": { - "accession": 1104, - "card_aro": 3000216, - "contig": "contig_53", - "cut_off": "Strict", - "end": 29774, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.67, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 29529, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_06219": { - "accession": 37, - "card_aro": 3001328, - "contig": "contig_55", - "cut_off": "Strict", - "end": 11914, - "gene": "Escherichia coli mdfA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 98.67, - "name": "Multidrug transporter MdfA", - "resistance_mechanism": "antibiotic efflux", - "start": 11444, - "subclass": "tetracycline antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_06220": { - "accession": 37, - "card_aro": 3001328, - "contig": "contig_55", - "cut_off": "Strict", - "end": 12415, - "gene": "Escherichia coli mdfA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 96.52, - "name": "Multidrug transporter MdfA", - "resistance_mechanism": "antibiotic efflux", - "start": 12050, - "subclass": "tetracycline antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_06760": { - "accession": 2066, - "card_aro": 3003511, - "contig": "contig_63", - "cut_off": "Strict", - "end": 38422, - "gene": "Escherichia coli soxS with mutation conferring antibiotic resistance", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", - "identity": 100.0, - "name": "HTH-type transcriptional activator RhaR", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux; reduced permeability to antibiotic", - "start": 38045, - "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" - }, - "NPFEELLH_06761": { - "accession": 1005, - "card_aro": 3003381, - "contig": "contig_63", - "cut_off": "Strict", - "end": 38972, - "gene": "Escherichia coli soxR with mutation conferring antibiotic resistance", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.35, - "name": "Redox-sensitive transcriptional activator SoxR", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", - "start": 38508, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_07344": { - "accession": 516, - "card_aro": 3003576, - "contig": "contig_67", - "cut_off": "Strict", - "end": 77615, - "gene": "eptA", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 96.73, - "name": "Phosphoethanolamine transferase EptA", - "resistance_mechanism": "antibiotic target alteration", - "start": 76953, - "subclass": "peptide antibiotic" - }, - "NPFEELLH_07398": { - "accession": 1442, - "card_aro": 3003548, - "contig": "contig_67", - "cut_off": "Strict", - "end": 108129, - "gene": "mdtN", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 98.41, - "name": "Multidrug resistance protein MdtN", - "resistance_mechanism": "antibiotic efflux", - "start": 107938, - "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_08004": { - "accession": 2014, - "card_aro": 3003578, - "contig": "contig_73", - "cut_off": "Strict", - "end": 23181, - "gene": "PmrF", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 95.74, - "name": "Undecaprenyl-phosphate 4-deoxy-4-formamido-L-arabinose transferase", - "resistance_mechanism": "antibiotic target alteration", - "start": 22966, - "subclass": "peptide antibiotic" - }, - "NPFEELLH_08005": { - "accession": 2014, - "card_aro": 3003578, - "contig": "contig_73", - "cut_off": "Strict", - "end": 23332, - "gene": "PmrF", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 100.0, - "name": "Undecaprenyl-phosphate 4-deoxy-4-formamido-L-arabinose transferase", - "resistance_mechanism": "antibiotic target alteration", - "start": 23138, - "subclass": "peptide antibiotic" - }, - "NPFEELLH_08254": { - "accession": 431, - "card_aro": 3003378, - "contig": "contig_74", - "cut_off": "Strict", - "end": 77636, - "gene": "Escherichia coli AcrAB-TolC with MarR mutations conferring resistance to ciprofloxacin and tetracycline", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Multiple antibiotic resistance protein MarR", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", - "start": 77457, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_08255": { - "accession": 431, - "card_aro": 3003378, - "contig": "contig_74", - "cut_off": "Strict", - "end": 77782, - "gene": "Escherichia coli AcrAB-TolC with MarR mutations conferring resistance to ciprofloxacin and tetracycline", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", - "start": 77615, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_08256": { - "accession": 1922, - "card_aro": 3000263, - "contig": "contig_74", - "cut_off": "Strict", - "end": 78295, - "gene": "marA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", - "identity": 99.21, - "name": "Multiple antibiotic resistance protein MarA", - "resistance_mechanism": "antibiotic efflux; reduced permeability to antibiotic", - "start": 77912, - "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" - }, - "NPFEELLH_08571": { - "accession": 3791, - "card_aro": 3005047, - "contig": "contig_75", - "cut_off": "Strict", - "end": 136568, - "gene": "eptB", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 100.0, - "name": "Kdo(2)-lipid A phosphoethanolamine 7''-transferase", - "resistance_mechanism": "antibiotic target alteration", - "start": 136431, - "subclass": "peptide antibiotic" - }, - "NPFEELLH_09079": { - "accession": 1330, - "card_aro": 3000516, - "contig": "contig_79", - "cut_off": "Perfect", - "end": 50344, - "gene": "emrR", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "Transcriptional repressor MprA", - "resistance_mechanism": "antibiotic efflux", - "start": 49814, - "subclass": "fluoroquinolone antibiotic" - }, - "NPFEELLH_09080": { - "accession": 1757, - "card_aro": 3000027, - "contig": "contig_79", - "cut_off": "Strict", - "end": 50686, - "gene": "emrA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic efflux", - "start": 50471, - "subclass": "fluoroquinolone antibiotic" - }, - "NPFEELLH_09081": { - "accession": 1757, - "card_aro": 3000027, - "contig": "contig_79", - "cut_off": "Strict", - "end": 51643, - "gene": "emrA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 98.97, - "name": "Multidrug export protein EmrA", - "resistance_mechanism": "antibiotic efflux", - "start": 50756, - "subclass": "fluoroquinolone antibiotic" - }, - "NPFEELLH_09082": { - "accession": 1847, - "card_aro": 3000074, - "contig": "contig_79", - "cut_off": "Strict", - "end": 53198, - "gene": "emrB", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 99.8, - "name": "Multidrug export protein EmrB", - "resistance_mechanism": "antibiotic efflux", - "start": 51660, - "subclass": "fluoroquinolone antibiotic" - }, - "NPFEELLH_09861": { - "accession": 152, - "card_aro": 3000830, - "contig": "contig_83", - "cut_off": "Strict", - "end": 15859, - "gene": "cpxA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.55, - "name": "Sensor histidine kinase CpxA", - "resistance_mechanism": "antibiotic efflux", - "start": 15767, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "NPFEELLH_09862": { - "accession": 152, - "card_aro": 3000830, - "contig": "contig_83", - "cut_off": "Strict", - "end": 16245, - "gene": "cpxA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Sensor histidine kinase CpxA", - "resistance_mechanism": "antibiotic efflux", - "start": 15859, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "NPFEELLH_09864": { - "accession": 152, - "card_aro": 3000830, - "contig": "contig_83", - "cut_off": "Strict", - "end": 17011, - "gene": "cpxA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Sensor histidine kinase CpxA", - "resistance_mechanism": "antibiotic efflux", - "start": 16526, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "NPFEELLH_09945": { - "accession": 2205, - "card_aro": 3003692, - "contig": "contig_84", - "cut_off": "Strict", - "end": 4613, - "gene": "MexJ", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Multidrug resistance protein MdtB", - "resistance_mechanism": "antibiotic efflux", - "start": 4389, - "subclass": "macrolide antibiotic; tetracycline antibiotic; disinfecting agents and antiseptics" - }, - "NPFEELLH_10077": { - "accession": 121, - "card_aro": 3000796, - "contig": "contig_85", - "cut_off": "Strict", - "end": 28873, - "gene": "mdtF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.52, - "name": "Multidrug resistance protein MdtF", - "resistance_mechanism": "antibiotic efflux", - "start": 28193, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "NPFEELLH_10078": { - "accession": 121, - "card_aro": 3000796, - "contig": "contig_85", - "cut_off": "Strict", - "end": 29261, - "gene": "mdtF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 97.18, - "name": "Multidrug resistance protein MdtF", - "resistance_mechanism": "antibiotic efflux", - "start": 28815, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "NPFEELLH_10079": { - "accession": 121, - "card_aro": 3000796, - "contig": "contig_85", - "cut_off": "Strict", - "end": 29683, - "gene": "mdtF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.09, - "name": "Multidrug resistance protein MdtF", - "resistance_mechanism": "antibiotic efflux", - "start": 29327, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "NPFEELLH_10080": { - "accession": 121, - "card_aro": 3000796, - "contig": "contig_85", - "cut_off": "Strict", - "end": 31097, - "gene": "mdtF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.1, - "name": "Multidrug resistance protein MdtF", - "resistance_mechanism": "antibiotic efflux", - "start": 29745, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "NPFEELLH_10081": { - "accession": 1903, - "card_aro": 3000795, - "contig": "contig_85", - "cut_off": "Strict", - "end": 31807, - "gene": "mdtE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.05, - "name": "Multidrug resistance protein MdtA", - "resistance_mechanism": "antibiotic efflux", - "start": 31130, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "NPFEELLH_10082": { - "accession": 1903, - "card_aro": 3000795, - "contig": "contig_85", - "cut_off": "Strict", - "end": 32350, - "gene": "mdtE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.58, - "name": "Multidrug resistance protein MdtE", - "resistance_mechanism": "antibiotic efflux", - "start": 31910, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "NPFEELLH_10083": { - "accession": 1903, - "card_aro": 3000795, - "contig": "contig_85", - "cut_off": "Strict", - "end": 32493, - "gene": "mdtE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Multidrug resistance protein MdtE", - "resistance_mechanism": "antibiotic efflux", - "start": 32344, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "total": 77 - } - }, - "results_dir": "/home/falmeida/Documents/GitHub/pythonScripts/_ANNOTATION/ecoli_3", - "sample": "ecoli_3", - "virulence": { - "VFDB": { - "NPFEELLH_01043": { - "chr": "contig_15", - "end": 86939, - "gene": "fimA", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 86391, - "virulence_factor": "Type_1_fimbriae" - }, - "NPFEELLH_01052": { - "chr": "contig_15", - "end": 92052, - "gene": "fimG", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 91549, - "virulence_factor": "Type_1_fimbriae" - }, - "NPFEELLH_03525": { - "chr": "contig_37", - "end": 312556, - "gene": "cgsF", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 312140, - "virulence_factor": "Curli_fibers" - }, - "NPFEELLH_03526": { - "chr": "contig_37", - "end": 312970, - "gene": "cgsE", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 312581, - "virulence_factor": "Curli_fibers" - }, - "NPFEELLH_03528": { - "chr": "contig_37", - "end": 314779, - "gene": "csgB", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 314342, - "virulence_factor": "Curli_fibers" - }, - "NPFEELLH_04067": { - "chr": "contig_40", - "end": 131109, - "gene": "papI", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 130888, - "virulence_factor": "P_fimbriae" - }, - "NPFEELLH_06541": { - "chr": "contig_61", - "end": 28241, - "gene": "fepC", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 27426, - "virulence_factor": "Enterobactin" - }, - "NPFEELLH_06624": { - "chr": "contig_62", - "end": 21150, - "gene": "yagY/ecpB", - "id": "VF0404", - "product": "ECP_(VF0404)_Adherence_(VFC0001)", - "start": 20533, - "virulence_factor": "ECP" - }, - "NPFEELLH_06627": { - "chr": "contig_62", - "end": 22457, - "gene": "ykgK/ecpR", - "id": "VF0404", - "product": "ECP_(VF0404)_Adherence_(VFC0001)", - "start": 21867, - "virulence_factor": "ECP" - }, - "NPFEELLH_09642": { - "chr": "contig_80", - "end": 203101, - "gene": "clbA", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 202367, - "virulence_factor": "Colibactin" - }, - "NPFEELLH_09700": { - "chr": "contig_81", - "end": 18539, - "gene": "iucD", - "id": "VF0229", - "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 17205, - "virulence_factor": "Aerobactin" - }, - "NPFEELLH_09749": { - "chr": "contig_81", - "end": 43604, - "gene": "papI", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 43383, - "virulence_factor": "P_fimbriae" - }, - "NPFEELLH_10102": { - "chr": "contig_85", - "end": 41752, - "gene": "chuT", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 40829, - "virulence_factor": "Chu" - }, - "total": 13 - }, - "Victors": { - "NPFEELLH_01586": { - "contig": "contig_21", - "end": 90567, - "id": "24114667", - "name": "osmolarity_sensor_protein", - "product": "gi|24114667|ref|NP_709177.1|osmolarity_sensor_protein_[Shigella_flexneri_2a_str._301]", - "start": 89215 - }, - "NPFEELLH_01682": { - "contig": "contig_21", - "end": 145048, - "id": "16766742", - "name": "FKBP-type_peptidyl-prolyl_cis-trans_isomerase", - "product": "gi|16766742|ref|NP_462357.1|FKBP-type_peptidyl-prolyl_cis-trans_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 144236 - }, - "NPFEELLH_01821": { - "contig": "contig_23", - "end": 14905, - "id": "16767186", - "name": "peptidyl-prolyl_cis-trans_isomerase_C", - "product": "gi|16767186|ref|NP_462801.1|peptidyl-prolyl_cis-trans_isomerase_C_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 14624 - }, - "NPFEELLH_02105": { - "contig": "contig_26", - "end": 100802, - "id": "117623421", - "name": "GTP-dependent_nucleic_acid-binding_protein_EngD", - "product": "gi|117623421|ref|YP_852334.1|GTP-dependent_nucleic_acid-binding_protein_EngD_[Escherichia_coli_APEC_O1]", - "start": 99711 - }, - "NPFEELLH_02354": { - "contig": "contig_30", - "end": 37675, - "id": "16767429", - "name": "phosphoribosylamine--glycine_ligase", - "product": "gi|16767429|ref|NP_463044.1|phosphoribosylamine--glycine_ligase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 36386 - }, - "NPFEELLH_02364": { - "contig": "contig_30", - "end": 47025, - "id": "16767432", - "name": "homoserine_O-succinyltransferase", - "product": "gi|16767432|ref|NP_463047.1|homoserine_O-succinyltransferase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 46096 - }, - "NPFEELLH_02476": { - "contig": "contig_31", - "end": 36196, - "id": "15799850", - "name": "methionine_aminopeptidase", - "product": "gi|15799850|ref|NP_285862.1|methionine_aminopeptidase_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 35402 - }, - "NPFEELLH_02535": { - "contig": "contig_31", - "end": 64574, - "id": "56479612", - "name": "RNA_polymerase-binding_transcription_factor", - "product": "gi|56479612|ref|NP_706093.2|RNA_polymerase-binding_transcription_factor_[Shigella_flexneri_2a_str._301]", - "start": 64119 - }, - "NPFEELLH_02780": { - "contig": "contig_34", - "end": 8174, - "id": "16765821", - "name": "polyphosphate_kinase", - "product": "gi|16765821|ref|NP_461436.1|polyphosphate_kinase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 6102 - }, - "NPFEELLH_05456": { - "contig": "contig_50", - "end": 94761, - "id": "16764006", - "name": "RNA_chaperone", - "product": "gi|16764006|ref|NP_459621.1|RNA_chaperone_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 94552 - }, - "NPFEELLH_05910": { - "contig": "contig_53", - "end": 55307, - "id": "16763829", - "name": "ATP-dependent_Clp_protease_proteolytic_subunit", - "product": "gi|16763829|ref|NP_459444.1|ATP-dependent_Clp_protease_proteolytic_subunit_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 54684 - }, - "NPFEELLH_08206": { - "contig": "contig_74", - "end": 56234, - "id": "15801635", - "name": "putative_fimbrial-like_protein", - "product": "gi|15801635|ref|NP_287652.1|putative_fimbrial-like_protein_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 56025 - }, - "NPFEELLH_08790": { - "contig": "contig_76", - "end": 86063, - "id": "16767200", - "name": "TDP-4-oxo-6-deoxy-D-glucose_transaminase", - "product": "gi|16767200|ref|NP_462815.1|TDP-4-oxo-6-deoxy-D-glucose_transaminase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 84981 - }, - "NPFEELLH_09700": { - "contig": "contig_81", - "end": 18539, - "id": "26249459", - "name": "IucD_protein", - "product": "gi|26249459|ref|NP_755499.1|IucD_protein_[Escherichia_coli_CFT073]", - "start": 17205 - }, - "NPFEELLH_09795": { - "contig": "contig_82", - "end": 21798, - "id": "16764663", - "name": "PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB", - "product": "gi|16764663|ref|NP_460278.1|PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 21478 - }, - "NPFEELLH_10195": { - "contig": "contig_86", - "end": 47449, - "id": "161367545", - "name": "DNA-binding_transcriptional_regulator", - "product": "gi|161367545|ref|NP_289117.2|DNA-binding_transcriptional_regulator_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 46601 - }, - "NPFEELLH_10196": { - "contig": "contig_86", - "end": 47765, - "id": "16765896", - "name": "ferredoxin", - "product": "gi|16765896|ref|NP_461511.1|ferredoxin_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 47505 - }, - "total": 17 - } - } - }, - "ecoli_4": { - "MGE": {}, - "general_annotation": { - "cds": 4870, - "closest_reference": { - "accession": "NZ_JTDT", - "distance": 0.00265998, - "strain": "Escherichia coli" - }, - "mlst": "73", - "rrna": 21, - "tmrna": 1, - "trna": 76 - }, - "plasmid": { - "plasmidfinder": {}, - "platon": {} - }, - "resistance": { - "amrfinderplus": { - "BOLIEGLD_01373": { - "card_aro": 3006880, - "contig": 1, - "end": 1476052, - "gene": "blaEC-5", - "identity": 100.0, - "start": 1474919, - "subclass": "CEPHALOSPORIN", - "type": "AMR" - }, - "BOLIEGLD_01705": { - "card_aro": null, - "contig": 1, - "end": 1836314, - "gene": "fieF", - "identity": 99.67, - "start": 1835412, - "subclass": null, - "type": "STRESS" - }, - "BOLIEGLD_01956": { - "card_aro": null, - "contig": 1, - "end": 2102684, - "gene": "emrD", - "identity": 99.49, - "start": 2101500, - "subclass": "EFFLUX", - "type": "AMR" - }, - "BOLIEGLD_02213": { - "card_aro": null, - "contig": 1, - "end": 2379698, - "gene": "arsC", - "identity": 93.62, - "start": 2379273, - "subclass": "ARSENATE", - "type": "STRESS" - }, - "BOLIEGLD_02454": { - "card_aro": 3000502, - "contig": 1, - "end": 2614884, - "gene": "acrF", - "identity": 99.42, - "start": 2611780, - "subclass": "EFFLUX", - "type": "AMR" - }, - "BOLIEGLD_03529": { - "card_aro": 3004039, - "contig": 2, - "end": 862109, - "gene": "emrE", - "identity": 98.18, - "start": 861777, - "subclass": "EFFLUX", - "type": "STRESS" - }, - "BOLIEGLD_03862": { - "card_aro": null, - "contig": 2, - "end": 1193822, - "gene": "asr", - "identity": 98.04, - "start": 1193514, - "subclass": null, - "type": "STRESS" - }, - "BOLIEGLD_04218": { - "card_aro": null, - "contig": 2, - "end": 1571805, - "gene": "ymgB", - "identity": 97.73, - "start": 1571539, - "subclass": null, - "type": "STRESS" - }, - "total": 8 - }, - "resfinder": { - "total": 0 - }, - "rgi": { - "BOLIEGLD_00202": { - "accession": 2423, - "card_aro": 3003950, - "contig": 1, - "cut_off": "Strict", - "end": 211980, - "gene": "msbA", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", - "identity": 99.66, - "name": "Lipid A export ATP-binding/permease protein MsbA", - "resistance_mechanism": "antibiotic efflux", - "start": 210232, - "subclass": "nitroimidazole antibiotic" - }, - "BOLIEGLD_00317": { - "accession": 37, - "card_aro": 3001328, - "contig": 1, - "cut_off": "Strict", - "end": 324989, - "gene": "Escherichia coli mdfA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 97.07, - "name": "Multidrug transporter MdfA", - "resistance_mechanism": "antibiotic efflux", - "start": 323757, - "subclass": "tetracycline antibiotic; disinfecting agents and antiseptics" - }, - "BOLIEGLD_00451": { - "accession": 2331, - "card_aro": 3003841, - "contig": 1, - "cut_off": "Strict", - "end": 467180, - "gene": "kdpE", - "gene_family": "kdpDE", - "identity": 99.55, - "name": "KDP operon transcriptional regulatory protein KdpE", - "resistance_mechanism": "antibiotic efflux", - "start": 466503, - "subclass": "aminoglycoside antibiotic" - }, - "BOLIEGLD_00638": { - "accession": 2306, - "card_aro": 3003807, - "contig": 1, - "cut_off": "Strict", - "end": 668508, - "gene": "Escherichia coli AcrAB-TolC with AcrR mutation conferring resistance to ciprofloxacin, tetracycline, and ceftazidime", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "HTH-type transcriptional regulator AcrR", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", - "start": 667861, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "BOLIEGLD_00639": { - "accession": 2661, - "card_aro": 3004043, - "contig": 1, - "cut_off": "Strict", - "end": 669843, - "gene": "Escherichia coli acrA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.75, - "name": "Multidrug efflux pump subunit AcrA", - "resistance_mechanism": "antibiotic efflux", - "start": 668650, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "BOLIEGLD_00640": { - "accession": 1104, - "card_aro": 3000216, - "contig": 1, - "cut_off": "Strict", - "end": 673015, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.9, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 669866, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "BOLIEGLD_01066": { - "accession": 5921, - "card_aro": 3003843, - "contig": 1, - "cut_off": "Perfect", - "end": 1143426, - "gene": "leuO", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "HTH-type transcriptional regulator LeuO", - "resistance_mechanism": "antibiotic efflux", - "start": 1142482, - "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" - }, - "BOLIEGLD_01373": { - "accession": 4594, - "card_aro": 3006880, - "contig": 1, - "cut_off": "Perfect", - "end": 1476052, - "gene": "EC-5", - "gene_family": "EC beta-lactamase", - "identity": 100.0, - "name": "Beta-lactamase", - "resistance_mechanism": "antibiotic inactivation", - "start": 1474919, - "subclass": "cephalosporin" - }, - "BOLIEGLD_01466": { - "accession": 516, - "card_aro": 3003576, - "contig": 1, - "cut_off": "Strict", - "end": 1569976, - "gene": "eptA", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 96.16, - "name": "Phosphoethanolamine transferase EptA", - "resistance_mechanism": "antibiotic target alteration", - "start": 1568333, - "subclass": "peptide antibiotic" - }, - "BOLIEGLD_01499": { - "accession": 1442, - "card_aro": 3003548, - "contig": 1, - "cut_off": "Strict", - "end": 1600220, - "gene": "mdtN", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 99.13, - "name": "Multidrug resistance protein MdtN", - "resistance_mechanism": "antibiotic efflux", - "start": 1599189, - "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" - }, - "BOLIEGLD_01500": { - "accession": 2056, - "card_aro": 3003549, - "contig": 1, - "cut_off": "Strict", - "end": 1602271, - "gene": "mdtO", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 97.36, - "name": "Multidrug resistance protein MdtO", - "resistance_mechanism": "antibiotic efflux", - "start": 1600220, - "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" - }, - "BOLIEGLD_01501": { - "accession": 45, - "card_aro": 3003550, - "contig": 1, - "cut_off": "Strict", - "end": 1603734, - "gene": "mdtP", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 97.75, - "name": "Cation efflux system protein CusC", - "resistance_mechanism": "antibiotic efflux", - "start": 1602268, - "subclass": "nucleoside antibiotic; disinfecting agents and antiseptics" - }, - "BOLIEGLD_01526": { - "accession": 1005, - "card_aro": 3003381, - "contig": 1, - "cut_off": "Strict", - "end": 1632429, - "gene": "Escherichia coli soxR with mutation conferring antibiotic resistance", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.35, - "name": "Redox-sensitive transcriptional activator SoxR", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", - "start": 1631965, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "BOLIEGLD_01527": { - "accession": 2066, - "card_aro": 3003511, - "contig": 1, - "cut_off": "Strict", - "end": 1632838, - "gene": "Escherichia coli soxS with mutation conferring antibiotic resistance", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", - "identity": 100.0, - "name": "Regulatory protein SoxS", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux; reduced permeability to antibiotic", - "start": 1632515, - "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" - }, - "BOLIEGLD_01633": { - "accession": 2158, - "card_aro": 3003369, - "contig": 1, - "cut_off": "Strict", - "end": 1754344, - "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", - "gene_family": "elfamycin resistant EF-Tu", - "identity": 99.75, - "name": "Elongation factor Tu 2", - "resistance_mechanism": "antibiotic target alteration", - "start": 1753160, - "subclass": "elfamycin antibiotic" - }, - "BOLIEGLD_01708": { - "accession": 152, - "card_aro": 3000830, - "contig": 1, - "cut_off": "Perfect", - "end": 1839181, - "gene": "cpxA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Sensor histidine kinase CpxA", - "resistance_mechanism": "antibiotic efflux", - "start": 1837808, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "BOLIEGLD_02191": { - "accession": 91, - "card_aro": 3000508, - "contig": 1, - "cut_off": "Strict", - "end": 2358047, - "gene": "gadX", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 93.07, - "name": "HTH-type transcriptional regulator GadX", - "resistance_mechanism": "antibiotic efflux", - "start": 2357223, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "BOLIEGLD_02192": { - "accession": 2324, - "card_aro": 3003838, - "contig": 1, - "cut_off": "Perfect", - "end": 2359144, - "gene": "gadW", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "HTH-type transcriptional regulator GadW", - "resistance_mechanism": "antibiotic efflux", - "start": 2358416, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "BOLIEGLD_02194": { - "accession": 121, - "card_aro": 3000796, - "contig": 1, - "cut_off": "Strict", - "end": 2362620, - "gene": "mdtF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.52, - "name": "Multidrug resistance protein MdtF", - "resistance_mechanism": "antibiotic efflux", - "start": 2359507, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "BOLIEGLD_02195": { - "accession": 1903, - "card_aro": 3000795, - "contig": 1, - "cut_off": "Strict", - "end": 2363802, - "gene": "mdtE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.74, - "name": "Multidrug resistance protein MdtE", - "resistance_mechanism": "antibiotic efflux", - "start": 2362645, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "BOLIEGLD_02364": { - "accession": 869, - "card_aro": 3000518, - "contig": 1, - "cut_off": "Strict", - "end": 2544272, - "gene": "CRP", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.52, - "name": "cAMP-activated global transcriptional regulator CRP", - "resistance_mechanism": "antibiotic efflux", - "start": 2543640, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "BOLIEGLD_02383": { - "accession": 2158, - "card_aro": 3003369, - "contig": 1, - "cut_off": "Strict", - "end": 2560247, - "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", - "gene_family": "elfamycin resistant EF-Tu", - "identity": 99.75, - "name": "Elongation factor Tu 1", - "resistance_mechanism": "antibiotic target alteration", - "start": 2559063, - "subclass": "elfamycin antibiotic" - }, - "BOLIEGLD_02454": { - "accession": 1437, - "card_aro": 3000502, - "contig": 1, - "cut_off": "Strict", - "end": 2614884, - "gene": "AcrF", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.42, - "name": "Multidrug export protein AcrF", - "resistance_mechanism": "antibiotic efflux", - "start": 2611780, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "BOLIEGLD_02455": { - "accession": 1445, - "card_aro": 3000499, - "contig": 1, - "cut_off": "Strict", - "end": 2616053, - "gene": "AcrE", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.48, - "name": "Multidrug export protein AcrE", - "resistance_mechanism": "antibiotic efflux", - "start": 2614896, - "subclass": "fluoroquinolone antibiotic; cephalosporin; cephamycin; penam" - }, - "BOLIEGLD_02456": { - "accession": 520, - "card_aro": 3000656, - "contig": 1, - "cut_off": "Strict", - "end": 2617114, - "gene": "AcrS", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.18, - "name": "HTH-type transcriptional regulator AcrR", - "resistance_mechanism": "antibiotic efflux", - "start": 2616452, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "BOLIEGLD_02649": { - "accession": 1820, - "card_aro": 3002986, - "contig": 1, - "cut_off": "Strict", - "end": 2817775, - "gene": "bacA", - "gene_family": "undecaprenyl pyrophosphate related proteins", - "identity": 99.63, - "name": "Undecaprenyl-diphosphatase", - "resistance_mechanism": "antibiotic target alteration", - "start": 2816954, - "subclass": "peptide antibiotic" - }, - "BOLIEGLD_02674": { - "accession": 826, - "card_aro": 3000237, - "contig": 1, - "cut_off": "Strict", - "end": 2846772, - "gene": "TolC", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump; major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.59, - "name": "Outer membrane protein TolC", - "resistance_mechanism": "antibiotic efflux", - "start": 2845291, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; aminoglycoside antibiotic; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; peptide antibiotic; aminocoumarin antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" - }, - "BOLIEGLD_02918": { - "accession": 1427, - "card_aro": 3000491, - "contig": 2, - "cut_off": "Strict", - "end": 167831, - "gene": "acrD", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.71, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 164718, - "subclass": "aminoglycoside antibiotic" - }, - "BOLIEGLD_03005": { - "accession": 1318, - "card_aro": 3000833, - "contig": 2, - "cut_off": "Strict", - "end": 259429, - "gene": "evgS", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.66, - "name": "Sensor protein EvgS", - "resistance_mechanism": "antibiotic efflux", - "start": 255836, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" - }, - "BOLIEGLD_03006": { - "accession": 1015, - "card_aro": 3000832, - "contig": 2, - "cut_off": "Perfect", - "end": 260048, - "gene": "evgA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "DNA-binding transcriptional activator EvgA", - "resistance_mechanism": "antibiotic efflux", - "start": 259434, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam; tetracycline antibiotic" - }, - "BOLIEGLD_03007": { - "accession": 609, - "card_aro": 3000206, - "contig": 2, - "cut_off": "Strict", - "end": 261627, - "gene": "emrK", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 98.86, - "name": "putative multidrug resistance protein EmrK", - "resistance_mechanism": "antibiotic efflux", - "start": 260464, - "subclass": "tetracycline antibiotic" - }, - "BOLIEGLD_03008": { - "accession": 540, - "card_aro": 3000254, - "contig": 2, - "cut_off": "Strict", - "end": 263165, - "gene": "emrY", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 99.8, - "name": "putative multidrug resistance protein EmrY", - "resistance_mechanism": "antibiotic efflux", - "start": 261627, - "subclass": "tetracycline antibiotic" - }, - "BOLIEGLD_03107": { - "accession": 2014, - "card_aro": 3003578, - "contig": 2, - "cut_off": "Strict", - "end": 372736, - "gene": "PmrF", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 99.38, - "name": "Undecaprenyl-phosphate 4-deoxy-4-formamido-L-arabinose transferase", - "resistance_mechanism": "antibiotic target alteration", - "start": 371768, - "subclass": "peptide antibiotic" - }, - "BOLIEGLD_03122": { - "accession": 2372, - "card_aro": 3003889, - "contig": 2, - "cut_off": "Strict", - "end": 388620, - "gene": "Escherichia coli GlpT with mutation conferring resistance to fosfomycin", - "gene_family": "antibiotic-resistant GlpT", - "identity": 99.52, - "name": "Glycerol-3-phosphate transporter", - "resistance_mechanism": "antibiotic target alteration", - "start": 387997, - "subclass": "phosphonic acid antibiotic" - }, - "BOLIEGLD_03149": { - "accession": 2424, - "card_aro": 3003952, - "contig": 2, - "cut_off": "Strict", - "end": 432274, - "gene": "YojI", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", - "identity": 99.63, - "name": "ABC transporter ATP-binding/permease protein YojI", - "resistance_mechanism": "antibiotic efflux", - "start": 430631, - "subclass": "peptide antibiotic" - }, - "BOLIEGLD_03288": { - "accession": 1337, - "card_aro": 3000828, - "contig": 2, - "cut_off": "Perfect", - "end": 575325, - "gene": "baeR", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Transcriptional regulatory protein BaeR", - "resistance_mechanism": "antibiotic efflux", - "start": 574603, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "BOLIEGLD_03289": { - "accession": 986, - "card_aro": 3000829, - "contig": 2, - "cut_off": "Strict", - "end": 576725, - "gene": "baeS", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 96.15, - "name": "Signal transduction histidine-protein kinase BaeS", - "resistance_mechanism": "antibiotic efflux", - "start": 575322, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "BOLIEGLD_03291": { - "accession": 1315, - "card_aro": 3000794, - "contig": 2, - "cut_off": "Strict", - "end": 581215, - "gene": "mdtC", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.83, - "name": "Multidrug resistance protein MdtC", - "resistance_mechanism": "antibiotic efflux", - "start": 578138, - "subclass": "aminocoumarin antibiotic" - }, - "BOLIEGLD_03292": { - "accession": 820, - "card_aro": 3000793, - "contig": 2, - "cut_off": "Strict", - "end": 584338, - "gene": "mdtB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.9, - "name": "Multidrug resistance protein MdtB", - "resistance_mechanism": "antibiotic efflux", - "start": 581216, - "subclass": "aminocoumarin antibiotic" - }, - "BOLIEGLD_03293": { - "accession": 387, - "card_aro": 3000792, - "contig": 2, - "cut_off": "Strict", - "end": 585585, - "gene": "mdtA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.8, - "name": "Multidrug resistance protein MdtA", - "resistance_mechanism": "antibiotic efflux", - "start": 584338, - "subclass": "aminocoumarin antibiotic" - }, - "BOLIEGLD_03336": { - "accession": 842, - "card_aro": 3003577, - "contig": 2, - "cut_off": "Strict", - "end": 639410, - "gene": "ugd", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 99.23, - "name": "UDP-glucose 6-dehydrogenase", - "resistance_mechanism": "antibiotic target alteration", - "start": 638244, - "subclass": "peptide antibiotic" - }, - "BOLIEGLD_03529": { - "accession": 2656, - "card_aro": 3004039, - "contig": 2, - "cut_off": "Strict", - "end": 862109, - "gene": "Escherichia coli emrE", - "gene_family": "small multidrug resistance (SMR) antibiotic efflux pump", - "identity": 98.18, - "name": "Multidrug transporter EmrE", - "resistance_mechanism": "antibiotic efflux", - "start": 861777, - "subclass": "macrolide antibiotic" - }, - "BOLIEGLD_03897": { - "accession": 1922, - "card_aro": 3000263, - "contig": 2, - "cut_off": "Strict", - "end": 1230414, - "gene": "marA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", - "identity": 99.21, - "name": "Multiple antibiotic resistance protein MarA", - "resistance_mechanism": "antibiotic efflux; reduced permeability to antibiotic", - "start": 1230031, - "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" - }, - "BOLIEGLD_03898": { - "accession": 431, - "card_aro": 3003378, - "contig": 2, - "cut_off": "Strict", - "end": 1230869, - "gene": "Escherichia coli AcrAB-TolC with MarR mutations conferring resistance to ciprofloxacin and tetracycline", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 98.61, - "name": "Multiple antibiotic resistance protein MarR", - "resistance_mechanism": "antibiotic target alteration; antibiotic efflux", - "start": 1230435, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "BOLIEGLD_04136": { - "accession": 1248, - "card_aro": 3000676, - "contig": 2, - "cut_off": "Perfect", - "end": 1490484, - "gene": "H-NS", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump; resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "DNA-binding protein H-NS", - "resistance_mechanism": "antibiotic efflux", - "start": 1490071, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; cephalosporin; cephamycin; penam; tetracycline antibiotic" - }, - "BOLIEGLD_04311": { - "accession": 1330, - "card_aro": 3000516, - "contig": 2, - "cut_off": "Perfect", - "end": 1648176, - "gene": "emrR", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "Transcriptional repressor MprA", - "resistance_mechanism": "antibiotic efflux", - "start": 1647646, - "subclass": "fluoroquinolone antibiotic" - }, - "BOLIEGLD_04312": { - "accession": 1757, - "card_aro": 3000027, - "contig": 2, - "cut_off": "Strict", - "end": 1649475, - "gene": "emrA", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 99.74, - "name": "Multidrug export protein EmrA", - "resistance_mechanism": "antibiotic efflux", - "start": 1648303, - "subclass": "fluoroquinolone antibiotic" - }, - "BOLIEGLD_04313": { - "accession": 1847, - "card_aro": 3000074, - "contig": 2, - "cut_off": "Strict", - "end": 1651030, - "gene": "emrB", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 99.8, - "name": "Multidrug export protein EmrB", - "resistance_mechanism": "antibiotic efflux", - "start": 1649492, - "subclass": "fluoroquinolone antibiotic" - }, - "BOLIEGLD_04732": { - "accession": 603, - "card_aro": 3001329, - "contig": 2, - "cut_off": "Strict", - "end": 2086394, - "gene": "mdtG", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 99.51, - "name": "Staphyloferrin B transporter", - "resistance_mechanism": "antibiotic efflux", - "start": 2085168, - "subclass": "phosphonic acid antibiotic" - }, - "BOLIEGLD_04744": { - "accession": 375, - "card_aro": 3001216, - "contig": 2, - "cut_off": "Perfect", - "end": 2096231, - "gene": "mdtH", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "Multidrug resistance protein MdtH", - "resistance_mechanism": "antibiotic efflux", - "start": 2095023, - "subclass": "fluoroquinolone antibiotic" - }, - "total": 50 - } - }, - "results_dir": "/home/falmeida/Documents/GitHub/pythonScripts/_ANNOTATION/ecoli_4", - "sample": "ecoli_4", - "virulence": { - "VFDB": { - "BOLIEGLD_00021": { - "chr": 1, - "end": 23014, - "gene": "iroB", - "id": "VF0230", - "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 21899, - "virulence_factor": "Salmochelin_siderophore" - }, - "BOLIEGLD_00022": { - "chr": 1, - "end": 26813, - "gene": "iroC", - "id": "VF0230", - "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 23154, - "virulence_factor": "Salmochelin_siderophore" - }, - "BOLIEGLD_00023": { - "chr": 1, - "end": 28146, - "gene": "iroD", - "id": "VF0230", - "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 26917, - "virulence_factor": "Salmochelin_siderophore" - }, - "BOLIEGLD_00024": { - "chr": 1, - "end": 29187, - "gene": "iroE", - "id": "VF0230", - "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 28231, - "virulence_factor": "Salmochelin_siderophore" - }, - "BOLIEGLD_00025": { - "chr": 1, - "end": 31409, - "gene": "iroN", - "id": "VF0230", - "product": "Salmochelin_siderophore_(VF0230)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 29232, - "virulence_factor": "Salmochelin_siderophore" - }, - "BOLIEGLD_00027": { - "chr": 1, - "end": 33503, - "gene": "sfaX", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 33003, - "virulence_factor": "F1C_fimbriae" - }, - "BOLIEGLD_00028": { - "chr": 1, - "end": 34441, - "gene": "sfaY", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 33701, - "virulence_factor": "F1C_fimbriae" - }, - "BOLIEGLD_00029": { - "chr": 1, - "end": 35755, - "gene": "focH", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 34745, - "virulence_factor": "F1C_fimbriae" - }, - "BOLIEGLD_00030": { - "chr": 1, - "end": 36209, - "gene": "focG", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 35706, - "virulence_factor": "F1C_fimbriae" - }, - "BOLIEGLD_00031": { - "chr": 1, - "end": 36758, - "gene": "focF", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 36231, - "virulence_factor": "F1C_fimbriae" - }, - "BOLIEGLD_00032": { - "chr": 1, - "end": 39401, - "gene": "focD", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 36771, - "virulence_factor": "F1C_fimbriae" - }, - "BOLIEGLD_00033": { - "chr": 1, - "end": 40166, - "gene": "focC", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 39471, - "virulence_factor": "F1C_fimbriae" - }, - "BOLIEGLD_00035": { - "chr": 1, - "end": 41359, - "gene": "focA", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 40817, - "virulence_factor": "F1C_fimbriae" - }, - "BOLIEGLD_00037": { - "chr": 1, - "end": 42060, - "gene": "C_RS05810", - "id": "VF0224", - "product": "F1C_fimbriae_(VF0224)_Adherence_(VFC0001)", - "start": 41731, - "virulence_factor": "F1C_fimbriae" - }, - "BOLIEGLD_00166": { - "chr": 1, - "end": 166771, - "gene": "ompA", - "id": "VF0236", - "product": "OmpA_(VF0236)_Invasion_(VFC0083)", - "start": 165719, - "virulence_factor": "OmpA" - }, - "BOLIEGLD_00543": { - "chr": 1, - "end": 558298, - "gene": "entA", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 557552, - "virulence_factor": "Enterobactin" - }, - "BOLIEGLD_00544": { - "chr": 1, - "end": 559155, - "gene": "entB", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 558298, - "virulence_factor": "Enterobactin" - }, - "BOLIEGLD_00545": { - "chr": 1, - "end": 560779, - "gene": "entE", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 559169, - "virulence_factor": "Enterobactin" - }, - "BOLIEGLD_00546": { - "chr": 1, - "end": 561964, - "gene": "entC", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 560789, - "virulence_factor": "Enterobactin" - }, - "BOLIEGLD_00547": { - "chr": 1, - "end": 563109, - "gene": "fepB", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 562153, - "virulence_factor": "Enterobactin" - }, - "BOLIEGLD_00548": { - "chr": 1, - "end": 564363, - "gene": "entS", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 563113, - "virulence_factor": "Enterobactin" - }, - "BOLIEGLD_00549": { - "chr": 1, - "end": 565478, - "gene": "fepD", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 564474, - "virulence_factor": "Enterobactin" - }, - "BOLIEGLD_00550": { - "chr": 1, - "end": 566467, - "gene": "fepG", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 565475, - "virulence_factor": "Enterobactin" - }, - "BOLIEGLD_00551": { - "chr": 1, - "end": 567279, - "gene": "fepC", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 566464, - "virulence_factor": "Enterobactin" - }, - "BOLIEGLD_00552": { - "chr": 1, - "end": 568409, - "gene": "fepE", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 567276, - "virulence_factor": "Enterobactin" - }, - "BOLIEGLD_00553": { - "chr": 1, - "end": 572537, - "gene": "entF", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 568656, - "virulence_factor": "Enterobactin" - }, - "BOLIEGLD_00555": { - "chr": 1, - "end": 573957, - "gene": "fes", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 572755, - "virulence_factor": "Enterobactin" - }, - "BOLIEGLD_00556": { - "chr": 1, - "end": 576440, - "gene": "fepA", - "id": "VF0228", - "product": "Enterobactin_(VF0228)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 574200, - "virulence_factor": "Enterobactin" - }, - "BOLIEGLD_00568": { - "chr": 1, - "end": 589701, - "gene": "ibeB", - "id": "VF0237", - "product": "Ibes_(VF0237)_Invasion_(VFC0083)", - "start": 588319, - "virulence_factor": "Ibes" - }, - "BOLIEGLD_00786": { - "chr": 1, - "end": 833015, - "gene": "fdeC", - "id": "VF0506", - "product": "FdeC_(VF0506)_Adherence_(VFC0001)", - "start": 828765, - "virulence_factor": "FdeC" - }, - "BOLIEGLD_00796": { - "chr": 1, - "end": 842857, - "gene": "ykgK/ecpR", - "id": "VF0404", - "product": "ECP_(VF0404)_Adherence_(VFC0001)", - "start": 842315, - "virulence_factor": "ECP" - }, - "BOLIEGLD_00797": { - "chr": 1, - "end": 843519, - "gene": "yagZ/ecpA", - "id": "VF0404", - "product": "ECP_(VF0404)_Adherence_(VFC0001)", - "start": 842932, - "virulence_factor": "ECP" - }, - "BOLIEGLD_00798": { - "chr": 1, - "end": 844244, - "gene": "yagY/ecpB", - "id": "VF0404", - "product": "ECP_(VF0404)_Adherence_(VFC0001)", - "start": 843576, - "virulence_factor": "ECP" - }, - "BOLIEGLD_00799": { - "chr": 1, - "end": 846795, - "gene": "yagX/ecpC", - "id": "VF0404", - "product": "ECP_(VF0404)_Adherence_(VFC0001)", - "start": 844270, - "virulence_factor": "ECP" - }, - "BOLIEGLD_00800": { - "chr": 1, - "end": 848428, - "gene": "yagW/ecpD", - "id": "VF0404", - "product": "ECP_(VF0404)_Adherence_(VFC0001)", - "start": 846785, - "virulence_factor": "ECP" - }, - "BOLIEGLD_00801": { - "chr": 1, - "end": 849107, - "gene": "yagV/ecpE", - "id": "VF0404", - "product": "ECP_(VF0404)_Adherence_(VFC0001)", - "start": 848397, - "virulence_factor": "ECP" - }, - "BOLIEGLD_00839": { - "chr": 1, - "end": 905523, - "gene": "pic", - "id": "VF0232", - "product": "Pic_(VF0232)_Effector_delivery_system_(VFC0086)", - "start": 901408, - "virulence_factor": "Pic" - }, - "BOLIEGLD_01229": { - "chr": 1, - "end": 1319273, - "gene": "fimH", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 1318371, - "virulence_factor": "Type_1_fimbriae" - }, - "BOLIEGLD_01230": { - "chr": 1, - "end": 1319796, - "gene": "fimG", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 1319293, - "virulence_factor": "Type_1_fimbriae" - }, - "BOLIEGLD_01231": { - "chr": 1, - "end": 1320339, - "gene": "fimF", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 1319809, - "virulence_factor": "Type_1_fimbriae" - }, - "BOLIEGLD_01232": { - "chr": 1, - "end": 1322985, - "gene": "fimD", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 1320349, - "virulence_factor": "Type_1_fimbriae" - }, - "BOLIEGLD_01233": { - "chr": 1, - "end": 1323776, - "gene": "fimC", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 1323051, - "virulence_factor": "Type_1_fimbriae" - }, - "BOLIEGLD_01234": { - "chr": 1, - "end": 1324310, - "gene": "fimI", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 1323813, - "virulence_factor": "Type_1_fimbriae" - }, - "BOLIEGLD_01235": { - "chr": 1, - "end": 1324965, - "gene": "fimA", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 1324417, - "virulence_factor": "Type_1_fimbriae" - }, - "BOLIEGLD_01236": { - "chr": 1, - "end": 1326042, - "gene": "fimE", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 1325446, - "virulence_factor": "Type_1_fimbriae" - }, - "BOLIEGLD_01237": { - "chr": 1, - "end": 1327122, - "gene": "fimB", - "id": "VF0221", - "product": "Type_1_fimbriae_(VF0221)_Adherence_(VFC0001)", - "start": 1326520, - "virulence_factor": "Type_1_fimbriae" - }, - "BOLIEGLD_01415": { - "chr": 1, - "end": 1514379, - "gene": "papA", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 1513816, - "virulence_factor": "P_fimbriae" - }, - "BOLIEGLD_01661": { - "chr": 1, - "end": 1786885, - "gene": "ibeC", - "id": "VF0237", - "product": "Ibes_(VF0237)_Invasion_(VFC0083)", - "start": 1785152, - "virulence_factor": "Ibes" - }, - "BOLIEGLD_02202": { - "chr": 1, - "end": 2368601, - "gene": "chuV", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2367831, - "virulence_factor": "Chu" - }, - "BOLIEGLD_02203": { - "chr": 1, - "end": 2369554, - "gene": "chuU", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2368598, - "virulence_factor": "Chu" - }, - "BOLIEGLD_02204": { - "chr": 1, - "end": 2370262, - "gene": "chuY", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2369639, - "virulence_factor": "Chu" - }, - "BOLIEGLD_02205": { - "chr": 1, - "end": 2370756, - "gene": "chuX", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2370262, - "virulence_factor": "Chu" - }, - "BOLIEGLD_02206": { - "chr": 1, - "end": 2372106, - "gene": "chuW", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2370769, - "virulence_factor": "Chu" - }, - "BOLIEGLD_02207": { - "chr": 1, - "end": 2373040, - "gene": "chuT", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2372126, - "virulence_factor": "Chu" - }, - "BOLIEGLD_02208": { - "chr": 1, - "end": 2375706, - "gene": "chuA", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2373724, - "virulence_factor": "Chu" - }, - "BOLIEGLD_02209": { - "chr": 1, - "end": 2376783, - "gene": "chuS", - "id": "VF0227", - "product": "Chu_(VF0227)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2375755, - "virulence_factor": "Chu" - }, - "BOLIEGLD_02756": { - "chr": 1, - "end": 2931211, - "gene": "gspM", - "id": "VF0333", - "product": "T2SS_(VF0333)_Effector_delivery_system_(VFC0086)", - "start": 2930675, - "virulence_factor": "T2SS" - }, - "BOLIEGLD_02757": { - "chr": 1, - "end": 2933161, - "gene": "kpsM", - "id": "VF0239", - "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", - "start": 2932385, - "virulence_factor": "K1_capsule" - }, - "BOLIEGLD_02764": { - "chr": 1, - "end": 2942873, - "gene": "kpsS", - "id": "VF0239", - "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", - "start": 2941635, - "virulence_factor": "K1_capsule" - }, - "BOLIEGLD_02765": { - "chr": 1, - "end": 2944935, - "gene": "kpsC", - "id": "VF0239", - "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", - "start": 2942908, - "virulence_factor": "K1_capsule" - }, - "BOLIEGLD_02766": { - "chr": 1, - "end": 2945672, - "gene": "kpsU", - "id": "VF0239", - "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", - "start": 2944932, - "virulence_factor": "K1_capsule" - }, - "BOLIEGLD_02767": { - "chr": 1, - "end": 2947358, - "gene": "kpsD", - "id": "VF0239", - "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", - "start": 2945682, - "virulence_factor": "K1_capsule" - }, - "BOLIEGLD_02768": { - "chr": 1, - "end": 2948530, - "gene": "kpsE", - "id": "VF0239", - "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", - "start": 2947382, - "virulence_factor": "K1_capsule" - }, - "BOLIEGLD_02769": { - "chr": 1, - "end": 2949585, - "gene": "kpsF", - "id": "VF0239", - "product": "K1_capsule_(VF0239)_Invasion_(VFC0083)", - "start": 2948602, - "virulence_factor": "K1_capsule" - }, - "BOLIEGLD_03418": { - "chr": 2, - "end": 711416, - "gene": "clbA", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 710682, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03420": { - "chr": 2, - "end": 721659, - "gene": "clbB", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 712039, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03421": { - "chr": 2, - "end": 724300, - "gene": "clbC", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 721700, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03422": { - "chr": 2, - "end": 725179, - "gene": "clbD", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 724313, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03423": { - "chr": 2, - "end": 725457, - "gene": "clbE", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 725209, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03424": { - "chr": 2, - "end": 726591, - "gene": "clbF", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 725461, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03425": { - "chr": 2, - "end": 727856, - "gene": "clbG", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 726588, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03426": { - "chr": 2, - "end": 732700, - "gene": "clbH", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 727904, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03427": { - "chr": 2, - "end": 735782, - "gene": "clbI", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 732750, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03428": { - "chr": 2, - "end": 742326, - "gene": "clbJ", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 735826, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03431": { - "chr": 2, - "end": 750212, - "gene": "clbL", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 748749, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03432": { - "chr": 2, - "end": 751713, - "gene": "clbM", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 750274, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03433": { - "chr": 2, - "end": 756077, - "gene": "clbN", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 751710, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03434": { - "chr": 2, - "end": 758567, - "gene": "clbO", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 756108, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03435": { - "chr": 2, - "end": 760094, - "gene": "clbP", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 758589, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03436": { - "chr": 2, - "end": 760809, - "gene": "clbQ", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 760087, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03437": { - "chr": 2, - "end": 761356, - "gene": "clbS", - "id": "VF0573", - "product": "Colibactin_(VF0573)_Exotoxin_(VFC0235)", - "start": 760844, - "virulence_factor": "Colibactin" - }, - "BOLIEGLD_03452": { - "chr": 2, - "end": 778766, - "gene": "fyuA/psn", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 776745, - "virulence_factor": "Yersiniabactin" - }, - "BOLIEGLD_03453": { - "chr": 2, - "end": 780474, - "gene": "ybtE", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 778897, - "virulence_factor": "Yersiniabactin" - }, - "BOLIEGLD_03454": { - "chr": 2, - "end": 781281, - "gene": "ybtT", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 780478, - "virulence_factor": "Yersiniabactin" - }, - "BOLIEGLD_03455": { - "chr": 2, - "end": 782378, - "gene": "ybtU", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 781278, - "virulence_factor": "Yersiniabactin" - }, - "BOLIEGLD_03456": { - "chr": 2, - "end": 791866, - "gene": "irp1", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 782375, - "virulence_factor": "Yersiniabactin" - }, - "BOLIEGLD_03460": { - "chr": 2, - "end": 799922, - "gene": "ybtA", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 798963, - "virulence_factor": "Yersiniabactin" - }, - "BOLIEGLD_03461": { - "chr": 2, - "end": 801891, - "gene": "ybtP", - "id": "VF0564", - "product": "Ybt_(VF0564)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 800089, - "virulence_factor": "Ybt" - }, - "BOLIEGLD_03462": { - "chr": 2, - "end": 803680, - "gene": "ybtQ", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 801878, - "virulence_factor": "Yersiniabactin" - }, - "BOLIEGLD_03463": { - "chr": 2, - "end": 804953, - "gene": "ybtX", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 803673, - "virulence_factor": "Yersiniabactin" - }, - "BOLIEGLD_03464": { - "chr": 2, - "end": 806285, - "gene": "ybtS", - "id": "VF0136", - "product": "Yersiniabactin_(VF0136)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 804981, - "virulence_factor": "Yersiniabactin" - }, - "BOLIEGLD_03488": { - "chr": 2, - "end": 823137, - "gene": "tcpC", - "id": "VF0413", - "product": "TcpC_(VF0413)_Immune_modulation_(VFC0258)", - "start": 822214, - "virulence_factor": "TcpC" - }, - "BOLIEGLD_04614": { - "chr": 2, - "end": 1974795, - "gene": "hlyC", - "id": "VF0225", - "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", - "start": 1974283, - "virulence_factor": "-Hemolysin" - }, - "BOLIEGLD_04615": { - "chr": 2, - "end": 1977881, - "gene": "hlyA", - "id": "VF0225", - "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", - "start": 1974807, - "virulence_factor": "-Hemolysin" - }, - "BOLIEGLD_04616": { - "chr": 2, - "end": 1980075, - "gene": "hlyB", - "id": "VF0225", - "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", - "start": 1977952, - "virulence_factor": "-Hemolysin" - }, - "BOLIEGLD_04617": { - "chr": 2, - "end": 1981530, - "gene": "hlyD", - "id": "VF0225", - "product": "-Hemolysin_(VF0225)_Exotoxin_(VFC0235)", - "start": 1980094, - "virulence_factor": "-Hemolysin" - }, - "BOLIEGLD_04623": { - "chr": 2, - "end": 1985190, - "gene": "papX", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 1984690, - "virulence_factor": "P_fimbriae" - }, - "BOLIEGLD_04624": { - "chr": 2, - "end": 1986514, - "gene": "papG", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 1985504, - "virulence_factor": "P_fimbriae" - }, - "BOLIEGLD_04625": { - "chr": 2, - "end": 1987058, - "gene": "papF", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 1986558, - "virulence_factor": "P_fimbriae" - }, - "BOLIEGLD_04626": { - "chr": 2, - "end": 1987654, - "gene": "papE", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 1987133, - "virulence_factor": "P_fimbriae" - }, - "BOLIEGLD_04627": { - "chr": 2, - "end": 1988217, - "gene": "papK", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 1987681, - "virulence_factor": "P_fimbriae" - }, - "BOLIEGLD_04628": { - "chr": 2, - "end": 1988808, - "gene": "papJ", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 1988227, - "virulence_factor": "P_fimbriae" - }, - "BOLIEGLD_04629": { - "chr": 2, - "end": 1989564, - "gene": "papD", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 1988845, - "virulence_factor": "P_fimbriae" - }, - "BOLIEGLD_04630": { - "chr": 2, - "end": 1992169, - "gene": "papC", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 1989650, - "virulence_factor": "P_fimbriae" - }, - "BOLIEGLD_04631": { - "chr": 2, - "end": 1992806, - "gene": "papH", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 1992219, - "virulence_factor": "P_fimbriae" - }, - "BOLIEGLD_04632": { - "chr": 2, - "end": 1993442, - "gene": "papA", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 1992876, - "virulence_factor": "P_fimbriae" - }, - "BOLIEGLD_04634": { - "chr": 2, - "end": 1994601, - "gene": "papI", - "id": "VF0220", - "product": "P_fimbriae_(VF0220)_Adherence_(VFC0001)", - "start": 1994380, - "virulence_factor": "P_fimbriae" - }, - "BOLIEGLD_04655": { - "chr": 2, - "end": 2016160, - "gene": "sat", - "id": "VF0231", - "product": "Sat_(VF0231)_Effector_delivery_system_(VFC0086)", - "start": 2012273, - "virulence_factor": "Sat" - }, - "BOLIEGLD_04656": { - "chr": 2, - "end": 2019302, - "gene": "iutA", - "id": "VF0229", - "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2017104, - "virulence_factor": "Aerobactin" - }, - "BOLIEGLD_04657": { - "chr": 2, - "end": 2020642, - "gene": "iucD", - "id": "VF0229", - "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2019305, - "virulence_factor": "Aerobactin" - }, - "BOLIEGLD_04658": { - "chr": 2, - "end": 2022381, - "gene": "iucC", - "id": "VF0229", - "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2020639, - "virulence_factor": "Aerobactin" - }, - "BOLIEGLD_04659": { - "chr": 2, - "end": 2023328, - "gene": "iucB", - "id": "VF0229", - "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2022381, - "virulence_factor": "Aerobactin" - }, - "BOLIEGLD_04660": { - "chr": 2, - "end": 2025053, - "gene": "iucA", - "id": "VF0229", - "product": "Aerobactin_(VF0229)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2023329, - "virulence_factor": "Aerobactin" - }, - "BOLIEGLD_04717": { - "chr": 2, - "end": 2072588, - "gene": "cgsG", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 2071755, - "virulence_factor": "Curli_fibers" - }, - "BOLIEGLD_04718": { - "chr": 2, - "end": 2073031, - "gene": "cgsF", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 2072615, - "virulence_factor": "Curli_fibers" - }, - "BOLIEGLD_04719": { - "chr": 2, - "end": 2073445, - "gene": "cgsE", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 2073056, - "virulence_factor": "Curli_fibers" - }, - "BOLIEGLD_04720": { - "chr": 2, - "end": 2074100, - "gene": "cgsD", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 2073450, - "virulence_factor": "Curli_fibers" - }, - "BOLIEGLD_04721": { - "chr": 2, - "end": 2075308, - "gene": "csgB", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 2074853, - "virulence_factor": "Curli_fibers" - }, - "BOLIEGLD_04722": { - "chr": 2, - "end": 2075807, - "gene": "csgA", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 2075349, - "virulence_factor": "Curli_fibers" - }, - "BOLIEGLD_04723": { - "chr": 2, - "end": 2076198, - "gene": "csgC", - "id": "VF1138", - "product": "Curli_fibers_(VF1138)_Adherence_(VFC0001)", - "start": 2075866, - "virulence_factor": "Curli_fibers" - }, - "total": 120 - }, - "Victors": { - "BOLIEGLD_00021": { - "contig": 1, - "end": 23014, - "id": "26247128", - "name": "glucosyltransferase", - "product": "gi|26247128|ref|NP_753168.1|glucosyltransferase_[Escherichia_coli_CFT073]", - "start": 21899 - }, - "BOLIEGLD_00022": { - "contig": 1, - "end": 26813, - "id": "26247127", - "name": "ABC_transporter_ATP-binding_protein", - "product": "gi|26247127|ref|NP_753167.1|ABC_transporter_ATP-binding_protein_[Escherichia_coli_CFT073]", - "start": 23154 - }, - "BOLIEGLD_00023": { - "contig": 1, - "end": 28146, - "id": "26247126", - "name": "ferric_enterochelin_esterase", - "product": "gi|26247126|ref|NP_753166.1|ferric_enterochelin_esterase_[Escherichia_coli_CFT073]", - "start": 26917 - }, - "BOLIEGLD_00025": { - "contig": 1, - "end": 31409, - "id": "26247124", - "name": "outer_membrane_receptor_FepA", - "product": "gi|26247124|ref|NP_753164.1|outer_membrane_receptor_FepA_[Escherichia_coli_CFT073]", - "start": 29232 - }, - "BOLIEGLD_00166": { - "contig": 1, - "end": 166771, - "id": "26246978", - "name": "outer_membrane_protein_A", - "product": "gi|26246978|ref|NP_753018.1|outer_membrane_protein_A_[Escherichia_coli_CFT073]", - "start": 165719 - }, - "BOLIEGLD_00178": { - "contig": 1, - "end": 180871, - "id": "16764417", - "name": "dihydroorotate_dehydrogenase_2", - "product": "gi|16764417|ref|NP_460032.1|dihydroorotate_dehydrogenase_2_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 179861 - }, - "BOLIEGLD_00208": { - "contig": 1, - "end": 219788, - "id": "82544646", - "name": "3-phosphoshikimate_1-carboxyvinyltransferase", - "product": "gi|82544646|ref|YP_408593.1|3-phosphoshikimate_1-carboxyvinyltransferase_[Shigella_boydii_Sb227]", - "start": 218505 - }, - "BOLIEGLD_00214": { - "contig": 1, - "end": 228260, - "id": "161353606", - "name": "pyruvate_formate_lyase-activating_enzyme_1", - "product": "gi|161353606|ref|NP_459945.2|pyruvate_formate_lyase-activating_enzyme_1_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 227520 - }, - "BOLIEGLD_00225": { - "contig": 1, - "end": 244345, - "id": "15800751", - "name": "thioredoxin_reductase", - "product": "gi|15800751|ref|NP_286765.1|thioredoxin_reductase_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 243275 - }, - "BOLIEGLD_00317": { - "contig": 1, - "end": 324989, - "id": "16764228", - "name": "multidrug_translocase", - "product": "gi|16764228|ref|NP_459843.1|multidrug_translocase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 323757 - }, - "BOLIEGLD_00516": { - "contig": 1, - "end": 531039, - "id": "16764006", - "name": "RNA_chaperone", - "product": "gi|16764006|ref|NP_459621.1|RNA_chaperone_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 530830 - }, - "BOLIEGLD_00541": { - "contig": 1, - "end": 556955, - "id": "16763977", - "name": "carbon_starvation_protein", - "product": "gi|16763977|ref|NP_459592.1|carbon_starvation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 554850 - }, - "BOLIEGLD_00641": { - "contig": 1, - "end": 673934, - "id": "16763854", - "name": "cytoplasmic_protein", - "product": "gi|16763854|ref|NP_459469.1|cytoplasmic_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 673560 - }, - "BOLIEGLD_00666": { - "contig": 1, - "end": 698314, - "id": "16763829", - "name": "ATP-dependent_Clp_protease_proteolytic_subunit", - "product": "gi|16763829|ref|NP_459444.1|ATP-dependent_Clp_protease_proteolytic_subunit_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 697691 - }, - "BOLIEGLD_00672": { - "contig": 1, - "end": 706340, - "id": "16763823", - "name": "cytochrome_o_ubiquinol_oxidase_subunit_I", - "product": "gi|16763823|ref|NP_459438.1|cytochrome_o_ubiquinol_oxidase_subunit_I_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 704349 - }, - "BOLIEGLD_00797": { - "contig": 1, - "end": 843519, - "id": "215485400", - "name": "fimbrillin_precursor", - "product": "gi|215485400|ref|YP_002327831.1|fimbrillin_precursor_[Escherichia_coli_O127:H6_str._E2348/69]", - "start": 842932 - }, - "BOLIEGLD_00818": { - "contig": 1, - "end": 869837, - "id": "16763696", - "name": "DNA_polymerase_IV", - "product": "gi|16763696|ref|NP_459311.1|DNA_polymerase_IV_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 868782 - }, - "BOLIEGLD_00824": { - "contig": 1, - "end": 875974, - "id": "16759305", - "name": "phosphoheptose_isomerase", - "product": "gi|16759305|ref|NP_454922.1|phosphoheptose_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", - "start": 875396 - }, - "BOLIEGLD_00957": { - "contig": 1, - "end": 1021112, - "id": "187734090", - "name": "periplasmic_chaperone", - "product": "gi|187734090|ref|YP_001878980.1|periplasmic_chaperone_[Shigella_boydii_CDC_3083-94]", - "start": 1020627 - }, - "BOLIEGLD_00968": { - "contig": 1, - "end": 1032617, - "id": "15799850", - "name": "methionine_aminopeptidase", - "product": "gi|15799850|ref|NP_285862.1|methionine_aminopeptidase_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 1031823 - }, - "BOLIEGLD_00975": { - "contig": 1, - "end": 1040404, - "id": "187732326", - "name": "serine_endoprotease", - "product": "gi|187732326|ref|YP_001878964.1|serine_endoprotease_[Shigella_boydii_CDC_3083-94]", - "start": 1038980 - }, - "BOLIEGLD_00991": { - "contig": 1, - "end": 1060929, - "id": "56479612", - "name": "RNA_polymerase-binding_transcription_factor", - "product": "gi|56479612|ref|NP_706093.2|RNA_polymerase-binding_transcription_factor_[Shigella_flexneri_2a_str._301]", - "start": 1060474 - }, - "BOLIEGLD_01091": { - "contig": 1, - "end": 1175012, - "id": "24111499", - "name": "peptidyl-prolyl_cis-trans_isomerase_SurA", - "product": "gi|24111499|ref|NP_706009.1|peptidyl-prolyl_cis-trans_isomerase_SurA_[Shigella_flexneri_2a_str._301]", - "start": 1173726 - }, - "BOLIEGLD_01201": { - "contig": 1, - "end": 1288406, - "id": "16763338", - "name": "carbon_starvation_protein", - "product": "gi|16763338|ref|NP_458955.1|carbon_starvation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", - "start": 1286256 - }, - "BOLIEGLD_01229": { - "contig": 1, - "end": 1319273, - "id": "26251208", - "name": "FimH_protein", - "product": "gi|26251208|ref|NP_757248.1|FimH_protein_[Escherichia_coli_CFT073]", - "start": 1318371 - }, - "BOLIEGLD_01234": { - "contig": 1, - "end": 1324310, - "id": "26251202", - "name": "fimbrin-like_protein_fimI", - "product": "gi|26251202|ref|NP_757242.1|fimbrin-like_protein_fimI_[Escherichia_coli_CFT073]", - "start": 1323813 - }, - "BOLIEGLD_01348": { - "contig": 1, - "end": 1447993, - "id": "110808097", - "name": "exoribonuclease_R", - "product": "gi|110808097|ref|YP_691617.1|exoribonuclease_R_[Shigella_flexneri_5_str._8401]", - "start": 1445552 - }, - "BOLIEGLD_01355": { - "contig": 1, - "end": 1454359, - "id": "24115527", - "name": "RNA-binding_protein_Hfq", - "product": "gi|24115527|ref|NP_710037.1|RNA-binding_protein_Hfq_[Shigella_flexneri_2a_str._301]", - "start": 1454051 - }, - "BOLIEGLD_01356": { - "contig": 1, - "end": 1455395, - "id": "82546588", - "name": "tRNA_delta(2)-isopentenylpyrophosphate_transferase", - "product": "gi|82546588|ref|YP_410535.1|tRNA_delta(2)-isopentenylpyrophosphate_transferase_[Shigella_boydii_Sb227]", - "start": 1454445 - }, - "BOLIEGLD_01447": { - "contig": 1, - "end": 1546865, - "id": "16765878", - "name": "APC_family_lysine/cadaverine_transport_protein", - "product": "gi|16765878|ref|NP_461493.1|APC_family_lysine/cadaverine_transport_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1545531 - }, - "BOLIEGLD_01598": { - "contig": 1, - "end": 1716990, - "id": "16767432", - "name": "homoserine_O-succinyltransferase", - "product": "gi|16767432|ref|NP_463047.1|homoserine_O-succinyltransferase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1716061 - }, - "BOLIEGLD_01607": { - "contig": 1, - "end": 1726714, - "id": "16767429", - "name": "phosphoribosylamine--glycine_ligase", - "product": "gi|16767429|ref|NP_463044.1|phosphoribosylamine--glycine_ligase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1725425 - }, - "BOLIEGLD_01614": { - "contig": 1, - "end": 1731825, - "id": "16767423", - "name": "hypothetical_protein_STM4169", - "product": "gi|16767423|ref|NP_463038.1|hypothetical_protein_STM4169_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1731235 - }, - "BOLIEGLD_01760": { - "contig": 1, - "end": 1893533, - "id": "117626134", - "name": "protein_disulfide_isomerase_I", - "product": "gi|117626134|ref|YP_859457.1|protein_disulfide_isomerase_I_[Escherichia_coli_APEC_O1]", - "start": 1892907 - }, - "BOLIEGLD_01761": { - "contig": 1, - "end": 1894536, - "id": "82778968", - "name": "serine/threonine_protein_kinase", - "product": "gi|82778968|ref|YP_405317.1|serine/threonine_protein_kinase_[Shigella_dysenteriae_Sd197]", - "start": 1893550 - }, - "BOLIEGLD_01776": { - "contig": 1, - "end": 1912114, - "id": "117626120", - "name": "transcriptional_activator_RfaH", - "product": "gi|117626120|ref|YP_859443.1|transcriptional_activator_RfaH_[Escherichia_coli_APEC_O1]", - "start": 1911626 - }, - "BOLIEGLD_01839": { - "contig": 1, - "end": 1977783, - "id": "91213321", - "name": "arylsulfatase", - "product": "gi|91213321|ref|YP_543307.1|arylsulfatase_[Escherichia_coli_UTI89]", - "start": 1976128 - }, - "BOLIEGLD_01850": { - "contig": 1, - "end": 1986990, - "id": "16767200", - "name": "TDP-4-oxo-6-deoxy-D-glucose_transaminase", - "product": "gi|16767200|ref|NP_462815.1|TDP-4-oxo-6-deoxy-D-glucose_transaminase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1985860 - }, - "BOLIEGLD_01857": { - "contig": 1, - "end": 1994220, - "id": "24115078", - "name": "undecaprenyl-phosphate_alpha-N-acetylglucosaminyl_1-phosphate_transferase", - "product": "gi|24115078|ref|NP_709588.1|undecaprenyl-phosphate_alpha-N-acetylglucosaminyl_1-phosphate_transferase_[Shigella_flexneri_2a_str._301]", - "start": 1993117 - }, - "BOLIEGLD_01859": { - "contig": 1, - "end": 1996375, - "id": "16767191", - "name": "thioredoxin", - "product": "gi|16767191|ref|NP_462806.1|thioredoxin_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1996046 - }, - "BOLIEGLD_01863": { - "contig": 1, - "end": 2001827, - "id": "16767186", - "name": "peptidyl-prolyl_cis-trans_isomerase_C", - "product": "gi|16767186|ref|NP_462801.1|peptidyl-prolyl_cis-trans_isomerase_C_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 2001546 - }, - "BOLIEGLD_01947": { - "contig": 1, - "end": 2093513, - "id": "228960701", - "name": "heat_shock_protein_IbpA", - "product": "gi|228960701|ref|NP_462709.3|heat_shock_protein_IbpA_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 2093100 - }, - "BOLIEGLD_02060": { - "contig": 1, - "end": 2208847, - "id": "22124023", - "name": "bifunctional_(p)ppGpp_synthetase_II/_guanosine-3',5'-bis_pyrophosphate_3'-pyrophosphohydrolase", - "product": "gi|22124023|ref|NP_667446.1|bifunctional_(p)ppGpp_synthetase_II/_guanosine-3',5'-bis_pyrophosphate_3'-pyrophosphohydrolase_[Yersinia_pestis_KIM10+]", - "start": 2206739 - }, - "BOLIEGLD_02092": { - "contig": 1, - "end": 2239017, - "id": "15804159", - "name": "glycosyl_transferase", - "product": "gi|15804159|ref|NP_290198.1|glycosyl_transferase_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 2237983 - }, - "BOLIEGLD_02160": { - "contig": 1, - "end": 2316477, - "id": "117625828", - "name": "dipeptide_transporter_protein_DppA", - "product": "gi|117625828|ref|YP_859151.1|dipeptide_transporter_protein_DppA_[Escherichia_coli_APEC_O1]", - "start": 2314870 - }, - "BOLIEGLD_02197": { - "contig": 1, - "end": 2364668, - "id": "110807348", - "name": "hypothetical_protein_SFV_3526", - "product": "gi|110807348|ref|YP_690868.1|hypothetical_protein_SFV_3526_[Shigella_flexneri_5_str._8401]", - "start": 2364141 - }, - "BOLIEGLD_02208": { - "contig": 1, - "end": 2375706, - "id": "170681293", - "name": "outer_membrane_heme/hemoglobin_receptor_ChuA", - "product": "gi|170681293|ref|YP_001745768.1|outer_membrane_heme/hemoglobin_receptor_ChuA_[Escherichia_coli_SMS-3-5]", - "start": 2373724 - }, - "BOLIEGLD_02320": { - "contig": 1, - "end": 2499051, - "id": "56480330", - "name": "osmolarity_response_regulator", - "product": "gi|56480330|ref|NP_709178.2|osmolarity_response_regulator_[Shigella_flexneri_2a_str._301]", - "start": 2498332 - }, - "BOLIEGLD_02321": { - "contig": 1, - "end": 2500400, - "id": "24114667", - "name": "osmolarity_sensor_protein", - "product": "gi|24114667|ref|NP_709177.1|osmolarity_sensor_protein_[Shigella_flexneri_2a_str._301]", - "start": 2499048 - }, - "BOLIEGLD_02340": { - "contig": 1, - "end": 2520651, - "id": "16766772", - "name": "DNA_adenine_methylase", - "product": "gi|16766772|ref|NP_462387.1|DNA_adenine_methylase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 2519815 - }, - "BOLIEGLD_02364": { - "contig": 1, - "end": 2544272, - "id": "16766754", - "name": "cAMP-activated_global_transcriptional_regulator", - "product": "gi|16766754|ref|NP_462369.1|cAMP-activated_global_transcriptional_regulator_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 2543640 - }, - "BOLIEGLD_02373": { - "contig": 1, - "end": 2552485, - "id": "16766744", - "name": "FKBP-type_peptidyl-prolyl_cis-trans_isomerase", - "product": "gi|16766744|ref|NP_462359.1|FKBP-type_peptidyl-prolyl_cis-trans_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 2551895 - }, - "BOLIEGLD_02375": { - "contig": 1, - "end": 2553785, - "id": "16766742", - "name": "FKBP-type_peptidyl-prolyl_cis-trans_isomerase", - "product": "gi|16766742|ref|NP_462357.1|FKBP-type_peptidyl-prolyl_cis-trans_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 2552973 - }, - "BOLIEGLD_02497": { - "contig": 1, - "end": 2661423, - "id": "16766637", - "name": "stringent_starvation_protein_A", - "product": "gi|16766637|ref|NP_462252.1|stringent_starvation_protein_A_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 2660785 - }, - "BOLIEGLD_02808": { - "contig": 2, - "end": 31977, - "id": "16765976", - "name": "chaperone_protein_ClpB", - "product": "gi|16765976|ref|NP_461591.1|chaperone_protein_ClpB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 29404 - }, - "BOLIEGLD_02838": { - "contig": 2, - "end": 63660, - "id": "16765896", - "name": "ferredoxin", - "product": "gi|16765896|ref|NP_461511.1|ferredoxin_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 63400 - }, - "BOLIEGLD_02839": { - "contig": 2, - "end": 64564, - "id": "161367545", - "name": "DNA-binding_transcriptional_regulator", - "product": "gi|161367545|ref|NP_289117.2|DNA-binding_transcriptional_regulator_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 63716 - }, - "BOLIEGLD_02889": { - "contig": 2, - "end": 136623, - "id": "56480121", - "name": "inosine_5'-monophosphate_dehydrogenase", - "product": "gi|56480121|ref|NP_708347.2|inosine_5'-monophosphate_dehydrogenase_[Shigella_flexneri_2a_str._301]", - "start": 135157 - }, - "BOLIEGLD_02890": { - "contig": 2, - "end": 138269, - "id": "24113836", - "name": "GMP_synthase", - "product": "gi|24113836|ref|NP_708346.1|GMP_synthase_[Shigella_flexneri_2a_str._301]", - "start": 136692 - }, - "BOLIEGLD_02897": { - "contig": 2, - "end": 146184, - "id": "16765821", - "name": "polyphosphate_kinase", - "product": "gi|16765821|ref|NP_461436.1|polyphosphate_kinase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 144118 - }, - "BOLIEGLD_03019": { - "contig": 2, - "end": 281521, - "id": "24113718", - "name": "ABC_transporter_outer_membrane_lipoprotein", - "product": "gi|24113718|ref|NP_708228.1|ABC_transporter_outer_membrane_lipoprotein_[Shigella_flexneri_2a_str._301]", - "start": 280766 - }, - "BOLIEGLD_03034": { - "contig": 2, - "end": 298003, - "id": "16761308", - "name": "chorismate_synthase", - "product": "gi|16761308|ref|NP_456925.1|chorismate_synthase_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", - "start": 296918 - }, - "BOLIEGLD_03145": { - "contig": 2, - "end": 427600, - "id": "82776181", - "name": "porin", - "product": "gi|82776181|ref|YP_402530.1|porin_[Shigella_dysenteriae_Sd197]", - "start": 426473 - }, - "BOLIEGLD_03216": { - "contig": 2, - "end": 499229, - "id": "16765517", - "name": "NAD-dependent_dihydropyrimidine_dehydrogenase_subunit_PreA", - "product": "gi|16765517|ref|NP_461132.1|NAD-dependent_dihydropyrimidine_dehydrogenase_subunit_PreA_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 497994 - }, - "BOLIEGLD_03231": { - "contig": 2, - "end": 514811, - "id": "16765496", - "name": "periplasmic_beta-glucosidase", - "product": "gi|16765496|ref|NP_461111.1|periplasmic_beta-glucosidase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 512514 - }, - "BOLIEGLD_03282": { - "contig": 2, - "end": 568763, - "id": "16765465", - "name": "protease", - "product": "gi|16765465|ref|NP_461080.1|protease_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 567402 - }, - "BOLIEGLD_03325": { - "contig": 2, - "end": 625311, - "id": "16765428", - "name": "UTP--glucose-1-phosphate_uridylyltransferase_subunit_GalF", - "product": "gi|16765428|ref|NP_461043.1|UTP--glucose-1-phosphate_uridylyltransferase_subunit_GalF_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 624418 - }, - "BOLIEGLD_03334": { - "contig": 2, - "end": 636425, - "id": "26248405", - "name": "phosphomannomutase", - "product": "gi|26248405|ref|NP_754445.1|phosphomannomutase_[Escherichia_coli_CFT073]", - "start": 635055 - }, - "BOLIEGLD_03452": { - "contig": 2, - "end": 778766, - "id": "162421186", - "name": "yersiniabactin/pesticin_receptor_FyuA", - "product": "gi|162421186|ref|YP_001606551.1|yersiniabactin/pesticin_receptor_FyuA_[Yersinia_pestis_Angola]", - "start": 776745 - }, - "BOLIEGLD_03456": { - "contig": 2, - "end": 791866, - "id": "123442840", - "name": "yersiniabactin_biosynthetic_protein", - "product": "gi|123442840|ref|YP_001006816.1|yersiniabactin_biosynthetic_protein_[Yersinia_enterocolitica_subsp._enterocolitica_8081]", - "start": 782375 - }, - "BOLIEGLD_03461": { - "contig": 2, - "end": 801891, - "id": "22126281", - "name": "permease_and_ATP-binding_protein_of_yersiniabactin-iron_ABC_transporter", - "product": "gi|22126281|ref|NP_669704.1|permease_and_ATP-binding_protein_of_yersiniabactin-iron_ABC_transporter_[Yersinia_pestis_KIM10+]", - "start": 800089 - }, - "BOLIEGLD_03516": { - "contig": 2, - "end": 851516, - "id": "16765318", - "name": "flagellar_biosynthesis_protein_FliQ", - "product": "gi|16765318|ref|NP_460933.1|flagellar_biosynthesis_protein_FliQ_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 851247 - }, - "BOLIEGLD_03541": { - "contig": 2, - "end": 874403, - "id": "26248190", - "name": "flagellin", - "product": "gi|26248190|ref|NP_754230.1|flagellin_[Escherichia_coli_CFT073]", - "start": 872616 - }, - "BOLIEGLD_03551": { - "contig": 2, - "end": 882521, - "id": "16765285", - "name": "LuxR/UhpA_family_response_regulator", - "product": "gi|16765285|ref|NP_460900.1|LuxR/UhpA_family_response_regulator_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 881865 - }, - "BOLIEGLD_03603": { - "contig": 2, - "end": 930808, - "id": "16765235", - "name": "zinc_ABC_transporter_permease_ZnuB", - "product": "gi|16765235|ref|NP_460850.1|zinc_ABC_transporter_permease_ZnuB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 930023 - }, - "BOLIEGLD_03604": { - "contig": 2, - "end": 931560, - "id": "39546331", - "name": "zinc_ABC_transporter_ATP-binding_protein_ZnuC", - "product": "gi|39546331|ref|NP_460849.2|zinc_ABC_transporter_ATP-binding_protein_ZnuC_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 930805 - }, - "BOLIEGLD_03607": { - "contig": 2, - "end": 934999, - "id": "30063266", - "name": "lipid_A_biosynthesis_(KDO)2-(lauroyl)-lipid_IVA_acyltransferase", - "product": "gi|30063266|ref|NP_837437.1|lipid_A_biosynthesis_(KDO)2-(lauroyl)-lipid_IVA_acyltransferase_[Shigella_flexneri_2a_str._2457T]", - "start": 934028 - }, - "BOLIEGLD_03640": { - "contig": 2, - "end": 966996, - "id": "15802236", - "name": "cold_shock-like_protein_CspC", - "product": "gi|15802236|ref|NP_288259.1|cold_shock-like_protein_CspC_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 966787 - }, - "BOLIEGLD_03659": { - "contig": 2, - "end": 986161, - "id": "16765159", - "name": "long-chain-fatty-acid--CoA_ligase", - "product": "gi|16765159|ref|NP_460774.1|long-chain-fatty-acid--CoA_ligase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 984410 - }, - "BOLIEGLD_03722": { - "contig": 2, - "end": 1050751, - "id": "16764663", - "name": "PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB", - "product": "gi|16764663|ref|NP_460278.1|PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1050431 - }, - "BOLIEGLD_03726": { - "contig": 2, - "end": 1054900, - "id": "16764667", - "name": "phospho-beta-glucosidase", - "product": "gi|16764667|ref|NP_460282.1|phospho-beta-glucosidase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1053548 - }, - "BOLIEGLD_03766": { - "contig": 2, - "end": 1095241, - "id": "24113082", - "name": "3-dehydroquinate_dehydratase", - "product": "gi|24113082|ref|NP_707592.1|3-dehydroquinate_dehydratase_[Shigella_flexneri_2a_str._301]", - "start": 1094483 - }, - "BOLIEGLD_03804": { - "contig": 2, - "end": 1134361, - "id": "24113046", - "name": "superoxide_dismutase", - "product": "gi|24113046|ref|NP_707556.1|superoxide_dismutase_[Shigella_flexneri_2a_str._301]", - "start": 1133780 - }, - "BOLIEGLD_03817": { - "contig": 2, - "end": 1144974, - "id": "161353603", - "name": "transcriptional_regulator_SlyA", - "product": "gi|161353603|ref|NP_460407.2|transcriptional_regulator_SlyA_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1144540 - }, - "BOLIEGLD_03934": { - "contig": 2, - "end": 1276861, - "id": "16764908", - "name": "biofilm-dependent_modulation_protein", - "product": "gi|16764908|ref|NP_460523.1|biofilm-dependent_modulation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1276646 - }, - "BOLIEGLD_04026": { - "contig": 2, - "end": 1375038, - "id": "16764996", - "name": "universal_stress_protein_F", - "product": "gi|16764996|ref|NP_460611.1|universal_stress_protein_F_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1374604 - }, - "BOLIEGLD_04120": { - "contig": 2, - "end": 1472948, - "id": "218558181", - "name": "transporter", - "product": "gi|218558181|ref|YP_002391094.1|transporter_[Escherichia_coli_S88]", - "start": 1472232 - }, - "BOLIEGLD_04136": { - "contig": 2, - "end": 1490484, - "id": "16765095", - "name": "DNA-binding_protein_H-NS", - "product": "gi|16765095|ref|NP_460710.1|DNA-binding_protein_H-NS_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1490071 - }, - "BOLIEGLD_04137": { - "contig": 2, - "end": 1491536, - "id": "24112632", - "name": "UTP-glucose-1-phosphate_uridylyltransferase", - "product": "gi|24112632|ref|NP_707142.1|UTP-glucose-1-phosphate_uridylyltransferase_[Shigella_flexneri_2a_str._301]", - "start": 1490628 - }, - "BOLIEGLD_04177": { - "contig": 2, - "end": 1531367, - "id": "117623421", - "name": "GTP-dependent_nucleic_acid-binding_protein_EngD", - "product": "gi|117623421|ref|YP_852334.1|GTP-dependent_nucleic_acid-binding_protein_EngD_[Escherichia_coli_APEC_O1]", - "start": 1530276 - }, - "BOLIEGLD_04226": { - "contig": 2, - "end": 1578728, - "id": "82776740", - "name": "iron_ABC_transporter_substrate-binding_protein", - "product": "gi|82776740|ref|YP_403089.1|iron_ABC_transporter_substrate-binding_protein_[Shigella_dysenteriae_Sd197]", - "start": 1577814 - }, - "BOLIEGLD_04227": { - "contig": 2, - "end": 1579555, - "id": "117623375", - "name": "Mn+2/Fe+2_ABC_transporter_ATPase_SitB", - "product": "gi|117623375|ref|YP_852288.1|Mn+2/Fe+2_ABC_transporter_ATPase_SitB_[Escherichia_coli_APEC_O1]", - "start": 1578728 - }, - "BOLIEGLD_04292": { - "contig": 2, - "end": 1632027, - "id": "16766107", - "name": "transporter", - "product": "gi|16766107|ref|NP_461722.1|transporter_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1631869 - }, - "BOLIEGLD_04412": { - "contig": 2, - "end": 1748536, - "id": "16766264", - "name": "sensory_histidine_kinase", - "product": "gi|16766264|ref|NP_461879.1|sensory_histidine_kinase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1745780 - }, - "BOLIEGLD_04574": { - "contig": 2, - "end": 1937765, - "id": "15803477", - "name": "arginine_decarboxylase", - "product": "gi|15803477|ref|NP_289510.1|arginine_decarboxylase_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 1935789 - }, - "BOLIEGLD_04615": { - "contig": 2, - "end": 1977881, - "id": "26249405", - "name": "hemolysin_A", - "product": "gi|26249405|ref|NP_755445.1|hemolysin_A_[Escherichia_coli_CFT073]", - "start": 1974807 - }, - "BOLIEGLD_04624": { - "contig": 2, - "end": 1986514, - "id": "26249418", - "name": "PapG_protein", - "product": "gi|26249418|ref|NP_755458.1|PapG_protein_[Escherichia_coli_CFT073]", - "start": 1985504 - }, - "BOLIEGLD_04632": { - "contig": 2, - "end": 1993442, - "id": "26249427", - "name": "PapA_protein", - "product": "gi|26249427|ref|NP_755467.1|PapA_protein_[Escherichia_coli_CFT073]", - "start": 1992876 - }, - "BOLIEGLD_04655": { - "contig": 2, - "end": 2016160, - "id": "26249454", - "name": "secreted_auto_transporter_toxin", - "product": "gi|26249454|ref|NP_755494.1|secreted_auto_transporter_toxin_[Escherichia_coli_CFT073]", - "start": 2012273 - }, - "BOLIEGLD_04656": { - "contig": 2, - "end": 2019302, - "id": "26249458", - "name": "IutA_protein", - "product": "gi|26249458|ref|NP_755498.1|IutA_protein_[Escherichia_coli_CFT073]", - "start": 2017104 - }, - "BOLIEGLD_04657": { - "contig": 2, - "end": 2020642, - "id": "26249459", - "name": "IucD_protein", - "product": "gi|26249459|ref|NP_755499.1|IucD_protein_[Escherichia_coli_CFT073]", - "start": 2019305 - }, - "BOLIEGLD_04658": { - "contig": 2, - "end": 2022381, - "id": "26249460", - "name": "IucC_protein", - "product": "gi|26249460|ref|NP_755500.1|IucC_protein_[Escherichia_coli_CFT073]", - "start": 2020639 - }, - "BOLIEGLD_04659": { - "contig": 2, - "end": 2023328, - "id": "26249461", - "name": "IucB_protein", - "product": "gi|26249461|ref|NP_755501.1|IucB_protein_[Escherichia_coli_CFT073]", - "start": 2022381 - }, - "BOLIEGLD_04660": { - "contig": 2, - "end": 2025053, - "id": "26249462", - "name": "IucA_protein", - "product": "gi|26249462|ref|NP_755502.1|IucA_protein_[Escherichia_coli_CFT073]", - "start": 2023329 - }, - "BOLIEGLD_04720": { - "contig": 2, - "end": 2074100, - "id": "16764498", - "name": "DNA-binding_transcriptional_regulator_CsgD", - "product": "gi|16764498|ref|NP_460113.1|DNA-binding_transcriptional_regulator_CsgD_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 2073450 - }, - "BOLIEGLD_04892": { - "contig": 2, - "end": 2218721, - "id": "24112549", - "name": "DNA-binding_transcriptional_regulator_PhoP", - "product": "gi|24112549|ref|NP_707059.1|DNA-binding_transcriptional_regulator_PhoP_[Shigella_flexneri_2a_str._301]", - "start": 2218050 - }, - "total": 106 - } - } - }, - "h_influenzae": { - "MGE": {}, - "general_annotation": { - "cds": 1705, - "closest_reference": { - "accession": "GCF_000165525.1", - "distance": 0.0143241, - "strain": "Haemophilus virus HP2" - }, - "mlst": "1221", - "rrna": 13, - "tmrna": 1, - "trna": 47 - }, - "plasmid": { - "plasmidfinder": {}, - "platon": {} - }, - "resistance": { - "amrfinderplus": { - "ILGNJHOM_00541": { - "card_aro": 3003953, - "contig": "NZ_QWLX01000001.1", - "end": 552926, - "gene": "hmrM", - "identity": 97.2, - "start": 551532, - "subclass": "EFFLUX", - "type": "AMR" - }, - "total": 1 - }, - "resfinder": { - "total": 0 - }, - "rgi": { - "ILGNJHOM_00044": { - "accession": 3794, - "card_aro": 3005052, - "contig": "NZ_QWLX01000001.1", - "cut_off": "Strict", - "end": 50136, - "gene": "LpsA", - "gene_family": "Intrinsic peptide antibiotic resistant Lps", - "identity": 99.61, - "name": "Lipooligosaccharide biosynthesis protein lex-1", - "resistance_mechanism": "reduced permeability to antibiotic", - "start": 49366, - "subclass": "peptide antibiotic" - }, - "ILGNJHOM_00541": { - "accession": 2425, - "card_aro": 3003953, - "contig": "NZ_QWLX01000001.1", - "cut_off": "Strict", - "end": 552926, - "gene": "hmrM", - "gene_family": "multidrug and toxic compound extrusion (MATE) transporter", - "identity": 96.77, - "name": "Multidrug resistance protein NorM", - "resistance_mechanism": "antibiotic efflux", - "start": 551532, - "subclass": "fluoroquinolone antibiotic; disinfecting agents and antiseptics" - }, - "ILGNJHOM_01329": { - "accession": 2158, - "card_aro": 3003369, - "contig": "NZ_QWLX01000002.1", - "cut_off": "Strict", - "end": 357337, - "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", - "gene_family": "elfamycin resistant EF-Tu", - "identity": 92.62, - "name": "Elongation factor Tu 2", - "resistance_mechanism": "antibiotic target alteration", - "start": 356153, - "subclass": "elfamycin antibiotic" - }, - "ILGNJHOM_01620": { - "accession": 2158, - "card_aro": 3003369, - "contig": "NZ_QWLX01000005.1", - "cut_off": "Strict", - "end": 11567, - "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", - "gene_family": "elfamycin resistant EF-Tu", - "identity": 92.88, - "name": "Elongation factor Tu 2", - "resistance_mechanism": "antibiotic target alteration", - "start": 10383, - "subclass": "elfamycin antibiotic" - }, - "total": 4 - } - }, - "results_dir": "/home/falmeida/Documents/GitHub/pythonScripts/_ANNOTATION/h_influenzae", - "sample": "h_influenzae", - "virulence": { - "VFDB": { - "ILGNJHOM_00013": { - "chr": "NZ_QWLX01000001.1", - "end": 13477, - "gene": "lpxH", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 12764, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00020": { - "chr": "NZ_QWLX01000001.1", - "end": 24784, - "gene": "manB/yhxB", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 23129, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00044": { - "chr": "NZ_QWLX01000001.1", - "end": 50136, - "gene": "lpsA", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 49366, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00092": { - "chr": "NZ_QWLX01000001.1", - "end": 84444, - "gene": "galU", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 83557, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00160": { - "chr": "NZ_QWLX01000001.1", - "end": 150899, - "gene": "kfiC", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 150147, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00164": { - "chr": "NZ_QWLX01000001.1", - "end": 155227, - "gene": "wbaP/rfbP", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 153812, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00165": { - "chr": "NZ_QWLX01000001.1", - "end": 156303, - "gene": "rffG", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 155299, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00206": { - "chr": "NZ_QWLX01000001.1", - "end": 200520, - "gene": "lpxD", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 199495, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00285": { - "chr": "NZ_QWLX01000001.1", - "end": 287351, - "gene": "tbpA", - "id": "VF0267", - "product": "Tbp_(VF0267)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 284610, - "virulence_factor": "Tbp" - }, - "ILGNJHOM_00294": { - "chr": "NZ_QWLX01000001.1", - "end": 298689, - "gene": "yhbX", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 297130, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00343": { - "chr": "NZ_QWLX01000001.1", - "end": 348577, - "gene": "lpxB", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 347405, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00344": { - "chr": "NZ_QWLX01000001.1", - "end": 349432, - "gene": "lpxA", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 348644, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00346": { - "chr": "NZ_QWLX01000001.1", - "end": 351540, - "gene": "HI_RS05585*", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 349978, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00389": { - "chr": "NZ_QWLX01000001.1", - "end": 393229, - "gene": "rfaF", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 392189, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00395": { - "chr": "NZ_QWLX01000001.1", - "end": 401207, - "gene": "rfaD", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 400281, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00423": { - "chr": "NZ_QWLX01000001.1", - "end": 433569, - "gene": "lpxC", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 432652, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00442": { - "chr": "NZ_QWLX01000001.1", - "end": 454796, - "gene": "ompP5", - "id": "VF0041", - "product": "P5_protein_(VF0041)_Adherence_(VFC0001)", - "start": 453720, - "virulence_factor": "P5_protein" - }, - "ILGNJHOM_00458": { - "chr": "NZ_QWLX01000001.1", - "end": 467130, - "gene": "gmhA/lpcA", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 466546, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00535": { - "chr": "NZ_QWLX01000001.1", - "end": 543269, - "gene": "hifB", - "id": "VF0036", - "product": "Haemagglutinating_pili_(VF0036)_Adherence_(VFC0001)", - "start": 542556, - "virulence_factor": "Haemagglutinating_pili" - }, - "ILGNJHOM_00536": { - "chr": "NZ_QWLX01000001.1", - "end": 545880, - "gene": "hifC", - "id": "VF0036", - "product": "Haemagglutinating_pili_(VF0036)_Adherence_(VFC0001)", - "start": 543367, - "virulence_factor": "Haemagglutinating_pili" - }, - "ILGNJHOM_00537": { - "chr": "NZ_QWLX01000001.1", - "end": 546526, - "gene": "hifD", - "id": "VF0036", - "product": "Haemagglutinating_pili_(VF0036)_Adherence_(VFC0001)", - "start": 545894, - "virulence_factor": "Haemagglutinating_pili" - }, - "ILGNJHOM_00571": { - "chr": "NZ_QWLX01000001.1", - "end": 584317, - "gene": "lgtA", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 583274, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00592": { - "chr": "NZ_QWLX01000001.1", - "end": 601809, - "gene": "kdsA", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 600955, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00610": { - "chr": "NZ_QWLX01000001.1", - "end": 619252, - "gene": "licC", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 618551, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00611": { - "chr": "NZ_QWLX01000001.1", - "end": 620127, - "gene": "licB", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 619249, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00612": { - "chr": "NZ_QWLX01000001.1", - "end": 621119, - "gene": "licA", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 620127, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00620": { - "chr": "NZ_QWLX01000001.1", - "end": 632434, - "gene": "htrB", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 631499, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00621": { - "chr": "NZ_QWLX01000001.1", - "end": 633961, - "gene": "rfaE", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 632531, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00830": { - "chr": "NZ_QWLX01000001.1", - "end": 837831, - "gene": "neuA", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 837139, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00911": { - "chr": "NZ_QWLX01000001.1", - "end": 937777, - "gene": "kpsF", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 936842, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00936": { - "chr": "NZ_QWLX01000001.1", - "end": 963582, - "gene": "lsgF", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 962779, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00937": { - "chr": "NZ_QWLX01000001.1", - "end": 964468, - "gene": "lsgE", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 963584, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00938": { - "chr": "NZ_QWLX01000001.1", - "end": 965253, - "gene": "lsgD", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 964480, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00939": { - "chr": "NZ_QWLX01000001.1", - "end": 966326, - "gene": "lsgC", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 965265, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00940": { - "chr": "NZ_QWLX01000001.1", - "end": 967242, - "gene": "lsgB", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 966328, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00941": { - "chr": "NZ_QWLX01000001.1", - "end": 968444, - "gene": "lsgA", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 967239, - "virulence_factor": "LOS" - }, - "ILGNJHOM_00958": { - "chr": "NZ_QWLX01000001.1", - "end": 986875, - "gene": "wecA", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 985808, - "virulence_factor": "LOS" - }, - "ILGNJHOM_01010": { - "chr": "NZ_QWLX01000002.1", - "end": 42739, - "gene": "orfM", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 42152, - "virulence_factor": "LOS" - }, - "ILGNJHOM_01011": { - "chr": "NZ_QWLX01000002.1", - "end": 43476, - "gene": "kdkA", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 42751, - "virulence_factor": "LOS" - }, - "ILGNJHOM_01012": { - "chr": "NZ_QWLX01000002.1", - "end": 44597, - "gene": "opsX/rfaC", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 43554, - "virulence_factor": "LOS" - }, - "ILGNJHOM_01013": { - "chr": "NZ_QWLX01000002.1", - "end": 47116, - "gene": "hxuC", - "id": "VF0269", - "product": "HxuABC_(VF0269)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 44924, - "virulence_factor": "HxuABC" - }, - "ILGNJHOM_01014": { - "chr": "NZ_QWLX01000002.1", - "end": 48886, - "gene": "hxuB", - "id": "VF0269", - "product": "HxuABC_(VF0269)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 47192, - "virulence_factor": "HxuABC" - }, - "ILGNJHOM_01015": { - "chr": "NZ_QWLX01000002.1", - "end": 51615, - "gene": "hxuA", - "id": "VF0269", - "product": "HxuABC_(VF0269)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 48898, - "virulence_factor": "HxuABC" - }, - "ILGNJHOM_01031": { - "chr": "NZ_QWLX01000002.1", - "end": 64172, - "gene": "lpt6", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 62517, - "virulence_factor": "LOS" - }, - "ILGNJHOM_01090": { - "chr": "NZ_QWLX01000002.1", - "end": 117217, - "gene": "oapA", - "id": "VF0040", - "product": "OapA_(VF0040)_Adherence_(VFC0001)", - "start": 115922, - "virulence_factor": "OapA" - }, - "ILGNJHOM_01115": { - "chr": "NZ_QWLX01000002.1", - "end": 143034, - "gene": "galE", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 142018, - "virulence_factor": "LOS" - }, - "ILGNJHOM_01116": { - "chr": "NZ_QWLX01000002.1", - "end": 144163, - "gene": "lic3A", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 143207, - "virulence_factor": "LOS" - }, - "ILGNJHOM_01280": { - "chr": "NZ_QWLX01000002.1", - "end": 310877, - "gene": "waaQ", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 309837, - "virulence_factor": "LOS" - }, - "ILGNJHOM_01422": { - "chr": "NZ_QWLX01000003.1", - "end": 68962, - "gene": "kdsB", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 68198, - "virulence_factor": "LOS" - }, - "ILGNJHOM_01423": { - "chr": "NZ_QWLX01000003.1", - "end": 70031, - "gene": "lpxK", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 69033, - "virulence_factor": "LOS" - }, - "ILGNJHOM_01424": { - "chr": "NZ_QWLX01000003.1", - "end": 71867, - "gene": "msbA", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 70104, - "virulence_factor": "LOS" - }, - "ILGNJHOM_01466": { - "chr": "NZ_QWLX01000003.1", - "end": 114921, - "gene": "hitA", - "id": "VF0268", - "product": "HitABC_(VF0268)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 113923, - "virulence_factor": "HitABC" - }, - "ILGNJHOM_01467": { - "chr": "NZ_QWLX01000003.1", - "end": 116559, - "gene": "hitB", - "id": "VF0268", - "product": "HitABC_(VF0268)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 115039, - "virulence_factor": "HitABC" - }, - "ILGNJHOM_01468": { - "chr": "NZ_QWLX01000003.1", - "end": 117616, - "gene": "hitC", - "id": "VF0268", - "product": "HitABC_(VF0268)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 116546, - "virulence_factor": "HitABC" - }, - "ILGNJHOM_01577": { - "chr": "NZ_QWLX01000004.1", - "end": 88739, - "gene": "msbB", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 87783, - "virulence_factor": "LOS" - }, - "ILGNJHOM_01647": { - "chr": "NZ_QWLX01000005.1", - "end": 37774, - "gene": "kdtA", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 36491, - "virulence_factor": "LOS" - }, - "ILGNJHOM_01648": { - "chr": "NZ_QWLX01000005.1", - "end": 38601, - "gene": "lgtF", - "id": "VF0044", - "product": "LOS_(VF0044)_Immune_modulation_(VFC0258)", - "start": 37837, - "virulence_factor": "LOS" - }, - "total": 57 - }, - "Victors": { - "ILGNJHOM_00125": { - "contig": "NZ_QWLX01000001.1", - "end": 115752, - "id": "68249440", - "name": "thiol:disulfide_interchange_protein_DsbA", - "product": "gi|68249440|ref|YP_248552.1|thiol:disulfide_interchange_protein_DsbA_[Haemophilus_influenzae_86-028NP]", - "start": 115135 - }, - "ILGNJHOM_00220": { - "contig": "NZ_QWLX01000001.1", - "end": 217102, - "id": "16272865", - "name": "catalase", - "product": "gi|16272865|ref|NP_439088.1|catalase_[Haemophilus_influenzae_Rd_KW20]", - "start": 215576 - }, - "ILGNJHOM_00494": { - "contig": "NZ_QWLX01000001.1", - "end": 506927, - "id": "30995432", - "name": "thiol-disulfide_interchange_protein", - "product": "gi|30995432|ref|NP_439371.2|thiol-disulfide_interchange_protein_[Haemophilus_influenzae_Rd_KW20]", - "start": 506220 - }, - "ILGNJHOM_00834": { - "contig": "NZ_QWLX01000001.1", - "end": 842938, - "id": "68250201", - "name": "tellurite_resistance_protein_TehB", - "product": "gi|68250201|ref|YP_249313.1|tellurite_resistance_protein_TehB_[Haemophilus_influenzae_86-028NP]", - "start": 842078 - }, - "ILGNJHOM_00865": { - "contig": "NZ_QWLX01000001.1", - "end": 882913, - "id": "165977352", - "name": "molecular_chaperone_DnaK", - "product": "gi|165977352|ref|YP_001652945.1|molecular_chaperone_DnaK_[Actinobacillus_pleuropneumoniae_serovar_3_str._JL03]", - "start": 881006 - }, - "ILGNJHOM_00870": { - "contig": "NZ_QWLX01000001.1", - "end": 891543, - "id": "165976188", - "name": "dihydrolipoamide_dehydrogenase", - "product": "gi|165976188|ref|YP_001651781.1|dihydrolipoamide_dehydrogenase_[Actinobacillus_pleuropneumoniae_serovar_3_str._JL03]", - "start": 890119 - }, - "ILGNJHOM_00953": { - "contig": "NZ_QWLX01000001.1", - "end": 983351, - "id": "16273599", - "name": "phosphoenolpyruvate-protein_phosphotransferase", - "product": "gi|16273599|ref|NP_439854.1|phosphoenolpyruvate-protein_phosphotransferase_[Haemophilus_influenzae_Rd_KW20]", - "start": 981624 - }, - "ILGNJHOM_00965": { - "contig": "NZ_QWLX01000001.1", - "end": 996162, - "id": "126207906", - "name": "argininosuccinate_synthase", - "product": "gi|126207906|ref|YP_001053131.1|argininosuccinate_synthase_[Actinobacillus_pleuropneumoniae_serovar_5b_str._L20]", - "start": 994828 - }, - "ILGNJHOM_00974": { - "contig": "NZ_QWLX01000002.1", - "end": 5070, - "id": "165976006", - "name": "GMP_synthase", - "product": "gi|165976006|ref|YP_001651599.1|GMP_synthase_[Actinobacillus_pleuropneumoniae_serovar_3_str._JL03]", - "start": 3499 - }, - "ILGNJHOM_00981": { - "contig": "NZ_QWLX01000002.1", - "end": 12996, - "id": "126208059", - "name": "polynucleotide_phosphorylase/polyadenylase", - "product": "gi|126208059|ref|YP_001053284.1|polynucleotide_phosphorylase/polyadenylase_[Actinobacillus_pleuropneumoniae_serovar_5b_str._L20]", - "start": 10867 - }, - "ILGNJHOM_01090": { - "contig": "NZ_QWLX01000002.1", - "end": 117217, - "id": "16272282", - "name": "opacity_associated_protein", - "product": "gi|16272282|ref|NP_438494.1|opacity_associated_protein_[Haemophilus_influenzae_Rd_KW20]", - "start": 115922 - }, - "ILGNJHOM_01169": { - "contig": "NZ_QWLX01000002.1", - "end": 191965, - "id": "16272355", - "name": "acetyl-CoA_carboxylase_carboxyltransferase_subunit_alpha", - "product": "gi|16272355|ref|NP_438568.1|acetyl-CoA_carboxylase_carboxyltransferase_subunit_alpha_[Haemophilus_influenzae_Rd_KW20]", - "start": 191018 - }, - "ILGNJHOM_01537": { - "contig": "NZ_QWLX01000004.1", - "end": 47786, - "id": "126208850", - "name": "50S_ribosomal_protein_L32", - "product": "gi|126208850|ref|YP_001054075.1|50S_ribosomal_protein_L32_[Actinobacillus_pleuropneumoniae_serovar_5b_str._L20]", - "start": 47616 - }, - "ILGNJHOM_01587": { - "contig": "NZ_QWLX01000004.1", - "end": 97630, - "id": "68248814", - "name": "DNA_adenine_methylase", - "product": "gi|68248814|ref|YP_247926.1|DNA_adenine_methylase_[Haemophilus_influenzae_86-028NP]", - "start": 96770 - }, - "ILGNJHOM_01612": { - "contig": "NZ_QWLX01000005.1", - "end": 7023, - "id": "16272571", - "name": "RNA_polymerase_sigma_factor_RpoE", - "product": "gi|16272571|ref|NP_438788.1|RNA_polymerase_sigma_factor_RpoE_[Haemophilus_influenzae_Rd_KW20]", - "start": 6454 - }, - "ILGNJHOM_01759": { - "contig": "NZ_QWLX01000007.1", - "end": 4957, - "id": "165975488", - "name": "peptide_chain_release_factor_3", - "product": "gi|165975488|ref|YP_001651081.1|peptide_chain_release_factor_3_[Actinobacillus_pleuropneumoniae_serovar_3_str._JL03]", - "start": 3377 - }, - "total": 16 - } - } - }, - "klebsiella_1": { - "MGE": { - "integron_finder": { - "NZ_CP006661.1": { - "integron_01": { - "contig": "NZ_CP006661.1", - "end": 116253, - "id": "integron_01", - "product": "integron", - "source": "Integron_Finder", - "start": 113939, - "type": "complete" - } - }, - "NZ_CP006662.2": { - "integron_01": { - "contig": "NZ_CP006662.2", - "end": 9205, - "id": "integron_01", - "product": "integron", - "source": "Integron_Finder", - "start": 7112, - "type": "complete" - }, - "integron_02": { - "contig": "NZ_CP006662.2", - "end": 40357, - "id": "integron_02", - "product": "integron", - "source": "Integron_Finder", - "start": 38111, - "type": "CALIN" - } - } - } - }, - "general_annotation": { - "cds": 5510, - "closest_reference": { - "accession": "NZ_AOCV", - "distance": 7.82718e-05, - "strain": "Klebsiella pneumoniae ATCC BAA-2146" - }, - "mlst": "11", - "rrna": 25, - "tmrna": 1, - "trna": 85 - }, - "plasmid": { - "plasmidfinder": { - "NZ_CP006660.1": { - "accession": "KU674895", - "identity": 93.13, - "inc_types": "Col(pHAD28)" - }, - "NZ_CP006661.1": { - "accession": "JN157804", - "identity": 100.0, - "inc_types": "IncC" - }, - "NZ_CP006662.2": { - "accession": "DQ449578", - "identity": 100.0, - "inc_types": "IncR" - }, - "NZ_CP006663.1": { - "accession": "CP000648", - "identity": 97.32, - "inc_types": "IncFII(K)" - }, - "meta": { - "database": "enterobacteriales" - }, - "total": 4 - }, - "platon": { - "NZ_CP006660.1": { - "AMRs": 0, - "Circular": "no", - "Conjugation": 0, - "Length": 2014, - "Mobilization": 0, - "ORFs": 2, - "Replication": 0 - }, - "NZ_CP006661.1": { - "AMRs": 6, - "Circular": "no", - "Conjugation": 8, - "Length": 140825, - "Mobilization": 1, - "ORFs": 163, - "Replication": 1 - }, - "NZ_CP006662.2": { - "AMRs": 17, - "Circular": "no", - "Conjugation": 0, - "Length": 85161, - "Mobilization": 1, - "ORFs": 96, - "Replication": 2 - }, - "NZ_CP006663.1": { - "AMRs": 4, - "Circular": "no", - "Conjugation": 0, - "Length": 117755, - "Mobilization": 0, - "ORFs": 113, - "Replication": 3 - } - } - }, - "resistance": { - "amrfinderplus": { - "FKEDNGPL_00077": { - "card_aro": null, - "contig": "NZ_CP006659.2", - "end": 80789, - "gene": "fieF", - "identity": 100.0, - "start": 79887, - "subclass": null, - "type": "STRESS" - }, - "FKEDNGPL_00626": { - "card_aro": 3004111, - "contig": "NZ_CP006659.2", - "end": 668378, - "gene": "fosA", - "identity": 98.56, - "start": 667959, - "subclass": "FOSFOMYCIN", - "type": "AMR" - }, - "FKEDNGPL_01688": { - "card_aro": null, - "contig": "NZ_CP006659.2", - "end": 1782794, - "gene": "kdeA", - "identity": 99.76, - "start": 1781562, - "subclass": "EFFLUX", - "type": "AMR" - }, - "FKEDNGPL_02188": { - "card_aro": 3002602, - "contig": "NZ_CP006659.2", - "end": 2298476, - "gene": "aadA2", - "identity": 99.61, - "start": 2297697, - "subclass": "STREPTOMYCIN", - "type": "AMR" - }, - "FKEDNGPL_02189": { - "card_aro": 3005010, - "contig": "NZ_CP006659.2", - "end": 2298987, - "gene": "qacEdelta1", - "identity": 100.0, - "start": 2298640, - "subclass": "QUATERNARY AMMONIUM", - "type": "STRESS" - }, - "FKEDNGPL_02190": { - "card_aro": 3000410, - "contig": "NZ_CP006659.2", - "end": 2299820, - "gene": "sul1", - "identity": 100.0, - "start": 2298981, - "subclass": "SULFONAMIDE", - "type": "AMR" - }, - "FKEDNGPL_02500": { - "card_aro": 3001070, - "contig": "NZ_CP006659.2", - "end": 2613825, - "gene": "blaSHV-11", - "identity": 100.0, - "start": 2612965, - "subclass": "BETA-LACTAM", - "type": "AMR" - }, - "FKEDNGPL_02929": { - "card_aro": null, - "contig": "NZ_CP006659.2", - "end": 3042690, - "gene": "asr", - "identity": 61.32, - "start": 3042283, - "subclass": null, - "type": "STRESS" - }, - "FKEDNGPL_04009": { - "card_aro": 3003922, - "contig": "NZ_CP006659.2", - "end": 4170874, - "gene": "oqxA", - "identity": 100.0, - "start": 4169699, - "subclass": "PHENICOL/QUINOLONE", - "type": "AMR" - }, - "FKEDNGPL_04010": { - "card_aro": 3003923, - "contig": "NZ_CP006659.2", - "end": 4174050, - "gene": "oqxB", - "identity": 100.0, - "start": 4170898, - "subclass": "PHENICOL/QUINOLONE", - "type": "AMR" - }, - "FKEDNGPL_04336": { - "card_aro": null, - "contig": "NZ_CP006659.2", - "end": 4509593, - "gene": "arsC", - "identity": 78.42, - "start": 4509171, - "subclass": "ARSENATE", - "type": "STRESS" - }, - "FKEDNGPL_05185": { - "card_aro": null, - "contig": "NZ_CP006659.2", - "end": 5368672, - "gene": "emrD", - "identity": 99.24, - "start": 5367488, - "subclass": "EFFLUX", - "type": "AMR" - }, - "FKEDNGPL_05222": { - "card_aro": 3001878, - "contig": "NZ_CP006659.2", - "end": 5408782, - "gene": "blaCTX-M-15", - "identity": 100.0, - "start": 5407907, - "subclass": "CEPHALOSPORIN", - "type": "AMR" - }, - "FKEDNGPL_05269": { - "card_aro": 3000316, - "contig": "NZ_CP006663.1", - "end": 17408, - "gene": "mph(A)", - "identity": 100.0, - "start": 16503, - "subclass": "MACROLIDE", - "type": "AMR" - }, - "FKEDNGPL_05272": { - "card_aro": 3000165, - "contig": "NZ_CP006663.1", - "end": 20367, - "gene": "tet(A)", - "identity": 100.0, - "start": 19168, - "subclass": "TETRACYCLINE", - "type": "AMR" - }, - "FKEDNGPL_05306": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 57673, - "gene": "arsR", - "identity": 100.0, - "start": 57323, - "subclass": "ARSENIC", - "type": "STRESS" - }, - "FKEDNGPL_05307": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 58085, - "gene": "arsD", - "identity": 91.67, - "start": 57723, - "subclass": "ARSENITE", - "type": "STRESS" - }, - "FKEDNGPL_05308": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 59854, - "gene": "arsA", - "identity": 100.0, - "start": 58103, - "subclass": "ARSENITE", - "type": "STRESS" - }, - "FKEDNGPL_05309": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 61191, - "gene": "arsB", - "identity": 100.0, - "start": 59902, - "subclass": "ARSENITE", - "type": "STRESS" - }, - "FKEDNGPL_05310": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 61629, - "gene": "arsC", - "identity": 100.0, - "start": 61204, - "subclass": "ARSENATE", - "type": "STRESS" - }, - "FKEDNGPL_05321": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 70099, - "gene": "pcoE", - "identity": 94.44, - "start": 69665, - "subclass": "COPPER", - "type": "STRESS" - }, - "FKEDNGPL_05322": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 71716, - "gene": "pcoS", - "identity": 99.14, - "start": 70316, - "subclass": "COPPER", - "type": "STRESS" - }, - "FKEDNGPL_05323": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 72393, - "gene": "pcoR", - "identity": 99.56, - "start": 71713, - "subclass": "COPPER", - "type": "STRESS" - }, - "FKEDNGPL_05324": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 73377, - "gene": "pcoD", - "identity": 99.68, - "start": 72448, - "subclass": "COPPER", - "type": "STRESS" - }, - "FKEDNGPL_05325": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 73762, - "gene": "pcoC", - "identity": 100.0, - "start": 73382, - "subclass": "COPPER", - "type": "STRESS" - }, - "FKEDNGPL_05326": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 74698, - "gene": "pcoB", - "identity": 100.0, - "start": 73802, - "subclass": "COPPER", - "type": "STRESS" - }, - "FKEDNGPL_05327": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 76515, - "gene": "pcoA", - "identity": 100.0, - "start": 74698, - "subclass": "COPPER", - "type": "STRESS" - }, - "FKEDNGPL_05331": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 80943, - "gene": "silP", - "identity": 94.49, - "start": 78496, - "subclass": "SILVER", - "type": "STRESS" - }, - "FKEDNGPL_05333": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 84743, - "gene": "silA", - "identity": 98.85, - "start": 81597, - "subclass": "COPPER/SILVER", - "type": "STRESS" - }, - "FKEDNGPL_05334": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 86046, - "gene": "silB", - "identity": 97.67, - "start": 84754, - "subclass": "COPPER/SILVER", - "type": "STRESS" - }, - "FKEDNGPL_05335": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 86513, - "gene": "silF", - "identity": 99.15, - "start": 86160, - "subclass": "COPPER/SILVER", - "type": "STRESS" - }, - "FKEDNGPL_05336": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 87927, - "gene": "silC", - "identity": 100.0, - "start": 86542, - "subclass": "COPPER/SILVER", - "type": "STRESS" - }, - "FKEDNGPL_05337": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 88797, - "gene": "silR", - "identity": 100.0, - "start": 88117, - "subclass": "COPPER/SILVER", - "type": "STRESS" - }, - "FKEDNGPL_05338": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 90265, - "gene": "silS", - "identity": 100.0, - "start": 88790, - "subclass": "COPPER/SILVER", - "type": "STRESS" - }, - "FKEDNGPL_05339": { - "card_aro": null, - "contig": "NZ_CP006663.1", - "end": 90947, - "gene": "silE", - "identity": 91.61, - "start": 90516, - "subclass": "SILVER", - "type": "STRESS" - }, - "FKEDNGPL_05388": { - "card_aro": 3002723, - "contig": "NZ_CP006662.2", - "end": 26742, - "gene": "qnrB9", - "identity": 100.0, - "start": 26098, - "subclass": "QUINOLONE", - "type": "AMR" - }, - "FKEDNGPL_05398": { - "card_aro": 3001070, - "contig": "NZ_CP006662.2", - "end": 37171, - "gene": "blaSHV", - "identity": 99.65, - "start": 36311, - "subclass": "BETA-LACTAM", - "type": "AMR" - }, - "FKEDNGPL_05400": { - "card_aro": 3005116, - "contig": "NZ_CP006662.2", - "end": 38710, - "gene": "aac(6')-Ib-cr", - "identity": 100.0, - "start": 38111, - "subclass": "AMIKACIN/KANAMYCIN/QUINOLONE/TOBRAMYCIN", - "type": "AMR" - }, - "FKEDNGPL_05401": { - "card_aro": 3001396, - "contig": "NZ_CP006662.2", - "end": 39671, - "gene": "blaOXA-1", - "identity": 100.0, - "start": 38841, - "subclass": "CEPHALOSPORIN", - "type": "AMR" - }, - "FKEDNGPL_05404": { - "card_aro": 3004621, - "contig": "NZ_CP006662.2", - "end": 41974, - "gene": "aac(3)-IIe", - "identity": 100.0, - "start": 41114, - "subclass": "GENTAMICIN", - "type": "AMR" - }, - "FKEDNGPL_05411": { - "card_aro": 3001878, - "contig": "NZ_CP006662.2", - "end": 48003, - "gene": "blaCTX-M-15", - "identity": 100.0, - "start": 47128, - "subclass": "CEPHALOSPORIN", - "type": "AMR" - }, - "FKEDNGPL_05416": { - "card_aro": 3000873, - "contig": "NZ_CP006662.2", - "end": 51685, - "gene": "blaTEM-1", - "identity": 100.0, - "start": 50825, - "subclass": "BETA-LACTAM", - "type": "AMR" - }, - "FKEDNGPL_05418": { - "card_aro": 3002660, - "contig": "NZ_CP006662.2", - "end": 53242, - "gene": "aph(6)-Id", - "identity": 100.0, - "start": 52406, - "subclass": "STREPTOMYCIN", - "type": "AMR" - }, - "FKEDNGPL_05419": { - "card_aro": 3002639, - "contig": "NZ_CP006662.2", - "end": 54045, - "gene": "aph(3'')-Ib", - "identity": 100.0, - "start": 53242, - "subclass": "STREPTOMYCIN", - "type": "AMR" - }, - "FKEDNGPL_05420": { - "card_aro": 3000412, - "contig": "NZ_CP006662.2", - "end": 54921, - "gene": "sul2", - "identity": 100.0, - "start": 54106, - "subclass": "SULFONAMIDE", - "type": "AMR" - }, - "FKEDNGPL_05426": { - "card_aro": null, - "contig": "NZ_CP006662.2", - "end": 60866, - "gene": "merE", - "identity": 96.15, - "start": 60630, - "subclass": "MERCURY", - "type": "STRESS" - }, - "FKEDNGPL_05427": { - "card_aro": null, - "contig": "NZ_CP006662.2", - "end": 61228, - "gene": "merD", - "identity": 90.08, - "start": 60863, - "subclass": "MERCURY", - "type": "STRESS" - }, - "FKEDNGPL_05428": { - "card_aro": null, - "contig": "NZ_CP006662.2", - "end": 62931, - "gene": "merA", - "identity": 93.23, - "start": 61246, - "subclass": "MERCURY", - "type": "STRESS" - }, - "FKEDNGPL_05429": { - "card_aro": null, - "contig": "NZ_CP006662.2", - "end": 63395, - "gene": "merC", - "identity": 80.14, - "start": 62970, - "subclass": "ORGANOMERCURY", - "type": "STRESS" - }, - "FKEDNGPL_05430": { - "card_aro": null, - "contig": "NZ_CP006662.2", - "end": 63698, - "gene": "merP", - "identity": 85.71, - "start": 63423, - "subclass": "MERCURY", - "type": "STRESS" - }, - "FKEDNGPL_05431": { - "card_aro": null, - "contig": "NZ_CP006662.2", - "end": 64079, - "gene": "merT", - "identity": 98.26, - "start": 63714, - "subclass": "MERCURY", - "type": "STRESS" - }, - "FKEDNGPL_05432": { - "card_aro": null, - "contig": "NZ_CP006662.2", - "end": 64606, - "gene": "merR", - "identity": 92.96, - "start": 64151, - "subclass": "MERCURY", - "type": "STRESS" - }, - "FKEDNGPL_05454": { - "card_aro": 3002581, - "contig": "NZ_CP006662.2", - "end": 83347, - "gene": "aac(6')-Ib", - "identity": 100.0, - "start": 82742, - "subclass": "AMIKACIN/KANAMYCIN/TOBRAMYCIN", - "type": "AMR" - }, - "FKEDNGPL_05553": { - "card_aro": 3002017, - "contig": "NZ_CP006661.1", - "end": 73348, - "gene": "blaCMY-6", - "identity": 100.0, - "start": 72203, - "subclass": "CEPHALOSPORIN", - "type": "AMR" - }, - "FKEDNGPL_05593": { - "card_aro": 3002581, - "contig": "NZ_CP006661.1", - "end": 115737, - "gene": "aac(6')-Ib", - "identity": 100.0, - "start": 115159, - "subclass": "AMIKACIN/KANAMYCIN/TOBRAMYCIN", - "type": "AMR" - }, - "FKEDNGPL_05594": { - "card_aro": 3005010, - "contig": "NZ_CP006661.1", - "end": 116253, - "gene": "qacEdelta1", - "identity": 100.0, - "start": 115906, - "subclass": "QUATERNARY AMMONIUM", - "type": "STRESS" - }, - "FKEDNGPL_05595": { - "card_aro": 3000410, - "contig": "NZ_CP006661.1", - "end": 117086, - "gene": "sul1", - "identity": 100.0, - "start": 116247, - "subclass": "SULFONAMIDE", - "type": "AMR" - }, - "FKEDNGPL_05603": { - "card_aro": 3000589, - "contig": "NZ_CP006661.1", - "end": 123003, - "gene": "blaNDM-1", - "identity": 100.0, - "start": 122191, - "subclass": "CARBAPENEM", - "type": "AMR" - }, - "FKEDNGPL_05604": { - "card_aro": 3001205, - "contig": "NZ_CP006661.1", - "end": 123372, - "gene": "ble", - "identity": 100.0, - "start": 123007, - "subclass": "BLEOMYCIN", - "type": "AMR" - }, - "total": 59 - }, - "resfinder": { - "FKEDNGPL_00626": { - "accession": "ACWO01000079", - "card_aro": 3004111, - "end": 668378, - "name": "fosA", - "phenotype": "Fosfomycin_resistance", - "start": 667959 - }, - "FKEDNGPL_02188": { - "accession": "D43625", - "card_aro": 3002602, - "end": 2298476, - "name": "aadA2b", - "phenotype": "Aminoglycoside_resistance", - "start": 2297697 - }, - "FKEDNGPL_02190": { - "accession": "U12338", - "card_aro": 3000410, - "end": 2299820, - "name": "sul1", - "phenotype": "Sulphonamide_resistance", - "start": 2298981 - }, - "FKEDNGPL_02500": { - "accession": "KP050489", - "card_aro": 3001070, - "end": 2613825, - "name": "blaSHV-182", - "phenotype": "Beta-lactam_resistance", - "start": 2612965 - }, - "FKEDNGPL_04009": { - "accession": "EU370913", - "card_aro": 3003922, - "end": 4170874, - "name": "OqxA", - "phenotype": "Warning:_gene_is_missing_from_Notes_file._Please_inform_curator.", - "start": 4169699 - }, - "FKEDNGPL_04010": { - "accession": "EU370913", - "card_aro": 3003923, - "end": 4174050, - "name": "OqxB", - "phenotype": "Warning:_gene_is_missing_from_Notes_file._Please_inform_curator.", - "start": 4170898 - }, - "FKEDNGPL_05222": { - "accession": "AY044436", - "card_aro": 3001878, - "end": 5408782, - "name": "blaCTX-M-15", - "phenotype": "Beta-lactam_resistance_Alternate_name_UOE-1", - "start": 5407907 - }, - "FKEDNGPL_05269": { - "accession": "D16251", - "card_aro": 3000316, - "end": 17408, - "name": "mph(A)", - "phenotype": "Macrolide_resistance", - "start": 16503 - }, - "FKEDNGPL_05272": { - "accession": "AJ517790", - "card_aro": 3000165, - "end": 20367, - "name": "tet(A)", - "phenotype": "Tetracycline_resistance", - "start": 19168 - }, - "FKEDNGPL_05388": { - "accession": "EF526508", - "card_aro": 3002723, - "end": 26742, - "name": "qnrB9", - "phenotype": "Quinolone_resistance", - "start": 26098 - }, - "FKEDNGPL_05398": { - "accession": "AF164577", - "card_aro": 3001070, - "end": 37171, - "name": "blaSHV-13", - "phenotype": "Beta-lactam_resistance", - "start": 36311 - }, - "FKEDNGPL_05400": { - "accession": "DQ303918", - "card_aro": 3005116, - "end": 38710, - "name": "aac(6')-Ib-cr", - "phenotype": "Fluoroquinolone_and_aminoglycoside_resistance", - "start": 38111 - }, - "FKEDNGPL_05401": { - "accession": "HQ170510", - "card_aro": 3001396, - "end": 39671, - "name": "blaOXA-1", - "phenotype": "Beta-lactam_resistance", - "start": 38841 - }, - "FKEDNGPL_05404": { - "accession": "CP023555", - "card_aro": 3004621, - "end": 41974, - "name": "aac(3)-IIa", - "phenotype": "Aminoglycoside_resistance", - "start": 41114 - }, - "FKEDNGPL_05411": { - "accession": "AY044436", - "card_aro": 3001878, - "end": 48003, - "name": "blaCTX-M-15", - "phenotype": "Beta-lactam_resistance_Alternate_name_UOE-1", - "start": 47128 - }, - "FKEDNGPL_05416": { - "accession": "AY458016", - "card_aro": 3000873, - "end": 51685, - "name": "blaTEM-1B", - "phenotype": "Beta-lactam_resistance_Alternate_name_RblaTEM-1", - "start": 50825 - }, - "FKEDNGPL_05419": { - "accession": "AF321551", - "card_aro": 3002639, - "end": 54045, - "name": "aph(3'')-Ib", - "phenotype": "Aminoglycoside_resistance_Alternate_name_aph(3'')-Ib", - "start": 53242 - }, - "FKEDNGPL_05420": { - "accession": "AY034138", - "card_aro": 3000412, - "end": 54921, - "name": "sul2", - "phenotype": "Sulphonamide_resistance", - "start": 54106 - }, - "FKEDNGPL_05454": { - "accession": "M21682", - "card_aro": 3002581, - "end": 83347, - "name": "aac(6')-Ib", - "phenotype": "Aminoglycoside_resistance", - "start": 82742 - }, - "FKEDNGPL_05553": { - "accession": "AJ011293", - "card_aro": 3002017, - "end": 73348, - "name": "blaCMY-6", - "phenotype": "Beta-lactam_resistance", - "start": 72203 - }, - "FKEDNGPL_05593": { - "accession": "X60321", - "card_aro": 3002581, - "end": 115737, - "name": "aac(6')-Ib3", - "phenotype": "Warning:_gene_is_missing_from_Notes_file._Please_inform_curator.", - "start": 115159 - }, - "FKEDNGPL_05595": { - "accession": "U12338", - "card_aro": 3000410, - "end": 117086, - "name": "sul1", - "phenotype": "Sulphonamide_resistance", - "start": 116247 - }, - "FKEDNGPL_05600": { - "accession": "AB194779", - "card_aro": 3000861, - "end": 120492, - "name": "rmtC", - "phenotype": "Aminoglycoside_resistance", - "start": 120100 - }, - "FKEDNGPL_05603": { - "accession": "FN396876", - "card_aro": 3000589, - "end": 123003, - "name": "blaNDM-1", - "phenotype": "Beta-lactam_resistance", - "start": 122191 - }, - "total": 24 - }, - "rgi": { - "FKEDNGPL_00212": { - "accession": 2158, - "card_aro": 3003369, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 223131, - "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", - "gene_family": "elfamycin resistant EF-Tu", - "identity": 97.97, - "name": "Elongation factor Tu 1", - "resistance_mechanism": "antibiotic target alteration", - "start": 221947, - "subclass": "elfamycin antibiotic" - }, - "FKEDNGPL_00626": { - "accession": 2779, - "card_aro": 3004111, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 668378, - "gene": "FosA6", - "gene_family": "fosfomycin thiol transferase", - "identity": 97.84, - "name": "Glutathione transferase FosA", - "resistance_mechanism": "antibiotic inactivation", - "start": 667959, - "subclass": "phosphonic acid antibiotic" - }, - "FKEDNGPL_00782": { - "accession": 3799, - "card_aro": 3005059, - "contig": "NZ_CP006659.2", - "cut_off": "Perfect", - "end": 828170, - "gene": "LptD", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", - "identity": 100.0, - "name": "LPS-assembly protein LptD", - "resistance_mechanism": "antibiotic efflux", - "start": 825822, - "subclass": "peptide antibiotic; aminocoumarin antibiotic; rifamycin antibiotic" - }, - "FKEDNGPL_01174": { - "accession": 1104, - "card_aro": 3000216, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 1252826, - "gene": "acrB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 91.52, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 1249680, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "FKEDNGPL_01175": { - "accession": 2659, - "card_aro": 3004041, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 1254042, - "gene": "Klebsiella pneumoniae acrA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 95.24, - "name": "Multidrug efflux pump subunit AcrA", - "resistance_mechanism": "antibiotic efflux", - "start": 1252849, - "subclass": "fluoroquinolone antibiotic; cephalosporin; glycylcycline; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; disinfecting agents and antiseptics" - }, - "FKEDNGPL_01802": { - "accession": 2423, - "card_aro": 3003950, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 1901352, - "gene": "msbA", - "gene_family": "ATP-binding cassette (ABC) antibiotic efflux pump", - "identity": 92.78, - "name": "Lipid A export ATP-binding/permease protein MsbA", - "resistance_mechanism": "antibiotic efflux", - "start": 1899604, - "subclass": "nitroimidazole antibiotic" - }, - "FKEDNGPL_01844": { - "accession": 3787, - "card_aro": 3005044, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 1951794, - "gene": "OmpA", - "gene_family": "General Bacterial Porin with reduced permeability to peptide antibiotics", - "identity": 99.72, - "name": "Outer membrane protein A", - "resistance_mechanism": "reduced permeability to antibiotic", - "start": 1950724, - "subclass": "peptide antibiotic" - }, - "FKEDNGPL_02188": { - "accession": 1227, - "card_aro": 3002602, - "contig": "NZ_CP006659.2", - "cut_off": "Perfect", - "end": 2298476, - "gene": "aadA2", - "gene_family": "ANT(3'')", - "identity": 100.0, - "name": "Streptomycin 3''-adenylyltransferase", - "resistance_mechanism": "antibiotic inactivation", - "start": 2297697, - "subclass": "aminoglycoside antibiotic" - }, - "FKEDNGPL_02189": { - "accession": 3755, - "card_aro": 3005010, - "contig": "NZ_CP006659.2", - "cut_off": "Perfect", - "end": 2298987, - "gene": "qacEdelta1", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "Multidrug transporter EmrE", - "resistance_mechanism": "antibiotic efflux", - "start": 2298640, - "subclass": "disinfecting agents and antiseptics" - }, - "FKEDNGPL_02190": { - "accession": 1070, - "card_aro": 3000410, - "contig": "NZ_CP006659.2", - "cut_off": "Perfect", - "end": 2299820, - "gene": "sul1", - "gene_family": "sulfonamide resistant sul", - "identity": 100.0, - "name": "Dihydropteroate synthase", - "resistance_mechanism": "antibiotic target replacement", - "start": 2298981, - "subclass": "sulfonamide antibiotic" - }, - "FKEDNGPL_02457": { - "accession": 3283, - "card_aro": 3004580, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 2572631, - "gene": "Klebsiella pneumoniae KpnE", - "gene_family": "small multidrug resistance (SMR) antibiotic efflux pump", - "identity": 99.17, - "name": "Spermidine export protein MdtJ", - "resistance_mechanism": "antibiotic efflux", - "start": 2572269, - "subclass": "macrolide antibiotic; aminoglycoside antibiotic; cephalosporin; tetracycline antibiotic; peptide antibiotic; rifamycin antibiotic; disinfecting agents and antiseptics" - }, - "FKEDNGPL_02458": { - "accession": 3286, - "card_aro": 3004583, - "contig": "NZ_CP006659.2", - "cut_off": "Perfect", - "end": 2572947, - "gene": "Klebsiella pneumoniae KpnF", - "gene_family": "small multidrug resistance (SMR) antibiotic efflux pump", - "identity": 100.0, - "name": "Spermidine export protein MdtI", - "resistance_mechanism": "antibiotic efflux", - "start": 2572618, - "subclass": "macrolide antibiotic; aminoglycoside antibiotic; cephalosporin; tetracycline antibiotic; peptide antibiotic; rifamycin antibiotic; disinfecting agents and antiseptics" - }, - "FKEDNGPL_02500": { - "accession": 578, - "card_aro": 3001070, - "contig": "NZ_CP006659.2", - "cut_off": "Perfect", - "end": 2613825, - "gene": "SHV-11", - "gene_family": "SHV beta-lactamase", - "identity": 100.0, - "name": "Beta-lactamase SHV-1", - "resistance_mechanism": "antibiotic inactivation", - "start": 2612965, - "subclass": "carbapenem; cephalosporin; penam" - }, - "FKEDNGPL_02520": { - "accession": 1922, - "card_aro": 3000263, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 2634302, - "gene": "marA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump; General Bacterial Porin with reduced permeability to beta-lactams", - "identity": 92.74, - "name": "Multiple antibiotic resistance protein MarA", - "resistance_mechanism": "antibiotic efflux; reduced permeability to antibiotic", - "start": 2633928, - "subclass": "fluoroquinolone antibiotic; monobactam; carbapenem; cephalosporin; glycylcycline; cephamycin; penam; tetracycline antibiotic; rifamycin antibiotic; phenicol antibiotic; penem; disinfecting agents and antiseptics" - }, - "FKEDNGPL_03488": { - "accession": 820, - "card_aro": 3000793, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 3623962, - "gene": "mdtB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 90.48, - "name": "Multidrug resistance protein MdtB", - "resistance_mechanism": "antibiotic efflux", - "start": 3620840, - "subclass": "aminocoumarin antibiotic" - }, - "FKEDNGPL_03489": { - "accession": 1315, - "card_aro": 3000794, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 3627040, - "gene": "mdtC", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 91.32, - "name": "Multidrug resistance protein MdtC", - "resistance_mechanism": "antibiotic efflux", - "start": 3623963, - "subclass": "aminocoumarin antibiotic" - }, - "FKEDNGPL_03492": { - "accession": 1337, - "card_aro": 3000828, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 3630711, - "gene": "baeR", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 92.5, - "name": "Transcriptional regulatory protein BaeR", - "resistance_mechanism": "antibiotic efflux", - "start": 3629989, - "subclass": "aminoglycoside antibiotic; aminocoumarin antibiotic" - }, - "FKEDNGPL_03608": { - "accession": 1545, - "card_aro": 3003294, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 3766306, - "gene": "Escherichia coli gyrA conferring resistance to fluoroquinolones", - "gene_family": "fluoroquinolone resistant gyrA", - "identity": 92.23, - "name": "DNA gyrase subunit A", - "resistance_mechanism": "antibiotic target alteration", - "start": 3763673, - "subclass": "fluoroquinolone antibiotic" - }, - "FKEDNGPL_03769": { - "accession": 1427, - "card_aro": 3000491, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 3935888, - "gene": "acrD", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 91.03, - "name": "Multidrug efflux pump subunit AcrB", - "resistance_mechanism": "antibiotic efflux", - "start": 3932775, - "subclass": "aminoglycoside antibiotic" - }, - "FKEDNGPL_04009": { - "accession": 2399, - "card_aro": 3003922, - "contig": "NZ_CP006659.2", - "cut_off": "Perfect", - "end": 4170874, - "gene": "oqxA", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "Efflux pump periplasmic linker BepF", - "resistance_mechanism": "antibiotic efflux", - "start": 4169699, - "subclass": "fluoroquinolone antibiotic; glycylcycline; tetracycline antibiotic; diaminopyrimidine antibiotic; nitrofuran antibiotic" - }, - "FKEDNGPL_04010": { - "accession": 2400, - "card_aro": 3003923, - "contig": "NZ_CP006659.2", - "cut_off": "Perfect", - "end": 4174050, - "gene": "oqxB", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 100.0, - "name": "multidrug efflux RND transporter permease subunit OqxB3", - "resistance_mechanism": "antibiotic efflux", - "start": 4170898, - "subclass": "fluoroquinolone antibiotic; glycylcycline; tetracycline antibiotic; diaminopyrimidine antibiotic; nitrofuran antibiotic" - }, - "FKEDNGPL_04055": { - "accession": 1330, - "card_aro": 3000516, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 4218850, - "gene": "emrR", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 92.57, - "name": "Transcriptional repressor MprA", - "resistance_mechanism": "antibiotic efflux", - "start": 4218320, - "subclass": "fluoroquinolone antibiotic" - }, - "FKEDNGPL_04056": { - "accession": 3298, - "card_aro": 3004588, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 4220148, - "gene": "Klebsiella pneumoniae KpnG", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 99.74, - "name": "Multidrug export protein EmrA", - "resistance_mechanism": "antibiotic efflux", - "start": 4218976, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; aminoglycoside antibiotic; carbapenem; cephalosporin; penam; peptide antibiotic; penem" - }, - "FKEDNGPL_04057": { - "accession": 3299, - "card_aro": 3004597, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 4221702, - "gene": "Klebsiella pneumoniae KpnH", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 94.02, - "name": "Multidrug export protein EmrB", - "resistance_mechanism": "antibiotic efflux", - "start": 4220164, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; aminoglycoside antibiotic; carbapenem; cephalosporin; penam; peptide antibiotic; penem" - }, - "FKEDNGPL_04522": { - "accession": 1450, - "card_aro": 3003308, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 4691805, - "gene": "Escherichia coli parC conferring resistance to fluoroquinolones", - "gene_family": "fluoroquinolone resistant parC", - "identity": 94.41, - "name": "DNA topoisomerase 4 subunit A", - "resistance_mechanism": "antibiotic target alteration", - "start": 4689547, - "subclass": "fluoroquinolone antibiotic" - }, - "FKEDNGPL_04827": { - "accession": 2158, - "card_aro": 3003369, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 4974037, - "gene": "Escherichia coli EF-Tu mutants conferring resistance to Pulvomycin", - "gene_family": "elfamycin resistant EF-Tu", - "identity": 97.97, - "name": "Elongation factor Tu 1", - "resistance_mechanism": "antibiotic target alteration", - "start": 4972853, - "subclass": "elfamycin antibiotic" - }, - "FKEDNGPL_04846": { - "accession": 869, - "card_aro": 3000518, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 4989716, - "gene": "CRP", - "gene_family": "resistance-nodulation-cell division (RND) antibiotic efflux pump", - "identity": 99.05, - "name": "cAMP-activated global transcriptional regulator CRP", - "resistance_mechanism": "antibiotic efflux", - "start": 4989084, - "subclass": "macrolide antibiotic; fluoroquinolone antibiotic; penam" - }, - "FKEDNGPL_04946": { - "accession": 3795, - "card_aro": 3005053, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 5101117, - "gene": "ArnT", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 99.64, - "name": "Undecaprenyl phosphate-alpha-4-amino-4-deoxy-L-arabinose arabinosyl transferase", - "resistance_mechanism": "antibiotic target alteration", - "start": 5099462, - "subclass": "peptide antibiotic" - }, - "FKEDNGPL_05008": { - "accession": 3791, - "card_aro": 3005047, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 5182773, - "gene": "eptB", - "gene_family": "pmr phosphoethanolamine transferase", - "identity": 99.46, - "name": "Kdo(2)-lipid A phosphoethanolamine 7''-transferase", - "resistance_mechanism": "antibiotic target alteration", - "start": 5181100, - "subclass": "peptide antibiotic" - }, - "FKEDNGPL_05175": { - "accession": 2373, - "card_aro": 3003890, - "contig": "NZ_CP006659.2", - "cut_off": "Strict", - "end": 5359214, - "gene": "Escherichia coli UhpT with mutation conferring resistance to fosfomycin", - "gene_family": "antibiotic-resistant UhpT", - "identity": 95.03, - "name": "Hexose-6-phosphate:phosphate antiporter", - "resistance_mechanism": "antibiotic target alteration", - "start": 5357823, - "subclass": "phosphonic acid antibiotic" - }, - "FKEDNGPL_05222": { - "accession": 2035, - "card_aro": 3001878, - "contig": "NZ_CP006659.2", - "cut_off": "Perfect", - "end": 5408782, - "gene": "CTX-M-15", - "gene_family": "CTX-M beta-lactamase", - "identity": 100.0, - "name": "Beta-lactamase CTX-M-1", - "resistance_mechanism": "antibiotic inactivation", - "start": 5407907, - "subclass": "cephalosporin; penam" - }, - "FKEDNGPL_05268": { - "accession": 5917, - "card_aro": 3003839, - "contig": "NZ_CP006663.1", - "cut_off": "Perfect", - "end": 16506, - "gene": "Mrx", - "gene_family": "macrolide phosphotransferase (MPH)", - "identity": 100.0, - "name": "Multidrug efflux pump Tap", - "resistance_mechanism": "antibiotic inactivation", - "start": 15268, - "subclass": "macrolide antibiotic" - }, - "FKEDNGPL_05269": { - "accession": 1243, - "card_aro": 3000316, - "contig": "NZ_CP006663.1", - "cut_off": "Perfect", - "end": 17408, - "gene": "mphA", - "gene_family": "macrolide phosphotransferase (MPH)", - "identity": 100.0, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic inactivation", - "start": 16503, - "subclass": "macrolide antibiotic" - }, - "FKEDNGPL_05272": { - "accession": 1808, - "card_aro": 3000165, - "contig": "NZ_CP006663.1", - "cut_off": "Strict", - "end": 20367, - "gene": "tet(A)", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 98.48, - "name": "Tetracycline resistance protein, class C", - "resistance_mechanism": "antibiotic efflux", - "start": 19168, - "subclass": "tetracycline antibiotic" - }, - "FKEDNGPL_05388": { - "accession": 1579, - "card_aro": 3002723, - "contig": "NZ_CP006662.2", - "cut_off": "Perfect", - "end": 26742, - "gene": "QnrB9", - "gene_family": "quinolone resistance protein (qnr)", - "identity": 100.0, - "name": "Pentapeptide repeat protein", - "resistance_mechanism": "antibiotic target protection", - "start": 26098, - "subclass": "fluoroquinolone antibiotic" - }, - "FKEDNGPL_05398": { - "accession": 578, - "card_aro": 3001070, - "contig": "NZ_CP006662.2", - "cut_off": "Strict", - "end": 37171, - "gene": "SHV-11", - "gene_family": "SHV beta-lactamase", - "identity": 99.65, - "name": "Beta-lactamase SHV-1", - "resistance_mechanism": "antibiotic inactivation", - "start": 36311, - "subclass": "carbapenem; cephalosporin; penam" - }, - "FKEDNGPL_05400": { - "accession": 3843, - "card_aro": 3005116, - "contig": "NZ_CP006662.2", - "cut_off": "Strict", - "end": 38710, - "gene": "AAC(6')-Ib-cr6", - "gene_family": "AAC(6'); AAC(6')-Ib-cr", - "identity": 98.99, - "name": "Aminoglycoside N(6')-acetyltransferase type 1", - "resistance_mechanism": "antibiotic inactivation", - "start": 38111, - "subclass": "fluoroquinolone antibiotic; aminoglycoside antibiotic" - }, - "FKEDNGPL_05401": { - "accession": 1952, - "card_aro": 3001396, - "contig": "NZ_CP006662.2", - "cut_off": "Perfect", - "end": 39671, - "gene": "OXA-1", - "gene_family": "OXA beta-lactamase", - "identity": 100.0, - "name": "Beta-lactamase OXA-1", - "resistance_mechanism": "antibiotic inactivation", - "start": 38841, - "subclass": "carbapenem; cephalosporin; penam" - }, - "FKEDNGPL_05402": { - "accession": 150, - "card_aro": 3002676, - "contig": "NZ_CP006662.2", - "cut_off": "Strict", - "end": 40357, - "gene": "catB3", - "gene_family": "chloramphenicol acetyltransferase (CAT)", - "identity": 100.0, - "name": "Chloramphenicol acetyltransferase", - "resistance_mechanism": "antibiotic inactivation", - "start": 39809, - "subclass": "phenicol antibiotic" - }, - "FKEDNGPL_05404": { - "accession": 3321, - "card_aro": 3004621, - "contig": "NZ_CP006662.2", - "cut_off": "Strict", - "end": 41974, - "gene": "AAC(3)-IIe", - "gene_family": "AAC(3)", - "identity": 98.95, - "name": "SPbeta prophage-derived aminoglycoside N(3')-acetyltransferase-like protein YokD", - "resistance_mechanism": "antibiotic inactivation", - "start": 41114, - "subclass": "aminoglycoside antibiotic" - }, - "FKEDNGPL_05411": { - "accession": 2035, - "card_aro": 3001878, - "contig": "NZ_CP006662.2", - "cut_off": "Perfect", - "end": 48003, - "gene": "CTX-M-15", - "gene_family": "CTX-M beta-lactamase", - "identity": 100.0, - "name": "Beta-lactamase CTX-M-1", - "resistance_mechanism": "antibiotic inactivation", - "start": 47128, - "subclass": "cephalosporin; penam" - }, - "FKEDNGPL_05416": { - "accession": 355, - "card_aro": 3000873, - "contig": "NZ_CP006662.2", - "cut_off": "Perfect", - "end": 51685, - "gene": "TEM-1", - "gene_family": "TEM beta-lactamase", - "identity": 100.0, - "name": "Beta-lactamase TEM", - "resistance_mechanism": "antibiotic inactivation", - "start": 50825, - "subclass": "monobactam; cephalosporin; penam; penem" - }, - "FKEDNGPL_05418": { - "accession": 1031, - "card_aro": 3002660, - "contig": "NZ_CP006662.2", - "cut_off": "Strict", - "end": 53242, - "gene": "APH(6)-Id", - "gene_family": "APH(6)", - "identity": 99.64, - "name": "hypothetical protein", - "resistance_mechanism": "antibiotic inactivation", - "start": 52406, - "subclass": "aminoglycoside antibiotic" - }, - "FKEDNGPL_05419": { - "accession": 1830, - "card_aro": 3002639, - "contig": "NZ_CP006662.2", - "cut_off": "Strict", - "end": 54045, - "gene": "APH(3'')-Ib", - "gene_family": "APH(3'')", - "identity": 99.63, - "name": "Aminoglycoside 3'-phosphotransferase", - "resistance_mechanism": "antibiotic inactivation", - "start": 53242, - "subclass": "aminoglycoside antibiotic" - }, - "FKEDNGPL_05420": { - "accession": 952, - "card_aro": 3000412, - "contig": "NZ_CP006662.2", - "cut_off": "Perfect", - "end": 54921, - "gene": "sul2", - "gene_family": "sulfonamide resistant sul", - "identity": 100.0, - "name": "Dihydropteroate synthase", - "resistance_mechanism": "antibiotic target replacement", - "start": 54106, - "subclass": "sulfonamide antibiotic" - }, - "FKEDNGPL_05454": { - "accession": 1370, - "card_aro": 3002581, - "contig": "NZ_CP006662.2", - "cut_off": "Strict", - "end": 83347, - "gene": "AAC(6')-Ib10", - "gene_family": "AAC(6')", - "identity": 98.97, - "name": "Aminoglycoside N(6')-acetyltransferase type 1", - "resistance_mechanism": "antibiotic inactivation", - "start": 82742, - "subclass": "aminoglycoside antibiotic" - }, - "FKEDNGPL_05553": { - "accession": 1409, - "card_aro": 3002017, - "contig": "NZ_CP006661.1", - "cut_off": "Perfect", - "end": 73348, - "gene": "CMY-6", - "gene_family": "CMY beta-lactamase", - "identity": 100.0, - "name": "Beta-lactamase", - "resistance_mechanism": "antibiotic inactivation", - "start": 72203, - "subclass": "cephamycin" - }, - "FKEDNGPL_05593": { - "accession": 1370, - "card_aro": 3002581, - "contig": "NZ_CP006661.1", - "cut_off": "Strict", - "end": 115737, - "gene": "AAC(6')-Ib10", - "gene_family": "AAC(6')", - "identity": 98.94, - "name": "Aminoglycoside N(6')-acetyltransferase type 1", - "resistance_mechanism": "antibiotic inactivation", - "start": 115159, - "subclass": "aminoglycoside antibiotic" - }, - "FKEDNGPL_05594": { - "accession": 3755, - "card_aro": 3005010, - "contig": "NZ_CP006661.1", - "cut_off": "Perfect", - "end": 116253, - "gene": "qacEdelta1", - "gene_family": "major facilitator superfamily (MFS) antibiotic efflux pump", - "identity": 100.0, - "name": "Multidrug transporter EmrE", - "resistance_mechanism": "antibiotic efflux", - "start": 115906, - "subclass": "disinfecting agents and antiseptics" - }, - "FKEDNGPL_05595": { - "accession": 1070, - "card_aro": 3000410, - "contig": "NZ_CP006661.1", - "cut_off": "Perfect", - "end": 117086, - "gene": "sul1", - "gene_family": "sulfonamide resistant sul", - "identity": 100.0, - "name": "Dihydropteroate synthase", - "resistance_mechanism": "antibiotic target replacement", - "start": 116247, - "subclass": "sulfonamide antibiotic" - }, - "FKEDNGPL_05600": { - "accession": 1540, - "card_aro": 3000861, - "contig": "NZ_CP006661.1", - "cut_off": "Strict", - "end": 120492, - "gene": "rmtC", - "gene_family": "16S rRNA methyltransferase (G1405)", - "identity": 100.0, - "name": "16S rRNA (guanine(1405)-N(7))-methyltransferase", - "resistance_mechanism": "antibiotic target alteration", - "start": 120100, - "subclass": "aminoglycoside antibiotic" - }, - "FKEDNGPL_05603": { - "accession": 783, - "card_aro": 3000589, - "contig": "NZ_CP006661.1", - "cut_off": "Perfect", - "end": 123003, - "gene": "NDM-1", - "gene_family": "NDM beta-lactamase", - "identity": 100.0, - "name": "Metallo-beta-lactamase type 2", - "resistance_mechanism": "antibiotic inactivation", - "start": 122191, - "subclass": "carbapenem; cephalosporin; cephamycin; penam" - }, - "FKEDNGPL_05604": { - "accession": 255, - "card_aro": 3001205, - "contig": "NZ_CP006661.1", - "cut_off": "Perfect", - "end": 123372, - "gene": "BRP(MBL)", - "gene_family": "Bleomycin resistant protein", - "identity": 100.0, - "name": "Bleomycin resistance protein", - "resistance_mechanism": "antibiotic inactivation", - "start": 123007, - "subclass": "glycopeptide antibiotic" - }, - "total": 53 - } - }, - "results_dir": "/home/falmeida/Documents/GitHub/pythonScripts/_ANNOTATION/klebsiella_1", - "sample": "klebsiella_1", - "virulence": { - "VFDB": { - "FKEDNGPL_01174": { - "chr": "NZ_CP006659.2", - "end": 1252826, - "gene": "acrB", - "id": "VF0568", - "product": "AcrAB_(VF0568)_Antimicrobial_activity/Competitive_advantage_(VFC0325)", - "start": 1249680, - "virulence_factor": "AcrAB" - }, - "FKEDNGPL_01175": { - "chr": "NZ_CP006659.2", - "end": 1254042, - "gene": "acrA", - "id": "VF0568", - "product": "AcrAB_(VF0568)_Antimicrobial_activity/Competitive_advantage_(VFC0325)", - "start": 1252849, - "virulence_factor": "AcrAB" - }, - "FKEDNGPL_01418": { - "chr": "NZ_CP006659.2", - "end": 1500092, - "gene": "fepA", - "id": "VF0562", - "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 1497864, - "virulence_factor": "Ent" - }, - "FKEDNGPL_01419": { - "chr": "NZ_CP006659.2", - "end": 1501560, - "gene": "fes", - "id": "VF0562", - "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 1500352, - "virulence_factor": "Ent" - }, - "FKEDNGPL_01421": { - "chr": "NZ_CP006659.2", - "end": 1505683, - "gene": "entF", - "id": "VF0562", - "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 1501802, - "virulence_factor": "Ent" - }, - "FKEDNGPL_01422": { - "chr": "NZ_CP006659.2", - "end": 1506542, - "gene": "fepC", - "id": "VF0562", - "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 1505748, - "virulence_factor": "Ent" - }, - "FKEDNGPL_01423": { - "chr": "NZ_CP006659.2", - "end": 1507531, - "gene": "fepG", - "id": "VF0562", - "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 1506539, - "virulence_factor": "Ent" - }, - "FKEDNGPL_01424": { - "chr": "NZ_CP006659.2", - "end": 1508535, - "gene": "fepD", - "id": "VF0562", - "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 1507528, - "virulence_factor": "Ent" - }, - "FKEDNGPL_01425": { - "chr": "NZ_CP006659.2", - "end": 1509889, - "gene": "entS", - "id": "VF0562", - "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 1508648, - "virulence_factor": "Ent" - }, - "FKEDNGPL_01426": { - "chr": "NZ_CP006659.2", - "end": 1511109, - "gene": "fepB", - "id": "VF0562", - "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 1510150, - "virulence_factor": "Ent" - }, - "FKEDNGPL_01427": { - "chr": "NZ_CP006659.2", - "end": 1512473, - "gene": "entC", - "id": "VF0562", - "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 1511298, - "virulence_factor": "Ent" - }, - "FKEDNGPL_01428": { - "chr": "NZ_CP006659.2", - "end": 1514090, - "gene": "entE", - "id": "VF0562", - "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 1512483, - "virulence_factor": "Ent" - }, - "FKEDNGPL_01429": { - "chr": "NZ_CP006659.2", - "end": 1514955, - "gene": "entB", - "id": "VF0562", - "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 1514104, - "virulence_factor": "Ent" - }, - "FKEDNGPL_01430": { - "chr": "NZ_CP006659.2", - "end": 1515710, - "gene": "entA", - "id": "VF0562", - "product": "Ent_(VF0562)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 1514955, - "virulence_factor": "Ent" - }, - "FKEDNGPL_01987": { - "chr": "NZ_CP006659.2", - "end": 2095799, - "gene": "iutA", - "id": "VF0565", - "product": "Aerobactin_(VF0565)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2093610, - "virulence_factor": "Aerobactin" - }, - "FKEDNGPL_02293": { - "chr": "NZ_CP006659.2", - "end": 2389254, - "gene": "vipA/tssB", - "id": "VF0569", - "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", - "start": 2388763, - "virulence_factor": "T6SS" - }, - "FKEDNGPL_02294": { - "chr": "NZ_CP006659.2", - "end": 2390841, - "gene": "vipB/tssC", - "id": "VF0569", - "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", - "start": 2389297, - "virulence_factor": "T6SS" - }, - "FKEDNGPL_02295": { - "chr": "NZ_CP006659.2", - "end": 2392194, - "gene": "vasE/tssK", - "id": "VF0569", - "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", - "start": 2390851, - "virulence_factor": "T6SS" - }, - "FKEDNGPL_02296": { - "chr": "NZ_CP006659.2", - "end": 2392880, - "gene": "dotU/tssL", - "id": "VF0569", - "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", - "start": 2392191, - "virulence_factor": "T6SS" - }, - "FKEDNGPL_02297": { - "chr": "NZ_CP006659.2", - "end": 2394583, - "gene": "ompA", - "id": "VF0569", - "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", - "start": 2392877, - "virulence_factor": "T6SS" - }, - "FKEDNGPL_02298": { - "chr": "NZ_CP006659.2", - "end": 2395079, - "gene": "hcp/tssD", - "id": "VF0569", - "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", - "start": 2394588, - "virulence_factor": "T6SS" - }, - "FKEDNGPL_02299": { - "chr": "NZ_CP006659.2", - "end": 2397998, - "gene": "clpV/tssH", - "id": "VF0569", - "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", - "start": 2395344, - "virulence_factor": "T6SS" - }, - "FKEDNGPL_02313": { - "chr": "NZ_CP006659.2", - "end": 2414815, - "gene": "tssF", - "id": "VF0569", - "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", - "start": 2413061, - "virulence_factor": "T6SS" - }, - "FKEDNGPL_02314": { - "chr": "NZ_CP006659.2", - "end": 2415864, - "gene": "tssG", - "id": "VF0569", - "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", - "start": 2414779, - "virulence_factor": "T6SS" - }, - "FKEDNGPL_02315": { - "chr": "NZ_CP006659.2", - "end": 2416384, - "gene": "sciN/tssJ", - "id": "VF0569", - "product": "T6SS_(VF0569)_Effector_delivery_system_(VFC0086)", - "start": 2415842, - "virulence_factor": "T6SS" - }, - "FKEDNGPL_02586": { - "chr": "NZ_CP006659.2", - "end": 2693868, - "gene": "iroE", - "id": "VF0563", - "product": "Sal_(VF0563)_Nutritional/Metabolic_factor_(VFC0272)", - "start": 2692939, - "virulence_factor": "Sal" - }, - "FKEDNGPL_03351": { - "chr": "NZ_CP006659.2", - "end": 3479723, - "gene": "rcsA", - "id": "VF0571", - "product": "RcsAB_(VF0571)_Regulation_(VFC0301)", - "start": 3479100, - "virulence_factor": "RcsAB" - }, - "FKEDNGPL_03606": { - "chr": "NZ_CP006659.2", - "end": 3760655, - "gene": "rcsB", - "id": "VF0571", - "product": "RcsAB_(VF0571)_Regulation_(VFC0301)", - "start": 3760005, - "virulence_factor": "RcsAB" - }, - "FKEDNGPL_04306": { - "chr": "NZ_CP006659.2", - "end": 4479302, - "gene": "mrkH", - "id": "VF0567", - "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", - "start": 4478598, - "virulence_factor": "Type_3_fimbriae" - }, - "FKEDNGPL_04307": { - "chr": "NZ_CP006659.2", - "end": 4479892, - "gene": "mrkI", - "id": "VF0567", - "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", - "start": 4479320, - "virulence_factor": "Type_3_fimbriae" - }, - "FKEDNGPL_04308": { - "chr": "NZ_CP006659.2", - "end": 4480752, - "gene": "mrkJ", - "id": "VF0567", - "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", - "start": 4480036, - "virulence_factor": "Type_3_fimbriae" - }, - "FKEDNGPL_04309": { - "chr": "NZ_CP006659.2", - "end": 4481422, - "gene": "mrkF", - "id": "VF0567", - "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", - "start": 4480787, - "virulence_factor": "Type_3_fimbriae" - }, - "FKEDNGPL_04310": { - "chr": "NZ_CP006659.2", - "end": 4482431, - "gene": "mrkD", - "id": "VF0567", - "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", - "start": 4481436, - "virulence_factor": "Type_3_fimbriae" - }, - "FKEDNGPL_04311": { - "chr": "NZ_CP006659.2", - "end": 4484908, - "gene": "mrkC", - "id": "VF0567", - "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", - "start": 4482422, - "virulence_factor": "Type_3_fimbriae" - }, - "FKEDNGPL_04312": { - "chr": "NZ_CP006659.2", - "end": 4485621, - "gene": "mrkB", - "id": "VF0567", - "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", - "start": 4484920, - "virulence_factor": "Type_3_fimbriae" - }, - "FKEDNGPL_04313": { - "chr": "NZ_CP006659.2", - "end": 4486325, - "gene": "mrkA", - "id": "VF0567", - "product": "Type_3_fimbriae_(VF0567)_Biofilm_(VFC0271)", - "start": 4485717, - "virulence_factor": "Type_3_fimbriae" - }, - "FKEDNGPL_04318": { - "chr": "NZ_CP006659.2", - "end": 4491596, - "gene": "fimB", - "id": "VF0566", - "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", - "start": 4490991, - "virulence_factor": "Type_I_fimbriae" - }, - "FKEDNGPL_04319": { - "chr": "NZ_CP006659.2", - "end": 4492670, - "gene": "fimE", - "id": "VF0566", - "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", - "start": 4492062, - "virulence_factor": "Type_I_fimbriae" - }, - "FKEDNGPL_04320": { - "chr": "NZ_CP006659.2", - "end": 4493698, - "gene": "fimA", - "id": "VF0566", - "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", - "start": 4493150, - "virulence_factor": "Type_I_fimbriae" - }, - "FKEDNGPL_04321": { - "chr": "NZ_CP006659.2", - "end": 4494305, - "gene": "fimI", - "id": "VF0566", - "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", - "start": 4493769, - "virulence_factor": "Type_I_fimbriae" - }, - "FKEDNGPL_04322": { - "chr": "NZ_CP006659.2", - "end": 4495059, - "gene": "fimC", - "id": "VF0566", - "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", - "start": 4494355, - "virulence_factor": "Type_I_fimbriae" - }, - "FKEDNGPL_04323": { - "chr": "NZ_CP006659.2", - "end": 4497753, - "gene": "fimD", - "id": "VF0566", - "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", - "start": 4495141, - "virulence_factor": "Type_I_fimbriae" - }, - "FKEDNGPL_04324": { - "chr": "NZ_CP006659.2", - "end": 4498291, - "gene": "fimF", - "id": "VF0566", - "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", - "start": 4497764, - "virulence_factor": "Type_I_fimbriae" - }, - "FKEDNGPL_04325": { - "chr": "NZ_CP006659.2", - "end": 4498804, - "gene": "fimG", - "id": "VF0566", - "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", - "start": 4498304, - "virulence_factor": "Type_I_fimbriae" - }, - "FKEDNGPL_04326": { - "chr": "NZ_CP006659.2", - "end": 4499727, - "gene": "fimH", - "id": "VF0566", - "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", - "start": 4498819, - "virulence_factor": "Type_I_fimbriae" - }, - "FKEDNGPL_04327": { - "chr": "NZ_CP006659.2", - "end": 4501046, - "gene": "fimK", - "id": "VF0566", - "product": "Type_I_fimbriae_(VF0566)_Adherence_(VFC0001)", - "start": 4499724, - "virulence_factor": "Type_I_fimbriae" - }, - "total": 46 - }, - "Victors": { - "FKEDNGPL_00129": { - "contig": "NZ_CP006659.2", - "end": 138803, - "id": "16767186", - "name": "peptidyl-prolyl_cis-trans_isomerase_C", - "product": "gi|16767186|ref|NP_462801.1|peptidyl-prolyl_cis-trans_isomerase_C_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 138522 - }, - "FKEDNGPL_00137": { - "contig": "NZ_CP006659.2", - "end": 147698, - "id": "16767191", - "name": "thioredoxin", - "product": "gi|16767191|ref|NP_462806.1|thioredoxin_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 147369 - }, - "FKEDNGPL_00236": { - "contig": "NZ_CP006659.2", - "end": 249532, - "id": "16767423", - "name": "hypothetical_protein_STM4169", - "product": "gi|16767423|ref|NP_463038.1|hypothetical_protein_STM4169_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 248942 - }, - "FKEDNGPL_00242": { - "contig": "NZ_CP006659.2", - "end": 255397, - "id": "16767429", - "name": "phosphoribosylamine--glycine_ligase", - "product": "gi|16767429|ref|NP_463044.1|phosphoribosylamine--glycine_ligase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 254102 - }, - "FKEDNGPL_00250": { - "contig": "NZ_CP006659.2", - "end": 264337, - "id": "16767432", - "name": "homoserine_O-succinyltransferase", - "product": "gi|16767432|ref|NP_463047.1|homoserine_O-succinyltransferase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 263408 - }, - "FKEDNGPL_00424": { - "contig": "NZ_CP006659.2", - "end": 454422, - "id": "82546588", - "name": "tRNA_delta(2)-isopentenylpyrophosphate_transferase", - "product": "gi|82546588|ref|YP_410535.1|tRNA_delta(2)-isopentenylpyrophosphate_transferase_[Shigella_boydii_Sb227]", - "start": 453472 - }, - "FKEDNGPL_00425": { - "contig": "NZ_CP006659.2", - "end": 454823, - "id": "24115527", - "name": "RNA-binding_protein_Hfq", - "product": "gi|24115527|ref|NP_710037.1|RNA-binding_protein_Hfq_[Shigella_flexneri_2a_str._301]", - "start": 454515 - }, - "FKEDNGPL_00433": { - "contig": "NZ_CP006659.2", - "end": 463753, - "id": "110808097", - "name": "exoribonuclease_R", - "product": "gi|110808097|ref|YP_691617.1|exoribonuclease_R_[Shigella_flexneri_5_str._8401]", - "start": 461321 - }, - "FKEDNGPL_00645": { - "contig": "NZ_CP006659.2", - "end": 686743, - "id": "16763338", - "name": "carbon_starvation_protein", - "product": "gi|16763338|ref|NP_458955.1|carbon_starvation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", - "start": 684593 - }, - "FKEDNGPL_00879": { - "contig": "NZ_CP006659.2", - "end": 942387, - "id": "56479612", - "name": "RNA_polymerase-binding_transcription_factor", - "product": "gi|56479612|ref|NP_706093.2|RNA_polymerase-binding_transcription_factor_[Shigella_flexneri_2a_str._301]", - "start": 941932 - }, - "FKEDNGPL_00910": { - "contig": "NZ_CP006659.2", - "end": 980937, - "id": "187732326", - "name": "serine_endoprotease", - "product": "gi|187732326|ref|YP_001878964.1|serine_endoprotease_[Shigella_boydii_CDC_3083-94]", - "start": 979504 - }, - "FKEDNGPL_00915": { - "contig": "NZ_CP006659.2", - "end": 987244, - "id": "15799850", - "name": "methionine_aminopeptidase", - "product": "gi|15799850|ref|NP_285862.1|methionine_aminopeptidase_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 986450 - }, - "FKEDNGPL_00925": { - "contig": "NZ_CP006659.2", - "end": 998576, - "id": "187734090", - "name": "periplasmic_chaperone", - "product": "gi|187734090|ref|YP_001878980.1|periplasmic_chaperone_[Shigella_boydii_CDC_3083-94]", - "start": 998091 - }, - "FKEDNGPL_00970": { - "contig": "NZ_CP006659.2", - "end": 1041902, - "id": "16759305", - "name": "phosphoheptose_isomerase", - "product": "gi|16759305|ref|NP_454922.1|phosphoheptose_isomerase_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", - "start": 1041321 - }, - "FKEDNGPL_01021": { - "contig": "NZ_CP006659.2", - "end": 1095449, - "id": "218693755", - "name": "common_pilus_ECP", - "product": "gi|218693755|ref|YP_002401422.1|common_pilus_ECP_[Escherichia_coli_55989]", - "start": 1094862 - }, - "FKEDNGPL_01124": { - "contig": "NZ_CP006659.2", - "end": 1199042, - "id": "16763823", - "name": "cytochrome_o_ubiquinol_oxidase_subunit_I", - "product": "gi|16763823|ref|NP_459438.1|cytochrome_o_ubiquinol_oxidase_subunit_I_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1197051 - }, - "FKEDNGPL_01130": { - "contig": "NZ_CP006659.2", - "end": 1205780, - "id": "16763829", - "name": "ATP-dependent_Clp_protease_proteolytic_subunit", - "product": "gi|16763829|ref|NP_459444.1|ATP-dependent_Clp_protease_proteolytic_subunit_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1205157 - }, - "FKEDNGPL_01173": { - "contig": "NZ_CP006659.2", - "end": 1249194, - "id": "16763854", - "name": "cytoplasmic_protein", - "product": "gi|16763854|ref|NP_459469.1|cytoplasmic_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1248820 - }, - "FKEDNGPL_01298": { - "contig": "NZ_CP006659.2", - "end": 1362112, - "id": "16765878", - "name": "APC_family_lysine/cadaverine_transport_protein", - "product": "gi|16765878|ref|NP_461493.1|APC_family_lysine/cadaverine_transport_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1360778 - }, - "FKEDNGPL_01432": { - "contig": "NZ_CP006659.2", - "end": 1518586, - "id": "16763977", - "name": "carbon_starvation_protein", - "product": "gi|16763977|ref|NP_459592.1|carbon_starvation_protein_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1516481 - }, - "FKEDNGPL_01474": { - "contig": "NZ_CP006659.2", - "end": 1563637, - "id": "16764006", - "name": "RNA_chaperone", - "product": "gi|16764006|ref|NP_459621.1|RNA_chaperone_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1563428 - }, - "FKEDNGPL_01781": { - "contig": "NZ_CP006659.2", - "end": 1869707, - "id": "15800751", - "name": "thioredoxin_reductase", - "product": "gi|15800751|ref|NP_286765.1|thioredoxin_reductase_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 1868712 - }, - "FKEDNGPL_01791": { - "contig": "NZ_CP006659.2", - "end": 1885023, - "id": "161353606", - "name": "pyruvate_formate_lyase-activating_enzyme_1", - "product": "gi|161353606|ref|NP_459945.2|pyruvate_formate_lyase-activating_enzyme_1_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1884283 - }, - "FKEDNGPL_01793": { - "contig": "NZ_CP006659.2", - "end": 1888406, - "id": "16764334", - "name": "formate_transporter", - "product": "gi|16764334|ref|NP_459949.1|formate_transporter_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1887549 - }, - "FKEDNGPL_01833": { - "contig": "NZ_CP006659.2", - "end": 1937703, - "id": "16764417", - "name": "dihydroorotate_dehydrogenase_2", - "product": "gi|16764417|ref|NP_460032.1|dihydroorotate_dehydrogenase_2_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 1936693 - }, - "FKEDNGPL_02007": { - "contig": "NZ_CP006659.2", - "end": 2119989, - "id": "24112549", - "name": "DNA-binding_transcriptional_regulator_PhoP", - "product": "gi|24112549|ref|NP_707059.1|DNA-binding_transcriptional_regulator_PhoP_[Shigella_flexneri_2a_str._301]", - "start": 2119318 - }, - "FKEDNGPL_02109": { - "contig": "NZ_CP006659.2", - "end": 2219712, - "id": "16764663", - "name": "PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB", - "product": "gi|16764663|ref|NP_460278.1|PTS_system_N,N'-diacetylchitobiose-specific_transporter_subunit_IIB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 2219392 - }, - "FKEDNGPL_02395": { - "contig": "NZ_CP006659.2", - "end": 2504021, - "id": "16766107", - "name": "transporter", - "product": "gi|16766107|ref|NP_461722.1|transporter_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 2503863 - }, - "FKEDNGPL_02920": { - "contig": "NZ_CP006659.2", - "end": 3033360, - "id": "24113046", - "name": "superoxide_dismutase", - "product": "gi|24113046|ref|NP_707556.1|superoxide_dismutase_[Shigella_flexneri_2a_str._301]", - "start": 3032779 - }, - "FKEDNGPL_03060": { - "contig": "NZ_CP006659.2", - "end": 3173089, - "id": "218929485", - "name": "major_outer_membrane_lipoprotein", - "product": "gi|218929485|ref|YP_002347360.1|major_outer_membrane_lipoprotein_[Yersinia_pestis_CO92]", - "start": 3172853 - }, - "FKEDNGPL_03132": { - "contig": "NZ_CP006659.2", - "end": 3248764, - "id": "24112632", - "name": "UTP-glucose-1-phosphate_uridylyltransferase", - "product": "gi|24112632|ref|NP_707142.1|UTP-glucose-1-phosphate_uridylyltransferase_[Shigella_flexneri_2a_str._301]", - "start": 3247862 - }, - "FKEDNGPL_03173": { - "contig": "NZ_CP006659.2", - "end": 3296054, - "id": "117623421", - "name": "GTP-dependent_nucleic_acid-binding_protein_EngD", - "product": "gi|117623421|ref|YP_852334.1|GTP-dependent_nucleic_acid-binding_protein_EngD_[Escherichia_coli_APEC_O1]", - "start": 3294963 - }, - "FKEDNGPL_03251": { - "contig": "NZ_CP006659.2", - "end": 3379910, - "id": "16765159", - "name": "long-chain-fatty-acid--CoA_ligase", - "product": "gi|16765159|ref|NP_460774.1|long-chain-fatty-acid--CoA_ligase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 3378192 - }, - "FKEDNGPL_03269": { - "contig": "NZ_CP006659.2", - "end": 3398678, - "id": "15802236", - "name": "cold_shock-like_protein_CspC", - "product": "gi|15802236|ref|NP_288259.1|cold_shock-like_protein_CspC_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 3398469 - }, - "FKEDNGPL_03303": { - "contig": "NZ_CP006659.2", - "end": 3434751, - "id": "39546331", - "name": "zinc_ABC_transporter_ATP-binding_protein_ZnuC", - "product": "gi|39546331|ref|NP_460849.2|zinc_ABC_transporter_ATP-binding_protein_ZnuC_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 3433999 - }, - "FKEDNGPL_03304": { - "contig": "NZ_CP006659.2", - "end": 3435536, - "id": "16765235", - "name": "zinc_ABC_transporter_permease_ZnuB", - "product": "gi|16765235|ref|NP_460850.1|zinc_ABC_transporter_permease_ZnuB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 3434751 - }, - "FKEDNGPL_03342": { - "contig": "NZ_CP006659.2", - "end": 3471454, - "id": "16765285", - "name": "LuxR/UhpA_family_response_regulator", - "product": "gi|16765285|ref|NP_460900.1|LuxR/UhpA_family_response_regulator_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 3470798 - }, - "FKEDNGPL_03445": { - "contig": "NZ_CP006659.2", - "end": 3579164, - "id": "16765428", - "name": "UTP--glucose-1-phosphate_uridylyltransferase_subunit_GalF", - "product": "gi|16765428|ref|NP_461043.1|UTP--glucose-1-phosphate_uridylyltransferase_subunit_GalF_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 3578316 - }, - "FKEDNGPL_03499": { - "contig": "NZ_CP006659.2", - "end": 3636422, - "id": "16765465", - "name": "protease", - "product": "gi|16765465|ref|NP_461080.1|protease_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 3635061 - }, - "FKEDNGPL_03686": { - "contig": "NZ_CP006659.2", - "end": 3850710, - "id": "16761308", - "name": "chorismate_synthase", - "product": "gi|16761308|ref|NP_456925.1|chorismate_synthase_[Salmonella_enterica_subsp._enterica_serovar_Typhi_str._CT18]", - "start": 3849625 - }, - "FKEDNGPL_03792": { - "contig": "NZ_CP006659.2", - "end": 3959792, - "id": "16765821", - "name": "polyphosphate_kinase", - "product": "gi|16765821|ref|NP_461436.1|polyphosphate_kinase_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 3957732 - }, - "FKEDNGPL_03853": { - "contig": "NZ_CP006659.2", - "end": 4011931, - "id": "24113836", - "name": "GMP_synthase", - "product": "gi|24113836|ref|NP_708346.1|GMP_synthase_[Shigella_flexneri_2a_str._301]", - "start": 4010354 - }, - "FKEDNGPL_03854": { - "contig": "NZ_CP006659.2", - "end": 4013465, - "id": "56480121", - "name": "inosine_5'-monophosphate_dehydrogenase", - "product": "gi|56480121|ref|NP_708347.2|inosine_5'-monophosphate_dehydrogenase_[Shigella_flexneri_2a_str._301]", - "start": 4011999 - }, - "FKEDNGPL_03903": { - "contig": "NZ_CP006659.2", - "end": 4073409, - "id": "16765896", - "name": "ferredoxin", - "product": "gi|16765896|ref|NP_461511.1|ferredoxin_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 4073149 - }, - "FKEDNGPL_03932": { - "contig": "NZ_CP006659.2", - "end": 4105356, - "id": "16765976", - "name": "chaperone_protein_ClpB", - "product": "gi|16765976|ref|NP_461591.1|chaperone_protein_ClpB_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 4102783 - }, - "FKEDNGPL_04406": { - "contig": "NZ_CP006659.2", - "end": 4580961, - "id": "15803477", - "name": "arginine_decarboxylase", - "product": "gi|15803477|ref|NP_289510.1|arginine_decarboxylase_[Escherichia_coli_O157:H7_str._EDL933]", - "start": 4578985 - }, - "FKEDNGPL_04717": { - "contig": "NZ_CP006659.2", - "end": 4884708, - "id": "16766637", - "name": "stringent_starvation_protein_A", - "product": "gi|16766637|ref|NP_462252.1|stringent_starvation_protein_A_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 4884070 - }, - "FKEDNGPL_04846": { - "contig": "NZ_CP006659.2", - "end": 4989716, - "id": "16766754", - "name": "cAMP-activated_global_transcriptional_regulator", - "product": "gi|16766754|ref|NP_462369.1|cAMP-activated_global_transcriptional_regulator_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 4989084 - }, - "FKEDNGPL_04877": { - "contig": "NZ_CP006659.2", - "end": 5023818, - "id": "16766789", - "name": "osmolarity_sensor_protein_EnvZ", - "product": "gi|16766789|ref|NP_462404.1|osmolarity_sensor_protein_EnvZ_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 5022463 - }, - "FKEDNGPL_04878": { - "contig": "NZ_CP006659.2", - "end": 5024534, - "id": "56480330", - "name": "osmolarity_response_regulator", - "product": "gi|56480330|ref|NP_709178.2|osmolarity_response_regulator_[Shigella_flexneri_2a_str._301]", - "start": 5023815 - }, - "FKEDNGPL_05003": { - "contig": "NZ_CP006659.2", - "end": 5176986, - "id": "117625828", - "name": "dipeptide_transporter_protein_DppA", - "product": "gi|117625828|ref|YP_859151.1|dipeptide_transporter_protein_DppA_[Escherichia_coli_APEC_O1]", - "start": 5175379 - }, - "FKEDNGPL_05102": { - "contig": "NZ_CP006659.2", - "end": 5282416, - "id": "22124023", - "name": "bifunctional_(p)ppGpp_synthetase_II/_guanosine-3',5'-bis_pyrophosphate_3'-pyrophosphohydrolase", - "product": "gi|22124023|ref|NP_667446.1|bifunctional_(p)ppGpp_synthetase_II/_guanosine-3',5'-bis_pyrophosphate_3'-pyrophosphohydrolase_[Yersinia_pestis_KIM10+]", - "start": 5280296 - }, - "FKEDNGPL_05198": { - "contig": "NZ_CP006659.2", - "end": 5381601, - "id": "228960701", - "name": "heat_shock_protein_IbpA", - "product": "gi|228960701|ref|NP_462709.3|heat_shock_protein_IbpA_[Salmonella_enterica_subsp._enterica_serovar_Typhimurium_str._LT2]", - "start": 5381188 - }, - "total": 53 - } - } - } -} \ No newline at end of file diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index 4bbd0bc..889c95e 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,6 +1,6 @@ package: name: falmeida-py - version: '1.1.0' + version: '1.2.0' source: path: .. diff --git a/falmeida_py/plasmid_function.py b/falmeida_py/plasmid_function.py index 86e00a8..8cd6a66 100644 --- a/falmeida_py/plasmid_function.py +++ b/falmeida_py/plasmid_function.py @@ -15,72 +15,117 @@ def plasmids_stats(bacannot_summary): # load dir of samples' results results_dir = bacannot_summary[sample]['results_dir'] - # load annotation stats - if os.path.exists(f"{results_dir}/plasmids"): - - # init plasmids annotation dictionary - bacannot_summary[sample]['plasmid'] = {} + # init plasmids annotation dictionary + bacannot_summary[sample]['plasmid'] = {} - # platon - if os.path.exists(f"{results_dir}/plasmids/platon/{sample}.tsv"): + # platon + if os.path.exists(f"{results_dir}/plasmids/platon/{sample}.tsv"): + + # init platon annotation dictionary + bacannot_summary[sample]['plasmid']['platon'] = {} + + # load platon results + results = pd.read_csv( + f"{results_dir}/plasmids/platon/{sample}.tsv", + sep='\t' + ) + + # number of plasmid annotations + total_number = len(results.index) + bacannot_summary[sample]['plasmid']['platon']['total'] = total_number + + # per plasmid info + if int(results.shape[0]) > 0: + for seq in [x for x in results['ID'].unique()]: + bacannot_summary[sample]['plasmid']['platon'][seq] = {} + bacannot_summary[sample]['plasmid']['platon'][seq]['Length'] = results.loc[results['ID'] == seq, 'Length'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['ORFs'] = results.loc[results['ID'] == seq, '# ORFs'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Circular'] = results.loc[results['ID'] == seq, 'Circular'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['AMRs'] = results.loc[results['ID'] == seq, '# AMRs'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Replication'] = results.loc[results['ID'] == seq, '# Replication'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Mobilization'] = results.loc[results['ID'] == seq, '# Mobilization'].item() + bacannot_summary[sample]['plasmid']['platon'][seq]['Conjugation'] = results.loc[results['ID'] == seq, '# Conjugation'].item() + + # plasmidfinder + if os.path.exists(f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv"): + + # init platon annotation dictionary + bacannot_summary[sample]['plasmid']['plasmidfinder'] = {} + + # load platon results + results = pd.read_csv( + f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv", + sep='\t' + ) - # init platon annotation dictionary - bacannot_summary[sample]['plasmid']['platon'] = {} + if not results.empty: - # load platon results - results = pd.read_csv( - f"{results_dir}/plasmids/platon/{sample}.tsv", - sep='\t' - ) + # databases + bacannot_summary[sample]['plasmid']['plasmidfinder']['meta'] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder']['meta']['database'] = results['Database'].unique().item() # number of plasmid annotations - total_number = len(results.index) - bacannot_summary[sample]['plasmid']['platon']['total'] = total_number - - # per plasmid info - bacannot_summary[sample]['plasmid']['platon'] = {} - if int(results.shape[0]) > 0: - for seq in [x for x in results['ID'].unique()]: - bacannot_summary[sample]['plasmid']['platon'][seq] = {} - bacannot_summary[sample]['plasmid']['platon'][seq]['Length'] = results.loc[results['ID'] == seq, 'Length'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['ORFs'] = results.loc[results['ID'] == seq, '# ORFs'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['Circular'] = results.loc[results['ID'] == seq, 'Circular'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['AMRs'] = results.loc[results['ID'] == seq, '# AMRs'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['Replication'] = results.loc[results['ID'] == seq, '# Replication'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['Mobilization'] = results.loc[results['ID'] == seq, '# Mobilization'].item() - bacannot_summary[sample]['plasmid']['platon'][seq]['Conjugation'] = results.loc[results['ID'] == seq, '# Conjugation'].item() - - # plasmidfinder - if os.path.exists(f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv"): - - # init platon annotation dictionary - bacannot_summary[sample]['plasmid']['plasmidfinder'] = {} - - # load platon results - results = pd.read_csv( - f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv", - sep='\t' - ) - - if not results.empty: - - # databases - bacannot_summary[sample]['plasmid']['plasmidfinder']['meta'] = {} - bacannot_summary[sample]['plasmid']['plasmidfinder']['meta']['database'] = results['Database'].unique().item() - - # number of plasmid annotations - total_number = len(results['Contig'].unique()) - bacannot_summary[sample]['plasmid']['plasmidfinder']['total'] = total_number - - # plasmid annotations contigs - for seq in [ str(x) for x in results['Contig'].unique() ]: - bacannot_summary[sample]['plasmid']['plasmidfinder'][seq] = {} - bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['inc_types'] = {} - bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['identity'] = {} - bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['accession'] = {} + total_number = len(results['Contig'].unique()) + bacannot_summary[sample]['plasmid']['plasmidfinder']['total'] = total_number + + # plasmid annotations contigs + for seq in [ str(x) for x in results['Contig'].unique() ]: + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['inc_types'] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['identity'] = {} + bacannot_summary[sample]['plasmid']['plasmidfinder'][seq]['accession'] = {} + + for index, row in results.iterrows(): + contig = str(row['Contig']) + bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['inc_types'] = row['Plasmid'] + bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['identity'] = row['Identity'] + bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['accession'] = row['Accession number'] + + # mob suite + if os.path.exists(f"{results_dir}/mob_suite/{sample}_mobtyper_results.txt"): + + # init integron_finder annotation dictionary + bacannot_summary[sample]['plasmid']['mob_suite'] = {} + + # load integron_finder results + results = pd.read_csv( + f"{results_dir}/mob_suite/{sample}_mobtyper_results.txt", + sep='\t', + header='infer', + # sample_id num_contigs size gc md5 rep_type(s) rep_type_accession(s) relaxase_type(s) relaxase_type_accession(s) mpf_type mpf_type_accession(s) orit_type(s) orit_accession(s) predicted_mobility mash_nearest_neighbor mash_neighbor_distance mash_neighbor_identification primary_cluster_id secondary_cluster_id predicted_host_range_overall_rank predicted_host_range_overall_name observed_host_range_ncbi_rank observed_host_range_ncbi_name reported_host_range_lit_rank reported_host_range_lit_name associated_pmid(s) + ) + + # number of plasmid types annotated annotations + # total_number = len(results.index) - 1 # always counts chromosome + # bacannot_summary[sample]['plasmid']['mob_suite']['total'] = total_number + + # per integron info + bacannot_summary[sample]['plasmid']['mob_suite'] = {} + if int(results.shape[0]) > 0: + for seq in [ str(x) for x in results['sample_id'].unique() ]: - for index, row in results.iterrows(): - contig = str(row['Contig']) - bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['inc_types'] = row['Plasmid'] - bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['identity'] = row['Identity'] - bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['accession'] = row['Accession number'] \ No newline at end of file + bacannot_summary[sample]['plasmid']['mob_suite'][seq] = {} + for index, row in results[results['sample_id'] == seq].reset_index().iterrows(): + id = row['sample_id'] # they are the same for this result + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id] = {} + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['size'] = row['size'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['rep_type'] = row['rep_type(s)'].replace(',', '; ') + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['rep_type_accession'] = row['rep_type_accession(s)'].replace(',', '; ') + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['relaxase_type'] = row['relaxase_type(s)'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['relaxase_type_accession(s)'] = row['relaxase_type_accession(s)'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['mpf_type'] = row['mpf_type'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['mpf_type_accession'] = row['mpf_type_accession(s)'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['orit_type'] = row['orit_type(s)'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['orit_accession'] = row['orit_accession(s)'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['mash_nearest_neighbor'] = row['mash_nearest_neighbor'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['mash_neighbor_distance'] = row['mash_neighbor_distance'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['mash_neighbor_identification'] = row['mash_neighbor_identification'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['primary_cluster_id'] = row['primary_cluster_id'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['secondary_cluster_id'] = row['secondary_cluster_id'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['predicted_host_range_overall_rank'] = row['predicted_host_range_overall_rank'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['predicted_host_range_overall_name'] = row['predicted_host_range_overall_name'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['observed_host_range_ncbi_rank'] = row['observed_host_range_ncbi_rank'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['observed_host_range_ncbi_name'] = row['observed_host_range_ncbi_name'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['reported_host_range_lit_rank'] = row['reported_host_range_lit_rank'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['reported_host_range_lit_name'] = row['reported_host_range_lit_name'] + bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['associated_pmid'] = row['associated_pmid(s)'] \ No newline at end of file diff --git a/falmeida_py/version.py b/falmeida_py/version.py index 73273b3..e1ef2f0 100644 --- a/falmeida_py/version.py +++ b/falmeida_py/version.py @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '1.1.0' +__version__ = '1.2.0' def get_version(): return __version__ From 9abb77a218316edeaed11ca112fca34be13fc910 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sun, 26 Mar 2023 15:27:43 +0200 Subject: [PATCH 109/130] Update plasmid_function.py --- falmeida_py/plasmid_function.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/falmeida_py/plasmid_function.py b/falmeida_py/plasmid_function.py index 8cd6a66..20854eb 100644 --- a/falmeida_py/plasmid_function.py +++ b/falmeida_py/plasmid_function.py @@ -82,14 +82,14 @@ def plasmids_stats(bacannot_summary): bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['accession'] = row['Accession number'] # mob suite - if os.path.exists(f"{results_dir}/mob_suite/{sample}_mobtyper_results.txt"): + if os.path.exists(f"{results_dir}/plasmids/mob_suite/{sample}_mobtyper_results.txt"): # init integron_finder annotation dictionary bacannot_summary[sample]['plasmid']['mob_suite'] = {} # load integron_finder results results = pd.read_csv( - f"{results_dir}/mob_suite/{sample}_mobtyper_results.txt", + f"{results_dir}/plasmids/mob_suite/{sample}_mobtyper_results.txt", sep='\t', header='infer', # sample_id num_contigs size gc md5 rep_type(s) rep_type_accession(s) relaxase_type(s) relaxase_type_accession(s) mpf_type mpf_type_accession(s) orit_type(s) orit_accession(s) predicted_mobility mash_nearest_neighbor mash_neighbor_distance mash_neighbor_identification primary_cluster_id secondary_cluster_id predicted_host_range_overall_rank predicted_host_range_overall_name observed_host_range_ncbi_rank observed_host_range_ncbi_name reported_host_range_lit_rank reported_host_range_lit_name associated_pmid(s) From ea818bc93b1e288d8f10aab227247e0ae971cb21 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Fri, 5 May 2023 09:02:02 +0200 Subject: [PATCH 110/130] Update meta.yaml --- conda.recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index 889c95e..985b5be 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -14,7 +14,7 @@ build: requirements: build: - - python >=3.10,{{PY_VER}}* + - python>=3.8 - setuptools - setuptools-git - pandas @@ -26,7 +26,7 @@ requirements: - pyyaml run: - - python {{PY_VER}}* + - python>=3.8 - setuptools - setuptools-git - pandas From dc458df014f7ec0ae778eab321995108335bb881 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Wed, 19 Jul 2023 14:58:01 +0200 Subject: [PATCH 111/130] fix function to understand more than 1 database --- falmeida_py/plasmid_function.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/falmeida_py/plasmid_function.py b/falmeida_py/plasmid_function.py index 20854eb..d7cb62e 100644 --- a/falmeida_py/plasmid_function.py +++ b/falmeida_py/plasmid_function.py @@ -61,8 +61,10 @@ def plasmids_stats(bacannot_summary): if not results.empty: # databases + print( results['Database'].unique() ) bacannot_summary[sample]['plasmid']['plasmidfinder']['meta'] = {} - bacannot_summary[sample]['plasmid']['plasmidfinder']['meta']['database'] = results['Database'].unique().item() + db_arr = results['Database'].unique() + bacannot_summary[sample]['plasmid']['plasmidfinder']['meta']['database'] = db_arr.tolist() if len(db_arr) > 1 else db_arr.item() # number of plasmid annotations total_number = len(results['Contig'].unique()) From d8daa5945b97c95cb47e440410e4475497079aca Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Wed, 19 Jul 2023 14:58:11 +0200 Subject: [PATCH 112/130] update version number --- conda.recipe/meta.yaml | 2 +- falmeida_py/version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index 985b5be..d3beb92 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,6 +1,6 @@ package: name: falmeida-py - version: '1.2.0' + version: '1.2.1' source: path: .. diff --git a/falmeida_py/version.py b/falmeida_py/version.py index e1ef2f0..b1a36f8 100644 --- a/falmeida_py/version.py +++ b/falmeida_py/version.py @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '1.2.0' +__version__ = '1.2.1' def get_version(): return __version__ From 1c218fdee0e312f4cbf0fca2af901b8409878d0e Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Wed, 19 Jul 2023 14:58:17 +0200 Subject: [PATCH 113/130] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ddfafb..66bc07e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ Started only in version 0.5 +## v1.2.1 + +- Added a quick fix for plasmid finder results parsing, as results from gram-negative have only one database, but for gram-positive it has >1. + ## v0.5 ### hotfix From bd11078f2c16f7452f7609075553956c449f42a1 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Thu, 20 Jul 2023 07:14:58 +0000 Subject: [PATCH 114/130] add gitpod config --- .gitpod.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .gitpod.yml diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 0000000..a565aba --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,14 @@ +image: nfcore/gitpod:latest + +vscode: + extensions: # based on nf-core.nf-core-extensionpack + - codezombiech.gitignore # Language support for .gitignore files + # - cssho.vscode-svgviewer # SVG viewer + - esbenp.prettier-vscode # Markdown/CommonMark linting and style checking for Visual Studio Code + - eamodio.gitlens # Quickly glimpse into whom, why, and when a line or code block was changed + - EditorConfig.EditorConfig # override user/workspace settings with settings found in .editorconfig files + - Gruntfuggly.todo-tree # Display TODO and FIXME in a tree view in the activity bar + - mechatroner.rainbow-csv # Highlight columns in csv files in different colors + # - nextflow.nextflow # Nextflow syntax highlighting + - oderwat.indent-rainbow # Highlight indentation level + - streetsidesoftware.code-spell-checker # Spelling checker for source code \ No newline at end of file From db542739ca47479a31bde7f9ca43694f641a7b61 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Thu, 20 Jul 2023 04:50:02 -0300 Subject: [PATCH 115/130] update helps --- docs/align2subsetgbk_help.txt | 50 ++++++++++++++++++++++++++++++----- docs/help_message.txt | 31 +++++++++++++++++----- docs/splitgbk_help.txt | 44 +++++++++++++++++++++++++----- docs/tsv2markdown_help.txt | 46 +++++++++++++++++++++++++++----- 4 files changed, 147 insertions(+), 24 deletions(-) diff --git a/docs/align2subsetgbk_help.txt b/docs/align2subsetgbk_help.txt index 087e990..769c2b2 100644 --- a/docs/align2subsetgbk_help.txt +++ b/docs/align2subsetgbk_help.txt @@ -1,6 +1,44 @@ -Traceback (most recent call last): - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in - from falmeida_py.__main__ import main - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in - from docopt import docopt -ModuleNotFoundError: No module named 'docopt' +A script meant to subset a genbank annotation file based on alignments against a query (Nucleotide) FASTA file + +--- +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +Usage: + falmeida-py align2subsetgbk [ -h|--help ] + falmeida-py align2subsetgbk [ --gbk --fasta --out --minid --mincov --culling_limit --extension ] + +Options: + -h --help Show this screen. + -g --gbk= Gbk file for subset + -f --fasta= FASTA (nucl) file for querying the gbk + -o --out= Gbk filtered output file [Default: out.gbk]. + --extension= Base pair length to extend the flank regions in the alignment [Default: 0]. + --minid= Min. Identity percentage for gene annotation [Default: 80]. + --mincov= Min. Covereage for gene annotation [Default: 80]. + --culling_limit= Blast culling_limit for best hit only [Default: 1]. +falmeida-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] + falmeida-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. + blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file + bacannot2json Command to summarize main bacannot annotation results into JSON file + +Use: `falmeida-py -h` to get more help and see examples. diff --git a/docs/help_message.txt b/docs/help_message.txt index 087e990..6ed5318 100644 --- a/docs/help_message.txt +++ b/docs/help_message.txt @@ -1,6 +1,25 @@ -Traceback (most recent call last): - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in - from falmeida_py.__main__ import main - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in - from docopt import docopt -ModuleNotFoundError: No module named 'docopt' +falmeida-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] + falmeida-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. + blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file + bacannot2json Command to summarize main bacannot annotation results into JSON file + +Use: `falmeida-py -h` to get more help and see examples. diff --git a/docs/splitgbk_help.txt b/docs/splitgbk_help.txt index 087e990..f139033 100644 --- a/docs/splitgbk_help.txt +++ b/docs/splitgbk_help.txt @@ -1,6 +1,38 @@ -Traceback (most recent call last): - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in - from falmeida_py.__main__ import main - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in - from docopt import docopt -ModuleNotFoundError: No module named 'docopt' +A very simple script to split multisequence genbank files into separate files +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py splitgbk + falmeida-py splitgbk [ -h|--help ] + falmeida-py splitgbk [ --gbk ] [ --outdir ] + +options: + -h --help Show this screen. + -g --gbk= Input genbank file to split into multiple individual files. + -o --outdir= Directory (must already exist) in which to write the splitted files [Default: ./]. +falmeida-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] + falmeida-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. + blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file + bacannot2json Command to summarize main bacannot annotation results into JSON file + +Use: `falmeida-py -h` to get more help and see examples. diff --git a/docs/tsv2markdown_help.txt b/docs/tsv2markdown_help.txt index 087e990..0b2b685 100644 --- a/docs/tsv2markdown_help.txt +++ b/docs/tsv2markdown_help.txt @@ -1,6 +1,40 @@ -Traceback (most recent call last): - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in - from falmeida_py.__main__ import main - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in - from docopt import docopt -ModuleNotFoundError: No module named 'docopt' +A simple script to convert tsv (or csv) files to markdown tables using tabulate! +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py tsv2markdown + falmeida-py tsv2markdown [ -h|--help ] + falmeida-py tsv2markdown [ --tsv --csv --header ] + +options: + -h --help Show this screen. + --tsv= Input tsv file to print as markdown table + --csv= Input csv file to print as markdown table + --header= If file does not have a header, set a + custom header. E.g. --header "Planet,R (km),mass (x 10^29 kg)". +falmeida-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] + falmeida-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. + blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file + bacannot2json Command to summarize main bacannot annotation results into JSON file + +Use: `falmeida-py -h` to get more help and see examples. From a7d2f6f60696ef243e6a6daa49afa95fb5c4c4b8 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Sun, 23 Jul 2023 06:45:56 -0300 Subject: [PATCH 116/130] add check for file size and fix mob_suite subset --- falmeida_py/mges_function.py | 2 +- falmeida_py/plasmid_function.py | 8 ++++---- falmeida_py/resistance_function.py | 6 +++--- falmeida_py/virulence_function.py | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/falmeida_py/mges_function.py b/falmeida_py/mges_function.py index 035355c..42bdf57 100644 --- a/falmeida_py/mges_function.py +++ b/falmeida_py/mges_function.py @@ -19,7 +19,7 @@ def mges_stats(bacannot_summary): bacannot_summary[sample]['MGE'] = {} # integron_finder - if os.path.exists(f"{results_dir}/integron_finder/{sample}_integrons.gff"): + if os.path.exists(f"{results_dir}/integron_finder/{sample}_integrons.gff") and os.stat(f"{results_dir}/integron_finder/{sample}_integrons.gff").st_size > 0: # init integron_finder annotation dictionary bacannot_summary[sample]['MGE']['integron_finder'] = {} diff --git a/falmeida_py/plasmid_function.py b/falmeida_py/plasmid_function.py index d7cb62e..789aa9a 100644 --- a/falmeida_py/plasmid_function.py +++ b/falmeida_py/plasmid_function.py @@ -19,7 +19,7 @@ def plasmids_stats(bacannot_summary): bacannot_summary[sample]['plasmid'] = {} # platon - if os.path.exists(f"{results_dir}/plasmids/platon/{sample}.tsv"): + if os.path.exists(f"{results_dir}/plasmids/platon/{sample}.tsv") and os.stat(f"{results_dir}/plasmids/platon/{sample}.tsv").st_size > 0: # init platon annotation dictionary bacannot_summary[sample]['plasmid']['platon'] = {} @@ -47,7 +47,7 @@ def plasmids_stats(bacannot_summary): bacannot_summary[sample]['plasmid']['platon'][seq]['Conjugation'] = results.loc[results['ID'] == seq, '# Conjugation'].item() # plasmidfinder - if os.path.exists(f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv"): + if os.path.exists(f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv") and os.stat(f"{results_dir}/plasmids/plasmidfinder/results_tab.tsv").st_size > 0: # init platon annotation dictionary bacannot_summary[sample]['plasmid']['plasmidfinder'] = {} @@ -84,7 +84,7 @@ def plasmids_stats(bacannot_summary): bacannot_summary[sample]['plasmid']['plasmidfinder'][contig]['accession'] = row['Accession number'] # mob suite - if os.path.exists(f"{results_dir}/plasmids/mob_suite/{sample}_mobtyper_results.txt"): + if os.path.exists(f"{results_dir}/plasmids/mob_suite/{sample}_mobtyper_results.txt") and os.stat(f"{results_dir}/plasmids/mob_suite/{sample}_mobtyper_results.txt").st_size > 0: # init integron_finder annotation dictionary bacannot_summary[sample]['plasmid']['mob_suite'] = {} @@ -107,7 +107,7 @@ def plasmids_stats(bacannot_summary): for seq in [ str(x) for x in results['sample_id'].unique() ]: bacannot_summary[sample]['plasmid']['mob_suite'][seq] = {} - for index, row in results[results['sample_id'] == seq].reset_index().iterrows(): + for index, row in results[results['sample_id'].astype(str) == seq].reset_index().iterrows(): id = row['sample_id'] # they are the same for this result bacannot_summary[sample]['plasmid']['mob_suite'][seq][id] = {} bacannot_summary[sample]['plasmid']['mob_suite'][seq][id]['size'] = row['size'] diff --git a/falmeida_py/resistance_function.py b/falmeida_py/resistance_function.py index 7a4460a..3e1649e 100644 --- a/falmeida_py/resistance_function.py +++ b/falmeida_py/resistance_function.py @@ -33,7 +33,7 @@ def resistance_stats(bacannot_summary): ########### ### rgi ### ########### - if os.path.exists(f"{results_dir}/resistance/RGI/RGI_{sample}.txt"): + if os.path.exists(f"{results_dir}/resistance/RGI/RGI_{sample}.txt") and os.stat(f"{results_dir}/resistance/RGI/RGI_{sample}.txt").st_size > 0: # init rgi annotation dictionary bacannot_summary[sample]['resistance']['rgi'] = {} @@ -84,7 +84,7 @@ def resistance_stats(bacannot_summary): ##################### ### amrfinderplus ### ##################### - if os.path.exists(f"{results_dir}/resistance/AMRFinderPlus/AMRFinder_resistance-only.tsv"): + if os.path.exists(f"{results_dir}/resistance/AMRFinderPlus/AMRFinder_resistance-only.tsv") and os.stat(f"{results_dir}/resistance/AMRFinderPlus/AMRFinder_resistance-only.tsv").st_size > 0: # init amrfinderplus annotation dictionary bacannot_summary[sample]['resistance']['amrfinderplus'] = {} @@ -141,7 +141,7 @@ def resistance_stats(bacannot_summary): # # TODO: Include genomic coordinates info # - if os.path.exists(f"{results_dir}/resistance/resfinder/ResFinder_results_tab.txt"): + if os.path.exists(f"{results_dir}/resistance/resfinder/ResFinder_results_tab.txt") and os.stat(f"{results_dir}/resistance/resfinder/ResFinder_results_tab.txt").st_size > 0: # init resfinder annotation dictionary bacannot_summary[sample]['resistance']['resfinder'] = {} diff --git a/falmeida_py/virulence_function.py b/falmeida_py/virulence_function.py index 8656e30..91e912d 100644 --- a/falmeida_py/virulence_function.py +++ b/falmeida_py/virulence_function.py @@ -30,7 +30,7 @@ def virulence_stats(bacannot_summary): bacannot_summary[sample]['virulence'] = {} # vfdb - if os.path.exists(f"{results_dir}/virulence/vfdb/{sample}_vfdb_blastn_onGenes.summary.txt"): + if os.path.exists(f"{results_dir}/virulence/vfdb/{sample}_vfdb_blastn_onGenes.summary.txt") and os.stat(f"{results_dir}/virulence/vfdb/{sample}_vfdb_blastn_onGenes.summary.txt").st_size > 0: # init VFDB annotation dictionary bacannot_summary[sample]['virulence']['VFDB'] = {} @@ -73,7 +73,7 @@ def virulence_stats(bacannot_summary): bacannot_summary[sample]['virulence']['VFDB'][gene]['end'] = end # victors - if os.path.exists(f"{results_dir}/virulence/victors/{sample}_victors_blastp_onGenes.summary.txt"): + if os.path.exists(f"{results_dir}/virulence/victors/{sample}_victors_blastp_onGenes.summary.txt") and os.stat(f"{results_dir}/virulence/victors/{sample}_victors_blastp_onGenes.summary.txt").st_size > 0: # init victors annotation dictionary gff = bacannot_summary[sample]['virulence']['Victors'] = {} From 3510c4f0e66b7b0507248b4dca04dec2eacc9a8e Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Sun, 23 Jul 2023 06:53:36 -0300 Subject: [PATCH 117/130] make MGE key only be created if integron_finder has results --- falmeida_py/mges_function.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/falmeida_py/mges_function.py b/falmeida_py/mges_function.py index 42bdf57..61311f8 100644 --- a/falmeida_py/mges_function.py +++ b/falmeida_py/mges_function.py @@ -14,13 +14,14 @@ def mges_stats(bacannot_summary): # load dir of samples' results results_dir = bacannot_summary[sample]['results_dir'] - - # init MGE annotation dictionary - bacannot_summary[sample]['MGE'] = {} # integron_finder if os.path.exists(f"{results_dir}/integron_finder/{sample}_integrons.gff") and os.stat(f"{results_dir}/integron_finder/{sample}_integrons.gff").st_size > 0: + # init MGE annotation dictionary + if 'MGE' not in bacannot_summary[sample]: + bacannot_summary[sample]['MGE'] = {} + # init integron_finder annotation dictionary bacannot_summary[sample]['MGE']['integron_finder'] = {} From bc0231a2bae081371585f4b3d5a1b0617c64aea3 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Sun, 23 Jul 2023 06:55:51 -0300 Subject: [PATCH 118/130] update versions and changelog --- CHANGELOG.md | 6 ++++++ conda.recipe/meta.yaml | 2 +- falmeida_py/version.py | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66bc07e..b718bd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ Started only in version 0.5 +## v1.2.2 + +- Added a file size check, only enter bacannot summary creation if results files are not empty +- Fixed mob_suite summary parsing (added .astype(str)) +- Moved MGE dict key generation for inside the integron_finder loop + ## v1.2.1 - Added a quick fix for plasmid finder results parsing, as results from gram-negative have only one database, but for gram-positive it has >1. diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index d3beb92..aef1d2b 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,6 +1,6 @@ package: name: falmeida-py - version: '1.2.1' + version: '1.2.2' source: path: .. diff --git a/falmeida_py/version.py b/falmeida_py/version.py index b1a36f8..a5b5600 100644 --- a/falmeida_py/version.py +++ b/falmeida_py/version.py @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '1.2.1' +__version__ = '1.2.2' def get_version(): return __version__ From bc006d69a7a580c815238d0ce59117e2ef19e6fb Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Thu, 14 Sep 2023 10:14:05 -0300 Subject: [PATCH 119/130] added ICEberg database blastp results --- falmeida_py/mges_function.py | 58 +++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/falmeida_py/mges_function.py b/falmeida_py/mges_function.py index 61311f8..7b1ed7b 100644 --- a/falmeida_py/mges_function.py +++ b/falmeida_py/mges_function.py @@ -3,6 +3,7 @@ ################################## import pandas as pd import os +from .utils import load_and_subset_gff #################################### ### check MGEs annotations stats ### @@ -14,6 +15,9 @@ def mges_stats(bacannot_summary): # load dir of samples' results results_dir = bacannot_summary[sample]['results_dir'] + + # load gff_file + gff_file = f"{results_dir}/gffs/{sample}.gff" # integron_finder if os.path.exists(f"{results_dir}/integron_finder/{sample}_integrons.gff") and os.stat(f"{results_dir}/integron_finder/{sample}_integrons.gff").st_size > 0: @@ -54,4 +58,56 @@ def mges_stats(bacannot_summary): bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['end'] = row['end'] bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['type'] = row['atts'].split(';')[1].split('=')[-1] bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['source'] = row['source'] - bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['product'] = row['type'] \ No newline at end of file + bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['product'] = row['type'] + + # ICE database + ice_db_blastp = f"{results_dir}/ICEs/{sample}_iceberg_blastp_onGenes.summary.txt" + if os.path.exists(ice_db_blastp) and os.stat(ice_db_blastp).st_size > 0: + + # init MGE annotation dictionary + if 'MGE' not in bacannot_summary[sample]: + bacannot_summary[sample]['MGE'] = {} + + # init iceberg annotation dictionary + if 'ICE' not in bacannot_summary[sample]['MGE']: + bacannot_summary[sample]['MGE']['ICEberg'] = {} + + # init iceberg blastp annotation dictionary + bacannot_summary[sample]['MGE']['ICEberg']['blastp'] = {} + + # load integron_finder results + results = pd.read_csv( + ice_db_blastp, + sep='\t' + ) + + # load gff + gff = load_and_subset_gff(gff_file, 'source', 'ICE') + + # number of integron_finder annotations + total_number = len(results.index) + bacannot_summary[sample]['MGE']['ICEberg']['blastp']['total'] = total_number + + # per gene info + if int(results.shape[0]) > 0: + for seq in [ str(x) for x in results['SEQUENCE'].unique() ]: + + # details missing in output but available in gff + gff_row = gff[gff['attributes'].str.contains(seq)] + contig = gff_row['seq'].item() + start = gff_row['start'].item() + end = gff_row['end'].item() + + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq] = {} + for index, row in results[results['SEQUENCE'] == seq].reset_index().iterrows(): + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id] = {} + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['id'] = row['ICEBERG_ID'] + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['contig'] = contig + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['start'] = start + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['end'] = end + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['accession'] = row['ACCESSION'] + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['product'] = row['PRODUCT'] + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['description'] = row['DESCRIPTION'] + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['blast_start'] = row['START'] + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['blast_end'] = row['END'] + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['strand'] = row['STRAND'] \ No newline at end of file From 31a8ccf7bb88100be9a592b34158542da95b168e Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Thu, 14 Sep 2023 11:35:55 -0300 Subject: [PATCH 120/130] added PHAST results to summary --- falmeida_py/mges_function.py | 82 ++++++++++++++++++++++++++++++------ 1 file changed, 69 insertions(+), 13 deletions(-) diff --git a/falmeida_py/mges_function.py b/falmeida_py/mges_function.py index 7b1ed7b..39014e0 100644 --- a/falmeida_py/mges_function.py +++ b/falmeida_py/mges_function.py @@ -60,7 +60,7 @@ def mges_stats(bacannot_summary): bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['source'] = row['source'] bacannot_summary[sample]['MGE']['integron_finder'][seq][id]['product'] = row['type'] - # ICE database + # ICEberg database ice_db_blastp = f"{results_dir}/ICEs/{sample}_iceberg_blastp_onGenes.summary.txt" if os.path.exists(ice_db_blastp) and os.stat(ice_db_blastp).st_size > 0: @@ -82,7 +82,7 @@ def mges_stats(bacannot_summary): ) # load gff - gff = load_and_subset_gff(gff_file, 'source', 'ICE') + gff = load_and_subset_gff(gff_file, 'source', 'ICEberg') # number of integron_finder annotations total_number = len(results.index) @@ -100,14 +100,70 @@ def mges_stats(bacannot_summary): bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq] = {} for index, row in results[results['SEQUENCE'] == seq].reset_index().iterrows(): - bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id] = {} - bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['id'] = row['ICEBERG_ID'] - bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['contig'] = contig - bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['start'] = start - bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['end'] = end - bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['accession'] = row['ACCESSION'] - bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['product'] = row['PRODUCT'] - bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['description'] = row['DESCRIPTION'] - bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['blast_start'] = row['START'] - bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['blast_end'] = row['END'] - bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq][id]['strand'] = row['STRAND'] \ No newline at end of file + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq] = {} + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq]['id'] = row['ICEBERG_ID'] + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq]['contig'] = contig + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq]['start'] = start + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq]['end'] = end + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq]['accession'] = row['ACCESSION'] + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq]['product'] = row['PRODUCT'] + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq]['description'] = row['DESCRIPTION'] + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq]['blast_start'] = row['START'] + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq]['blast_end'] = row['END'] + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq]['blast_identity'] = row['%IDENTITY'] + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq]['blast_coverage'] = row['%COVERAGE'] + bacannot_summary[sample]['MGE']['ICEberg']['blastp'][seq]['strand'] = row['STRAND'] + + # PHAST database + phast_db_blastp = f"{results_dir}/prophages/phast_db/{sample}_phast_blastp_onGenes.summary.txt" + if os.path.exists(phast_db_blastp) and os.stat(phast_db_blastp).st_size > 0: + + # init MGE annotation dictionary + if 'MGE' not in bacannot_summary[sample]: + bacannot_summary[sample]['MGE'] = {} + + # init phast annotation dictionary + if 'ICE' not in bacannot_summary[sample]['MGE']: + bacannot_summary[sample]['MGE']['PHAST'] = {} + + # init phast blastp annotation dictionary + bacannot_summary[sample]['MGE']['PHAST']['blastp'] = {} + + # load integron_finder results + results = pd.read_csv( + phast_db_blastp, + sep='\t' + ) + + # load gff + gff = load_and_subset_gff(gff_file, 'source', 'PHAST') + + # number of integron_finder annotations + total_number = len(results.index) + bacannot_summary[sample]['MGE']['PHAST']['blastp']['total'] = total_number + + # per gene info + if int(results.shape[0]) > 0: + for seq in [ str(x) for x in results['SEQUENCE'].unique() ]: + + # details missing in output but available in gff + gff_row = gff[gff['attributes'].str.contains(seq)] + contig = gff_row['seq'].item() + start = gff_row['start'].item() + end = gff_row['end'].item() + + bacannot_summary[sample]['MGE']['PHAST']['blastp'][seq] = {} + for index, row in results[results['SEQUENCE'] == seq].reset_index().iterrows(): + bacannot_summary[sample]['MGE']['PHAST']['blastp'][seq] = {} + bacannot_summary[sample]['MGE']['PHAST']['blastp'][seq]['id'] = row['PHAST_ID'] + bacannot_summary[sample]['MGE']['PHAST']['blastp'][seq]['contig'] = contig + bacannot_summary[sample]['MGE']['PHAST']['blastp'][seq]['start'] = start + bacannot_summary[sample]['MGE']['PHAST']['blastp'][seq]['end'] = end + bacannot_summary[sample]['MGE']['PHAST']['blastp'][seq]['accession'] = row['ACCESSION'] + bacannot_summary[sample]['MGE']['PHAST']['blastp'][seq]['gene'] = row['GENE'] + bacannot_summary[sample]['MGE']['PHAST']['blastp'][seq]['description'] = row['DESCRIPTION'] + bacannot_summary[sample]['MGE']['PHAST']['blastp'][seq]['blast_start'] = row['START'] + bacannot_summary[sample]['MGE']['PHAST']['blastp'][seq]['blast_end'] = row['END'] + bacannot_summary[sample]['MGE']['PHAST']['blastp'][seq]['blast_identity'] = row['%IDENTITY'] + bacannot_summary[sample]['MGE']['PHAST']['blastp'][seq]['blast_coverage'] = row['%COVERAGE'] + bacannot_summary[sample]['MGE']['PHAST']['blastp'][seq]['strand'] = row['STRAND'] \ No newline at end of file From 13ee380f72eca34466ab11bf27ce5aab4648cd08 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Thu, 14 Sep 2023 11:37:37 -0300 Subject: [PATCH 121/130] update version --- CHANGELOG.md | 4 ++++ conda.recipe/meta.yaml | 2 +- falmeida_py/version.py | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b718bd5..70413f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ Started only in version 0.5 +## v1.2.3 + +- Added ICEberg and PHAST results to bacannot json summary file + ## v1.2.2 - Added a file size check, only enter bacannot summary creation if results files are not empty diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index aef1d2b..18f3645 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,6 +1,6 @@ package: name: falmeida-py - version: '1.2.2' + version: '1.2.3' source: path: .. diff --git a/falmeida_py/version.py b/falmeida_py/version.py index a5b5600..304580c 100644 --- a/falmeida_py/version.py +++ b/falmeida_py/version.py @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '1.2.2' +__version__ = '1.2.3' def get_version(): return __version__ From d5c04f230ac0148f3d4207e344fb995c993fc3db Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Sun, 17 Sep 2023 20:57:07 +0200 Subject: [PATCH 122/130] Create pyproject.toml --- pyproject.toml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..7d4b7be --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,6 @@ +[project] +name="falmeida-py" +version="1.2.3" +description="A python package of my (Felipe M. Almeida) personal python scripts" +requires-python=">=3.7" +readme="README.md" From c579d29b28edc1d84292e8f368198fba5f695e5b Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 18 Sep 2023 22:08:33 +0200 Subject: [PATCH 123/130] fix requirements --- build_conda.sh | 2 +- pyproject.toml | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) delete mode 100644 pyproject.toml diff --git a/build_conda.sh b/build_conda.sh index ea63aba..76fc21a 100644 --- a/build_conda.sh +++ b/build_conda.sh @@ -9,7 +9,7 @@ conda convert -p osx-64 $(find build -name "falmeida-py*.tar.bz2") # upload osx anaconda upload $(find osx-64 -name "falmeida-py*.tar.bz2") --force -( cd build && anaconda upload $(find linux-64 -name "falmeida-py*.tar.bz2") --force ) +anaconda upload $(find build/linux-64 -name "falmeida-py*.tar.bz2") --force # rm dirs rm -rf build osx-64 diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index 7d4b7be..0000000 --- a/pyproject.toml +++ /dev/null @@ -1,6 +0,0 @@ -[project] -name="falmeida-py" -version="1.2.3" -description="A python package of my (Felipe M. Almeida) personal python scripts" -requires-python=">=3.7" -readme="README.md" From f27b5995644ed1bbdeea53ecc9b7079cd1337c56 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 18 Sep 2023 22:10:55 +0200 Subject: [PATCH 124/130] Update requirements.txt --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index baf0574..eff09bb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,4 +4,4 @@ tabulate biopython simplejson importlib_metadata -yaml +pyyaml From 976a3d411d26e959262fe3c748cbb1859cb03579 Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 18 Sep 2023 22:53:56 +0200 Subject: [PATCH 125/130] Update meta.yaml --- conda.recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index 18f3645..2dfa0db 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -7,7 +7,7 @@ source: build: number: 0 - script: python setup.py install --single-version-externally-managed --record=record.txt + script: pip install . entry_points: - processrcmfolder = uconnrcmpy.dataprocessing:process_folder From 4e34f207810622b26d10b56f8290a9d54b92d2bd Mon Sep 17 00:00:00 2001 From: fmalmeida Date: Mon, 16 Oct 2023 20:58:37 +0200 Subject: [PATCH 126/130] start bug fix --- build_conda.sh | 1 + conda.recipe/meta.yaml | 2 +- docs/align2subsetgbk_help.txt | 50 ++++----------------------- docs/help_message.txt | 31 ++++------------- docs/splitgbk_help.txt | 44 ++++------------------- docs/tsv2markdown_help.txt | 46 ++++-------------------- falmeida_py/general_stats_function.py | 8 ++--- falmeida_py/version.py | 2 +- 8 files changed, 31 insertions(+), 153 deletions(-) diff --git a/build_conda.sh b/build_conda.sh index 76fc21a..d3d0571 100644 --- a/build_conda.sh +++ b/build_conda.sh @@ -9,6 +9,7 @@ conda convert -p osx-64 $(find build -name "falmeida-py*.tar.bz2") # upload osx anaconda upload $(find osx-64 -name "falmeida-py*.tar.bz2") --force +sleep 140 anaconda upload $(find build/linux-64 -name "falmeida-py*.tar.bz2") --force # rm dirs diff --git a/conda.recipe/meta.yaml b/conda.recipe/meta.yaml index 2dfa0db..b1e862a 100644 --- a/conda.recipe/meta.yaml +++ b/conda.recipe/meta.yaml @@ -1,6 +1,6 @@ package: name: falmeida-py - version: '1.2.3' + version: '1.2.4' source: path: .. diff --git a/docs/align2subsetgbk_help.txt b/docs/align2subsetgbk_help.txt index 769c2b2..087e990 100644 --- a/docs/align2subsetgbk_help.txt +++ b/docs/align2subsetgbk_help.txt @@ -1,44 +1,6 @@ -A script meant to subset a genbank annotation file based on alignments against a query (Nucleotide) FASTA file - ---- -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -Usage: - falmeida-py align2subsetgbk [ -h|--help ] - falmeida-py align2subsetgbk [ --gbk --fasta --out --minid --mincov --culling_limit --extension ] - -Options: - -h --help Show this screen. - -g --gbk= Gbk file for subset - -f --fasta= FASTA (nucl) file for querying the gbk - -o --out= Gbk filtered output file [Default: out.gbk]. - --extension= Base pair length to extend the flank regions in the alignment [Default: 0]. - --minid= Min. Identity percentage for gene annotation [Default: 80]. - --mincov= Min. Covereage for gene annotation [Default: 80]. - --culling_limit= Blast culling_limit for best hit only [Default: 1]. -falmeida-py: a package to the simple distribution of my custom scripts. - -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] - falmeida-py [ -h|--help ] [ ... ] - -options: - -h --help Show this screen - -v --version Show version information - --license Show LEGAL LICENSE information - -commands: - tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. - splitgbk Command to split multisequence genbank files into individual files. - align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. - gbk2fasta Command to convert genbank files to fasta files. - blasts Command to execute automatized blast commands. - replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file - mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file - bacannot2json Command to summarize main bacannot annotation results into JSON file - -Use: `falmeida-py -h` to get more help and see examples. +Traceback (most recent call last): + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in + from falmeida_py.__main__ import main + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in + from docopt import docopt +ModuleNotFoundError: No module named 'docopt' diff --git a/docs/help_message.txt b/docs/help_message.txt index 6ed5318..087e990 100644 --- a/docs/help_message.txt +++ b/docs/help_message.txt @@ -1,25 +1,6 @@ -falmeida-py: a package to the simple distribution of my custom scripts. - -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] - falmeida-py [ -h|--help ] [ ... ] - -options: - -h --help Show this screen - -v --version Show version information - --license Show LEGAL LICENSE information - -commands: - tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. - splitgbk Command to split multisequence genbank files into individual files. - align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. - gbk2fasta Command to convert genbank files to fasta files. - blasts Command to execute automatized blast commands. - replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file - mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file - bacannot2json Command to summarize main bacannot annotation results into JSON file - -Use: `falmeida-py -h` to get more help and see examples. +Traceback (most recent call last): + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in + from falmeida_py.__main__ import main + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in + from docopt import docopt +ModuleNotFoundError: No module named 'docopt' diff --git a/docs/splitgbk_help.txt b/docs/splitgbk_help.txt index f139033..087e990 100644 --- a/docs/splitgbk_help.txt +++ b/docs/splitgbk_help.txt @@ -1,38 +1,6 @@ -A very simple script to split multisequence genbank files into separate files -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - falmeida-py splitgbk - falmeida-py splitgbk [ -h|--help ] - falmeida-py splitgbk [ --gbk ] [ --outdir ] - -options: - -h --help Show this screen. - -g --gbk= Input genbank file to split into multiple individual files. - -o --outdir= Directory (must already exist) in which to write the splitted files [Default: ./]. -falmeida-py: a package to the simple distribution of my custom scripts. - -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] - falmeida-py [ -h|--help ] [ ... ] - -options: - -h --help Show this screen - -v --version Show version information - --license Show LEGAL LICENSE information - -commands: - tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. - splitgbk Command to split multisequence genbank files into individual files. - align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. - gbk2fasta Command to convert genbank files to fasta files. - blasts Command to execute automatized blast commands. - replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file - mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file - bacannot2json Command to summarize main bacannot annotation results into JSON file - -Use: `falmeida-py -h` to get more help and see examples. +Traceback (most recent call last): + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in + from falmeida_py.__main__ import main + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in + from docopt import docopt +ModuleNotFoundError: No module named 'docopt' diff --git a/docs/tsv2markdown_help.txt b/docs/tsv2markdown_help.txt index 0b2b685..087e990 100644 --- a/docs/tsv2markdown_help.txt +++ b/docs/tsv2markdown_help.txt @@ -1,40 +1,6 @@ -A simple script to convert tsv (or csv) files to markdown tables using tabulate! -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - falmeida-py tsv2markdown - falmeida-py tsv2markdown [ -h|--help ] - falmeida-py tsv2markdown [ --tsv --csv --header ] - -options: - -h --help Show this screen. - --tsv= Input tsv file to print as markdown table - --csv= Input csv file to print as markdown table - --header= If file does not have a header, set a - custom header. E.g. --header "Planet,R (km),mass (x 10^29 kg)". -falmeida-py: a package to the simple distribution of my custom scripts. - -Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) -License: Public Domain - -usage: - falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] - falmeida-py [ -h|--help ] [ ... ] - -options: - -h --help Show this screen - -v --version Show version information - --license Show LEGAL LICENSE information - -commands: - tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. - splitgbk Command to split multisequence genbank files into individual files. - align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. - gbk2fasta Command to convert genbank files to fasta files. - blasts Command to execute automatized blast commands. - replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file - mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file - bacannot2json Command to summarize main bacannot annotation results into JSON file - -Use: `falmeida-py -h` to get more help and see examples. +Traceback (most recent call last): + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in + from falmeida_py.__main__ import main + File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in + from docopt import docopt +ModuleNotFoundError: No module named 'docopt' diff --git a/falmeida_py/general_stats_function.py b/falmeida_py/general_stats_function.py index 74e0893..80e2590 100644 --- a/falmeida_py/general_stats_function.py +++ b/falmeida_py/general_stats_function.py @@ -37,10 +37,10 @@ def general_stats(bacannot_summary): # save annotation stats bacannot_summary[sample]['general_annotation'] = {} bacannot_summary[sample]['general_annotation']['mlst'] = str(mlst_results[2].item()).replace('-', 'null') - bacannot_summary[sample]['general_annotation']['cds'] = general_results['CDS'] - bacannot_summary[sample]['general_annotation']['rrna'] = general_results['rRNA'] - bacannot_summary[sample]['general_annotation']['trna'] = general_results['tRNA'] - bacannot_summary[sample]['general_annotation']['tmrna'] = general_results['tmRNA'] + bacannot_summary[sample]['general_annotation']['cds'] = general_results.get('CDS', 0) + bacannot_summary[sample]['general_annotation']['rrna'] = general_results.get('rRNA', 0) + bacannot_summary[sample]['general_annotation']['trna'] = general_results.get('tRNA', 0) + bacannot_summary[sample]['general_annotation']['tmrna'] = general_results.get('tmRNA', 0) bacannot_summary[sample]['general_annotation']['closest_reference'] = {} bacannot_summary[sample]['general_annotation']['closest_reference']['strain'] = refseq_masher_results.head(1)['top_taxonomy_name'].item() diff --git a/falmeida_py/version.py b/falmeida_py/version.py index 304580c..e524e2d 100644 --- a/falmeida_py/version.py +++ b/falmeida_py/version.py @@ -14,7 +14,7 @@ If not, see . """ -__version__ = '1.2.3' +__version__ = '1.2.4' def get_version(): return __version__ From 48913d138568c797913845cc45854b6c8a96b730 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Sat, 28 Oct 2023 12:54:23 -0300 Subject: [PATCH 127/130] updated help --- docs/align2subsetgbk_help.txt | 50 ++++++++++++++++++++++++++++++----- docs/help_message.txt | 31 +++++++++++++++++----- docs/splitgbk_help.txt | 44 +++++++++++++++++++++++++----- docs/tsv2markdown_help.txt | 46 +++++++++++++++++++++++++++----- 4 files changed, 147 insertions(+), 24 deletions(-) diff --git a/docs/align2subsetgbk_help.txt b/docs/align2subsetgbk_help.txt index 087e990..769c2b2 100644 --- a/docs/align2subsetgbk_help.txt +++ b/docs/align2subsetgbk_help.txt @@ -1,6 +1,44 @@ -Traceback (most recent call last): - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in - from falmeida_py.__main__ import main - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in - from docopt import docopt -ModuleNotFoundError: No module named 'docopt' +A script meant to subset a genbank annotation file based on alignments against a query (Nucleotide) FASTA file + +--- +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +Usage: + falmeida-py align2subsetgbk [ -h|--help ] + falmeida-py align2subsetgbk [ --gbk --fasta --out --minid --mincov --culling_limit --extension ] + +Options: + -h --help Show this screen. + -g --gbk= Gbk file for subset + -f --fasta= FASTA (nucl) file for querying the gbk + -o --out= Gbk filtered output file [Default: out.gbk]. + --extension= Base pair length to extend the flank regions in the alignment [Default: 0]. + --minid= Min. Identity percentage for gene annotation [Default: 80]. + --mincov= Min. Covereage for gene annotation [Default: 80]. + --culling_limit= Blast culling_limit for best hit only [Default: 1]. +falmeida-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] + falmeida-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. + blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file + bacannot2json Command to summarize main bacannot annotation results into JSON file + +Use: `falmeida-py -h` to get more help and see examples. diff --git a/docs/help_message.txt b/docs/help_message.txt index 087e990..6ed5318 100644 --- a/docs/help_message.txt +++ b/docs/help_message.txt @@ -1,6 +1,25 @@ -Traceback (most recent call last): - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in - from falmeida_py.__main__ import main - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in - from docopt import docopt -ModuleNotFoundError: No module named 'docopt' +falmeida-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] + falmeida-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. + blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file + bacannot2json Command to summarize main bacannot annotation results into JSON file + +Use: `falmeida-py -h` to get more help and see examples. diff --git a/docs/splitgbk_help.txt b/docs/splitgbk_help.txt index 087e990..f139033 100644 --- a/docs/splitgbk_help.txt +++ b/docs/splitgbk_help.txt @@ -1,6 +1,38 @@ -Traceback (most recent call last): - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in - from falmeida_py.__main__ import main - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in - from docopt import docopt -ModuleNotFoundError: No module named 'docopt' +A very simple script to split multisequence genbank files into separate files +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py splitgbk + falmeida-py splitgbk [ -h|--help ] + falmeida-py splitgbk [ --gbk ] [ --outdir ] + +options: + -h --help Show this screen. + -g --gbk= Input genbank file to split into multiple individual files. + -o --outdir= Directory (must already exist) in which to write the splitted files [Default: ./]. +falmeida-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] + falmeida-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. + blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file + bacannot2json Command to summarize main bacannot annotation results into JSON file + +Use: `falmeida-py -h` to get more help and see examples. diff --git a/docs/tsv2markdown_help.txt b/docs/tsv2markdown_help.txt index 087e990..0b2b685 100644 --- a/docs/tsv2markdown_help.txt +++ b/docs/tsv2markdown_help.txt @@ -1,6 +1,40 @@ -Traceback (most recent call last): - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida-py-runner.py", line 18, in - from falmeida_py.__main__ import main - File "/home/falmeida/Documents/GitHub/pythonScripts/falmeida_py/__main__.py", line 47, in - from docopt import docopt -ModuleNotFoundError: No module named 'docopt' +A simple script to convert tsv (or csv) files to markdown tables using tabulate! +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py tsv2markdown + falmeida-py tsv2markdown [ -h|--help ] + falmeida-py tsv2markdown [ --tsv --csv --header ] + +options: + -h --help Show this screen. + --tsv= Input tsv file to print as markdown table + --csv= Input csv file to print as markdown table + --header= If file does not have a header, set a + custom header. E.g. --header "Planet,R (km),mass (x 10^29 kg)". +falmeida-py: a package to the simple distribution of my custom scripts. + +Copyright (C) 2020 Felipe Marques de Almeida (almeidafmarques@gmail.com) +License: Public Domain + +usage: + falmeida-py [ -h|--help ] [ -v|--version ] [ --license ] + falmeida-py [ -h|--help ] [ ... ] + +options: + -h --help Show this screen + -v --version Show version information + --license Show LEGAL LICENSE information + +commands: + tsv2markdown Command for rapid convertion of tsv or csv to markdown tables. + splitgbk Command to split multisequence genbank files into individual files. + align2subsetgbk Command to subset genbank files based on alignments to a FASTA file. + gbk2fasta Command to convert genbank files to fasta files. + blasts Command to execute automatized blast commands. + replace_fasta_seq Command to replace strings in a FASTA using defitinitions from a BED file + mpgap2csv Command to summarize main mpgap multiqc assembly statistics into a CSV file + bacannot2json Command to summarize main bacannot annotation results into JSON file + +Use: `falmeida-py -h` to get more help and see examples. From 705250f2e0b0c20a5ec1094de84979aad07290f8 Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Fri, 3 Nov 2023 13:53:34 -0400 Subject: [PATCH 128/130] Update resistance_function.py --- falmeida_py/resistance_function.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/falmeida_py/resistance_function.py b/falmeida_py/resistance_function.py index 3e1649e..4b92adb 100644 --- a/falmeida_py/resistance_function.py +++ b/falmeida_py/resistance_function.py @@ -130,10 +130,13 @@ def resistance_stats(bacannot_summary): # # check for rgi orthologies # - if gene in bacannot_summary[sample]['resistance']['rgi']: - bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['card_aro'] = bacannot_summary[sample]['resistance']['rgi'][gene]['card_aro'] - else: - bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['card_aro'] = None + try: + if gene in bacannot_summary[sample]['resistance']['rgi']: + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['card_aro'] = bacannot_summary[sample]['resistance']['rgi'][gene]['card_aro'] + else: + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['card_aro'] = None + except: + bacannot_summary[sample]['resistance']['amrfinderplus'][gene]['card_aro'] = None ################# ### resfinder ### From c03b9f0753d51c0c698fec125822a72a9c0766da Mon Sep 17 00:00:00 2001 From: Felipe Marques de Almeida Date: Fri, 3 Nov 2023 13:56:22 -0400 Subject: [PATCH 129/130] Update resistance_function.py --- falmeida_py/resistance_function.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/falmeida_py/resistance_function.py b/falmeida_py/resistance_function.py index 4b92adb..7f7ff01 100644 --- a/falmeida_py/resistance_function.py +++ b/falmeida_py/resistance_function.py @@ -180,7 +180,10 @@ def resistance_stats(bacannot_summary): # # check for rgi orthologies # - if gene in bacannot_summary[sample]['resistance']['rgi']: - bacannot_summary[sample]['resistance']['resfinder'][gene]['card_aro'] = bacannot_summary[sample]['resistance']['rgi'][gene]['card_aro'] - else: - bacannot_summary[sample]['resistance']['resfinder'][gene]['card_aro'] = None + try: + if gene in bacannot_summary[sample]['resistance']['rgi']: + bacannot_summary[sample]['resistance']['resfinder'][gene]['card_aro'] = bacannot_summary[sample]['resistance']['rgi'][gene]['card_aro'] + else: + bacannot_summary[sample]['resistance']['resfinder'][gene]['card_aro'] = None + except: + bacannot_summary[sample]['resistance']['resfinder'][gene]['card_aro'] = None From 183693638254cb81c2865b202d76c31e83144fc2 Mon Sep 17 00:00:00 2001 From: Felipe Almeida Date: Tue, 7 Nov 2023 13:05:40 -0300 Subject: [PATCH 130/130] Fix help message --- falmeida_py/__main__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/falmeida_py/__main__.py b/falmeida_py/__main__.py index 85208f7..4b94bba 100644 --- a/falmeida_py/__main__.py +++ b/falmeida_py/__main__.py @@ -241,8 +241,8 @@ def main(): ####################################### ### Without commands nor parameters ### ####################################### - else: - print(usage.strip()) + elif not arguments['']: + print(usage.strip()) ## Calling main if __name__ == '__main__':