Microbial GenomicsBioinformaticsPeer-reviewed journal article
Bakta: Rapid & standardized annotation of bacterial genomes via alignment-free sequence identification
Oliver SchwengersiD, Lukas JelonekiD, Marius Alfred DieckmanniD, Sebastian BeyversiD, Jochen BlomiD, Alexander GoesmanniD
Abstract
Command line annotation software tools have continuously gained popularity compared to centralized online services due to the worldwide increase of sequenced bacterial genomes. However, results of existing command line software pipelines heavily depend on taxon specific databases or sufficiently well annotated reference genomes. Here, we introduce Bakta, a new command line software tool for the robust, taxon-independent, thorough and nonetheless fast annotation of bacterial genomes. Bakta conducts a comprehensive annotation workflow including the detection of small proteins taking into account replicon metadata. The annotation of coding sequences is accelerated via an alignment-free sequence identification approach that in addition facilitates the precise assignment of public database cross references. Annotation results are exported in GFF3 and INSDC-compliant flat files as well as comprehensive JSON files facilitating automated downstream analysis. We compared Bakta to other rapid contemporary command line annotation software tools in both targeted and taxonomically broad benchmarks including isolates and metagenomic-assembled genomes. We demonstrated that Bakta outperforms other tools in terms of functional annotations, the assignment of functional categories and database cross-references whilst providing comparable wall clock runtimes. Bakta is implemented in Python 3 and runs on MacOS and Linux systems. It is freely available under a GPLv3 license at https://github.com/oschwengers/bakta. An accompanying web version is available at https://bakta.computational.bio.
- organism: bacteria (other)
- organism: E. coli
- assay: whole-genome sequencing
- assay: metagenomics
- assay: protein sequence
- research focus: software / tool
- research focus: benchmarking
- research focus: database / resource
- research focus: variant calling
- approach: benchmark study
- approach: statistical model
In-depth summary
Claude Opus 5.5 · xhigh effort · 8 Nov 2026 · from the full text of version 1 (2 Sept 2021) · CC BY 4.0
Bakta annotates bacterial genomes with one taxon-independent database, uses MD5-hash protein lookups to skip alignments and assign cross-references, detects small proteins, and lowers hypothetical-protein rates versus Prokka/DFAST.
Fast offline bacterial annotators such as Prokka and DFAST depend on small or taxon-specific databases or annotated references, miss small proteins under 29 amino acids, and assign no stable database identifiers. Bakta couples one comprehensive taxon-independent database with exact hash-based protein identification, raising annotation depth while keeping runtimes close to those lightweight tools.
Key results
ShownAcross taxonomically diverse bacterial isolates, Bakta left far fewer CDSs labelled hypothetical protein than Prokka or DFAST, including on GenBank genomes that were excluded from RefSeq.
35 RefSeq genomes: hypothetical 10.6% (n=13,902) vs DFAST 31.6% (n=40,128) and Prokka 41.2% (n=53,656). 362 GenBank genomes excluded from RefSeq for undefined genus: 25.4% (n=286,406) vs DFAST 41.1% (n=457,245) and Prokka 48.6% (n=548,167). · Functional annotation performance benchmark
ShownExact hash-based identification (AFSI) matched most predicted proteins in RefSeq genomes and a smaller share in non-RefSeq genomes. Disabling it on the RefSeq set barely changed hypothetical rates, so its value lies in speed and stable identifiers rather than annotation quality.
RefSeq set: 94.2% (n=123,105) of 130,683 CDSs identified, genome-wise 77.2% to 99.9%; Bakta w/o AFSI on this set: 11.5% (n=15,066) hypothetical, a 0.9% (n=1,164) difference from full Bakta. GenBank set: 26.6% (n=299,410) identified, genome-wise median 10.4%, range 0% to 99.9%. · Functional annotation performance benchmark
ShownOn high-quality metagenome-assembled genomes (MAGs), Bakta, which adds a UniRef50 cluster fallback, gave lower aggregate hypothetical-protein ratios than Prokka and DFAST and still identified many CDSs by exact hash lookup.
198 MAGs (CheckM completeness ≥95.0, contamination ≤1.0, GTDB bacterial) screened from 7,903: hypothetical 24.2% (n=138,282) vs DFAST 41.3% (n=232,516) and Prokka 49.0% (n=279,352); lowest per-genome ratio in 46.5% (n=92) of MAGs; 38.6% (n=220,753) of 572,213 CDSs identified via AFSI. · Annotation of metagenome-assembled genomes
ShownOn E. coli O26:H11 str. 11368, Bakta called the most CDSs (largely through small-protein detection), linked proteins to public identifiers, assigned the most EC numbers and was alone in assigning GO terms, though DFAST gave more COG identifiers.
CDSs: Bakta 5,841, PGAP 5,794, Prokka 5,754, DFAST 5,740; small proteins 82 vs PGAP 44; identified with RefSeq/UniRef100 dbxrefs 5,738 vs PGAP 5,550; EC numbers 1,562 vs 1,518 (PGAP), 1,217 (DFAST), 1,042 (Prokka); GO terms 3,474 (Bakta only); COG 3,277 vs DFAST 3,952. · Comparison of annotated features
ShownBakta uses more runtime, memory and disk than Prokka or DFAST but still finishes within minutes on 8 threads. Disabling AFSI lengthened runtimes at every core count tested, and the gain was smaller for a genome poorly represented in public databases.
E. coli on 8 threads, best of three runs: wall clock 7:09 vs Prokka 4:13 and DFAST 3:48 (m:ss); memory 4.4 vs 1.2 and 1.8 GB; database 53 vs 0.6 and 3.3 GB. AFSI cut CDS alignments to 110; on a Pseudocitrobacter assembly (ERR3255970) AFSI gave only moderate speedups. · Runtime performance and resource consumption
Methods, data and reproducibility
A Python 3 workflow runs tRNAscan-SE, Aragorn, Infernal/Rfam, Piler-CR, BLAST+ and topology-aware Prodigal plus sORF extraction; proteins are first matched by MD5 digest and length in a SQLite UniParc/UniRef100 store (AFSI), then Diamond aligns the rest to UniRef90 representatives, weaker hits map to UniRef50 clusters, and expert systems refine calls.
- Escherichia coli O26:H11 str. 11368 genome for feature, runtime and core-scaling comparisons, plus its RefSeq PGAP 5.2 annotation · Escherichia coli · n = single genome · GCF_000091005.1
- Taxonomically diverse RefSeq bacterial genomes spanning pathogens (including ESKAPE species), commensal and environmental species · multiple bacterial species · n = 35 genomes · RefSeq accessions in Supplementary Table S1; results at Zenodo 10.5281/zenodo.5253552
- GenBank genomes with strain designations that were excluded from RefSeq for undefined genus and had tRNA/rRNA features · multiple bacterial species · n = 362 genomes · Supplementary Table S2
- High-quality bacterial MAGs (CheckM completeness ≥95.0, contamination ≤1.0, GTDB bacterial lineage) screened from 7,903 published MAGs · multiple uncultivated bacterial species · n = 198 MAGs · Supplementary Table S3
- Raw reads of a recently described Pseudocitrobacter species, assembled to test AFSI speedups on a genome absent from public databases · Pseudocitrobacter sp. · ERR3255970
- Bakta database v3.0: UniRef90 representative sequences and MD5 digests of UniParc/UniRef100 unique protein sequences · bacteria and phages · n = over 90.5 million UniRef90; over 214.8 million unique proteins
- Methods & tools
- Prodigal, BioPython (sORF extraction), tRNAscan-SE; Aragorn, Infernal with Rfam covariance models, Piler-CR; BLAST+ against DoriC and MOB-suite, Diamond against UniRef90 representatives (hits mapped to UniRef50 clusters), HMMER with AntiFam and Pfam HMMs, AMRFinderPlus; NCBI BlastRules; VFDB, SQLite MD5 hash database (AFSI), Prokka 1.14.6, DFAST 1.2.11, PGAP 5.2 (comparators), ENA Webin-CLI 4.0.0; table2asn_GFF, fastp 0.20.1; Unicycler 0.4.8; CheckM; GTDB
- Software & environment
- Python 3; runs on MacOS and Linux; installable via Conda, Docker and Singularity; Bakta 1.1 with database v3.0; GPLv3 license.
- Assay conditions & compute
- Benchmarks on a server with 4 Intel Xeon E5-4627 CPUs (40 cores), limited to 8 threads; E. coli annotation took 7:09 m:ss with 4.4 GB memory and a 53 GB database; a typical genome takes approximately 10 minutes.
- Reproducibility gaps
- Data are given as identifiers, not URLs: results at Zenodo DOI 10.5281/zenodo.5253552, reads ERR3255970, genome GCF_000091005.1. Database said to be on Zenodo without an ID; other accessions only in Tables S1-S3.
Limitations (6)
- Small-protein detection depends on already-known sORF sequences matched via AFSI and strict homology searches, so Bakta cannot predict previously unknown sORFs de novo. · stated by the authors
- MD5 hash collisions could cause false identifications; none were found among more than 214.8 million sequences, but larger future releases may require SHA256 and larger databases. · stated by the authors
- The RefSeq benchmark genomes are already in Bakta's database, which favours AFSI identification; AFSI runtime gains were only moderate for a newly described Pseudocitrobacter genome. · stated by the authors
- Bakta needs more runtime, memory and a 53 GB database than Prokka and DFAST, and SQLite lookups can slow badly on network-attached storage, so the authors advise keeping a local database copy. · stated by the authors
- Benchmarks count hypothetical-protein ratios and assigned labels rather than scoring correctness against curated ground truth, so more annotations are not shown to be more accurate; PGAP was compared on one genome only. · noted in this summary
- On the 198 MAGs Bakta had the lowest per-genome hypothetical ratio for only 46.5% (n=92) of them, so its aggregate advantage does not hold uniformly at the genome level. · noted in this summary
Read this if you annotate many bacterial isolates or MAGs in automated pipelines and need taxon-agnostic annotation with small proteins, stable RefSeq/UniRef identifiers and INSDC-ready output.
- Citations
- 1,459
- FWCI
- 37.73
- Field percentile
- top 1%
Reproducibility ledger
Nobody has reported trying to reproduce this paper yet. Did you replicate an experiment or run the code? Your report saves the next lab a week.
Sign in to file a reproducibility report.
Related papers
- mettannotator: a comprehensive and scalable Nextflow annotation pipeline for prokaryotic assemblies
Tatiana A. Gurbich, Martín Beracochea, … Robert D. Finn·BioinformaticsPeer-reviewed·Jan 22, 2025
- Baktfold: Sensitive protein functional annotation across the microbial tree of life using structural information
George Spyro Bouras, Sung.won Lim, … Oliver Schwengers·bioRxiv·Apr 1, 2026
- ASA3P: An automatic and scalable pipeline for the assembly, annotation and higher level analysis of closely related bacterial isolates
Oliver Schwengers, Andreas Hoek, … Alexander Goesmann·PLoS Computational BiologyPeer-reviewed·Mar 5, 2020
- Bactopia: a flexible pipeline for complete analysis of bacterial genomes
Robert A. Petit, Timothy D. Read·mSystemsPeer-reviewed·Aug 3, 2020
- Interactive Tools for Functional Annotation of Bacterial Genomes
Morgan N. Price, Adam P. Arkin·DatabasePeer-reviewed·Jan 1, 2024
- Beav: A bacterial genome and mobile element annotation pipeline
Jewell M. Jung, Arafat Rahman, … Alexandra J. Weisberg·mSpherePeer-reviewed·Jul 22, 2024