Installation
Hint
This is a reference page with brief pointers for installing and setting up Nextstrain CLI. For a more comprehensive installation guide, please see our general Nextstrain installation page.
The nextstrain
command
Install the nextstrain
command with one of the installation methods below.
Standalone
Use our installers to quickly install a self-contained (“standalone”) version of Nextstrain CLI on Linux:
curl -fsSL --proto '=https' https://nextstrain.org/cli/installer/linux | bash
macOS:
curl -fsSL --proto '=https' https://nextstrain.org/cli/installer/mac | bash
or Windows:
Invoke-RestMethod https://nextstrain.org/cli/installer/windows | Invoke-Expression
Follow the instructions from the installer at the end.
From PyPI
Note
Nextstrain CLI is written in Python 3 and requires at least Python 3.6. There
are many ways to install Python 3 on Windows, macOS, or Linux, including the
official packages, Homebrew for macOS, and the Anaconda Distribution.
Details are beyond the scope of this guide, but make sure you install Python
3.6 or higher. You may already have Python 3 installed, especially if you’re on
Linux. Check by running python --version
or python3 --version
.
Use Pip to install the nextstrain-cli package on PyPI:
$ python3 -m pip install nextstrain-cli
Collecting nextstrain-cli
[…a lot of output…]
Successfully installed nextstrain-cli-6.0.2
This package also works great with Pipx, a nice alternative to Pip for command-line apps like this one:
$ pipx install nextstrain-cli
Installing to directory '/home/tom/.local/pipx/venvs/nextstrain-cli'
installed package nextstrain-cli 6.0.2, Python 3.6.9
These apps are now globally available
- nextstrain
done! ✨ 🌟 ✨
From Bioconda
Use Conda (or Mamba) to install the nextstrain-cli package in Bioconda:
conda install nextstrain-cli \
-c conda-forge -c bioconda \
--strict-channel-priority \
--override-channels
Checking the version
Whatever installation method you choose, make sure the nextstrain
command
is available after installation by running nextstrain version
:
$ nextstrain version
nextstrain.cli 6.0.2
The version you get will probably be different than the one shown in the example above.
A Nextstrain runtime
If you intend to run commands like nextstrain build and nextstrain view, then you’ll need to set up at least one runtime. See the runtimes overview for a comparison of the options and brief set up instructions for each. Runtime set up typically concludes by running:
nextstrain setup <runtime>
Checking your setup
After installation and runtime set up, run nextstrain check-setup
--set-default
to ensure everything works and automatically pick an
appropriate default runtime based on what’s available. You should see output
similar to the following:
$ nextstrain check-setup --set-default
nextstrain-cli is up to date!
Testing your setup…
# docker is supported
✔ yes: docker is installed
✔ yes: docker run works
✔ yes: containers have access to >2 GiB of memory
✔ yes: image is new enough for this CLI version
# conda is supported
✔ yes: operating system is supported
✔ yes: runtime data dir doesn't have spaces
✔ yes: snakemake is installed and runnable
✔ yes: augur is installed and runnable
✔ yes: auspice is installed and runnable
# singularity is supported
✔ yes: singularity is installed
✔ yes: singularity works
# ambient is not supported
✔ yes: snakemake is installed and runnable
✘ no: augur is installed and runnable
✘ no: auspice is installed and runnable
# aws-batch is not supported
✘ no: job description "nextstrain-job" exists
✘ no: job queue "nextstrain-job-queue" exists
✘ no: S3 bucket "nextstrain-jobs" exists
All good! Supported Nextstrain runtimes: docker, conda, singularity
Setting default runtime to docker.
If the output doesn’t say “All good!” and list at least one supported Nextstrain runtime (typically Docker, Conda, Singularity, or ambient), then something may be wrong with your installation.
The default is written to the ~/.nextstrain/config
file. If multiple
runtimes are supported, you can override the default for specific runs
using command-line options such as --docker
, --conda
,
--singularity
, --ambient
, and --aws-batch
, e.g. nextstrain build
--ambient …
.