scrubber
Tags: metagenomics decontamination human-removal read-filtering bactopia-tool
Removal of human and contaminant sequences from metagenomic reads.
This Bactopia Tool removes human and other contaminant sequences from metagenomic reads using either SRA Human Scrubber or nohuman with the HPRC human database. The tool provides flexible contamination removal with detailed reporting of read classification and filtering statistics. It processes paired-end or single-end reads, producing cleaned FASTQ files with human sequences removed and comprehensive reports documenting the decontamination process.
Usage
Bactopia CLI:
bactopia --wf scrubber \
--bactopia /path/to/your/bactopia/results
Nextflow:
nextflow run bactopia/bactopia/workflows/bactopia-tools/scrubber/main.nf \
--bactopia /path/to/your/bactopia/results
Outputs
Expected Output Files
<BACTOPIA_DIR>
├── <SAMPLE_NAME>
│ └── tools
│ └── nohuman
│ ├── <SAMPLE_NAME>.scrub.report.tsv
│ ├── <SAMPLE_NAME>_R1.scrubbed.fastq.gz
│ ├── <SAMPLE_NAME>_R2.scrubbed.fastq.gz
│ └── logs
│ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ └── versions.yml
└── bactopia-runs
└── scrubber-<TIMESTAMP>
├── merged-results
│ ├── logs
│ │ └── scrubber-concat
│ │ ├── nf.command.{begin,err,log,out,run,sh,trace}
│ │ └── versions.yml
│ └── scrubber.tsv
└── nf-reports
├── scrubber-dag.dot
├── scrubber-report.html
└── scrubber-timeline.html
Per-Sample Results
| File | Description |
|---|---|
*.scrubbed.fastq.gz | Cleaned reads after human sequence removal |
*.scrub.report.tsv | Report of read classification and removal statistics |
Merged Results
| File | Description |
|---|---|
scrubber.tsv | Merged TSV file containing scrubber reports from all samples |
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 |
|---|---|
| scrubber-dag.dot | The Nextflow DAG visualization |
| scrubber-report.html | The Nextflow Execution Report |
| scrubber-timeline.html | The Nextflow Timeline Report |
| scrubber-trace.txt | The Nextflow Trace report |
Parameters
Required Parameters
Define where the pipeline should find input data and save output data.
| Parameter | Type | Default | Description |
|---|---|---|---|
--bactopia | string | The path to bactopia results to use as inputs |
SRA Human Scrubber Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
--use_srascrubber | boolean | false | Use SRAHumanScrubber for scrubbing human reads |
Nohuman Download Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
--nohuman_db | string | Path to the nohuman database or directory to download it to | |
--nohuman_db_version | string | Database version to download (default: latest HPRC release) | |
--nohuman_save_as_tarball | boolean | false | Save the nohuman database as a tarball |
--download_nohuman | boolean | false | Download the nohuman database to the path given by --nohuman_db |
Nohuman Run Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
--nohuman_db | string | Path to the nohuman database directory or tarball | |
--nohuman_confidence | number | 0.0 | Kraken2 minimum confidence score for classification (0.0-1.0) |
--nohuman_human | boolean | false | Invert output to keep only human reads instead of removing them |
--nohuman_save_report | boolean | false | Save the Kraken2 classification report |
Filtering Parameters
Use these parameters to specify which samples to include or exclude.
| Parameter | Type | Default | Description |
|---|---|---|---|
--include | string | A text file containing sample names (one per line) to include from the analysis | |
--exclude | string | A text file containing sample names (one per line) to exclude from the analysis |
Optional Parameters
These optional parameters can be useful in certain settings.
| Parameter | Type | Default | Description |
|---|---|---|---|
--outdir | string | bactopia | Base directory to write results to |
Nextflow Profile Parameters
Parameters to fine-tune your Nextflow setup.
| Parameter | Type | Default | Description |
|---|---|---|---|
--datasets_cache | string | <HOME>/.bactopia/datasets | Directory where downloaded datasets should be stored. |
Helpful Parameters
Uncommonly used parameters that might be useful.
| Parameter | Type | Default | Description |
|---|---|---|---|
--wf | string | bactopia | Specify which workflow or Bactopia Tool to execute |
--list_wfs | boolean | List the available workflows and Bactopia Tools to use with '--wf' | |
--help_all | boolean | An alias for --help --show_hidden_params | |
--version | boolean | Display version text. |
Composition
This workflow uses the following subworkflows:
- scrubber - Remove contaminant sequences from metagenomic data.
Citations
If you use this 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) -
Kraken2
Wood DE, Lu J, Langmead B Improved metagenomic analysis with Kraken 2. Genome Biology, 20(1), 257. (2019) -
SRA Human Scrubber
Katz KS, Shutov O, Lapoint R, Kimelman M, Brister JR, and O'Sullivan C STAT: a fast, scalable, MinHash-based k-mer tool to assess Sequence Read Archive next-generation sequence submissions. Genome Biology, 22(1), 270 (2021)