Parts of a whole

Nextstrain is made up of many different parts that all work together. Two core parts are Augur and Auspice.

digraph { graph [ rankdir=LR, ]; node [ shape=box, style="rounded, filled", fontname="Lato, 'Helvetica Neue', sans-serif", fontsize=12, height=0.1, colorscheme=paired10, ]; edge [ arrowhead=open, arrowsize=0.75, ]; Augur [fillcolor=1, color=2]; Auspice [fillcolor=3, color=4]; Augur -> Auspice; }

Augur is a series of composable, modular bioinformatics tools. We use these to create recipes for different pathogens and different analyses, which can be reproduced given the same input data and replicated when new data is available.

graph { graph [ ranksep=0.25, ]; node [ shape=box, style="rounded, filled", fontname="Lato, 'Helvetica Neue', sans-serif", fontsize=12, height=0.1, colorscheme=paired10, fillcolor=1, color=2, ]; edge [ arrowhead=open, arrowsize=0.75, ]; Augur -- ellipsis1 [style=invis]; ellipsis1 [label="…", shape=plain, style=""]; Augur -- {filter, align, tree, refine, export}; Augur -- ellipsis2 [style=invis]; ellipsis2 [label="…", shape=plain, style=""]; }

Auspice is a web-based visualization program, to present and interact with phylogenomic and phylogeographic data. Auspice is what you see when, for example, you visit nextstrain.org/mumps/na.

../_images/mumps.png

Auspice displaying Mumps genomes from North America.

Augur produces dataset files which are visualized by Auspice. These files are often referred to as “JSONs” colloquially because they use a generic data format called JSON.

digraph { graph [ rankdir=LR, ]; node [ shape=box, style="rounded, filled", fontname="Lato, 'Helvetica Neue', sans-serif", fontsize=12, height=0.1, colorscheme=paired10, ]; edge [ arrowhead=open, arrowsize=0.75, ]; Augur [fillcolor=1, color=2]; Auspice [fillcolor=3, color=4]; jsons [label="mumps_na.json\lmumps_na_root-sequence.json"]; Augur -> jsons -> Auspice; }

Builds are recipes of code and data that produce result datasets for visualization and analysis. Builds run dozens of commands and often use Snakemake to manage the pipeline workflow, but any workflow system can be used, such as Nextflow or WDL. As an example, our core builds are organized as Git repositories hosted on GitHub which contain a Snakemake workflow using Augur, configuration, and data.

digraph { graph [ ranksep=0.25, ]; node [ shape=box, style="rounded, filled", fontname="Lato, 'Helvetica Neue', sans-serif", fontsize=12, height=0.1, colorscheme=paired10, ]; edge [ arrowhead=open, arrowsize=0.75, ]; subgraph Augur { graph [rank=same]; node [fillcolor=1, color=2]; filter -> align -> tree -> refine -> export; } Auspice [fillcolor=3, color=4]; export -> Auspice; subgraph inputs { graph [rank=same]; sequences [label="sequences.fasta"]; metadata [label="metadata.tsv"]; } sequences -> filter; metadata -> filter; }

nextstrain.org is a web application to host and present the core pathogen builds maintained by the Nextstrain team, as well as builds published to Nextstrain Groups and community pages which are maintained and shared by many other people. The website incorporates a customized version of Auspice for displaying each dataset.

You can run Augur and Auspice on your own computer and use them independently or together with your own builds, our core builds, or others’ group or community builds. You can even install Auspice on your own web server if you don’t want to host your builds via nextstrain.org.

The Nextstrain CLI (a program called nextstrain) ties together all of the above to provide a consistent way to run pathogen builds, access Nextstrain tools like Augur and Auspice across computing environments such as Docker, Conda, and AWS Batch, and publish datasets to nextstrain.org.

Nextclade is a web application and two command-line programs (nextclade and nextalign) for performing viral genome alignment, mutation calling, clade assignment, quality checks, and phylogenetic placement. Nextclade can be used indepedently of other Nextstrain tools as well as integrated into builds.

With this overview, you’ll be better prepared to install Nextstrain and run a build or contribute to development.