Skip to content

Bactopia Tool - bakta

The bakta module uses Bakta to rapidly annotate bacterial genomes and plasmids in a standardized fashion. Bakta makes use of a large database (40+ GB) to provide extensive annotations including: tRNA, tmRNA, rRNA, ncRNA, CRISPR, CDS, and sORFs.

Example Usage

bactopia --wf bakta \
  --bactopia /path/to/your/bactopia/results \ 
  --include includes.txt  

Output Overview

Below is the default output structure for the bakta tool. Where possible the file descriptions below were modified from a tools description.

<BACTOPIA_DIR>
├── <SAMPLE_NAME>
│   └── main
│       └── annotator
│           └── bakta
│               ├── <SAMPLE_NAME>-blastdb.tar.gz
│               ├── <SAMPLE_NAME>.embl.gz
│               ├── <SAMPLE_NAME>.faa.gz
│               ├── <SAMPLE_NAME>.ffn.gz
│               ├── <SAMPLE_NAME>.fna.gz
│               ├── <SAMPLE_NAME>.gbff.gz
│               ├── <SAMPLE_NAME>.gff3.gz
│               ├── <SAMPLE_NAME>.hypotheticals.faa.gz
│               ├── <SAMPLE_NAME>.hypotheticals.tsv
│               ├── <SAMPLE_NAME>.tsv
│               ├── <SAMPLE_NAME>.txt
│               └── logs
│                   ├── nf-bakta.{begin,err,log,out,run,sh,trace}
│                   └── versions.yml
└── bactopia-runs
    └── bakta-<TIMESTAMP>
        └── nf-reports
            ├── bakta-dag.dot
            ├── bakta-report.html
            ├── bakta-timeline.html
            └── bakta-trace.txt

Results

Bakta

Below is a description of the per-sample results from Bakta.

Extension Description
.blastdb.tar.gz A gzipped tar archive of BLAST+ database of the contigs, genes, and proteins
.embl.gz Annotations & sequences in (multi) EMBL format
.faa.gz CDS/sORF amino acid sequences as FASTA
.ffn.gz Feature nucleotide sequences as FASTA
.fna.gz Replicon/contig DNA sequences as FASTA
.gbff.gz Annotations & sequences in (multi) GenBank format
.gff3.gz Annotations & sequences in GFF3 format
.hypotheticals.faa.gz Hypothetical protein CDS amino acid sequences as FASTA
.hypotheticals.tsv Further information on hypothetical protein CDS as simple human readable tab separated values
.tsv Annotations as simple human readable tab separated values
.txt Broad summary of Bakta annotations

Audit Trail

Below are files that can assist you in understanding which parameters and program versions were used.

Logs

Each process that is executed will have a folder named logs. In this folder are helpful files for you to review if the need ever arises.

Extension Description
.begin An empty file used to designate the process started
.err Contains STDERR outputs from the process
.log Contains both STDERR and STDOUT outputs from the process
.out Contains STDOUT outputs from the process
.run The script Nextflow uses to stage/unstage files and queue processes based on given profile
.sh The script executed by bash for the process
.trace The Nextflow Trace report for the process
versions.yml A YAML formatted file with program versions

Nextflow Reports

These Nextflow reports provide great a great summary of your run. These can be used to optimize resource usage and estimate expected costs if using cloud platforms.

Filename Description
bakta-dag.dot The Nextflow DAG visualisation
bakta-report.html The Nextflow Execution Report
bakta-timeline.html The Nextflow Timeline Report
bakta-trace.txt The Nextflow Trace report

Program Versions

At the end of each run, each of the versions.yml files are merged into the files below.

Filename Description
software_versions.yml A complete list of programs and versions used by each process
software_versions_mqc.yml A complete list of programs and versions formatted for MultiQC

Parameters

Required Parameters

Define where the pipeline should find input data and save output data.

Parameter Description
--bactopia The path to bactopia results to use as inputs
Type: string

Filtering Parameters

Use these parameters to specify which samples to include or exclude.

Parameter Description
--include A text file containing sample names (one per line) to include from the analysis
Type: string
--exclude A text file containing sample names (one per line) to exclude from the analysis
Type: string

Bakta Download Parameters

Parameter Description
--bakta_db Tarball or path to the Bakta database
Type: string
--bakta_db_type Which Bakta DB to download 'full' (~30GB) or 'light' (~2GB)
Type: string, Default: full
--bakta_save_as_tarball Save the Bakta database as a tarball
Type: boolean
--download_bakta Download the Bakta database to the path given by --bakta_db
Type: boolean

Bakta Parameters

Parameter Description
--proteins FASTA file of trusted proteins to first annotate from
Type: string
--prodigal_tf Training file to use for Prodigal
Type: string
--replicons Replicon information table (tsv/csv)
Type: string
--min_contig_length Minimum contig size to annotate
Type: integer, Default: 1
--keep_contig_headers Keep original contig headers
Type: boolean
--compliant Force Genbank/ENA/DDJB compliance
Type: boolean
--skip_trna Skip tRNA detection & annotation
Type: boolean
--skip_tmrna Skip tmRNA detection & annotation
Type: boolean
--skip_rrna Skip rRNA detection & annotation
Type: boolean
--skip_ncrna Skip ncRNA detection & annotation
Type: boolean
--skip_ncrna_region Skip ncRNA region detection & annotation
Type: boolean
--skip_crispr Skip CRISPR array detection & annotation
Type: boolean
--skip_cds Skip CDS detection & annotation
Type: boolean
--skip_sorf Skip sORF detection & annotation
Type: boolean
--skip_gap Skip gap detection & annotation
Type: boolean
--skip_ori Skip oriC/oriT detection & annotation
Type: boolean
--bakta_opts Extra Backa options in quotes. Example: '--gram +'
Type: string

Optional Parameters

These optional parameters can be useful in certain settings.

Parameter Description
--outdir Base directory to write results to
Type: string, Default: ./
--run_name Name of the directory to hold results
Type: string, Default: bactopia
--skip_compression Ouput files will not be compressed
Type: boolean
--datasets The path to cache datasets to
Type: string
--keep_all_files Keeps all analysis files created
Type: boolean

Max Job Request Parameters

Set the top limit for requested resources for any single job.

Parameter Description
--max_retry Maximum times to retry a process before allowing it to fail.
Type: integer, Default: 3
--max_cpus Maximum number of CPUs that can be requested for any single job.
Type: integer, Default: 4
--max_memory Maximum amount of memory (in GB) that can be requested for any single job.
Type: integer, Default: 32
--max_time Maximum amount of time (in minutes) that can be requested for any single job.
Type: integer, Default: 120
--max_downloads Maximum number of samples to download at a time
Type: integer, Default: 3

Nextflow Configuration Parameters

Parameters to fine-tune your Nextflow setup.

Parameter Description
--nfconfig A Nextflow compatible config file for custom profiles, loaded last and will overwrite existing variables if set.
Type: string
--publish_dir_mode Method used to save pipeline results to output directory.
Type: string, Default: copy
--infodir Directory to keep pipeline Nextflow logs and reports.
Type: string, Default: ${params.outdir}/pipeline_info
--force Nextflow will overwrite existing output files.
Type: boolean
--cleanup_workdir After Bactopia is successfully executed, the work directory will be deleted.
Type: boolean

Nextflow Profile Parameters

Parameters to fine-tune your Nextflow setup.

Parameter Description
--condadir Directory to Nextflow should use for Conda environments
Type: string
--registry Docker registry to pull containers from.
Type: string, Default: dockerhub
--datasets_cache Directory where downloaded datasets should be stored.
Type: string, Default: <BACTOPIA_DIR>/data/datasets
--singularity_cache Directory where remote Singularity images are stored.
Type: string
--singularity_pull_docker_container Instead of directly downloading Singularity images for use with Singularity, force the workflow to pull and convert Docker containers instead.
Type: boolean
--force_rebuild Force overwrite of existing pre-built environments.
Type: boolean
--queue Comma-separated name of the queue(s) to be used by a job scheduler (e.g. AWS Batch or SLURM)
Type: string, Default: general,high-memory
--cluster_opts Additional options to pass to the executor. (e.g. SLURM: '--account=my_acct_name'
Type: string
--disable_scratch All intermediate files created on worker nodes of will be transferred to the head node.
Type: boolean

Helpful Parameters

Uncommonly used parameters that might be useful.

Parameter Description
--monochrome_logs Do not use coloured log outputs.
Type: boolean
--nfdir Print directory Nextflow has pulled Bactopia to
Type: boolean
--sleep_time The amount of time (seconds) Nextflow will wait after setting up datasets before execution.
Type: integer, Default: 5
--validate_params Boolean whether to validate parameters against the schema at runtime
Type: boolean, Default: True
--help Display help text.
Type: boolean
--wf Specify which workflow or Bactopia Tool to execute
Type: string, Default: bactopia
--list_wfs List the available workflows and Bactopia Tools to use with '--wf'
Type: boolean
--show_hidden_params Show all params when using --help
Type: boolean
--help_all An alias for --help --show_hidden_params
Type: boolean
--version Display version text.
Type: boolean

Citations

If you use Bactopia and bakta in your analysis, please cite the following.