bioBakery workflows is a collection of workflows and tasks for executing common microbial community analyses using standardized, validated tools and parameters. Quality control and statistical summary reports are automatically generated for most data types, which include 16S amplicons, metagenomes, and metatranscriptomes. Workflows are run directly from the command line and tasks can be imported to create your own custom workflows. The workflows and tasks are built with AnADAMA2 which allows for parallel task execution locally and in a grid compute environment.
For additional information, see the bioBakery workflows tutorial.
Table of contents * Getting Started + Requirements + Installation - Install software - Install databases + How to Run - Basic Usage - Data Processing Workflows - Visualization Workflows + Parallelization Options * Data Processing Workflows + Whole Metagenome Shotgun (wmgx) + Whole Metagenome and Metatranscriptome Shotgun (wmgx_wmtx) + 16S rRNA (16s) + Isolate Assembly (isolate_assembly) * Visualization Workflow + Visualization for Whole Metagenome Shotgun and 16S (vis) * Stats Workflow * WDL Workflow
bioBakery workflows can be installed with Conda, Docker, or pip.
To install with Conda:
$ conda install -c biobakery biobakery_workflows
To install and run with Docker:
$ docker run -it biobakery/workflows bash
To install with pip:
$ pip install biobakery_workflows
Install automatically
Once the software and dependencies are installed, the databases can be installed automatically.
Run the following command to install the databases required for a workflow:
$ biobakery_workflows_databases --install $WORKFLOW
$WORKFLOW with the workflow name (ie wmgx, 16s,
wmgx_wmtx, or wmgx_demo, isolate_assembly).$HOME/biobakery_workflow_databases/ or
/opt/biobakery_workflow_databases/ depending on permissions.--location $FOLDER.
With this option you will also need to set the environment variable
$BIOBAKERY_WORKFLOWS_DATABASES to the folder so the workflows can
find the installed databases.Install manually
Alternatively the databases can be installed manually and then referenced with environment variables. The shotgun data processing workflows require Kneaddata (human, human transcriptome, and SILVA), HUMAnN (utility mapping, nucleotide, and protein databases), and StrainPhlAn (reference and marker) databases while the 16s data processing workflow requires the GreenGenes fasta, taxonomy, and usearch formatted files.
When manually installing the databases, the following environment variables need to be set.
KNEADDATA_DB_HUMAN_GENOME,
KNEADDATA_DB_RIBOSOMAL_RNA, KNEADDATA_DB_HUMAN_TRANSCRIPTOME,
STRAINPHLAN_DB_REFERENCE, and STRAINPHLAN_DB_MARKERS.GREEN_GENES_USEARCH_DB, GREEN_GENES_FASTA_DB, and
GREEN_GENES_TAXONOMY_DB.All workflows follow the general command format:
$ biobakery_workflows $WORKFLOW --input $INPUT --output $OUTPUT
For a list of all available workflows, run:
$ biobakery_workflows --help
For specific options for a workflow, run:
$ biobakery_workflows $WORKFLOW --help
The basic command to run a data processing workflow, replacing
$WORKFLOW with the workflow name, is:
$ biobakery_workflows $WORKFLOW --input $INPUT_DIR --output $DATA_OUTPUT_DIR
This command will run the workflow on the files in the input folder
($INPUT_DIR to be replaced with the path to the folder containing
fastq files). It will write files to the output folder
($DATA_OUTPUT_DIR to be replaced with the folder to write output
files).
A single visualization workflow exists that can be used for any data processing
workflow. The basic command to run a visualization workflow, replacing
$WORKFLOW_VIS with the visualization workflow name, is:
$ biobakery_workflows $WORKFLOW_VIS --input $DATA_OUTPUT_DIR --project-name $PROJECT --output $OUTPUT_DIR
The input folder ($DATA_OUTPUT_DIR to be replaced with the path to the
folder) in this command this is a subset of the output folder from the data processing
workflow; Run the workflow with the option --help to determine which files are required
and which are optional to run the workflow. The folder ($OUTPUT_DIR to be replaced with the path to the
output folder) will contain the output files from the visualization
workflow. The project name should replace $PROJECT in the command so
the report can include the name.
When running any workflow you can add the following command line options to make use of existing computing resources:
--local-jobs <1> : Run multiple tasks locally in parallel. Provide
the max number of tasks to run at once. The default is one task
running at a time.--grid-jobs <0> : Run multiple tasks on a grid in parallel.
Provide the max number of grid jobs to run at once. The default is
zero tasks are submitted to a grid resulting in all tasks running
locally.--grid <slurm> : Set the grid available on your machine. This will
default to the grid found on the machine with options of slurm and
sge.--partition <serial_requeue> : Jobs will be submitted to the
partition selected. The default partition selected is based on the
default grid.For additional workflow options, see the AnADAMA2 user manual.
bioBakery workflows includes a collection of workflows for shotgun sequences and 16s data processing. Most workflows can be run on the command line with the following syntax:
$ biobakery_workflows $WORKFLOW --input $INPUT --output $OUTPUT
See the section on parallelization options to optimize the workflow run based on your computing resources.

Super Tasks
Requirements
$ conda install -c biobakery kneaddata OR
$ pip install kneaddata$ conda install -c bioconda metaphlan$ conda install -c biobakery humann OR
$ pip install humann$ conda install -c bioconda strainphlanInputs
$SAMPLE.fastq.gz,$SAMPLE.R1.fastq.gz, or $SAMPLE.R2.fastq.gz
where $SAMPLE is the sample name or identifier corresponding to
the sequences. $SAMPLE can contain any characters except spaces or
periods.The workflow will detect if paired-end files are present. By default the
workflow identifies paired end reads based on file names containing
".R1" and ".R2" strings. If your paired end reads have different
identifiers, use the option --pair-identifier .R1 to provide the
identifier string for the first file in the set of pairs.
The workflow by default expects input files with the extension
"fastq.gz". If your files are not gzipped, run with the option
--input-extension fastq.
To run the workflow
$ biobakery_workflows wmgx --input $INPUT --output $OUTPUT$INPUT with the path to the folder
containing your fastq input files and $OUTPUT with the path to the
folder to write output files.--qc-options="$OPTIONS" will
modify the default settings when running the KneadData subtask and
--strain-profiling-options="$OPTIONS" will modify the options when
running the StrainPhlAn subtask (replacing the $OPTIONS in each
with your selected settings).--run-assembly to add the tasks to run assembly.To run a demo
$ biobakery_workflows wmgx --input examples/wmgx/single/ --output workflow_output$ biobakery_workflows wmgx --input examples/wmgx/paired/ --output workflow_outputexamples folder.
Super Tasks
Requirements
$ conda install -c biobakery kneaddata OR
$ pip install kneaddata$ conda install -c bioconda metaphlan$ conda install -c biobakery humann OR
$ pip install humann$ conda install -c bioconda strainphlanInputs
$SAMPLE.fastq.gz,$SAMPLE.R1.fastq.gz, or $SAMPLE.R2.fastq.gz
where $SAMPLE is the sample name or identifier corresponding to
the sequences. $SAMPLE can contain any characters except spaces or
periods.The workflow will detect if paired-end files are present. By default the
workflow identifies paired end reads based on file names containing
".R1" and ".R2" strings. If your paired end reads have different
identifiers, use the option --pair-identifier .R1 to provide the
identifier string for the first file in the set of pairs.
The workflow by default exp
$ claude mcp add biobakery_workflows \
-- python -m otcore.mcp_server <graph>