Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
October 29, 2022 23:22
September 27, 2022 05:36
November 28, 2022 13:40
November 28, 2022 13:14
November 8, 2022 04:15
November 28, 2022 13:45
November 28, 2022 14:23
January 6, 2022 03:39
July 27, 2021 15:56
February 19, 2020 08:50
February 22, 2019 08:49
March 23, 2022 08:35
June 28, 2022 21:09
November 28, 2022 00:05

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

Bactopia Logo


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 for Bactopia is available at 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}


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!


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!


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!


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.


MIT License


Petit III RA, Read TD, Bactopia: a flexible pipeline for complete analysis of bacterial genomes. mSystems. 5 (2020),