Package: bakta
Bakta: rapid & standardized annotation of bacterial genomes, MAGs & plasmidsBakta is a tool for the rapid & standardized annotation of bacterial genomes and plasmids from both isolates and MAGs. It providesdbxref-rich,sORF-including and taxon-independent annotations in machine-readableJSON& bioinformatics standard file formats for automated downstream analysis.ContentsDescriptionInstallationExamplesInput & OutputUsageAnnotation WorkflowDatabaseGenome SubmissionProtein bulk annotationGenome plotsAuxiliary scriptsWeb versionCitationFAQIssues & Feature RequestsDescriptionComprehensive & taxonomy-independent databaseBakta provides a large and taxonomy-independent database using UniProt's entireUniRefprotein sequence cluster universe. Thus, it achieves favourable annotations in terms of sensitivity and specificity along the broad continuum ranging from well-studied species to unknown genomes from MAGs.Protein sequence identificationBakta exactly identifies known identical protein sequences (IPS) from RefSeq and UniProt allowing the fine-grained annotation of gene alleles (AMR) or closely related but distinct protein families. This is achieved via an alignment-free sequence identification (AFSI) approach using full-lengthMD5protein sequence hash digests.FastThis AFSI approach substantially accellerates the annotation process by avoiding computationally expensive homology searches for identified genes. Thus, Bakta can annotate a typical bacterial genome in 10 ±5 min on a laptop, plasmids in a couple of seconds/minutes.Database cross-referencesFostering theFAIRprinciples, Bakta exploits its AFSI approach to annotate CDS with database cross-references (dbxref) to RefSeq (WP_*), UniRef100 (UniRef100_*) and UniParc (UPI*). By doing so, IPS allow the surveillance of distinct gene alleles and streamlining comparative analysis as well as posterior (external) annotations ofputative&hypotheticalprotein sequences which can be mapped back to existing CDS via these exact & stable identifiers (E. coligeneymiA...more). Currently, Bakta identifies ~214.8 mio, ~199 mio and ~161 mio distinct protein sequences from UniParc, UniRef100 and RefSeq, respectively. Hence, for certain genomes, up to 99 % of all CDS can be identified this way, skipping computationally expensive sequence alignments.FAIR annotationsTo provide standardized annotations adhearing to FAIR principles, Bakta utilizes a versioned custom annotation database comprising UniProt'sUniRef100 & UniRef90protein clusters (FAIR ->DOI/DOI) enriched with dbxrefs (GO,COG,EC) and annotated by specialized niche databases. For each DB version we provide a comprehensive log file of all imported sequences and annotations.Small proteins / short open reading framesBakta detects and annotates small proteins/short open reading frames (sORF) which are not predicted by tools likeProdigal.Expert annotation systemsTo provide high quality annotations for certain proteins of higher interest,e.g.AMR & VF genes, Bakta includes & merges different expert annotation systems. Currently, Bakta uses NCBI's AMRFinderPlus for AMR gene annotations as well as an generalized protein sequence expert system with distinct coverage, identity and priority values for each sequence, currenlty comprising theVFDBas well as NCBI'sBlastRules.Comprehensive workflowBakta annotates ncRNA cis-regulatory regions, oriC/oriV/oriT and assembly gaps as well as standard feature types: tRNA, tmRNA, rRNA, ncRNA genes, CRISPR, CDS and pseudogenes.GFF3 & INSDC conform annotationsBakta writes GFF3 and INSDC-compliant (Genbank & EMBL) annotation files ready for submission (checked viaGenomeTools GFF3Validator,table2asn_GFFandENA Webin-CLIfor GFF3 and EMBL file formats, respectively for representative genomes of all ESKAPE species).Bacteria & plasmids onlyBakta was designed to annotate bacteria (isolates & MAGs) and plasmids, only. This decision by design has been made in order to tweak the annotation process regarding tools, preferences & databases and to streamline further development & maintenance of the software.ReasoningBy annotating bacterial genomes in a standardized, taxonomy-independent, high-throughput and local manner, Bakta aims at a well-balanced tradeoff between fully featured but computationally demanding pipelines likePGAPand rapid highly customizable offline tools likeProkka. Indeed, Bakta is heavily inspired by Prokka (kudos toTorsten Seemann) and many command line options are compatible for the sake of interoperability and user convenience. Hence, if Bakta does not fit your needs, please consider trying Prokka.InstallationBakta can be installed via BioConda, Docker, Singularity and Pip. However, we encourage to useCondaorDocker/Singularityto automatically install all required 3rd party dependencies.In all cases a mandatorydatabasemust be downloaded.BioCondacondainstall-cconda-forge-cbiocondabaktaPodman (Docker)We maintain a Docker imageoschwengers/baktaproviding an entrypoint, so that containers can be used like an executable:podmanpulloschwengers/bakta
podmanrunoschwengers/bakta--helpInstallation instructions and get-started guides: Podmandocs. For further convenience, we provide a shell script (bakta-podman.sh) handling Podman related parameters (volume mounting, user IDs, etc):bakta-podman.sh--db<db-path>--output<output-path><input>For experienced users and full functionality (bakta_db&bakta_proteins), an image without entrypoint might be a better option. For these cases, please use one of theBiocontainerimages:exportCONTAINER="quay.io/biocontainers/bakta:1.8.2--pyhdfd78af_0"podmanrun-it--rm$CONTAINERbakta--help
podmanrun-it--rm$CONTAINERbakta_db--helpPippython3-mpipinstall--userbaktaBakta requires the following 3rd party software tools which must be installed and executable to use the full set of features:tRNAscan-SE (2.0.8)https://doi.org/10.1101/614032http://lowelab.ucsc.edu/tRNAscan-SEAragorn (1.2.38)http://dx.doi.org/10.1093/nar/gkh152http://130.235.244.92/ARAGORNINFERNAL (1.1.4)https://dx.doi.org/10.1093%2Fbioinformatics%2Fbtt509http://eddylab.org/infernalPILER-CR (1.06)https://doi.org/10.1186/1471-2105-8-18http://www.drive5.com/pilercrPyrodigal (2.1.0)https://doi.org/10.21105/joss.04296https://github.com/althonos/pyrodigalPyHMMER (0.10.0)https://doi.org/10.21105/joss.04296https://github.com/althonos/pyhmmerDiamond (2.0.14)https://doi.org/10.1038/nmeth.3176https://github.com/bbuchfink/diamondBlast+ (2.12.0)https://www.ncbi.nlm.nih.gov/pubmed/2231712https://blast.ncbi.nlm.nih.govAMRFinderPlus (3.10.23)https://github.com/ncbi/amrDeepSig (1.2.5)https://doi.org/10.1093/bioinformatics/btx818Database downloadBakta requires a mandatory database which is publicly hosted at Zenodo:We provide 2 types:fullandlight. To get best annotation results and to use all features, we recommend using thefull(default). If you seek for maximum runtime performance or if download time/storage requirements are an issue, please try thelightversion. Further information is provided in thedatabasesection below.List available DB versions (available as eitherfullorlight):bakta_dblist
...To download the most recent compatible database version we recommend to use the internal database download & setup tool:bakta_dbdownload--output<output-path>--type[light|full]Of course, the database can also be downloaded manually:wgethttps://zenodo.org/record/7669534/files/db-light.tar.gz
tar-xzfdb-light.tar.gz
rmdb-light.tar.gzIf required, or desired, the AMRFinderPlus DB can also be updated manually:amrfinder_update--force_update--databasedb-light/amrfinderplus-db/If you're using bakta on Docker:dockerrun-v/path/to/desired-db-path:/db--entrypoint/bin/bashoschwengers/bakta:latest-c"bakta_db download --output /db --type [light|full]"As an additional data repository backup, we provide the most recent database version via our institute servers:full,light. However, the bandwith is limited. Hence, please use it with caution and only if Zenodo might be temporarily uncreachable or slow. In these cases, please also download the AMRFinderPlus database as indicated above.Update an existing database:bakta_dbupdate--db<existing-db-path>[--tmp-dir<tmp-directory>]Update using Docker:dockerrun-v/path/to/desired-db-path:/db--entrypoint/bin/bashoschwengers/bakta:latest-c"bakta_db update --db /db/db-[light|full]"The database path can be provided either via parameter (--db) or environment variable (BAKTA_DB):bakta--db<db-path>genome.fastaexportBAKTA_DB=<db-path>
baktagenome.fastaFor system-wide setups, the database can also be copied to the Bakta base directory:cp-rdb/<bakta-installation-dir>As Bakta takes advantage of AMRFinderPlus for the annotation of AMR genes, AMRFinder is required to setup its own internal databases in a<amrfinderplus-db>subfolder within the Bakta database<db-path>, once viaamrfinder_update --force_update --database <db-path>/amrfinderplus-db/. To ease this process we recommend to use Bakta's internal download procedure.ExamplesSimple:bakta--db<db-path>genome.fastaExpert: verbose output writing results toresultsdirectory withecoli123fileprefixandeco634locus tagusing an existing prodigal training file, using additional replicon information and 8 threads:bakta--db<db-path>--verbose--outputresults/--prefixecoli123--locus-tageco634--prodigal-tfeco.tf--repliconsreplicon.tsv--threads8genome.fastaInput and OutputInputBakta accepts bacterial genomes and plasmids (complete / draft assemblies) in (zipped) fasta format. For a full description of how further genome information can be provided and workflow customizations can be set, please have a look at theUsagesection or thismanual.Replicon meta data tableTo fine-tune the very details of each sequence in the input fasta file, Bakta accepts a replicon meta data table provided incsvortsvfile format:--replicons <file.tsv>. Thus, complete replicons within partially completed draft assemblies can be marked & handled as such,e.g.detection & annotation of features spanning sequence edges.Table format:original sequence idnew sequence idtypetopologynameold idnew id,<empty>chromosome,plasmid,contig,<empty>circular,linear,<empty>name,<empty>For each input sequence recognized via theoriginal locus idanew locus id, the replicontypeand thetopologyas well anamecan be explicitly set.Shortcuts:chromosome:cplasmid:pcircular:clinear:l<empty>values (-/ ``) will be replaced by defaults. Ifnew locus idisempty, a new contig name will be autogenerated.Defaults:type:contigtopology:linearExample:original locus idnew locus idtypetopologynameNODE_1chromchromosomecircular-NODE_2p1plasmidcpXYZ1NODE_3p2pcpXYZ2NODE_4special-contig-name-xyz--NODE_5``--User-provided regionsBakta accepts pre-annotated (a priori), user-provided feature regions via--regionsin either GFF3 or GenBank format. These regions supersede all de novo-predicted regions, but are equally subject to the internal functional annotation process. Currently, onlyCDSare supported. A maximum overlap withde novo-predicted CDS of 30 bp is allowed. If you would like to provide custom functional annotations, you can provide these via--proteinswhich is described in the following section.User-provided protein sequencesBakta accepts user-provided trusted protein sequences via--proteinsin either GenBank (CDS features) or Fasta format which are used in the functional annotation process. Using the Fasta format, each reference sequence can be provided in a short or long format:# short:>idgene~~~product~~~dbxrefs
MAQ...# long:>idmin_identity~~~min_query_cov~~~min_subject_cov~~~gene~~~product~~~dbxrefs
MAQ...Allowed values:fieldvalue(s)examplemin_identityint,float80, 90.3min_query_covint,float80, 90.3min_subject_covint,float80, 90.3gene<empty>,stringmspproductstringmy special proteindbxrefs<empty>,db:id,,separated listVFDB:VF0511Protein sequences provided in short Fasta or GenBank format are searched with default thresholds of 90%, 80% and 80% for minimal identity, query and subject coverage, respectively.OutputAnnotation results are provided in standard bioinformatics file formats:<prefix>.tsv: annotations as simple human readble TSV<prefix>.gff3: annotations & sequences in GFF3 format<prefix>.gbff: annotations & sequences in (multi) GenBank format<prefix>.embl: annotations & sequences in (multi) EMBL format<prefix>.fna: replicon/contig DNA sequences as FASTA<prefix>.ffn: feature nucleotide sequences as FASTA<prefix>.faa: CDS/sORF amino acid sequences as FASTA<prefix>.hypotheticals.tsv: further information on hypothetical protein CDS as simple human readble tab separated values<prefix>.hypotheticals.faa: hypothetical protein CDS amino acid sequences as FASTA<prefix>.json: all (internal) annotation & sequence information as JSON<prefix>.txt: summary as TXT<prefix>.png: circular genome annotation plot as PNG<prefix>.svg: circular genome annotation plot as SVGThe<prefix>can be set via--prefix <prefix>. If no prefix is set, Bakta uses the input file prefix.Of note, Bakta provides all detailed (internal) information on each annotated feature in a standardized machine-readable JSON file<prefix>.json:{"genome":{"genus":"Escherichia","species":"coli",...},"stats":{"size":5594605,"gc":0.497,...},"features":[{"type":"cds","contig":"contig_1","start":971,"stop":1351,"strand":"-","gene":"lsoB","product":"type II toxin-antitoxin system antitoxin LsoB",...},...],"sequences":[{"id":"c1","description":"[organism=Escherichia coli] [completeness=complete] [topology=circular]","sequence":"AGCTTT...","length":5498578,"complete":true,"type":"chromosome","topology":"circular"...},...]}Exemplary annotation result files for several genomes (mostly ESKAPE species) are hosted at Zenodo:Usageusage:bakta[--dbDB][--min-contig-lengthMIN_CONTIG_LENGTH][--prefixPREFIX][--outputOUTPUT][--genusGENUS][--speciesSPECIES][--strainSTRAIN][--plasmidPLASMID][--complete][--prodigal-tfPRODIGAL_TF][--translation-table{11,4}][--gram{+,-,?}][--locusLOCUS][--locus-tagLOCUS_TAG][--keep-contig-headers][--repliconsREPLICONS][--compliant][--repliconsREPLICONS][--regionsREGIONS][--proteinsPROTEINS][--meta][--skip-trna][--skip-tmrna][--skip-rrna][--skip-ncrna][--skip-ncrna-region][--skip-crispr][--skip-cds][--skip-pseudo][--skip-sorf][--skip-gap][--skip-ori][--skip-plot][--help][--verbose][--debug][--threadsTHREADS][--tmp-dirTMP_DIR][--version]<genome>

Rapid&standardizedannotationofbacterialgenomes,MAGs&plasmids

positionalarguments:<genome>Genomesequencesin(zipped)fastaformat

Input/Output:--dbDB,-dDBDatabasepath(default=<bakta_path>/db).CanalsobeprovidedasBAKTA_DBenvironmentvariable.--min-contig-lengthMIN_CONTIG_LENGTH,-mMIN_CONTIG_LENGTHMinimumcontigsize(default=1;200incompliantmode)--prefixPREFIX,-pPREFIXPrefixforoutputfiles--outputOUTPUT,-oOUTPUTOutputdirectory(default=currentworkingdirectory)--force,-fForceoverwritingexistingoutputfolder(exceptforcurrentworkingdirectory)Organism:--genusGENUSGenusname--speciesSPECIESSpeciesname--strainSTRAINStrainname--plasmidPLASMIDPlasmidname

Annotation:--completeAllsequencesarecompletereplicons(chromosome/plasmid[s])--prodigal-tfPRODIGAL_TFPathtoexistingProdigaltrainingfiletouseforCDSprediction--translation-table{11,4}Translationtable:11/4(default=11)--gram{+,-,?}Gramtypeforsignalpeptidepredictions:+/-/?(default=?)--locusLOCUSLocusprefix(default='contig')--locus-tagLOCUS_TAGLocustagprefix(default=autogenerated)--keep-contig-headersKeeporiginalcontigheaders--compliantForceGenbank/ENA/DDJBcompliance--repliconsREPLICONS,-rREPLICONSRepliconinformationtable(tsv/csv)--regionsREGIONSPathtopre-annotatedregionsinGFF3orGenbankformat(regionsonly,nofunctionalannotations).--proteinsPROTEINSFastafileoftrustedproteinsequencesforCDSannotation--metaRuninmetagenomemode.ThisonlyaffectsCDSprediction.

Workflow:--skip-trnaSkiptRNAdetection&annotation--skip-tmrnaSkiptmRNAdetection&annotation--skip-rrnaSkiprRNAdetection&annotation--skip-ncrnaSkipncRNAdetection&annotation--skip-ncrna-regionSkipncRNAregiondetection&annotation--skip-crisprSkipCRISPRarraydetection&annotation--skip-cdsSkipCDSdetection&annotation--skip-pseudoSkippseudogenedetection&annotation--skip-sorfSkipsORFdetection&annotation--skip-gapSkipgapdetection&annotation--skip-oriSkiporiC/oriTdetection&annotation--skip-plotSkipgenerationofcirculargenomeplots

General:--help,-hShowthishelpmessageandexit--verbose,-vPrintverboseinformation--debugRunBaktaindebugmode.Tempdatawillnotberemoved.--threadsTHREADS,-tTHREADSNumberofthreadstouse(default=numberofavailableCPUs)--tmp-dirTMP_DIRLocationfortemporaryfiles(default=systemdependentautodetection)--versionshowprogram'sversionnumberandexitAnnotation WorkflowRNAstRNA genes: tRNAscan-SE 2.0tmRNA genes: AragornrRNA genes: Infernal vs. Rfam rRNA covariance modelsncRNA genes: Infernal vs. Rfam ncRNA covariance modelsncRNA cis-regulatory regions: Infernal vs. Rfam ncRNA covariance modelsCRISPR arrays: PILER-CRBakta distinguishes ncRNA genes and (cis-regulatory) regions in order to enable the distinct handling thereof during the annotation process,i.e.feature overlap detection.ncRNA gene types:sRNAantisenseribozymeantitoxinncRNA (cis-regulatory) region types:riboswitchthermoregulatorleaderframeshift elementCoding sequencesThe structural prediction is conducted via Pyrodigal and complemented by a custom detection of sORF < 30 aa. In addition, superseding regions of pre-predicted CDS can be provided via--regions.To rapidly identify known protein sequences with exact sequence matches and to conduct a comprehensive annotations, Bakta utilizes a compact read-only SQLite database comprising protein sequence digests and pre-assigned annotations for millions of known protein sequences and clusters.Conceptual terms:UPS: unique protein sequences identified via length and MD5 hash digests (100% coverage & 100% sequence identity)IPS: identical protein sequences comprising seeds of UniProt's UniRef100 protein sequence clustersPSC: protein sequences clusters comprising seeds of UniProt's UniRef90 protein sequence clustersPSCC: protein sequences clusters of clusters comprising annotations of UniProt's UniRef50 protein sequence clustersCDS:De novo-prediction via Pyrodigal respecting sequences' completeness (distinct prediction for complete replicons and uncompleted contigs)Discard spurious CDS via AntiFamDetect translational exceptions (selenocysteines)Import of superseding user-provided CDS regions (optional)Detection of UPSs via MD5 digests and lookup of related IPS and PCSSequence alignments of remainder via Diamond vs. PSC (query/subject coverage=0.8, identity=0.5)Assignment to UniRef90 or UniRef50 clusters if alignment hits achieve identities larger than 0.9 or 0.5, respectivelyExecution of expert systems:AMR: AMRFinderPlusExpert proteins: NCBI BlastRules, VFDBUser proteins (optionally via--proteins <Fasta/GenBank>)Prediction of signal peptides (optionally via--gram <+/->)Detection of pseudogenes:Search for reference PCSs usinghypotheticalCDS as seed sequencesTranslated alignment (blastx) of reference PCSs against up-/downstream-elongated CDS regionsAnalysis of translated alignments and detection of pseudogenization causes & effectsCombination of IPS, PSC, PSCC and expert system information favouring more specific annotations and avoiding redundancyCDS without IPS or PSC hits as well as those without gene symbols or product descriptions different fromhypotheticalwill be marked ashypothetical.Such hypothetical CDS are further analyzed:Detection of Pfam domains, repeats & motifsCalculation of protein sequence statistics,i.e.molecular weight, isoelectric pointsORFs:Custom sORF detection & extraction with amino acid lengths < 30 aaApply strict feature type-dependent overlap filtersdiscard spurious sORF via AntiFamDetection of UPS via MD5 hashes and lookup of related IPSSequence alignments of remainder via Diamond vs. an sORF subset of PSCs (coverage=0.9, identity=0.9)Exclude sORF without sufficient annotation informationPrediction of signal peptides (optionally via--gram <+/->)sORF not identified via IPS or PSC will be discarded. Additionally, all sORF without gene symbols or product descriptions different fromhypotheticalwill be discarded.
Due due to uncertain nature of sORF prediction, only those identified via IPS / PSC hits exhibiting proper gene symbols or product descriptions different fromhypotheticalwill be included in the final annotation.MiscellaneousGaps: in-mem detection & annotation of sequence gapsoriC/oriV/oriT: Blast+ (cov=0.8, id=0.8) vs.MOB-suiteoriT &DoriCoriC/oriV sequences. Annotations of ori regions take into account overlapping Blast+ hits and are conducted based on a majority vote heuristic. Region edges are fuzzy - use with caution!DatabaseThe Bakta database comprises a set of AA & DNA sequence databases as well as HMM & covariance models.
At its core Bakta utilizes a compact read-only SQLite DB storing protein sequence digests, lengths, pre-assigned annotations and dbxrefs of UPS, IPS and PSC from:UPS: UniParc / UniProtKB (246,384,812)IPS: UniProt UniRef100 (228,759,203)PSC: UniProt UniRef90 (100,315,337)PSCC: UniProt UniRef50 (23,959,577)This allows the exact protein sequences identification via MD5 digests & sequence lengths as well as the rapid subsequent lookup of related information. Protein sequence digests are checked for hash collisions while the DB creation process. IPS & PSC have been comprehensively pre-annotated integrating annotations & databasedbxrefsfrom:NCBI nonredundant proteins (IPS: 192,288,757)NCBI COG DB (PSC: 3,428,564)KEGG Kofams (PSC: 16,776,225)SwissProt EC/GO terms (PSC: 336,187)NCBI NCBIfams (PSC: 14,391,965)PHROG (PSC: 4,379)NCBI AMRFinderPlus (IPS: 7,235)ISFinder DB (IPS: 125,967, PSC: 11,800)Pfam families (PSC: 248,169)To provide high quality annotations for distinct protein sequences of high importance (AMR, VF,etc) which cannot sufficiently be covered by the IPS/PSC approach, Bakta provides additional expert systems. For instance, AMR genes, are annotated via NCBI's AMRFinderPlus.
An expandable alignment-based expert system supports the incorporation of high quality annotations from multiple sources. This currenlty comprises NCBI's BlastRules as well as VFDB and will be complemented with more expert annotation sources over time. Internally, this expert system is based on a Diamond DB comprising the following information in a standardized format:source:e.g.BlastRulesrank: a precedence rankmin identitymin query coveragemin model coveragegene lableproduct descriptiondbxrefsRfam covariance models:ncRNA: 802ncRNA cis-regulatory regions: 270ori sequences:oriC/V: 6,690oriT: 502To provide FAIR annotations, the database releases are SemVer versioned (w/o patch level),i.e.<major>.<minor>. For each version we provide a comprehensive log file tracking all imported sequences as well as annotations thereof. The DB schema is represented by the<major>digit and automatically checked at runtime by Bakta in order to ensure compatibility. Content updates are tracked by the<minor>digit.As this taxonomic-untargeted database is fairly demanding in terms of storage consumption, we also provide a lightweight DB type providing all non-coding feature information but only PSCC information from UniRef50 clusters for CDS. If download bandwiths or storage requirements become an issue or if shorter runtimes are favored over more-specific annotation, thelightDB will do the job.Latest database version: 5.0
DB types:light: 1.2 Gb zipped, 2.8 Gb unzipped, MD5: a40e680b4aab7871102f31aaac91838bfull: 31 Gb zipped, 60 Gb unzipped, MD5: 3200136a0a32b3c33d1cb348ab6b87deAll database releases are hosted at Zenodo:Genome SubmissionMost genomes annotated with Bakta should be ready-to-submid to INSDC member databases GenBank and ENA. As a first step, please register your BioProject (e.g. PRJNA123456) and your locus_tag prefix (e.g.ESAKAI).# annotate your genome in `--compliant` mode:$bakta--db<db-path>-v--genusEscherichia--species"coli O157:H7"--strainSakai--complete--compliant--locus-tagESAKAItest/data/GCF_000008865.2.fna.gzGenBankGenomes are submitted to GenBank via Fasta (.fna) and SQN files. Therefore,.sqnfiles can be created with NCBI's newtable2asntool via Bakta's.gff3files.
Please, have a look at thedocumentationand have all additional files (template.txt) prepared:# download table2asn for Linux$wgethttps://ftp.ncbi.nlm.nih.gov/asn1-converters/by_program/table2asn/linux64.table2asn.gz
$gunziplinux64.table2asn.gz# or MacOS$wgethttps://ftp.ncbi.nlm.nih.gov/asn1-converters/by_program/table2asn/mac.table2asn.gz
$gunzipmac.table2asn.gz

$chmod755linux64.table2asn.gzmac.table2asn.gz# create the SQN file:$linux64.table2asn-Mn-J-cw-ttemplate.txt-Vvbt-lpaired-ends-iGCF_000008865.2.fna-fGCF_000008865.2.gff3-oGCF_000008865.2.sqn-ZENAGenomes are submitted to ENA as EMBL (.embl) files via EBI'sWebin-CLItool.
Please have all additional files (manifest.tsv, chrom-list.tsv) prepared as describedhere.# download ENA Webin-CLI$wgethttps://github.com/enasequence/webin-cli/releases/download/v4.0.0/webin-cli-4.0.0.jar

$gzip-kGCF_000008865.2.embl
$gzip-kchrom-list.tsv
$java-jarwebin-cli-4.0.0.jar-submit-userName=<EMAIL>-password<PWD>-contextgenome-manifestmanifest.tsvExemplarey manifest.tsv and chrom-list.tsv files might look like:$catchrom-list.tsv
STUDYPRJEB44484
SAMPLEERS6291240
ASSEMBLYNAMEGCF
ASSEMBLY_TYPEisolate
COVERAGE100PROGRAMSPAdes
PLATFORMIllumina
MOLECULETYPEgenomicDNA
FLATFILEGCF_000008865.2.embl.gz
CHROMOSOME_LISTchrom-list.tsv.gz

$catchrom-list.tsv
contig_1contig_1circular-chromosome
contig_2contig_2circular-plasmid
contig_3contig_3circular-plasmidProtein bulk annotationFor the direct bulk annotation of protein sequences aside from the genome, Bakta provides a dedicated CLI entry pointbakta_proteins:Examples:bakta_proteins--db<db-path>input.fasta

bakta_proteins--db<db-path>--prefixtest--outputtest--proteinsspecial.faa--threads8input.fastaOutputAnnotation results are provided in standard bioinformatics file formats:<prefix>.tsv: annotations as simple human readble TSV<prefix>.faa: protein sequences as FASTA<prefix>.hypotheticals.tsv: further information on hypothetical proteins as simple human readble tab separated values<prefix>.json: all (internal) annotation & sequence information as JSONThe<prefix>can be set via--prefix <prefix>. If no prefix is set, Bakta uses the input file prefix.Usageusage:bakta_proteins[--dbDB][--outputOUTPUT][--prefixPREFIX][--force][--proteinsPROTEINS][--help][--verbose][--debug][--threadsTHREADS][--tmp-dirTMP_DIR][--version]<input>

Rapid&standardizedannotationofbacterialgenomes,MAGs&plasmids

positionalarguments:<input>Proteinsequencesin(zipped)fastaformat

Input/Output:--dbDB,-dDBDatabasepath(default=<bakta_path>/db).CanalsobeprovidedasBAKTA_DBenvironmentvariable.--outputOUTPUT,-oOUTPUTOutputdirectory(default=currentworkingdirectory)--prefixPREFIX,-pPREFIXPrefixforoutputfiles--force,-fForceoverwritingexistingoutputfolder

Annotation:--proteinsPROTEINSFastafileoftrustedproteinsequencesforannotation

General:--help,-hShowthishelpmessageandexit--verbose,-vPrintverboseinformation--debugRunBaktaindebugmode.Tempdatawillnotberemoved.--threadsTHREADS,-tTHREADSNumberofthreadstouse(default=numberofavailableCPUs)--tmp-dirTMP_DIRLocationfortemporaryfiles(default=systemdependentautodetection)--version,-Vshowprogram'sversionnumberandexitGenome plotsBakta allows the creation of circular genome plots viaCircos. Plots are generated as part of the default workflow and saved asPNGandSVGfiles. In addition to the default workflow, Bakta provides a dedicated CLI entry pointbakta_plot:Examples:bakta_plotinput.json

bakta_plot--outputtest--prefixtest--configconfig.yaml--sequences1,2input.jsonIt accepts the results of a former annotation process in JSON format and allows the selection of distinct sequences, either denoted by theirFASTAidentifiers or sequential number starting by 1. Colors for each feature type can be adopted via a simple configuration file inYAMLformat,e.g.config.yaml. Currently, two default plot types are supported,i.e.featuresandcog. Examples for chromosomes and plasmids are provided inhereUsageusage:bakta_plot[--configCONFIG][--outputOUTPUT][--prefixPREFIX][--sequencesSEQUENCES][--type{features,cog}][--help][--verbose][--debug][--tmp-dirTMP_DIR][--version]<input>

Rapid&standardizedannotationofbacterialgenomes,MAGs&plasmids

positionalarguments:<input>BaktaannotationsinJSONformat

Input/Output:--configCONFIG,-cCONFIGPlottingconfigurationinYAMLformat--outputOUTPUT,-oOUTPUTOutputdirectory(default=currentworkingdirectory)--prefixPREFIX,-pPREFIXPrefixforoutputfiles

Plotting:--sequencesSEQUENCESSequencestoplot:commaseparatednumberorname(default=all,numbersone-based)--type{features,cog}Plottype:feature/cog(default=features)General:--help,-hShowthishelpmessageandexit--verbose,-vPrintverboseinformation--debugRunBaktaindebugmode.Tempdatawillnotberemoved.--tmp-dirTMP_DIRLocationfortemporaryfiles(default=systemdependentautodetection)--versionshowprogram'sversionnumberandexitDescriptionCurrently, there are two types of plots:features(the default) andcog. In default mode (features), all features are plotted on two rings representing the forward and reverse strand from outer to inner, respectively using the following feature colors:CDS:#cccccctRNA/tmRNA:#b2df8arRNA:#fb8072ncRNA:#fdb462ncRNA-region:#80b1d3CRISPR:#bebadaGap:#000000Misc:#666666In thecogmode, all protein-coding genes (CDS) are colored due to assigned COG functional categories. To better distinguish non-coding genes, these are plotted on an additional 3rd ring.In addition, both plot types share two innermost GC content and GC skew rings. The first ring represents the GC content per sliding window over the entire sequence(s) in green (#33a02c) and red#e31a1crepresenting GC above and below average, respectively. The 2nd ring represents the GC skew in orange (#fdbf6f) and blue (#1f78b4). The GC skew gives hints on a replicon's replication bubble and hence, on the completeness of the assembly. On a complete & circular bacterial chromosome, you normally see two inflection points at the origin of replication and at its opposite region ->WikipediaAuxiliary scriptsOften, the usage of Bakta is a necessary upfront task followed by deeper analyses implemented in custom scripts. Inscriptswe'd like to collect & offer a pool of scripts addressing common tasks:collect-annotation-stats.py: Collect annotation stats for a cohort of genomes and print a condensedTSV.extract-region.py: Extract genome features within a given genomic range and export them asGFF3,Embl,Genbank,FAAandFFNOf course, pull requests are welcome ;-)Web versionFor further convenience, we developed an accompanying web application available athttps://bakta.computational.bio.This interactive web application provides an interactive genome browsers, aggregated feature counts and a searchable data table with detailed information on each predicted feature as well as dbxref-linked records to public databases.Of note, this web application can also be used to visualize offline annotation results conducted by using the command line version. Therefore, the web application provides an offline viewer accepting JSON result files which are parsed and visualized locally within the browser without sending any data to the server.CitationIf you use Bakta in your research, please cite this paper:Schwengers O., Jelonek L., Dieckmann M. A., Beyvers S., Blom J., Goesmann A. (2021). Bakta: rapid and standardized annotation of bacterial genomes via alignment-free sequence identification. Microbial Genomics, 7(11).https://doi.org/10.1099/mgen.0.000685Bakta isstanding on the shoulder of giantstaking advantage of many great software tools and databases. If you find any of these useful for your research, please cite these primary sources, as well.ToolstRNAscan-SE 2.0https://doi.org/10.1093/nar/gkab688Aragornhttps://doi.org/10.1093/nar/gkh152Infernalhttps://doi.org/10.1093/bioinformatics/btt509PilerCRhttps://doi.org/10.1186/1471-2105-8-18Pyrodigalhttps://doi.org/10.21105/joss.04296Prodigalhttps://doi.org/10.1186/1471-2105-11-119Diamondhttps://doi.org/10.1038/s41592-021-01101-xBLAST+https://doi.org/10.1186/1471-2105-10-421PyHMMERhttps://doi.org/10.21105/joss.04296HMMERhttps://doi.org/10.1371/journal.pcbi.1002195AMRFinderPlushttps://doi.org/10.1038/s41598-021-91456-0DeepSighttps://doi.org/10.1093/bioinformatics/btx818Circoshttps://doi.org/10.1101/gr.092759.109DatabasesRfam:https://doi.org/10.1002/cpbi.51Mob-suite:https://doi.org/10.1099/mgen.0.000206DoriC:https://doi.org/10.1093/nar/gky1014AntiFam:https://doi.org/10.1093/database/bas003UniProt:https://doi.org/10.1093/nar/gky1049RefSeq:https://doi.org/10.1093/nar/gkx1068COG:https://doi.org/10.1093/bib/bbx117KEGG:https://doi.org/10.1093/bioinformatics/btz859PHROG:https://doi.org/10.1093/nargab/lqab067AMRFinder:https://doi.org/10.1128/AAC.00483-19ISFinder:https://doi.org/10.1093/nar/gkj014Pfam:https://doi.org/10.1093/nar/gky995VFDB:https://doi.org/10.1093/nar/gky1080FAQAMRFinder failsIf AMRFinder constantly crashes even on fresh setups and Bakta's database was downloaded manually, then AMRFinder needs to setup its own internal database. This is required only once:amrfinder_update --force_update --database <bakta-db>/amrfinderplus-db. You could also try Bakta's internal database download logic automatically taking care of this:bakta_db download --output <bakta-db>DeepSig not found in Conda environmentFor the prediction of signal predictions, Bakta uses DeepSig that is currently not available for MacOS. Therefore, we decided to exclude DeepSig from Bakta's default Conda dependencies because otherwise it would not be installable on MacOS systems. On Linux systems it can be installed viaconda install -c conda-forge -c bioconda python=3.8 deepsig.Nice, but I'm mising XYZ...Bakta is quite new and we're keen to constantly improve it and further expand its feature set. In case there's anything missing, please do not hesitate to open an issue and ask for it!Bakta is running too long without CPU load... why?Bakta takes advantage of an SQLite DB which results in high storage IO loads. If this DB is stored on a remote / network volume, the lookup of IPS/PSC annotations might take a long time. In these cases, please, consider moving the DB to a local volume or hard drive.Issues and Feature RequestsBakta is new and like in every software, expect some bugs lurking around. So, if you run into any issues with Bakta, we'd be happy to hear about it.
Therefore, please, execute bakta in debug mode (--debug) and do not hesitate to file an issue including as much information as possible:a detailed description of the issuecommand line outputlog file (<prefix>.log)result file (<prefix>.json)if possiblea reproducible example of the issue with an input file that you can shareif possible