How to Run Auspice

Auspice is run as a command line program – auspice – with various subcommands. You can run each command with --help attached to see help from the command line.

  • auspice view --help (this is the main command for interacting with Auspice)

  • auspice build --help

  • auspice develop --help

  • auspice convert --help

Note

If you just want to visualise your JSON datasets (or a newick tree) in Auspice, you can use the stand-alone web-app auspice.us which allows drag-and-drop of files onto the browser.

How to Get an Example Dataset Up and Running

In order to get up and running you’ll need to have some datasets to visualise. For the purposes of getting Auspice up and running you can download the current Zika dataset via:

mkdir datasets
curl http://data.nextstrain.org/zika.json --compressed -o datasets/zika.json

And then run auspice via:

auspice view datasets

This will allow you to run Auspice locally (i.e. from your computer) and view the dataset which is behind nextstrain.org/zika. See below for how to download all of the data available on nextstrain.org.

To analyse your own data, please see the tutorials on the nextstrain docs.

auspice view

This is the main command we’ll run Auspice with, as it makes Auspice available in a web browser for you.

Provide one or more pats to search for datasets (JSON) or narratives (markdown) files in: auspice view PATH [PATH ...] (see above for how to obtain a dataset JSON to start with).

For more complicated setups, where you define your own server handlers, see supplying custom handlers to the Auspice server.

auspice build

Build the client source code bundle. This is needed in three cases:

  1. You have installed Auspice from source, or updated the source code.

  2. You are editing the source code and need to rebuild the client

  3. You wish to build a customised version of the Auspice client. See Customising Auspice for more info.

auspice develop

Launch Auspice in development mode. This runs a local server and uses hot-reloading to allow automatic updating as you edit the code.

This is only useful if you are editing the client source code!

auspice convert

This is a utility command to convert between dataset formats. Currently, it only converts “Auspice v1” JSONs into “Auspice v2” JSONs, using the same code that is programatically importable.

Right now, auspice view will automatically convert “v1” JSONs into “v2” JSONs, so there’s no need to do this yourself.

Input File Formats

Auspice is agnostic about the data it visualises – they don’t have to be viral genomes, or real-time, or generated in Augur. (They do, however have to be in a specific file format.)

Auspice takes two different file types:

  • Datasets (the tree, map, etc.), which are defined as one or more JSON files.

  • Narratives, which are specified as a Markdown file.

See the Server API for more details about the file formats an Auspice server (e.g. auspice view) sends to the client.

Dataset JSONs

Currently we mainly use Augur to create these datasets. See the Nextstrain documentation for more details on this process.

Datasets JSONs include:

  • Auspice v2 JSON (required) - schema here. It includes the following information:
    • tree: The tree structure encoded as a deeply nested JSON object.
      • Traits (such as country, divergence, collection date, attributions, etc.) are stored on each node.

      • The presence of a children property indicates that it’s an internal node and contains the child objects.

    • metadata: Additional data to control and inform the visualization.

  • Frequency JSON (optional) - example here

Note

If you happen to maintain builds that rely on Auspice v1, don’t worry - Auspice v2 is backward compatible and accepts the v1 format as well. The v1 schema is also available below. See the v2 release notes for details and motivation for the v2 format.

Auspice v1 JSONs (for backwards compatibility use only)

Auspice works with the v1 format for backwards compatibility. The zika dataset we download above is in this format.

This format includes:

  • Tree JSON (required) - schema here
    • The same tree information as in the v2 JSON above in a separate file whose name must end with _tree.json.

  • Metadata JSON (required) - schema here
    • The same metadata information as in the v2 JSON above in a separate file whose name must end with _meta.json and have the same prefix as the tree JSON above.

  • Frequency JSON (optional) - example here

Narratives

For narratives, please see Writing a Narrative for a description of the file format.