/bactopia

A flexible pipeline for complete analysis of bacterial genomes

Primary LanguageNextflowMIT LicenseMIT

GitHub release (latest by date) mSystems Anaconda-Server Badge Gitpod ready-to-code

Bactopia Logo

Bactopia

Bactopia is a flexible pipeline for complete analysis of bacterial genomes. The goal of Bactopia is to process your data with a broad set of tools, so that you can get to the fun part of analyses quicker!

Bactopia can be split into three main parts: Bactopia Datasets, Bactopia Analysis Pipeline, and Bactopia Tools.

Bactopia Overview

Bactopia Datasets provide a framework for including many existing public datasets, as well as private datasets, into your analysis The process of downloading, building, and (or) configuring these datasets for Bactopia has been automated.

Bactopia Analysis Pipeline is the main per-isolate workflow in Bactopia. Built with Nextflow, input FASTQs (local or available from SRA/ENA) are put through numerous analyses including: quality control, assembly, annotation, reference mapping, variant calling, minmer sketch queries, blast alignments, insertion site prediction, sequence typing, and more. The Bactopia Analysis Pipeline automatically selects which analyses to include based on the available Bactopia Datasets.

Bactopia Overview

Bactopia Tools are a set a independent workflows for comparative analyses. The comparative analyses may include summary reports, pan-genome, or phylogenetic tree construction. Using the predictable output structure of Bactopia you can pick and choose which samples to include for processing with a Bactopia Tool.

Bactopia was inspired by Staphopia, a workflow we (Tim Read and myself) released that targets Staphylococcus aureus genomes. Using what we learned from Staphopia and user feedback, Bactopia was developed from scratch with usability, portability, and speed in mind from the start.

Documentation

Documentation for Bactopia is available at https://bactopia.github.io/. The documentation includes a tutorial replicating Staphopia and a complete overview of Bactopia. I highly encourage you check it out!

Quick Start

mamba create -y -n bactopia -c conda-forge -c bioconda bactopia
conda activate bactopia
bactopia datasets

# Paired-end
bactopia --R1 R1.fastq.gz --R2 R2.fastq.gz --sample SAMPLE_NAME \
         --datasets datasets/ --outdir OUTDIR

# Single-End
bactopia --SE SAMPLE.fastq.gz --sample SAMPLE --datasets datasets/ --outdir OUTDIR

# Multiple Samples
bactopia prepare MY-FASTQS/ > fastqs.txt
bactopia --fastqs fastqs.txt --datasets datasets --outdir OUTDIR

# Single ENA/SRA Experiment
bactopia --accession SRX000000 --datasets datasets --outdir OUTDIR

# Multiple ENA/SRA Experiments
bactopia search "staphylococcus aureus" > accessions.txt
bactopia --accessions accessions.txt --dataset datasets --outdir ${OUTDIR}

Installation

Bactopia has a lot of tools built into its workflow. As you can imagine, all these tools lead to numerous dependencies, and navigating dependencies can often turn into a very frustrating process. With this in mind, from the onset Bactopia was developed to only include programs that are installable using Conda.

Conda is an open source package management system and environment management system that runs on Windows, macOS and Linux. In other words, it makes it super easy to get the tools you need installed! The official Conda documentation is a good starting point for getting started with Conda. Bactopia has been tested using the Miniconda installer, but the Anaconda installer should work the same.

Once you have Conda all set up, you are ready to create an environment for Bactopia. I personally recommend you used mamba (soooo fast!) to install Bactopia, but either of these commands should work:

# Recommended
mamba create -n bactopia -c conda-forge -c bioconda bactopia

# or with standard conda
conda create -n bactopia -c conda-forge -c bioconda bactopia

After a few minutes you will have a new conda environment suitably named bactopia. To activate this environment, you will can use the following command:

conda activate bactopia

And voilà, you are all set to get started processing your data!

Please Cite Datasets and Tools

If you have used Bactopia in your work, please be sure to cite any datasets or tools you may have used. A list of each dataset/tool used by Bactopia has been made available.

If a citation needs to be updated please let me know!

Acknowledgements

Bactopia is truly a case of "standing upon the shoulders of giants". Nearly every component of Bactopia was created by others and made freely available to the public.

I would like to personally extend my many thanks and gratitude to the authors of these software packages and public datasets. If you've made it this far, I owe you a beer 🍻 (or coffee ☕!) if we ever encounter one another in person. Really, thank you very much!

Alternatives

In case Bactopia doesn't fit your needs, here are some alternatives you can checkout. I personally haven't used them, but you might find them to fit your needs! If you ran into issues using Bactopia, please feel free to reach out!

Feedback

Your feedback is very valuable! If you run into any issues using Bactopia, have questions, or have some ideas to improve Bactopia, I highly encourage you to submit it to the Issue Tracker.

License

MIT License

Citation

Petit III RA, Read TD, Bactopia: a flexible pipeline for complete analysis of bacterial genomes. mSystems. 5 (2020), https://doi.org/10.1128/mSystems.00190-20.

Author