From 586b7afe830cb3f4c6970ad79278db4726e11192 Mon Sep 17 00:00:00 2001 From: Oliver Schwengers Date: Thu, 9 Mar 2023 09:10:17 +0100 Subject: [PATCH] add DB type info to outputs #95 --- bakta/io/gff.py | 2 +- bakta/io/insdc.py | 5 +---- bakta/io/json.py | 5 ++++- bakta/io/tsv.py | 8 ++++++-- bakta/main.py | 2 +- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/bakta/io/gff.py b/bakta/io/gff.py index 397e49ca..4af60252 100644 --- a/bakta/io/gff.py +++ b/bakta/io/gff.py @@ -27,7 +27,7 @@ def write_gff3(genome: dict, features_by_contig: Dict[str, dict], gff3_path: Pat fh.write('# Annotated with Bakta\n') fh.write(f'# Software: v{bakta.__version__}\n') - fh.write(f"# Database: v{cfg.db_info['major']}.{cfg.db_info['minor']}\n") + fh.write(f"# Database: v{cfg.db_info['major']}.{cfg.db_info['minor']}, {cfg.db_info['type']}\n") fh.write(f'# DOI: {bc.BAKTA_DOI}\n') fh.write(f'# URL: {bc.BAKTA_URL}\n') diff --git a/bakta/io/insdc.py b/bakta/io/insdc.py index 20f3f02b..73280aa6 100644 --- a/bakta/io/insdc.py +++ b/bakta/io/insdc.py @@ -27,15 +27,12 @@ def write_insdc(genome: dict, features: Sequence[dict], genbank_output_path: Pat comment = ( 'Annotated with Bakta', f"Software: v{bakta.__version__}\n", - f"Database: v{cfg.db_info['major']}.{cfg.db_info['minor']}\n", + f"Database: v{cfg.db_info['major']}.{cfg.db_info['minor']}, {cfg.db_info['type']}\n", f'DOI: {bc.BAKTA_DOI}\n', f'URL: {bc.BAKTA_URL}\n', '\n', '##Genome Annotation Summary:##\n', f"{'Annotation Date':<30} :: {datetime.now().strftime('%m/%d/%Y, %H:%M:%S')}\n", - f"{'Annotation Pipeline':<30} :: Bakta\n", - f"{'Annotation Software version':<30} :: v{bakta.__version__}\n", - f"{'Annotation Database version':<30} :: v{cfg.db_info['major']}.{cfg.db_info['minor']}\n", f"{'CDSs':<30} :: {len([feat for feat in contig_features if feat['type'] == bc.FEATURE_CDS or feat['type'] == bc.FEATURE_SORF]):5,}\n", f"{'tRNAs':<30} :: {len([feat for feat in contig_features if feat['type'] == bc.FEATURE_T_RNA]):5,}\n", f"{'tmRNAs':<30} :: {len([feat for feat in contig_features if feat['type'] == bc.FEATURE_TM_RNA]):5,}\n", diff --git a/bakta/io/json.py b/bakta/io/json.py index bddaa934..afc35e60 100644 --- a/bakta/io/json.py +++ b/bakta/io/json.py @@ -63,7 +63,10 @@ def write_json(genome: dict, features: Sequence[dict], json_path: Path): version = OrderedDict() version['bakta'] = bakta.__version__ - version['db'] = f"{cfg.db_info['major']}.{cfg.db_info['minor']}" + version['db'] = { + 'version': f"{cfg.db_info['major']}.{cfg.db_info['minor']}", + 'type': cfg.db_info['type'] + } output['version'] = version with json_path.open('wt') as fh: diff --git a/bakta/io/tsv.py b/bakta/io/tsv.py index ca991498..bfe68e07 100644 --- a/bakta/io/tsv.py +++ b/bakta/io/tsv.py @@ -17,9 +17,13 @@ def write_tsv(contigs: Sequence[dict], features_by_contig: Dict[str, dict], tsv_ log.info('write tsv: path=%s', tsv_path) with tsv_path.open('wt') as fh: - fh.write(f'#Annotated with Bakta (v{bakta.__version__}): https://github.com/oschwengers/bakta\n') - fh.write(f"#Database (v{cfg.db_info['major']}.{cfg.db_info['minor']}): https://doi.org/10.5281/zenodo.4247252\n") + fh.write('# Annotated with Bakta\n') + fh.write(f'# Software: v{bakta.__version__}\n') + fh.write(f"# Database: v{cfg.db_info['major']}.{cfg.db_info['minor']}, {cfg.db_info['type']}\n") + fh.write(f'# DOI: {bc.BAKTA_DOI}\n') + fh.write(f'# URL: {bc.BAKTA_URL}\n') fh.write('#Sequence Id\tType\tStart\tStop\tStrand\tLocus Tag\tGene\tProduct\tDbXrefs\n') + for contig in contigs: for feat in features_by_contig[contig['id']]: feat_type = feat['type'] diff --git a/bakta/main.py b/bakta/main.py index 480ec8de..021ce214 100755 --- a/bakta/main.py +++ b/bakta/main.py @@ -601,7 +601,7 @@ def main(): fh_out.write(f"oriTs: {len([f for f in features if f['type'] == bc.FEATURE_ORIT])}\n") fh_out.write('\nBakta:\n') fh_out.write(f'Software: v{bakta.__version__}\n') - fh_out.write(f"Database: v{cfg.db_info['major']}.{cfg.db_info['minor']}\n") + fh_out.write(f"Database: v{cfg.db_info['major']}.{cfg.db_info['minor']}, {cfg.db_info['type']}\n") fh_out.write('DOI: 10.1099/mgen.0.000685\n') fh_out.write('URL: github.com/oschwengers/bakta\n')