Bactopia Tool - busco
¶
The busco
module uses BUSCO (or Benchmarking Universal Single-Copy Orthologs)
to assess the completeness of your assembly.
Example Usage¶
bactopia --wf busco \
--bactopia /path/to/your/bactopia/results \
--include includes.txt
Output Overview¶
Below is the default output structure for the busco
tool. Where possible the
file descriptions below were modified from a tools description.
<BACTOPIA_DIR>
├── <SAMPLE_NAME>
│ └── tools
│ └── busco
│ └── <BUSCO_LINEAGE>
│ ├── <SAMPLE_NAME>-summary.txt
│ ├── logs
│ │ ├── bbtools_{err|out}.log
│ │ ├── busco.log
│ │ ├── hmmsearch_{err|out}.log
│ │ ├── nf-busco.{begin,err,log,out,run,sh,trace}
│ │ ├── prodigal_{err|out}.log
│ │ ├── prodigal_mode_single_code_#_{err,out}.log
│ │ └── versions.yml
│ ├── prodigal_output
│ │ └── predicted_genes
│ │ ├── predicted.{faa,fna}
│ │ └── tmp
│ │ └── prodigal_mode_single_code_#.{faa,fna}
│ ├── run_<BUSCO_LINEAGE>
│ │ ├── busco_sequences
│ │ │ ├── fragmented_busco_sequences
│ │ │ │ └── <ID>.{faa,fna
│ │ │ ├── multi_copy_busco_sequences
│ │ │ └── single_copy_busco_sequences
│ │ │ └── <ID>.{faa,fna}
│ │ ├── full_table.tsv
│ │ ├── hmmer_output
│ │ │ └── <ID>.out
│ │ ├── missing_busco_list.tsv
│ │ └── short_summary.{json|txt}
│ └── short_summary.specific.bacteria_odb10.GCF_000292685.fna.{json|txt}
└── bactopia-runs
└── busco-<TIMESTAMP>
├── merged-results
│ ├── busco.tsv
│ └── logs
│ └── busco-concat
│ ├── nf-merged-results.{begin,err,log,out,run,sh,trace}
│ └── versions.yml
└── nf-reports
├── busco-dag.dot
├── busco-report.html
├── busco-timeline.html
└── busco-trace.txt
Results¶
Merged Results¶
Below are results that are concatenated into a single file.
Filename | Description |
---|---|
busco¶
Below is a description of the per-lineage results from BUSCO.
Filename | Description |
---|---|
<SAMPLE_NAME>-summary.txt | A summary of the BUSCO results |
prodigal_output | Below are the outputs from the Prodigal gene-prediction step. |
run_<BUSCO_LINEAGE>/busco_sequences | FASTA format file for each BUSCO gene identified |
run_<BUSCO_LINEAGE>/full_table.tsv | Complete results in a tab-delimited format with scores and lengths of BUSCO matches |
run_<BUSCO_LINEAGE>/hmmer_output | Tab-delimited output from HMMER |
run_<BUSCO_LINEAGE>/missing_busco_list.tsv | Tab-delimited list of missing BUSCOs |
run_<BUSCO_LINEAGE>/short_summary.json | A summary of BUSCO matches in JSON format |
run_<BUSCO_LINEAGE>/short_summary.txt | A summary of BUSCO matches |
short_summary.specific.<BUSCO_LINEAGE>.<SAMPLE_NAME>.json | A summary of BUSCO matches in JSON format per-sample |
short_summary.specific.<BUSCO_LINEAGE>.<SAMPLE_NAME>.txt | A summary of BUSCO matches per-sample |
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 |
---|---|
busco-dag.dot | The Nextflow DAG visualisation |
busco-report.html | The Nextflow Execution Report |
busco-timeline.html | The Nextflow Timeline Report |
busco-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 |
BUSCO Parameters¶
Parameter | Description |
---|---|
--busco_lineage |
Specify the name of the BUSCO lineage to be used Type: string , Default: bacteria_odb10 |
--busco_evalue |
E-value cutoff for BLAST searches. Allowed formats, 0.001 or 1e-03 Type: string , Default: 1e-03 |
--busco_limit |
Total candidate regions to consider per BUSCO Type: integer , Default: 3 |
--metaeuk_parameters |
Additional Metaeuk first-pass arguments contained within a single pair of quotation marks, separated by commas Type: string |
--metaeuk_rerun_parameters |
Additional Metaeuk second-pass arguments contained within a single pair of quotation marks, separated by commas Type: string |
--use_augustus |
Use augustus gene predictor for eukaryote runs Type: boolean |
--augustus_parameters |
Additional Augustus arguments contained within a single pair of quotation marks, separated by commas Type: string |
--augustus_species |
Specify a species for Augustus training Type: string |
--augustus_long |
Optimization Augustus self-training mode 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 busco
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) -
BUSCO
Manni M, Berkeley MR, Seppey M, Simão FA, Zdobnov EM BUSCO Update: Novel and Streamlined Workflows along with Broader and Deeper Phylogenetic Coverage for Scoring of Eukaryotic, Prokaryotic, and Viral Genomes. Molecular Biology and Evolution 38(10), 4647–4654. (2021) -
csvtk
Shen, W csvtk: A cross-platform, efficient and practical CSV/TSV toolkit in Golang. (GitHub)