Skip to main content

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

FileDescription
*.scrubbed.fastq.gzCleaned reads after human sequence removal
*.scrub.report.tsvReport of read classification and removal statistics

Merged Results

FileDescription
scrubber.tsvMerged 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.

ExtensionDescription
.beginAn empty file used to designate the process started
.errContains STDERR outputs from the process
.logContains both STDERR and STDOUT outputs from the process
.outContains STDOUT outputs from the process
.runThe script Nextflow uses to stage/unstage files and queue processes based on given profile
.shThe script executed by bash for the process
.traceThe Nextflow trace report for the process
versions.ymlA 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.

FilenameDescription
scrubber-dag.dotThe Nextflow DAG visualization
scrubber-report.htmlThe Nextflow Execution Report
scrubber-timeline.htmlThe Nextflow Timeline Report
scrubber-trace.txtThe Nextflow Trace report

Parameters

Required Parameters

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

ParameterTypeDefaultDescription
--bactopiastringThe path to bactopia results to use as inputs

SRA Human Scrubber Parameters

ParameterTypeDefaultDescription
--use_srascrubberbooleanfalseUse SRAHumanScrubber for scrubbing human reads

Nohuman Download Parameters

ParameterTypeDefaultDescription
--nohuman_dbstringPath to the nohuman database or directory to download it to
--nohuman_db_versionstringDatabase version to download (default: latest HPRC release)
--nohuman_save_as_tarballbooleanfalseSave the nohuman database as a tarball
--download_nohumanbooleanfalseDownload the nohuman database to the path given by --nohuman_db

Nohuman Run Parameters

ParameterTypeDefaultDescription
--nohuman_dbstringPath to the nohuman database directory or tarball
--nohuman_confidencenumber0.0Kraken2 minimum confidence score for classification (0.0-1.0)
--nohuman_humanbooleanfalseInvert output to keep only human reads instead of removing them
--nohuman_save_reportbooleanfalseSave the Kraken2 classification report
Filtering Parameters

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

ParameterTypeDefaultDescription
--includestringA text file containing sample names (one per line) to include from the analysis
--excludestringA text file containing sample names (one per line) to exclude from the analysis
Optional Parameters

These optional parameters can be useful in certain settings.

ParameterTypeDefaultDescription
--outdirstringbactopiaBase directory to write results to
Nextflow Profile Parameters

Parameters to fine-tune your Nextflow setup.

ParameterTypeDefaultDescription
--datasets_cachestring<HOME>/.bactopia/datasetsDirectory where downloaded datasets should be stored.
Helpful Parameters

Uncommonly used parameters that might be useful.

ParameterTypeDefaultDescription
--wfstringbactopiaSpecify which workflow or Bactopia Tool to execute
--list_wfsbooleanList the available workflows and Bactopia Tools to use with '--wf'
--help_allbooleanAn alias for --help --show_hidden_params
--versionbooleanDisplay 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.

Source

View source on GitHub