Bactopia Tool - bracken
¶
The bracken
module uses Bracken to estimate
taxonomic abundance of samples. This Bactopia Tool will also run Kraken2,
automatically and generate Krona charts for both Bracken and Kraken2.
Example Usage¶
bactopia --wf bracken \
--bactopia /path/to/your/bactopia/results \
--include includes.txt
Output Overview¶
Below is the default output structure for the bracken
tool. Where possible the
file descriptions below were modified from a tools description.
<BACTOPIA_DIR>
├── <SAMPLE_NAME>
│ └── tools
│ └── bracken
│ ├── <SAMPLE_NAME>.bracken.abundances.txt
│ ├── <SAMPLE_NAME>.bracken.adjusted.abundances.txt
│ ├── <SAMPLE_NAME>.bracken.krona.html
│ ├── <SAMPLE_NAME>.bracken.report.txt
│ ├── <SAMPLE_NAME>.bracken.tsv
│ ├── <SAMPLE_NAME>.classified_{1,2}.fastq.gz
│ ├── <SAMPLE_NAME>.kraken2.krona.html
│ ├── <SAMPLE_NAME>.kraken2.output.txt
│ ├── <SAMPLE_NAME>.kraken2.report.txt
│ ├── <SAMPLE_NAME>.unclassified_{1,2}.fastq.gz
│ └── logs
│ ├── nf-bracken.{begin,err,log,out,run,sh,trace}
│ └── versions.yml
└── bactopia-runs
└── bracken-<TIMESTAMP>
└── nf-reports
├── bracken-dag.dot
├── bracken-report.html
├── bracken-timeline.html
└── bracken-trace.txt
Results¶
Bracken & Kraken2¶
Below is a description of the per-sample results from Bracken and Kraken2.
Filename | Description |
---|---|
<SAMPLE_NAME>.bracken.abundances.txt | Bracken abundance estimates for each taxon. |
<SAMPLE_NAME>.bracken.adjusted.abundances.txt | Bracken abundance estimates for each taxon adjusted for inclusion of unclassified reads |
<SAMPLE_NAME>.bracken.krona.html | Krona chart of Bracken abundance estimates |
<SAMPLE_NAME>.bracken.report.txt | Bracken report containing stats about classified and not classified reads See Bracken - Output Formats |
<SAMPLE_NAME>.classified_{1 | 2}.fastq.gz |
<SAMPLE_NAME>.kraken2.krona.html | Krona chart of Kraken2 abundance estimates |
<SAMPLE_NAME>.kraken2.output.txt | Kraken2 output file containing the taxonomic classification of each read |
<SAMPLE_NAME>.kraken2.report.txt | Kraken2 report containing stats about classified and not classified reads See Kraken2 - Output Formats for more details |
<SAMPLE_NAME>.unclassified_{1,2}.fastq.gz | Reads not classified to belong to any of the taxa on the Kraken2 database. |
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 |
---|---|
bracken-dag.dot | The Nextflow DAG visualisation |
bracken-report.html | The Nextflow Execution Report |
bracken-timeline.html | The Nextflow Timeline Report |
bracken-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 |
Kraken2 and Bracken Parameters¶
Parameter | Description |
---|---|
--kraken2_db |
The a single tarball or path to a Kraken2 formatted database Type: string |
--kraken2_quick_mode |
Quick operation (use first hit or hits) Type: boolean |
--kraken2_confidence |
Confidence score threshold between 0 and 1 Type: number |
--kraken2_minimum_base_quality |
Minimum base quality used in classification Type: integer |
--kraken2_use_mpa_style |
Format report output like Kraken 1's kraken-mpa-report Type: boolean |
--kraken2_report_zero_counts |
Report counts for ALL taxa, even if counts are zero Type: boolean |
--kraken2_report_minimizer_data |
Include minimizer and distinct minimizer count information in report Type: boolean |
--kraken2_use_names |
Print scientific names instead of just taxids Type: boolean |
--kraken2_memory_mapping |
Avoid loading database into RAM Type: boolean |
--kraken2_minimum_hit_groups |
Minimum number of hit groups needed to make a call Type: integer , Default: 2 |
--bracken_read_length |
Read length to get all classifications for (0 = determine at runtime) Type: integer |
--bracken_level |
Level to estimate abundance at Type: string , Default: S |
--bracken_threshold |
Reads required PRIOR to abundance estimation to perform re-estimation Type: integer |
--skip_krona |
Skip the creation of a Krona report Type: boolean |
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 bracken
in your analysis, please cite the following.
-
Bactopia
Petit III RA, Read TD Bactopia - a flexible pipeline for complete analysis of bacterial genomes. mSystems 5 (2020) -
Bracken
Lu J, Breitwieser FP, Thielen P, and Salzberg SL Bracken: estimating species abundance in metagenomics data. PeerJ Computer Science, 3, e104. (2017) -
Kraken2
Wood DE, Lu J, Langmead B Improved metagenomic analysis with Kraken 2. Genome Biology, 20(1), 257. (2019) -
Krona
Ondov BD, Bergman NH, and Phillippy AM Interactive metagenomic visualization in a Web browser. BMC Bioinformatics, 12, 385. (2011)