Nextclade Web 2.14.0, Nextclade CLI 2.14.0 (2023-05-09)

Algorithm & Datasets: enable masked sites for distance calculation

For some viruses, genome sequencing is unreliable in specific parts of the genome or some regions should be ignored for other reasons when calculating distances between nodes for the purpose of placing query sequences on the reference tree. These distances are used to find the optimal (smallest distance) placement of the query sequence on the reference tree and sequence errors in these regions can lead to wrong placement.

Until now, to place query sequences on the reference tree, Nextclade counted all nucleotide differences between query and reference sequence. Moving forward, sequence regions to be ignored for reference tree placement can be defined in datasets’ virus_properties.json. This is useful for example for SARS-CoV-2, where we will start ignoring the terminal parts of the untranslated regions. Another use case is mpox, where the terminal repeats are intrinsically constrained to be identical. Masking one of the two terminals will avoid double-counting of the same mutations.

PR #1128 adds this feature to Nextclade’s algorithm.

Masked ranges are specified in the new field placementMaskRanges in datasets’ virus_properties.json. For example, the terminal 50 nucleotides of SARS-CoV-2 can be ignored for tree placement by adding the following line (positions are 0-based and end-exclusive):


The changes are backwards compatible, if the field does not exist, Nextclade defaults to the old behavior of counting all nucleotide differences.

We are planning to shortly release a new version of SARS-CoV-2 datasets making use of this feature. Only a small proportion of sequences (<1%)should be affected, however where there are changes they will be a slight improvement in accuracy.

Avoid stale software and dataset versions in Nextclade Web

It was widely reported that users with long-persisting browser tabs and also users who don’t switch datasets often, sometimes do not receive new Nextclade dataset updates, which meant that these users would not get newly designated lineages and clades lineage assignments.

Nextclade Web is a fully client-side, single-page application, which downloads the code and list of datasets once when first opening a tab. When users do not refresh the tab and don’t change dataset, the same software and dataset version are used indefinitely. Without periodic page refresh and without periodic fetching of new dataset versions, users can run old code and use old data indefinitely, receiving obsolete or incomplete results.

In order to mitigate this problem, in this version, we add periodic background version checks in Nextclade Web. Every day or so, Nextclade Web will check whether the currently used version of software is the latest, as well as periodically refresh the list of available datasets and their versions. Whenever a new version of software or of a dataset is available, user will receive an update notification. The update can be accepted or dismissed (until the next version is available). Additionally, one can always obtain the latest code and datasets by doing a simple page reload in the browser (no need to clear the cache).

Nextclade is a fast-moving project, where new features and bug fixes are added frequently. We emphasize importance of using the latest versions of both, software and datasets, to receive the most accurate and up-to-date results.

Sort empty values in the results table in Nextclade Web

Nextclade Web previously had a bug, sorting incorrectly when the the column to be sorted by contained empty values. Empty values are now treated as empty strings, fixing this issue.

Improved citation dialog, website copy and translation in Nextclade Web

The “Citation” modal is now more readable and translated to multiple languages. We also added missing translations for some of the sentences in Nextclade Web. We made the intro text on main page of Nextclade Web more relevant.

Internal changes

  • Prevent duplicated GitHub action runs in pull requests

  • Remove Red Hat 7 from tested Linux distros

  • Fix Debian repositories in CI builds for aarch64-unknown-linux-gnu architecture

  • Update master branch of the fork before making bioconda PR branch

  • Extend dev documentation

Nextclade CLI 2.13.1 (2023-03-28)

Internal changes

  • Add more smoke tests, including for datasets with default reference

Nextclade Web 2.13.0, Nextclade CLI 2.13.0 (2023-03-21)

Attach sequences to a priori most likely node if reference tree contains “placement_prior”

Until now, when there were multiple positions with equal numbers of mismatches between a query sequence and reference tree position, Nextclade always attached the query sequence to the reference tree node with the fewest number of ancestors. Due to the way recombinants are placed in the SARS-CoV-2 reference trees, this meant that in particular partial sequences were often attached to recombinants. With most recombinants being rare, this bias to attach to recombinants was often surprising.

In this version, we introduce a new feature that allows to attach sequences to a priori most likely nodes - taking into account which positions on the reference tree are most commonly found in circulation. The information on the prior probability that a particular reference tree node is the best match for a random query sequence is contained in the placement_prior reference tree node attribute. This attribute is currently only present in the most recent SARS-CoV-2 reference trees. The calculation can be found in this nextclade_data_workflows pull request.

To give an example: a partial sequence may have as many mismatches when compared to BA.5 as it has to the recombinant XP. Based on sequences in public databases, we know that BA.5 is much more common than XP. Hence, the query sequence is attached to BA.5. Previously, the query sequence would have been attached to XP, because XP has fewer parent nodes in the reference tree.

The impact of the feature is biggest for partial and incomplete sequences.

Add custom phenotype values to the newly placed tree nodes

When available in the dataset, the phenotype values (such as ace2_binding and immune_escape) are written into all output files except Auspice tree JSON. This omission is now fixed, and these values are set as tree node attributes. This allows to see the values and colorings for phenotype values on the tree page, and when loading the output tree JSON file into Auspice.

Fix length of 3’ unsequenced aminoacid ranges in Nextclade Web

Nextclade Web was showing right boundary of the unsequenced AA range on the 3’ end of peptide sequences incorrectly - the range was longer than expected. The calculations were using length of a gene in nucleotides, where there should be length in codons. This is now fixed.

Fix incorrect indices in mutation badges

The mutation badges in various places in Nextclade Web could show position “0”, even though they are supposed to be 1-based. This was due to a programming mistake, which is now corrected.

Fix input-pcr-primers and input-virus-properties URL params in Nextclade Web

The input-pcr-primers and input-virus-properties URL params were swapped in the code accidentally, so one was incorrectly setting the other. This is now fixed.

Ensure translation warnings in CLI

Due to an omission, Nextclade CLI and Nextalign CLI since v2 did not print sequence translation-related warnings to the console. This is now fixed.

Fix Google Search Console warnings

We resolved warnings in Google Search Console: added canonical URL meta tag, and added noindex tag for non-release deployments. This should improve Nextclade appearance in Google Search.

Internal changes:

  • freeze wasm-pack version to 0.10.3

Nextclade Web 2.12.0, Nextclade CLI 2.12.0 (2023-02-28)

Improve tooltip for “missing” column in Nextclade Web

This column’s tooltip now also shows ranges of unsequenced regions, i.e. contiguous ranges of nucleotide characters absent at the 5’ and 3’ end of the original query sequence, as compared to the reference sequence. To put it differently, these are the ranges that are to the left and right of the alignment range - from 0 to alignmentStart and from alignmentEnd to the length of the reference sequence. These regions may appear after alignment step, where Nextclade or Nextalign might insert characters - on the 5’ and 3’ ends to fill the query sequence to the length of the reference sequence. Just like it does with the characters that are absent from the inner parts of the query sequence (which we then call “deletions”). If found, the unsequenced regions are also shown as two light-grey rectangles at either or both ends of the sequence in sequence view column in Nextclade Web.

Unsequenced regions are not to be confused with the missing nucleotides, which are also shown in the same tooltip. Missing nucleotides are the N characters present in the original query sequence. They are not introduced nor modified by Nextclade and Nextalign, and are only detected and counted.

It seems that there is no consensus in the bioinformatics community about the notation and naming of either of these events (e.g. which character to use and how to call these ranges). Be thoughtful about these regions when working with the results of Nextclade and Nextalign, especially if you analyze:

  • sequences from different sources (different labs may use different conventions)

  • sequences that are partial (have large unsequenced ranges on 5’ and 3’ end and large deletions in the body)

  • sequences of low quality (e.g. lots of Ns and large deletions in the body)

  • sequences that are already aligned (e.g. have some form of padding on 5’ and 3’ ends)

  • sequences that are processed in some way (e.g. replacement or filling with N or -, or even filling from a consensus genome)

If you find strange or inconsistent results, we encourage you to inspect the input and output sequences in an alignment viewer on per-sequence basis and to contact the authors of individual sequences to clarify their conventions and intent.

Fix alignment range in CSV and TSV outputs

In CSV and TSV outputs, the values in columns alignmentStart and alignmentEnd were emitted in 0-based numbering. This was unexpected - by convention, CSV and TSV files have all ranges in 1-based format. This is now fixed.

Add new columns in CSV and TSV outputs

We added new columns in CSV and TSV outputs:

  • unknownAaRanges - list of detected contiguous ranges of unknown aminoacid (character X)

  • totalUnknownAa - total number of unknown aminoacids (character X)

Internal changes

Nextclade Web 2.11.0, Nextclade CLI 2.11.0 (2023-01-31)

IMPORTANT: ensure index column is written to CSV/TSV output files in case of error

The new column index was correctly written when analysis of a sample succeeds. However, for analyses which ended up with an error (e.g. “Unable to align”) this column was mistakenly missing. In this version we fix this omission.

Fix gene map width in Nextclade Web

Gene map (genome annotation) was misaligned with sequence views (not matching their width). This has been fixed in this version.

Add table row indices to results table in Nextclade Web

We added a column with index of the row in the table. This is useful for visual search and counting of sorted and filtered results.

Not to be confused with sequence index. Row indices always start with 0 and sorted in ascending order, and do not change their position when sorting or filtering the results.

These indices are not a part of output files. Nextclade CLI is not affected.

Improve error messages

Errors due to failure of sequence alignment are reworded and hopefully are more complete and comprehensible now. Additionally, we improved error message when reference sequence fails to read.

Always show action buttons on results page in Nextclade Web

On smaller screens the “Download”, “Tree” and other action buttons were not visible by default and horizontal scrolling were required to see them. We changed the layout such that the panel with buttons does not overflow along with table and so the buttons are always visible. Table is still scrollable.

Improve wording on main page of Nextclade Web

We improved text on main page as well as descriptions inside HTML markup, adding more concrete information and keywords. This should be more pleasant to read and might improve Nextclade ranking in search engines.

Nextclade CLI 2.10.1 (2023-01-24)

Ensure --output-all, --output-tsv, --output-csv can be used together again in Nextclade CLI

This fixes a regression introduced in Nextclade CLI 2.10.0, where --output-all, --output-tsv, --output-csv arguments became mutually exclusive. This was not intended and now resolved.

This bug was breaking out bioconda checks, so Nextclade CLI version 2.10.0 will not be available in bioconda. Use 2.10.1 instead.

Nextclade Web is not affected.

Nextclade Web 2.10.0, Nextclade CLI 2.10.0 (2023-01-24)

Allow to chose columns written into CSV and TSV outputs

You can now select a subset of columns to be included into CSV and TSV output files of Nextclade Web (available in the “Download” dialog) and Nextclade CLI (available with --output-csv and --output-tsv). You can either chose individual columns or categories of related columns.

In Nextclade Web, in the “Download” dialog, click “Configure columns”, then check or uncheck columns or categories you want to keep. Note that this configuration persists across different Nextclade runs.

In Nextclade CLI, use --output-columns-selection flag. This flag accepts a comma-separated list of column names and/or column category names. Individual columns and categories can be mixed together. You can find a list of column names in the full output file. The following categories are currently available: all, general, ref-muts, priv-muts, errs-warns, qc, primers, dynamic. Another way to receive both lists is to add a non-existent or misspelled name to the list. The error message will then display all possible columns and categories.

Note that because of this feature the order of columns might be different compared to previous versions of Nextclade.

Add URL parameter for running analysis of example sequences

You can now launch the analysis of example sequences (as provided by the dataset) in Nextclade Web, by using the special keyword example in the input-fasta URL parameter. For example, navigating to this URL will run the analysis of example SARS-CoV-2 sequences (same as choosing “SARS-CoV-2” and then clicking “Load example” in the UI):

This could useful for example for testing new datasets:

Add index column to CSV and TSV outputs

The index field is already present in other output formats. In this version CSV and TSV output files gain index column as well, which contains the index (integer signifying location) of a corresponding record in the input fasta file or files. Note that this is not the same as row index, because CSV/TSV rows can be emitted in an unspecified order in Nextclade CLI (but this can be changed with --in-order flag; which is set by default in Nextclade Web).

Note that sequence names (seqName column) are not guaranteed to be unique (and in practice are not unique very often). So indices is the only way to reliably link together inputs and outputs.

Nextclade Web 2.9.1, Nextclade CLI 2.9.1 (2022-12-09)

Set default weights in “private mutations” QC check to 1

This fixes the bug when the QC score is 0 (good) when the following QC fields are missing from qc.json:


In this case Nextclade assumed value of 0, which lead to QC score of 0 always. Not all datasets were adjusted for the new qc.json format in time and some had these fields missing - notably the flu datasets. So these datasets were erroneously showing perfect QC score for the “private mutations” rule.

In this version we set these weights to 1.0 if they are missing, which fixes the incorrect QC scores. Some of the sequences will now correctly show worse QC scores.

Fix dataset selector in Nextclade Web when there are datasets with the same name, but different reference sequences

The dataset selector on the main page on nextclade Web did not allow selecting datasets with the same name, but different reference sequences. This did not affect users so far, but we are about to release new Influenza datasets, which were affected. In this version we resolve the problem by keeping track of datasets not just by name, but by a combination of all attribute values (the .attributes[] entries in the datasets index JSON file).

Ensure non-default references in “dataset list” command of Nextclade CLI are shown

This introduces special value all for --reference argument of nextclade dataset list command. And it is now set as default. When it’s in force, datasets with all reference sequences are included into the displayed list. This resolves the problem where non-default references are not show in the list.

Internal changes

  • We are now submitting PRs to bioconda automatically, which should reduce the delay of updates there

Nextclade Web 2.9.0, Nextclade CLI 2.9.0 (2022-12-06)

Increase requirements for supported Linux distributions for GNU flavor of Nextclade CLI

Due to malfunction of package repositories of Debian 7, we had to switch automated builds of the “gnu” flavor of Nextclade CLI from Debian 7 to CentOS 7. This increases minimum required version of glibc to 2.17. The list or Linux distributions we tested the new version of Nextclade on is here. For users of older Linux distributions (with glibc < 2.17) we suggest to use “musl” flavor of Nextclade CLI, which does not depend on glibc, but might be substantially slower. Users of Nextclade CLI on macOS and Windows and users of Nextclade Web are not affected.

Add gene length validation in GFF3 parser

Nextclade will now check if genes have length divisible by 3 in gene maps and will fail with an error if it’s not the case.

Fix translated (internationalized) strings in Nextclade Web

We fixed missing spaces between words in some of the languages and fixes some of the translations.

Internal changes

  • build Linux binaries on CentOS 7

  • migrate CI to GitHub Actions

  • upgrade Rust to 1.65.0

Nextclade Web 2.8.1 (2022-11-01)

Fix translated (internationalized) text on Tree page

We fixed some of the text labels on Tree page in Nextclade Web. Additionally, the page is now translated to more languages.

Nextclade Web 2.8.0, Nextclade CLI 2.8.0 (2022-10-20)

Community datasets in Nextclade Web

This release adds support for fetching custom datasets from a remote location. This can be used for testing datasets introducing support for new pathogens, as well as for sharing these datasets with the community.

For that, we added the dataset-url URL query parameter, where you can specify either a direct URL to the directory of your custom dataset:

or a URL to a GitHub repository:

or a special shortcut to a GitHub repository:

If a branch name is not specified, the default branch name is queried from GitHub. If a path is omitted, then the files are fetched from the root of the repository.

When dataset-url parameter is specified, instead of loading a list of default datasets, a single custom dataset is loaded from the provided address. Note that this should be publicly accessible and have CORS enabled. GitHub public repositories already comply with these requirements, so if you are using a GitHub URL or a shortcut, then no additional action is needed.

For more information, refer to:

Compression of all input and output files in Nextclade CLI and Nextalign CLI

Previously, only FASTA files could be compressed and decompressed on the fly. Now Nextclade CLI and Nextalign CLI can read all input and write all output files in compressed formats. Simply add one of the supported file extensions: “gz”, “bz2”, “xz”, “zstd”, and the files will be compressed or decompressed transparently.

Decrease default number of threads in Nextclade Web

Some users have observed long startup times of the analysis in Nextclade Web. In this release we decreased the default number of processing threads from 8 to 3, such that startup time is now a little faster.

If you want to speedup the analysis of large batches of sequences, at the expense of longer startup time, you can tune the number of threads in the “Settings” dialog.

Improve readability of text fragments in Nextclade Web

We’ve made text paragraphs on main page and some other places a little prettier and hopefully more readable.

Fix crash when reading large, highly-nested tree files

We improved handling of Auspice JSON format, such that it no longer crashes when large trees and trees with large number of deep branches are provided.

Nextclade Web 2.7.1 (2022-10-06)

Update clade schema

We updated SARS-CoV-2 clade schema on main page.

Upgrade Auspice

We upgraded Auspice tree view to version 2.39.0

Nextclade CLI 2.7.0, Nextclade Web 2.7.0 (2022-10-05)

Hide custom clade columns

We added ability to mark certain custom clade columns as hidden. In this case they are not shown in Nextclade Web. This prepares the web application for the upcoming reorganization of clade columns. It should not affect current users.

Remove unused fields from output files, add custom phenotype key list

We removed extra repetitive fields related to custom phenotype columns (e.g. “Immune escape” and “ACE-2 binding”) entries from JSON and NDJSON output files. We also added keys for custom phenotype columns to the header section of output JSON, for symmetry with custom clade columns. These changes should not affect most users.

Nextclade Web 2.6.1 (2022-09-28)

Prettier tooltips

Improved help text formatting in the new “Immune escape” and “ACE-2 binding” columns (available for “SARS-CoV-2 relative to BA.2”), for better readability.

Nextclade Web 2.6.0, Nextclade CLI 2.6.0 (2022-09-27)

New metrics: Immune escape and ACE-2 binding

We added software support for the new custom metrics in Nextclade CLI and nextclade Web. The dataset “sars-cov-2-21L” with the data required for these metrics to appear will be released in the coming days. Stay tuned.

The dataset-name URL parameter is now properly applied in Nextclade Web, even when input-fasta is not provided

Previously dataset-name URL parameter was ignored, unless input-fasta is also set. Now the dataset-name will make Nextclade Web to preselect the requested dataset, regardless of whether the input-fasta URL parameter is also provided. This allows to create URLs which preconfigure Nextclade Web with a certain dataset and dataset customizations, with intent to provide fasta and to run manually.

Better error handling

We improved error handling, such that some of the errors in Nextclade Web now have better error messages. Some of the errors that previously caused hard crash in in Nextclade CLI are now handled more gracefully and with better error messages.

Internal changes

We upgraded Rust to 1.63.0 and Nextclade CLI and Nextalign CLI are now using std::thread::scope for better multithreading support.

Nextclade Web 2.5.1 (2022-09-20)

Ensure files with non-UTF-8 encoding are accepted

Previously, input files with encodings other than UTF-8 were causing a crash in Nextclade Web. Now Nextclade tries to detect encoding and process the files. Error messages and error dialogs were improved.

Improve user interface internationalization

We translated user interface of Nextclade Web to more languages, and translated some of the previously untranslated elements for existing languages. The language can be selected using a dropdown on the top panel.

Upgrade Auspice to 2.38.0

Auspice tree view was updated to the latest version.

Nextclade CLI 2.5.0, Nextclade Web 2.5.0 (2022-08-31)

Feature (CLI, Web): Coverage analysis

Nextclade now emits “coverage” metric which shows the portion of nucleotides in the alignment range being non-N and non-ambiguous, compared to the length of the reference sequence:

coverage = ((alignment_end - alignment_start) - total_missing - total_non_acgtns) / ref_len;

The metric is displayed as a percentage in the “Cov.” column of Nextclade Web, and emitted into JSON, NDJSON, CSV and TSV outputs of Nextclade CLI and Web in the “coverage” field or column.

Feature (Web): Display machine-readable dataset names

Dataset selector on the main page of Nextclade Web now additionally shows machine-readable dataset name. This can help advanced Web users to put correct dataset name into the URL parameters, and CLI users to find the correct dataset name for downloads.

Feat (Web): Compact results table

We made some of the columns in results table of Nextclade Web narowwer to make user experience a little better on laptops. When possible, for optimal experience, we still recommend to use 1080p displays or larger.

Fix (Web): Crashes when using filtering panel

Users reported intermittent crashes of Nextclade Web when entering values in the filtering panel on results page of Nextclade Web. This have been fixed now. If you stil have problems, please submit an issue in our GitHub repository.

Nextclade Web 2.4.2 (2022-08-27)

Fix (Web): “About” text on main page

Text on main page have been updated according to the current knowledge.

Nextclade Web 2.4.1 (2022-08-02)

Fix (Web): reset detected sequence name duplicate when starting new run

Nextclade Web 2.4.0 was incorrectly retaining sequence name duplicates info across runs. This is now fixed.

Nextclade CLI 2.4.0, Nextclade Web 2.4.0 (2022-08-02)

Fix (Web): use indices to identify sequences uniquely in Nextclade Web

Previously, Nextclade used sequence names to identify sequences. However, sequence names proven to be unreliable - they are often duplicated. This caused various problems where results with the same names could have been overwritten.

Since this version, Nextclade Web is using sequence indices (order of sequences in the input file or files), to tell the sequences apart, uniquely. This should ensure correct handling of duplicate names. This change only affects results table in the Web application. CLI is not affected.

Feature (Web): warn about duplicate sequence names

Nextclade Web now reports duplicate sequence names. Duplicate sequence names often confuse bioinformatics tools, databases and bioinformaticians themselves, so we are trying to encourage the community to be more thoughtful about naming of their samples.

When duplicate names are detected during analysis in Nextclade Web, the “Sequence name” column of the results table now displays a yellow “duplicates” warning icon, and its tooltip contains a list of indices of sequences (serial numbers of the sequences in the input fasta file or files) having the same name.

Note that Nextclade compares only names, not sequence data themselves.

Feature (CLI): add “download dataset and run” shortcut”

In this version we added --dataset-name (-d) argument to run command, which allows to download a dataset with default parameters and run with it immediately, all in one command.

For example this command.

nextclade run --output-all=out --dataset-name=sars-cov-2 sequences.fasta

or, the same, but shorter

nextclade run -O out -d sars-cov-2 sequences.fasta

will download the latest default SARS-CoV-2 dataset into memory and will run analysis with these dataset files. This is a convenience shortcut for the usual combination of nextclade dataset get + nextclade run. The dataset is not persisted on disk and downloaded on every run.

Feature (CLI): Upgrade Auspice from version 2.37.2 to 2.37.3

This release includes a routine upgrade of Auspice tree view. You can read the changelog in the Auspice GitHub repository

Nextclade CLI 2.3.1, Nextclade Web 2.3.1

  • Fix #947: In datasets where genes started right at the beginning of the reference sequence, Nextclade version 2.0.0 until 2.3.0 will crash due to underflow. This is now fixed. The only Nextclade provided dataset that was affected by this bug is Influenza Yamagate HA. That dataset had a further bug in the tree so there is now a corresponding dataset bug fix release available. (report: @mcroxen)

Nextclade CLI 2.3.0, Nextclade Web 2.3.0

This release brings back entries for failed sequences into output files.

It was reported by @tseemann that in Nextclade v2 CSV and TSV rows are not written for failed sequences. While in v1 they were. This was unintended.

In this release:

  • CSV, TSV, NDJSON rows for failed entries are now also written (only seqName and errors columns are populated). Note, it’s important to check for errors column and disregard other columns if there are errors. For example, in case of an error, the substitutions column will be empty, but it does not mean that the failed sequence has no substitutions.

  • JSON output now has a separate errors field at the root of the object, with all failed entries

  • NDJSON rows are also written for failed entries. They only contain index, seqName and errors fields.

  • new columns are written into CSV and TSV outputs: warnings and failedGenes, which include any warnings emitted for a sequence as well as a list of genes that failed translation. Now all columns of the “errors.csv” file are also in the CSV and TSV results files

Nextclade CLI 2.2.0

  • Feature When --retry-reverse-complement argument is used, and reverse complement transform is applied to a sequence, only the fasta header in the nucleotide alignment is changed by addition of |(reverse complement) to the sequence name, not in all output files. Other output files signal this transformation with a boolean property or a column isReverseComplement.

Nextclade CLI 2.1.0

  • Fix #907: If --ouput-basename contains dots, the last component is no longer omitted (report: @KatSteinke, fix: @ivan-aksamentov)

  • Fix #908: Files passed as --input-virus-properties were interpreted like passed to --input-pcr-primers and vice versa (report: @BCArg, fix: @CorneliusRoemer)

Nextclade Web 2.2.0

  • Feature: Display lineage in the info boxes on the Tree page

  • Fix: Add missing QC status in the info boxes on the Tree page

  • Fix: Prevent excessive memory consumption by leveraging “Min match rate” alignment parameter (see changes in version 2.0.0)

  • Fix: Prevent crash when using certain filter queries on Results page

Nextclade Web 2.1.0

  • Feature: Display a warning when unsupported browser is used

  • Fix: Display correct favicon

Nextclade 2.0.0


Nextclade core algorithms and command-line interface was reimplemented in Rust (replacing C++ implementation).

Rust is a modern, high performance programming language that is pleasant to read and write. Rust programs have comparable runtime performance with C++, while easier to write. It should provide a serious productivity boost for the dev team.

Also, it is now much simpler to contribute to Nextclade. If you wanted to contribute, or to simply review and understand the codebase, but were scared off by the complexity of C++, then give it another try - the Rust version is much more enjoyable! Check our developer guide for getting started. We are always open for contributions, reviews and ideas!

Alignment algorithm rewritten with adaptive bands

  • Feature: Previously, the alignment band width was constant throughout a given sequence. Now, band width is adaptive: narrow where seed matches indicate no indels, wide where seed matches indicate indels.

  • Performance is improved for sequences with indels

  • Fix: Terminal alignment errors, particularly common in BA.2, are fixed due to wider default band width between terminal seed matches and sequence ends

  • Fix: More robust seed matching allows some previously unalignable sequences to be aligned

  • Fix: Terminal indels for amino acid alignments are only free if the nucleotide alignment indicates a gap. Otherwise, they are penalized like internal gaps. This leads to more parsimonious alignment results.

  • Feature: Additional alignment parameters can now be tuned:

    • “Excess band width” parameter controls the extra band width that is necessary for correct alignment if both deletions and insertions occur between two seed matches.

    • “Terminal band width” controls the extra band width that is necessary for correct alignment if terminal indels occur.

  • Feature: “Min match rate” parameter is added, which sets required rage of seed matches in a sequence (number of matched seeds divided by total number of attempted seeds). If the measured rate is below required, alignment will not be attempted, as for such sequences, there is a high chance of infeasible memory and computational requirements. The default value is 0.3.

  • Fix: 3’ terminal insertions are now properly detected

  • Feature: “Retry reverse complement” alignment parameter is added. When enabled, an additional attempt of seed matching is made after initial attempt fails. The second attempt is performed on reverse-complemented sequence.

    As a consequence:

    • the output alignment, peptides and analysis results correspond to this modified sequence and not to the original

    • sequence name gets a suffix appended to it for all output files (fasta, seqName column, node name on the tree etc.)

    • in output files, there is a new field/column: isReverseComplement, which contains true if the corresponding sequence underwent reverse-complement transformation

    This functionality is opt-in and the default behavior is unchanged: skip sequence and emit a warning.

Genes on reverse (negative) strand

Nextclade now correctly handles genes on reverse (negative) strand, which is particularly important for Monkeypox virus.

Nextclade Web

  • Feature: Nextclade Web is now substantially faster, both to startup and when analysing sequences, due to general algorithmic improvements.

  • Feature: Drag&drop box for fasta files now supports multiple files. The files are concatenated in this case.

  • Feature: Sequence view and peptide views now show insertions. They are denoted as purple triangles.

  • Fix: Tree view now longer shows duplicate clade annotations

Input files

  • Fix: gene map GFF3 file now correctly accepts “gene” and “locus_tag” attributes. This should allow to use genome annotations from GeneBank with little or no modifications.

  • Feature: Nextclade now reads virus-specific alignment parameters from virus_properties.json file from the dataset. It is equivalent to passing alignment tweaks using command-line flags, but is more convenient. If a parameter is provided in both virus_properties.json and as a flag, then the flag takes precedence.

Nextclade CLI

  • Feature: BREAKING CHANGE Command-line interface was redesigned to make it more consistent and ergonomic. The following invocation should be sufficient for most users:

    nextclade run --input-dataset=dataset/ --output-all=out/ sequences.fasta

    short version:

    nextclade run -D dataset/  -O out/ sequences.fasta
    • Nextalign CLI and Nextclade CLI now require a command as the first argument. To reproduce the behavior of Nextclade v1, use nextalign run instead of nextalign and nextclade run instead of nextclade. See nextalign --help or nextclade --help for the full list of commands. Each command has it own --help menu, e.g. nextclade run --help.

    • --input-fasta flag is removed in favor of providing input sequence file names as positional arguments. Multiple input fasta files can be provided. Different compression formats are allowed:

      nextclade run -D dataset/ -O out/ 1.fasta 2.fasta.gz 3.fasta.xz 4.fasta.bz2 5.fasta.zst
    • If no fasta files provided, it will be read from standard input (stdin). Reading from stdin does not support compression.

    • If a special filename (-) is provided for one of the individual output file flags (--output-*), the corresponded output will be printed to standard output (stdout). This allows integration into Unix-style pipelines. For example:

      curl $fasta_gz_url | gzip -cd | nextclade run -D dataset/ --output-tsv=- | my_nextclade_tsv_processor
      xzcat *.fasta.xz | nextalign run -r ref.fasta -m genemap.gff -o - | process_aligned_fasta
    • The flag --output-all (-O) replaces --output-dir flag and allows to conveniently output all files with a single flag.

    • The new flag --output-selection allows to restrict what’s being output by the --output-all flag.

    • If the --output-basename flag is not provided, the base name of output files will default to “nextclade” or “nextalign” respectively for Nextclade CLI and Nextalign CLI. They will no longer attempt to guess base file name from the input fasta.

    • The new flag --output-translations is a dedicated flag to provide a file path template which will be used to output translated gene fasta files. This flag accepts a template string with a template variable {gene}, which will be substituted with a gene name. Each gene therefore receives it’s own path. Additionally, the translations are now independent from output directory and can be omitted if they are not necessary.


    If the following is provided:


    then for SARS-CoV-2 Nextclade will write the following files:


    Make sure you properly quote and/or escape the curly braces in the variable {gene}, so that your shell, programming language or pipeline manager does not attempt to substitute the variable.

  • Feature: New --excess-bandwidth, --terminal-bandwidth, --min-match-rate, --retry-reverse-complement arguments are added (see “Alignment algorithm rewritten with adaptive bands” section for details)

  • Feature: Nextclade CLI and Nextalign CLI now accept compressed input files. If a compressed fasta file is provided, it will be transparently decompressed. Supported compression formats: gz, bz2, xz, zstd. Decompressor is chosen based on file extension.

  • Feature: Nextclade CLI and Nextalign CLI can now write compressed output files. If output path contains one of the supported file extensions, it will be transparently compressed. Supported compression formats: gz, bz2, xz, zstd.

  • Feature: Nextclade can now write outputs in newline-delimited JSON format . Use --output-ndjson flag for that. NDJSON output is equivalent to JSON output, but is not hierarchical, so it can be easily streamed and parsed one entry at a time.

  • Feature: Nextclade dataset get and dataset list commands now can fetch dataset index from a custom server. The root URL of the dataset server can be set using --server=<URL> flag.

  • Feature: Nextclade dataset get command can output downloaded dataset in the form of a zip archive, using --output-zip flag. The dataset zip is simply the dataset directory, but compressed, and it can be used as a replacement in the --input-dataset flag of the run command.

  • Feature: Nextalign CLI and Nextclade CLI provide a command for generating shell completions: see nextclade completions --help for details.

  • Feature: Verbosity of can be tuned using wither --verbosity=<severity> flag or one or multiple occurences of -v and -q flags. By default Nextclade and Nextalign show messages with severity “warn” or above (i.e. only warning and errors). Flag -v increases and flag -q decreases verbosity one step, -vv and -qq - two steps, etc.


If you found a bug or have a suggestion, feel free to:

We hope you enjoy using Nextclade 2.0.0 as much as we enjoyed building it!

Nextclade Web 1.14.1

[Feature] Updated clade schema

In this version we updated clade schema on main page according to new clade definitions.

Nextclade Web 1.14.0, Nextclade CLI 1.11.0, Nextalign CLI 1.11.0 (2022-03-15)

[Feature] Nextclade Pango classifier (SARS-CoV-2 specific)

With the latest dataset, Nextclade now assigns sequences a pango lineage, similar to how clades are assigned. The classifier is about 98% accurate for sequences from the past 12 months. Older lineages are deprioritised, and accuracy is thus worse. Read more about the method and validation against pangoLEARN and UShER in this report: Nextclade as pango lineage classifier: Methods and Validation.

[Feature] Better tree extensions #741

The Nextclade extensions fields in reference tree JSON now contain more information. This makes custom clade-like columns on the results page more informative.

[Feature] Update Auspice

The tree rendering component, Auspice, was updated to version 2.34.1. Refer to its changelog for details.

[Fix] Mutation badges showing incorrect position for first nucleotide #745

We fixed a bug where mutations at position 1 were incorrectly showing position 0 in Nextclade Web

Nextclade Web 1.13.2, Nextclade CLI 1.10.3, Nextalign CLI 1.10.3 (2022-02-15)

This is a bug fix release.

[Fix] Ignore private reversions of deletions when calculating divergence

Since their introduction, individual private reversions of deletions contributed extra to divergence. This was unexpected, so we removed reversions of deletions from consideration when calculating divergence in Nextclade.

[Fix] Sort private substitutions on the tree

Private substitutions are now sorted by position when they are displayed on the tree page

[Fix] “truncated” text in the insertions tooltip

In Nextclade Web, long insertions no longer have a visual bug when the “truncated” text is displayed twice.

Nextclade Web 1.13.1, Nextclade CLI 1.10.2, Nextalign CLI 1.10.2 (2022-02-01)

This is a bug fix release.

[Fix] Exclude reversions of deletions from consideration in “SNP clusters” QC rule

Since introduction of reversions in Nextclade Web 1.13.0 and Nextclade CLI 1.10.0, “SNP clusters” QC rule have been including reversions of deletions when counting clustered private mutations. This was unexpected and produced false-positives for some of the sequences. To fix that, we removed the reversions of deletions from consideration of this QC rule, so that it behaves as previously.

[Fix] Center markers in sequence view in Nextclade Web

In this version we improved the display of various colored markers (mutations, ranges etc.) in sequence and peptide views on the Results page of Nextclade Web. The individual markers are now centered around their position in the sequence (previously left-aligned). Although markers have moved by just a few pixels, this makes positioning more consistent, and ensures that different types of markers are correctly aligned across table rows.

Nextclade CLI 1.10.1 (2022-01-26)

[Fix] Improve error message when the virus properties file is missing #704

Since version 1.10.0 Nextclade CLI have introduced a new required input file, virus_properties.json and datasets and documentation were updated to match. However, users who don’t use datasets might have encountered breakage due to a missing file: when running Nextclade CLI without either --input-dataset of --input-virus-properties flag provided, it would stop with an unclear error message. In this release we improve the error message, making sure that that explains the problem and offers a solution.

This does not affect Nextclade Web or Nextalign CLI.

In order to facilitate upgrades, for most users, we recommend to:

  • download the latest dataset before each Nextclade CLI session (e.g. in the beginning of an automated workflow, or once you start a batch of experiments manually) using nextclade dataset get command

  • use --input-dataset flag instead of individual --input-* flags for dataset files when issuing nextclade run command

  • if necessary, override some of the individual input files using corresponding --input-* flags

[Fix] Add information about virus_properties.json or --input-virus-properties to changelog

In the excitement of bringing the new features, we forgot to mention virus_properties.json or --input-virus-properties in the changelog when Nextclade CLI 1.10.0 was released. We now added this information retroactively.

Nextclade Web 1.13.0, Nextclade CLI 1.10.0, Nextalign CLI 1.10.0 (2022-01-24)

💥 [BREAKING CHANGE] Nextclade: new required input file: virus_properties.json #689

This version introduces a new required input file for Nextclade, called virus_properties.json. This file contains additional information necessary for the “Detailed split of private mutations” feature (see below). The new versions of Nextclade datasets were released to account for this change.

How it affects different tools in the Nextclade family and how to upgrade:

  • Nextclade Web - requires the new file. Migration path: no action is needed. Nextclade Web always uses the latest dataset automatically.

  • Nextclade CLI - requires the new file. Migration path:

    • Download the latest dataset with nextclade dataset get command (dataset tagged 2022-01-18T12:00:00Z or more recent is required)

    • If using --input-dataset flag: the new file will be be picked up automatically from the latest dataset. No further action is needed.

    • If not using --input-dataset flag: add --input-virus-properties flag to pint to virus_properties.json file from the dataset.

  • Nextalign CLI - not affected: it does not use virus_properties.json. Migration path: no action is needed.

[Feature] Detailed split of private mutations (Nextclade) #689

Private mutations (differences between a query sequence and nearest neighbour in reference tree) are now split into three categories:

  1. Reversion to reference genotype

  2. (SARS-CoV-2 only for now) Mutation to a genotype common in at least 1 clade get labeled with that clade

  3. Mutations that are neither reversions nor labeled (called “unlabeled”)

Which category a mutation belongs to is visible by hovering over the “Mut.” column in Nextclade Web and in various “privateNucMutations” fields in csv/tsv/json outputs.

[Change] “Private mutations” QC rule now accounts for reversions and labeled mutations

Reversions and labeled mutations (see feature above) are particularly common in contaminated samples, coinfections and recombination. To draw the user’s attention to such sequences, both types of private mutation now get higher weights in the “Private mutations” QC rule (denoted as “P” in Nextclade Web, and qc.privateMutations in output files).

[Feature] Insertions now also available as amino acids #692

Aminoacid insertions in the query peptides relative to the corresponding reference peptide are now displayed in the “Ins.” column in Nextclade Web and are emitted as “aaInsertions” and “totalAminoacidInsertions” fields in Nextalign and Nextclade output files. Note, that similarly to nucleotide insertions, aminoacid insertions are stripped from the output alignment.

[Fix] Gaps in query sequences are now stripped correctly #696

When query sequences contained gaps (-), e.g. when inputting aligned sequences, gaps were not stripped correctly since v1.7.0 (web v1.10.0), which could lead to - showing up in insertions.

Nextclade Web 1.12.0, Nextclade CLI 1.9.0, Nextalign CLI 1.9.0 (2022-01-11)

[Feature] Handle “-” strand gene translation

The strand column in the gene map file was previously ignored. Now the “-” strand genes are correctly reverse-complemented before translation.

[Feature] Update SARS-CoV-2 clade schema

The schema that illustrates the tree of SARS-CoV-2 clade on the main page of Nextclade Web was updated to account for recent clade changes.

[Fix] Center mutation markers in sequence views

Previously the mutation markers in sequence views in results table of Nextclade Web were anchored to their position in the sequence view on their left edge. They are now correctly centered around their position, such that the center of marker is at the corresponding position in the sequence.

[Fix] Correct exit codes

Nextclade CLI and Nextalign CLI could sometime exit with incorrect exit code. This has been fixed.

[Fix] Correctly handle empty peptides

The alignment algorithm in Nextclade CLI and Nextalign CLI could sometimes produce translation that is longer than expected, when the translated sequence is empty. Now the empty peptides are discarded and a warning is issued.

[Fix] Ensure array boundaries

In rare cases Nextclade and Nextalign algorithms could sometimes read past the end of arrays, which previously went undetected. This is now fixed.

Nextclade Web 1.11.1, Nextclade CLI 1.8.1 (2022-01-07)

[Hotfix] Nextclade CLI crashes on macOS when reading JSON tree (#680)

Fixes crash Error: [json.exception.invalid_iterator.214] cannot get value | when reading JSON tree on macOS

Nextclade Web 1.11.0, Nextclade CLI 1.8.0 (2022-01-04)

[Feature] Better dataset selector

Nextclade Web has got the new dataset selector on the main page, which clearly presents all available dataset and is more convenient to use. The last selected dataset is remembered, so that it dow not need to be selected again on subsequent runs. This also fixes rare problems and inconsistencies, when incorrect dataset might have been used despite another dataset is being selected.

[Feature] Dynamic node attributes

Nextclade CLI and Nextclade Web now can assign multiple clade-like attributes to the analyzed sequences.

If input reference tree JSON contains an array of attribute keys attached to the

meta.extensions.nextclade.clade_node_attrs_keys = ["my_clades", "other_clades"]

For each query sequence, during clade assignment step, Nextclade will lookup values of these keys from .node.node_attrs property of the nearest reference tree node and assign them to the corresponding properties of the newly attached nodes, just like it happens with the usual Nextstrain clades. This feature is currently not used with the default datasets, but we are planning to extend the reference trees in these datasets to take advantage of this feature. Curious users can start experimenting with their own reference trees and custom nomenclatures. Learn more about clade assignment in Nextclade in the documentation.

[Performance] Optimize match table lookups

In this version, alignment algorithm behind Nextclade and Nextalign is now up to 10% faster due to performance improvements in nucleotide and aminoacid table lookups.

Nextclade Web 1.10.0, Nextclade CLI 1.7.0 (2021-12-09)

[Performance] Optimize FASTA parser

The new optimized FASTA parser makes Nextclade CLI up to 60% faster and Nextalign CLI up to 500% faster when used on high-core-count machines. Nextalign and Nextclade now scale much better with number of available threads and rely less on I/O speed. See #632 for more details.

[Fix] Avoid crash due to buffer overflow

This is an internal fix of a problem that might have lead to a crash in rare cases, when coordinate map array was accessed beyond it’s size.

Nextclade Web 1.9.0, Nextclade CLI 1.6.0 (2021-12-07)

[BREAKING CHANGE] [Fix] Remove unused CLI flags for aminoacid seed alignment

Seed matching step was removed in Nextalign and Nextclade CLI 1.5.0, however the command-line parameters previously providing configuration options for this step were not. In this version, the now unused family of --aa-* CLI flags is removed. Migration path: remove these flags from Nextclade CLI invocation.

[Feature] Make “results” and “tree” pages full-width in Nextclade Web

The content in “results” and “tree” pages of Nextclade Web now occupies entire width available in the browser window, so that more useful information can be presented. In particular, sequence views should be more readable, especially on larger screens.

[Feature] Dynamically adjust width of AA mutation markers

Nextclade Web now dynamically adjusts width of AA mutation markers in sequence views to avoid overly long mutation groups that may obscure other mutations. This is particularly important for sequences with high density of mutations.

[Feature] Reduce probability of WebWorker timeout errors

On low-end computers, computers with slow internet connection or computers under heavy background resource utilization Nextclade Web could sometimes produce WebWorker timeout errors. This has been addressed by increasing the timeout interval from 10 seconds to 1 minute.

If this is not enough, consider freeing up system memory and CPU resources by closing unused applications and browser tabs, processing sequences in smaller batches, or using Nextclade CLI.

[Fix] Fix off-by-one errors in insertion positions

Nextclade Web, Nextclade CLI and Nextalign could sometime produce incorrect positions for nucleotide insertions - off by 1 nucleotide to either direction. This was fixed in the new version.

[Fix] Don’t add private reversions when query aminoacid is unknown

In previous versions, if a query sequence, for one reason or another, had aminoacid X at the position where the parent tree node had a private mutation, Nextclade was incorrectly calling a new reversion at this position. This is now fixed and Nextclade will not report a reversion. We assume that in these situations the sequencing defect is more likely than a reversion.

[Fix] Avoid potential dereference of nullopt

This is an internal fix of a problem that might have lead to a crash, but never manifested so far.

[Fix] Avoid error when --genes flag contains a subset of genes

Nextclade 1.8.0 introduced an error when --genes flag contained only a subset of genes from the gene map. This is now resolved.

Nextclade Web 1.8.1, Nextclade CLI 1.5.1 (2021-11-27)

[Fix] Avoid crash when relative shift (bandwidth) is larger than query length

In rare cases Nextclade 1.5.0 could crash during alignment of some of the short peptides. This has been fixed in this version.

[Fix] Improve peptide alignment

We improved heuristics which determine band width and shift for the peptide alignment, so that some of the peptides with large insertions can now be aligned.

Nextclade Web 1.8.0, Nextclade CLI 1.5.0 (2021-11-27)

[Feature] Improve peptide alignment

We improved the algorithm for peptide alignment. Instead of performing seed matching in order to estimate width of the band and shift parameters for peptide alignment, we now deduce these parameters from the nucleotide alignment results. This allows Nextclade to align and analyse some of the peptides that would fail previously, including for low quality gene sequences and sequences with large deletions or deletions close to the beginning.

[Fix] Account for the partially covered last codon in frame shift

Nextclade previously did not account for the last codon in a frame shift if that codon was covered by the shift only partially. In this version we count the partial codons. This solves an issue with empty frame shift codon ranges being reported in rare cases. This change may result in some of the frame shifts to be longer by 1 codon in the new version compared to previous versions of Nextclade. The nucleotide length of frame shifts stays the same.

None of the ignored frame shift ranges in the QC configurations of the existing dataset are affected by this change. But if you use a custom QC configuration, some of the frame shifts in the list of ignored frame shifts might need to be adjusted.

[Fix] Fix crashes with Nextclade CLI on macOS

In this version we fixed a crash with segmentation fault that could sometimes happen with Nextclade CLI on macOS.

Nextclade Web 1.7.4 (2021-11-16)

This is a bugfix release for Nextclade Web.

[Fix] Ensure that URL parameters always have effect

Due to an internal error in Nextclade Web, sometimes inputs provided using URL parameters were ignored. This has been fixed now. Only users and external integrations which explicitly use URL parameters to pass data into Nextclade Web were affected. See documentation for Nextclade Web: URL parameters for more details.

[Feature] Update Auspice

In this release we updated Nextstrain Auspice (the tree visualization package) to version v2.32.1, with the new features and bug fixes. See Auspice project’s changelog for more details.

Nextclade Web 1.7.3, Nextclade CLI 1.4.5 (2021-11-04)

This is a bugfix release for Nextclade Web and Nextclade CLI.

After Nextclade Web version 1.7.3 and Nextclade CLI version 1.4.3 the “Private mutations” QC check was incorrectly counting individual deletions, rather than contiguous ranges of deletions, as it was before that. This resulted in QC score being too high for sequences that have many deletions. In this version we ensure again that the deletion ranges are counted. This should now bring the “Private mutations” QC score back to what is expected.

Nextclade CLI 1.4.4 (2021-11-01)

This is a bugfix release for Nextclade CLI.

[Fix] Prevent Nextclade CLI failing with error “Library not loaded”

The mistake in the Nextclade CLI build was fixed and now it should not look for external libraries on macOS.

Nextclade Web 1.7.2, Nextclade CLI 1.4.3 (2021-11-01)

This is a bugfix release for nextclade Web and Nextclade CLI.

[Fix] Properly display private aminoacid mutations on the tree

This release ensures that both nucleotide and aminoacid mutations on the branches of the phylogenetic tree leading to the nodes representing analyzed sequences are properly displayed and that the corresponding information is correctly written to the output tree JSON. Similarly to how it’s done in the main Nextstrain project, these mutations are private, i.e. called relative to the parent node.

The internal reorganization of the code responsible for finding private mutations might also make Nextclade slightly faster and to consume less memory.

Nextclade CLI 1.4.2 (2021-10-26)

This is a small bugfix release and only affects Nextclade CLI. Nextclade Web and Nextalign CLI are unchanged.

[Fix] Crash in dataset list command on macOS

Nextclade CLI could sometimes crash on macOS when issued a dataset list command due to an internal error. This was now fixed.

[Fix] Uninformative error message when QC config is missing

When both --input-dataset and --input-qc-config flags are omitted Nextclade CLI now produces a more informative error message, as was intended. Thanks Peter Menzel (@pmenzel) for the report.

Nextclade Web 1.7.1, Nextclade CLI 1.4.1 (2021-10-05)

[Fix] Format of CSV/TSV output files

We fixed a few mistakes in CSV and TSV output files, such as missing last delimiter when the “errors” column is empty, inconsistent application of quotation marks and incorrect numeric formats - decimals when integers should be.

Nextclade Web 1.7.0, Nextclade CLI 1.4.0, Nextalign CLI 1.4.0 (2021-09-30)

[Feature] Frame shift detection

Nextclade now can detect reading frame shifts in the analyzed sequences and report them in the web interface as well as in the output files.


Frame shift occurs when a sequence contains a range of indels (deletions and/or insertions) and the total length of this range is not divisible by 3. In this case the grouping of nucleotides into codons changes compared to the reference genome and the translation of this region manifests in the peptide as a range consisting almost entirely from aminoacid mutations.

Frame shifts can often be found towards the end of genes, spanning until or beyond the gene end. Sometimes, when indels occur in multiple places, the ones that follow can compensate (cancel) the frame shift caused by the previous ones, resulting in frame shift that spans a range in the middle of the gene. In these cases, due to extreme changes in the corresponding protein, the virus is often not viable, and are often a sign of sequencing errors, however, cases of biological frame shifts are also known. Sometimes, frame shifts can also introduce premature stop codons, causing the gene to be truncated. The premature stop codons within frame shifts are currently not (yet) detected by Nextclade.

Previous behavior

Previously, Nextclade was not able to detect frame shifts ranges specifically. Instead, a frame shift was suspected in a gene when the gene length was not divisible by 3 (hinting to indels of a total length not divisible by 3). In these cases the entire gene was omitted from translation, a warning was issued, and aminoacid changes in that gene could not be detected and reported.

New behavior

Now that Nextclade knows the exact shifted ranges for each gene, it translates the genes with frame shifts, but masks shifted regions with aminoacid X (unknown aminoacid). The aminoacid changes in non-frame-shifted regions within such genes are now reported. This means that in some sequences Nextclade can now detect more mutations than previously. The affected genes are now emitted into the output fasta files instead of being discarded.

Frame shifts report in Nextclade Web

Frame shifted ranges are denoted as red horizontal (strikethrough) lines with yellow highlights in the “Sequence view” and “Gene view” columns of the results table of Nextclade Web. The new “FS” column shows number of detected frame shifts: unexpected and known (ignored) ones (see the QC changes below for more details).

Frame shifts report in the output files

Frame shifted ranges (in codon coordinates) are reported in CSV and TSV output files in column named frameShifts and in JSON output file under frameShifts property.

[Feature] Improved frame shift quality control (QC) rule

Previously, frame shift quality control rule (denoted as “F” in Nextclade Web) was relying on gene length to reason about the presence of frame shifts - if a gene had length not divisible by 3 - a warning was reported.

Now this rule uses the detected frame shift ranges to make the decision. There now can be more than one frame shift detection per gene and Nextclade now accounts for compensated frame shifts, which were previously undetected.

In the new implementation of the Frame Shift QC rule, some of the frame shift ranges are considered “ignored” or “known” (as defined in qc.json file of the dataset). These frame shifts don’t cause QC score penalty.

[Feature] New version of SARS-CoV-2 dataset

We simultaneously release a new version of SARS-CoV-2 dataset, which contains an updated tree and clades, as well as a new set of frame shift ranges and stop codons to ignore. For the details refer to the dataset changelog.

Nextclade Web uses the latest version of the datasets by default and CLI users are encouraged to update their SARS-CoV-2 dataset with the nextclade dataset get command.

[Feature] Optional translation beyond first stop codon

By default Nextalign CLI and Nextclade CLI translate the whole genes, even if stop codons appear during translation. In this release we added a flag --no-translate-past-stop, which if present, makes translation to stop on first encountered stop codon. The remainder of the peptide is the filled with gap (-) character. This might be useful in some cases when a more biological behavior of translation is desired.

Nextclade Web 1.6.0, Nextclade CLI 1.3.0, Nextalign CLI 1.3.0 (2021-08-31)

[Feature] Nextclade Datasets

In this release we introduce Nextclade Datasets, a convenient way of downloading files required for Nextclade analysis. Now data files (such as reference sequences, reference tree and others) are served for all users from a central dataset repository.

Datasets in Nextclade Web

The dropdown menu in Nextclade Web now allows user to chose between available datasets before analysis and automatically fetches the latest files from the central dataset repository.

Datasets in Nextclade CLI

Nextclade CLI gained new commands and flags to manage datasets:

  • nextclade dataset list command allows to list available datasets

  • nextclade dataset get command allows to download a dataset to a directory

  • nextclade run command runs the analysis (for compatibility with old version the word run can be omitted) and the new --input-dataset flag allows to specify the directory of the previously downloaded dataset

Quick example

nextclade dataset get --name=sars-cov-2 --output-dir=data/sars-cov-2

nextclade run \
  --input-fasta=data/sars-cov-2/sequences.fasta \
  --input-dataset=data/sars-cov-2 \
  --output-tsv=output/nextclade.tsv \
  --output-tree=output/nextclade.auspice.json \

See Nextclade CLI documentation for example usage and Nextclade Datasets documentation for more details about datasets.

Note, data updates and additions are now decoupled from Nextclade releases. The datasets will be updated independently. Read datasets documentation on dataset versioning and a trade-off between reproducibility or results vs latest features (e.g. clades and QC checks).

[Feature] Flu datasets in Nextclade

With this release, additionally to the previously available SARS-CoV-2 dataset, we introduce 4 new Influenza datasets:

  • Influenza A H1N1pdm (rooted at “A/California/07/2009”)

  • Influenza A H3N2 (rooted at “A/Wisconsin/67/2005”)

  • Influenza B Victoria (rooted at “B/Brisbane/60/2008”)

  • Influenza B Yamagata (rooted at “B/Wisconsin/01/2010”)

These datasets allow Nextclade to analyze sequences for these pathogens.

Nextclade Datasets feature simplifies adding new pathogens in Nextclade and we hope to add new datasets in the future.

[Deprecation] Data files in Nextclade GitHub repository are deprecated

The files in /data directory of the Nextclade GitHub repository are now deprecated in favor of Nextclade Datasets feature.

These files will be deleted from repository on October 31st 2021, but will be still available in git history. We do not recommend to use these files, as they will no longer be updated.

Nextclade Web 1.5.4 (2021-08-16)

Nextclade CLI 1.2.3, Nextalign CLI 1.2.3 (2021-08-12)

This release only affects docker images. There are no actual changes in Nextclade CLI, Nextalign CLI or Nextclade Web. They should behave the same as their previous versions.

[Change] Add ca-certificates package into Debian docker images

For better compatibility with workflows, this adds CA certificates into the Debian docker images. They are necessary for SSL/TLS to be working, in particular when fetching data.

These are the default images when you pull nextstrain/nextclade and nextstrain/nextalign without specifying a tag or specifying one of the debian tags. Issue docker pull nextstrain/nextclade to refresh the local image to the latest version.

Nextclade CLI 1.2.2, Nextalign CLI 1.2.2 (2021-08-12)

This release only affects docker images. There are no actual changes in Nextclade CLI, Nextalign CLI or Nextclade Web. They should behave the same as their previous versions.

[Change] Add ps utility into Debian docker images

This adds ps utility into the Debian docker images. For better compatibility with nextflow workflows.

These are the default images when you pull nextstrain/nextclade and nextstrain/nextalign without specifying a tag or specifying one of the debian tags.

Nextclade Web 1.5.3, Nextclade CLI 1.2.1, Nextalign CLI 1.2.1 (2021-08-10)

[Bug fix] Incorrect ranges in “SNP clusters” QC rule

“SNP clusters” QC rule could sometimes produce ranges of SNP clusters with incorrect boundaries (begin/end). This is now fixed.

[Bug fix] Crash with incorrect colorings in the input reference tree

Fixed a rare crash in Nextclade CLI and Nextclade Web when input reference tree contained incorrect fields in “colorings” section of the tree JSON file.

[Change] Cleanup the tree node info dialog

Removed redundant text entries in the tree node info dialog (when clicking on a node in the tree view). All these entries are still presented in the results table.

[Change] Cleanup the tree node info dialog

Improved wording of the message in the “Private mutations” QC rule tooltip.

[Change] New docker container images for Nextclade CLI and Nextalign CLI

New Docker images are available based on Debian 10 and Alpine 3.14. Debian images contain a set of basic utilities, such as bash, curl and wget, to facilitate usage in workflows.

You can choose to use the latest available version (:latest or no tag), or to freeze a specific version (e.g. :1.2.1) or only major version (e.g. :1), or a base image (e.g. :debian) or both version and base image (:1.2.1-debian), or mix and match.

Tag :latest now points to :debian. For previous behavior, where :latest tag pointed to FROM scratch image, use tag :scratch.

Full list of tags is below.

Image based on Debian 10 is tagged:



Image based on Alpine 3.14 tagged:


Previously default FROM scratch image is tagged:


Nextclade Web 1.5.2 (2021-07-11)

[Bug fix] Workarounds for Safari web browser

The following problems are addressed:

  • crash due to Safari requiring incorrect Content Security Policy when using WebAssembly modules (see issue #476)

  • results table and tree not being displayed correctly or at all, due to flexbox layout bugs in older versions of Safari

These patches only affect users of Safari web browser, and should not affect other users.

Despite these fixes, for best experience and speed, we still recommend using Nextclade with Chrome or Firefox web browsers instead of Safari.

Nextclade Web 1.5.1 (2021-07-08)

[Bug fix] Better clade assignment

In this release we updated the default reference tree. The previous tree had several basal 20A branches misplaced in clade 20C, resulting in incorrect clade calls. The new tree addresses this issue and generally improves the quality of the tree by removing outlier sequences. Nextclade Web already have the new tree, and users of Nextclade CLI are encouraged to download and use the new tree.json.

Nextclade Web 1.5.0 (2021-07-01)

[New feature] New SARS-CoV-2 clades: 21G (Lambda) and 21H

The updated default SARS-CoV-2 reference tree now contains the recently named Nextstrain clades 21G (Lambda) and 21H, corresponding to Pango lineage C.31 and B.1.621. This allows Nextclade Web to detect these clades. Users of Nextclade CLI are encouraged to download and use the new tree.json.

Note, that gene ORF3a of clade 21H has a 4-base deletion towards the end of the coding sequence, resulting in a frameshift and a protein truncation. This frameshift is currently flagged as a potential QC issue though it likely is biological (present in the viral genome).

[Change] Adjusted Quality control (QC) scores for “Frame shifts” (F) and “Stop codons” (S) rules

We adjusted QC score calculation for “Stop codons” and “Frame shifts” rules, such that each detection (of a misplaced stop codon or a frame shift, respectively) results in adding 75 to the score (the higher the score the worse). This lowers the score for sequences with only 1 frame shift and 1 stop codon. This is to account for the findings is clade 21H, as described above.

[Bug fix] Removed unsequenced regions of length 0

We fixed a bug where the empty unsequenced regions on either ends of a fully sequenced sample, were incorrectly displayed as ranges of length 1 in nucleotide sequence view. Now, in case of full sequences, there will be no unsequenced areas drawn, as expected.

Nextclade Web 1.4.0, Nextclade CLI 1.2.0, Nextalign CLI 1.2.0 (2021-06-24)

Nextclade Web and Nextclade CLI

[New feature] Quality control (QC) rules: “Frame shifts” (F) and “Stop codons” (S)

We have added two additional QC rules designed to flag sequences that likely do not correspond to functional viruses.

“Stop codons” rule (S)

Checks if any of genes have premature stop codons. A stop codon within a gene will now result in a QC warning, unless it is one of the very common stop codons in ORF8 at positions 27 or 68. This list of ignored stop codons is defined in the stopCodons.ignoredStopCodons property of the QC configuration file (qc.json) and can be adjusted. The default list might be extended in the future.

Results of this check are available in JSON, CSV, and TSV output files as qc.stopCodons. In Nextclade Web it is displayed in the “QC” column of the results table as a circle with letter “S” in it.

“Frame shifts” rule (F)

Checks and reports if any of the genes have a length that is not divisible by 3. If at least one such gene length is detected, the check is considered “bad”. Failure of this check means that the gene likely fails to translate.

Results of this check are available in JSON, CSV, and TSV output files as qc.frameShifts. In Nextclade Web it is displayed in the “QC” column of the results table as a circle with letter “F” in it.

[Change] Quality control (QC) configuration file updated

New entries were added to the QC configuration file (qc.json) for the two new rules. For Nextclade CLI users, we recommend to download the new file from our data/ directory on GitHub.

This file is now versioned using the new schemaVersion property. If the version of qc.json is less than the version of Nextclade CLI itself, users will now receive a warning.

All QC checks are now optional: a rule that has no corresponding config object is automatically disabled.

[Bug fix] CSV/TSV output files corrected

This release corrects a few issues with CSV/TSV output files:

  • quotation marks are now escaped correctly

  • special characters are now surrounded with quotes

  • line breaks are now encoded as CR LF for better compatibility and consistency with Nextclade 0.x

  • column shifts are now prevented in CSV/TSV results when some of the QC checks are disabled, as disabled checks return empty strings as result

Nextclade Web

[Bug fix] Ranges displayed off-by-one in GUI

Ranges displayed in Nextclade Web were off-by-one due to a front-end bug. Ends of ranges (right boundaries) were extending one unit too far. This means that alignment ranges, missing nucleotide ranges, ranges of gaps, not-sequenced ranges, were all displayed 1 unit longer than they should have been be. This release fixes this problem.

Only the display in the results table of Nextclade Web is affected. None of the output files, either produced by Nextclade CLI or by Nextclade Web are affected.

[New feature] Insertions displayed in the results table

A new column for insertions (abbreviated as “Ins.”) was added to the results table of Nextclade Web. It shows the total number of inserted nucleotides. Hovering reveals more details about each insertion. This information was already available in the output files, and is now also shown in the GUI.

Nextalign CLI

There are no changes in Nextalign in this release, but we keep versions of Nextalign and Nextclade in sync.

Nextclade Web 1.3.0, Nextclade CLI 1.1.0, Nextalign CLI 1.1.0 (2021-06-22)

This series of releases adds a new output file nextclade.errors.csv to all tools and adds the output file nextclade.insertions.csv to Nextclade Web (it has already been available for users of CLI tools).

nextclade.insertions.csv contains information about insertions in the following columns: seqName, insertions. The column insertions contains a list of nucleotide insertion entries delimited by semicolon. Each nucleotide insertion entry consists of the position of the first nucleotide and the inserted fragment, delimited by colon.

nextclade.errors.csv contains information about errors, warnings and gene processing failures in the following columns: seqName, errors, warnings, failedGenes. All lists are semicolon-delimited.

In both files, each row corresponds to one sequence, identified by seqName.

1.2.0 (2021-06-21)

Nextclade web application

In this release we improve how low-memory conditions are handled in the Nextclade web application. From now on, when Nextclade runs out of system memory (RAM), you will receive an extensive error message with a list of possible ways to address the issue.

A settings dialog was added, allowing the user to change the number of CPU threads. It can be opened using the new “Settings” button on the top panel. In Chrome and other Chromium-based browsers (Edge, Brave, etc.) the dialog also displays the amount of memory available and on this basis provides a suggestion for the number of CPU threads for optimal performance.

Note that these user settings persist across browsing sessions, Nextclade runs, page refreshes and Nextclade version updates.

1.1.0 (2021-06-15)

Nextclade web application

This release makes gene translation failures more apparent in Nextclade Web application.

Previously, when a gene failed to be translated, Nextclade showed a blank row in the gene view in the results table and it was hard to understand whether there were no aminoacid changes or the translation had failed. Now, these rows will be colored in dark gray, contain a message, and some detailed information in the tooltip.

This should hopefully make it clearer which genes are missing from the results and why.

1.0.1 (2021-06-12)

Nextclade web application

This release fixes a problem in Nextclade web application where non-fatal errors during sequence processing (such as sequence alignment failures) were crashing the whole application, displaying an error dialog window.

Now sequence analysis errors are reported right in the table, as before.

Thanks Joan Gibert (@Tato14) for the bug report (#434)

1.0.0 (2021-06-11)

This major release brings many new features and bug fixes.

We release new versions of all of the tools in Nextclade family: Nextclade web application, Nextclade CLI and Nextalign CLI.

With this major release we introduce breaking changes. In particular, changes to input and output file formats as well as to arguments of command-line tools. The breaking changes are marked with “💥 BREAKING CHANGE” prefix. It is recommended to review these changes.

Below is a description of changes compared to version 0.14.4.


Changes that affect all tools:

  • The underlying algorithm has been completely rewritten in C++ (versions 0.x were implemented in JavaScript), to make it faster, more reliable and to produce better results. Web application now uses WebAssembly modules to be able to run the algorithm.

  • 💥 BREAKING CHANGE: Nextclade now uses Nextalign algorithm for the alignment and translation of sequences. This means that nucleotide alignment is now aware of codon boundaries. Alignment results and some of the analysis results might be slightly different, depending on input sequences.

  • Similarly to Nextalign, Nextclade can now output aligned peptides. In general, Nextclade is a superset of Nextalign and can do everything Nextalign can, plus more (for the price of additional computation).

  • 💥 BREAKING CHANGE: Gene maps are now only accepted in GFF3 format. See an example at GitHub. Migration path: use provided default gene map or convert your custom gene map to GFF3 format.

  • 💥 BREAKING CHANGE: JSON results file format has changed. It now contains an object instead of an array as a root element. The array of results is now attached to the results property of the root object. Migration path: instead of using output array directly use output.results now.

  • 💥 BREAKING CHANGE: JSON fields and CSV/TSV columns totalMutations and totalGaps were renamed to totalSubstitutions and totalDeletions, for consistency. Migration path: use new JSON property or column names.

Nextclade web application v1

Web application mostly maintains it previous interface, with small improvements and with adjustments to the new underlying algorithm implementation.

  • New “Download” dialog was introduced, which replaces the old “Export” dropdown menu. It can be toggled by clicking on “Download” button on “results” page.

  • Aligned sequences now can be downloaded in the new “Download” dialog.

  • Translated aligned peptides now can be downloaded in the new “Download” dialog.

  • “Sequence view” column of the results table now can be switched between “Nucleotide sequence” view and “Gene” view. In “Gene” view, aminoacid mutations and deletions are displayed for a particular gene.

  • “Sequence view” can also be switched by clicking on a gene in “Genome annotation” panel below the results table.

  • Results table tooltips has been cleaned up, information was spread between corresponding columns, in order to fit the tooltips fully to common screen sizes. For example, list of mutations is now only available when mouse over the “Mut.” column.

  • The tooltips to explore diversity have become much more informative. For amino acid changes, we now provide a nucleotide context view that is particularly helpful for complex mutations. Consecutive changes are merged into one tooltip.

Nextclade CLI v1

Nextclade CLI v1 is a replacement for Nextclade CLI v0. It is recommended for advanced users, batch processing and for integration into pipelines.

  • Nextclade CLI 1.0.0 is available on GitHub Releases and on DockerHub:

  • Node.js is no longer required. Nextclade is now distributed as a standalone native executable file and is ready to be used after download. The latest version is available for major platforms at Github Releases page.

  • The limitation of Node.js on maximum input file size (500 MB) is now removed. Nextclade should be able to handle large files and to use I/O resources more efficiently. Nextclade will stream sequence data to reduce memory consumption.

  • Nextclade CLI is much faster now. Depending on conditions, we measured speedups up to 5x compared to the old implementation.

  • 💥 BREAKING CHANGE: Nextclade no longer includes any default data. The following flags for input files were previously optional but are now required: --input-root-seq, --input-tree, --input-qc-config. The --input-gene-map flag is optional, but is highly recommended, because without gene map, the alignment will not be informed by codon boundaries and translation, peptide output and aminoacid change detection will not be available. The example SARS-CoV-2 data can be downloaded from GitHub and used as a starting point. Refer to built-in help for more details (--help). Migration path: download the default data add new flags if you you were previously not using them.

  • 💥 BREAKING CHANGE: Reference (root) sequence is no longer being written into outputs by default. Add --include-reference flag to include it. Reference peptides will also be included in this case. Migration path: use the mentioned flag if you need reference sequence results included into the outputs.

  • 💥 BREAKING CHANGE: Nextclade might write aligned sequences into output files in the order that is different from the order of sequences in the input file. If order is important, use flag --in-order to enforce the initial order of sequences. This results in a small runtime performance penalty. Refer to built-in help for more details (--help). Migration path: use the mentioned flag if you need results to be written in order.

Nextalign CLI v1

Nextalign is a new tool that contains only the alignment and translation part of the algorithm, without sequence analysis, quality control, tree placement or other features of Nextclade (making it faster). It is available on Github Releases page. Refer to built-in help for more details (--help).

Deprecation of Nextclade CLI v0

  • Nextclade CLI 0.x is now deprecated and not recommended for general use. We recommend all users to migrate to version 1.x. Old versions will still be available on NPM and Docker Hub, but there are no plans to release new versions. Please reach out to developers if you still need support for versions 0.x.

  • Container images hosted on Docker Hub will now resolve to Nextclade family v1. In order to pull the version of family 0.x, use tag :0 or a full version explicitly, for example :0.14.4:

docker pull nextstrain/nextclade:0
docker pull nextstrain/nextclade:0.14.4

We hope you enjoy the new release and as always, don’t hesitate to reach out to Nextstrain team on Nextstrain discussion forums or on GitHub.

0.14.4 (2021-06-07)

This version updates the default SARS-CoV-2 reference tree with new Nextstrain clade designations and alias names for the WHO VoC and VoI names, so that Nextclade now can detect these clades.

See also:

0.14.3 (2021-05-20)

The default SARS-CoV-2 reference tree is updated. It allows Nextclade to detect the new Nextstrain clade 21A.

See also:

  • Current Nextstrain SARS-CoV-2 clade definitions in nextstrain/ncov GitHub repository: clades.tsv

  • Clade 21A in Nextstrain global build: link

  • Variant 21A/S:154K on link

  • Variant 21A/S:478K on link

0.14.2 (2021-03-30)

We updated Nextstrain Auspice (the tree renderer) from version 2.18.2 to version 2.23.0, with bug fixes and new features. In particular, the filtering functionality is now similar to what can be found on We now color the tree by clade and filter by node type (”reference” vs “new” nodes). See Auspice changelog for more details.

In other news, Nextalign 0.2.0 is now available. See Nextalign changelog on GitHub Releases page.

Bug Fixes

  • account for the fact that the length of the gene can be different from %3 before stripping (6fc99a0)

  • ensure backwards compatibility with the old GFF parser (07156b7)

  • ensure GFF3 spec compliance of gene map parser (2355d3d)

  • integer underflow in parallelism parameter to tbb pipeline (42664e7)

  • prevent local variable shadowing (64c5661)

  • prevent potential out-of-bounds array access (4663b32)

  • query results are returned as alignment with insertions stripped, hence gap symbols in the reference should be stripped (01e8628)

  • remove erroneous check for length%3==0 before gap removal (d95761d)


  • add more tree filtering criteria (d852122)

  • add tree filtering from auspice (27eb67e)

  • add tree filters summary (67c671e)

  • adjust help text and default flags for new data location (27fd88e)

  • color tree by clade and filter by Node Type - New by default (79de7cd)

  • output aligned reference sequence, make ref outputs optional (49da3f5)

  • remove old tree filter panel (13af3ad)

  • remove separate reference sequence output file (5a899e2)

  • rename flag --write-ref to --include-reference (36c52e9)

  • upgrade auspice to 2.23.0 (276675b)

0.14.1 (2021-03-12)

This release of Nextclade adjusts the default Quality Control configuration to account for ever-increasing diversity of circulating SARS-CoV-2. The following default QC parameters have been changed:

Rule “Private mutations”:

  • “typical” (expected number of mutations) increased from 5 to 8

  • “cutoff” (number of mutations to trigger QC warning) increased from 15 to 24

Rule “Mutation clusters”:

  • “clusterCutOff” (number of mutations within window to trigger a warning) increased from 4 to 6

As always, users can provide their own QC configuration, to override the defaults, if these changes are not desirable.

Additionally, Nextalign 0.1.7 is now available, which fixes rare crash in peptide alignment, when a low-quality sequence has not enough seed positions.

Don’t hesitate to provide feedback, report issues and share ideas on GitHub.

Bug Fixes

  • prevent crashing when not enough good gene seed positions (6233aa2)


  • relax SARS-CoV-2 QC parameters to account for increasing diversity of circulating virus

0.14.0 (2021-03-08)

This is a maintenance release which updates the default reference tree with more recent genomes and increases the number of sequences in it to better reflect circulating diversity.

Additionally, we extend our list of partial codon patches (first introduced in version 0.12.0), in order to correctly detect deletions involving spike protein positions 141 and 142.

There are also some small improvements in the user interface.

As always, don’t hesitate to provide feedback, report issues and share ideas on GitHub.

The full list of changes is below.

Bug Fixes

  • add additional directions to patch partial codons (d266fa7)

  • Correct Node.js version requirement for the Nextclade CLI (24c7b76)

  • don’t attempt to create directories from empty paths (576eb9f)

  • increase clade column width to accommodate longer clade names (557d3d2)

0.13.0 (2021-02-17)

🚀 Announcing Nextalign

Today we announce Nextalign, the new command-line tool and the algorithm for viral genome alignment.

Nextalign is based on the alignment algorithm used in Nextclade, ported to C++ and made into the standalone command-line tool. Nextalign development is currently primarily focused on SARS-CoV-2, but it can be used with any virus (and if you encounter any difficulties, let us know on GitHub).

There are 2 ways of using Nextalign:

Learn more about Nextalign here.

💥 [BREAKING CHANGE] Nextclade has moved!

Once started as a prototype project at NeherLab, Nextclade is a part of Nextstrain project for some time now. For consistency, we will now publish Nextclade in Nexstrain-branded NPM and DockerHub repositories:

We added a “Downloads” section on the main page of Nextclade web application. Additionally, this release contains a few fixes to website’s look & feel and slightly improves user experience on mobile devices.

Bug Fixes

  • accept 0-based frames as per gff spec (5c3af28)

  • adjust test expectations to new default parameters (9a457c3)

  • center main page content properly (460464d)

  • check for length being a multiple of 3 before codon aware stripping (a33dd6b)

  • correct error message formatting (016e924)

  • correct gene length check (c6e488f)

  • end of gene in gene extraction and cli logging (16626fa)

  • fix non-responsive elements on main page (36fa501)

  • only protect gaps on the edges (fef98c0)

  • pass gff filename to csv parser for more descriptive errors (6843cc2)

  • pass the score-gap-open-out-of-frame option from cli into lib (f9a435d)

  • remove excessive padding around upload box (34e7bce)

  • remove gap under the footer (d4db78b)

  • remove horizontal overflow from main page (d1061f5)

  • throw error when stripped sequence has zero length (2b74257)


  • add an option to allow out-of-order writes (22702e3)

  • add downloads section to nextclade main page (96bd007)

  • add in-order CLI flag and make out-of-order behavior the default (e722504)

  • add logger with configurable verbosity (0a62c1f)

  • add team portraits to main page (7566b27)

  • add validation for numeric cli params (3915334)

  • adjust team credits styling and text (ba7f0ab)

  • clarify descriptions for score-gap-open* family of cli options (3765de8)

  • differentiate gap open cost outside of genes, in frame, and out of frame (a5ead08)

  • don’t use frame from gff (d9f3023)

  • expose nextalign algorithm params in cli (852c2b1)

  • expose nextalign algorithm params in library (5e3900a)

  • extend cli param descriptions (a4ac1d5)

  • extend project description (30d104e)

  • further improve logging (2f593f0)

  • improve warning messages during gene extraction (07e2c38)

  • limit clade schema size (a75dace)

  • rename negative ‘scores’ to ‘penalties’ (17bb582)

  • skip minimal sequence length check for aminoacid alignment (394ca8e)

  • validate codon-related penalty scores only if genes are provided (9627cfc)

0.12.0 (2021-01-21)

This release provides a temporary solution for the problem when certain aminoacid deletions are not being detected properly.

We now maintain a list of “patches” to selectively modify the sequence during translation: the partial codons at the beginning and end of the deletion are combined to one complete codon. This way, deletions that start within a codon no longer result in invalid peptides, and some of the well-known deletions are now properly recognized.

See pull request #308

Thanks @bede, @dbrandtner, @giuseppina950, @iskandr, @SarahNadeau for their reports.

At the same time we are working on a more permanent solution.

Please report issues and leave feedback on GitHub

Bug Fixes

  • rename variable and fix condition (40ba67f)


  • allow codon padding to happen forward and backward for custom cases (945ca77)

  • properly translate out-of-frame gaps (c34a640)

  • refactor the codon patching by gene and deletion start: (7e258d8)

0.11.2 (2021-01-18)

This release updates default reference tree and adds new clade designations.

Additionally, it fixes a problem of excess divergence in cases where there are gaps in the reference node we attach to. These gaps no longer contribute to divergence.

Bug Fixes

  • avoid counting every gap in a new node as one divergence unit (51bfce6)

0.11.1 (2021-01-07)

BREAKING CHANGE: Starting with this version Nextclade uses the new Nextstrain clade definitions for SARS-CoV-2. “What are the clades?” section on the main page was updated accordingly. For more information on the updated clade definitions, see our blog post.

Additionally, Nextclade alignment algorithm was adjusted to correctly handle a few more corner cases. In particular, seed matching was improved to:

  • avoid stretches of N when choosing seeds

  • increase the number of seeds

The trimming of terminal N characters (introduced in 0.10.1) was removed, because the new improvements also handle this case.

Thanks Stacia K Wyman and Syed Muktadir Al Sium for the bug reports!

See also: issue #288 See also: issue #290

Bug Fixes

  • actually use the map to good characters (c3a0a2c)

  • remove old clades (43f3c86)


  • add new clade schema (5ab7054)

  • improve seed matching by logging good nucleotides (ce62478)

  • increase number of seeds and reduce redundant seed search (d1e0a2f)

  • update SARSCoV2 tree.json (880223e)

0.10.1 (2020-12-30)

This release fixes a problem with input sequences with large chunks of N nucleotides at the edges. To ensure correctness of results, before alignment we now trim contiguous blocks of Ns at the beginning and at the end of each sequence.

Thanks Stacia K Wyman for the bug report.

See also: issue #285

Bug Fixes

  • trim leading and trailing to void seed matching problems (17a554a)

0.10.0 (2020-12-21)

Nextclade (both, web and CLI versions) no longer uses or requires the standalone gene map file by default. Instead, it takes the corresponding information from genome_annotations field of the reference tree file (nowadays, this property is usually present in all Auspice JSON v2 files produced with Nextstrain’s Augur). A standalone gene map file can still be provided, in which case it overrides the gene map found in the reference tree file.

In some cases, when there were multiple mutations in the same codon, Nextclade has been reporting aminoacid changes incorrectly, as if these changes were in separate codons having the same position. The reported changes would then list this aminoacid mutation twice, with the same position, but with two different resulting aminoacids (which is impossible). We adjusted the detection of aminoacid changes by performing full translation of every gene, so this issue is now fixed.

Nexclade now also reports aminoacid deletions. It no longer outputs aminoacidChanges field/column in JSON, CSV and TSV exports. Instead, it outputs separate aaSubstitutions and aaDeletions columns.

Nexclade is now better suited for the analysis of viruses other than SARS-CoV-2. We briefly tested it with the Flu virus, however, more testing is required. Please reach out to developers if you are interested in the analysis of other viruses.

The default reference tree has been updated.

Bug Fixes

  • add download location and local rules (fbf6adc)

  • add reversion mutation to distance of attached tree nodes (0889457)

  • avoid buffer overflow by using positions relative to the gene start (faf2a88)

  • convert gene map to zero-based indices (02b8b8e)

  • corect the nuc position calculation relative to gene start (97e4508)

  • correct deletion range end (23b794c)

  • ensure only full-codon nuc dels are associated with the aa dels (0448d1f)

  • exclude aa deletions from aa substitutions (bc188bd)

  • fix arguments to intersection in aa Association (b75ff5c)

  • make sure query gene changes don’t propagate to the ref gene (61b9bf5)

  • make sure the gene ranges are semi-open (3d9754a)

  • make sure the genes of the gene map are of correct length (a737a5e)

  • only count nucleotide substitutions towards divergence during tree attachment (2f2305d)

  • rectify codon position calculation (1e56a18)

  • revise clade names (79541b4)

  • revise clade names (88e612d)

  • update genome size when custom root sequence is provided (680e44c)


  • adapt filtering UI for the new aa subs and dels (db97f2b)

  • adapt results serialization for the new aa subs and dels (2be7de6)

  • adapt results table UI for the new aa subs and dels (89e40be)

  • add aa deletions to the tree tooltips (613971e)

  • add additional checks when loading gene map (1d39b4e)

  • add codons to the aa change objects (d425981)

  • add subclades (24b0abc)

  • guess unit of measurement of divergence (8db8bde)

  • improve reporting of bad codons (66fc002)

  • list partial codons as mutations to X (16e11d9)

  • re-associate nuc changes with their corresponding aa changes (cc17a97)

  • reimplement aminoacid changes extraction, extract deletions (7472109)

  • take gene map from tree json (9466d8f)

  • truncate aminoacid changes lists in tooltips (a383b4c)

0.9.0 (2020-12-02)

This release is focused on advanced users of Nextclade web application. On the main page you can find the new “Advanced mode” toggle, which opens access to the additional parameters. There you can set custom input data: reference tree, root sequences, QC parameters, and PCR primers. For each filed you can provide a local file, a URL to a remote file, or paste the data into the text box directly. Parameters that are left blank will be substituted from Nextclade’s defaults. All data formats are shared with the command-line version of Nextclade CLI.

You can find the full list of changes below:

Bug Fixes

  • avoid passing the DOM button click event to state (6fb21de)

  • correct grammar (dd8f5af)

  • don’t pass the custom props to DOM nodes (cea8285)

  • don’t pass the custom props to DOM nodes (more) (47b6fe0)

  • don’t pass the custom props to DOM nodes (more) (585642b)

  • remove delay in navigation to results page when after file loaded (855e285)


  • add advanced mode toggle (da3e3d8)

  • add badges indicating default input state (b6078fd)

  • add button and modal to create new runs (f3b4f72)

  • add mockup of advanced controls on main page (31a3b30)

  • add placeholder for previous results section (5260682)

  • add tooltip text for the run button (5ba07ee)

  • add tooltips and visual helpers to improve file picker ux (666a842)

  • align file picker header text (5ff6eb5)

  • bail out of data processing early on fetch failure from url params (6e5b9a4)

  • center-align text (fa72701)

  • connect input controls to new input param state (5744fcb)

  • customize instruction and placeholder text on url and paste comps. (2adbd92)

  • dim placeholder text color (6585a10)

  • disable virus selection dropdown and add a tooltip for it (d3024c5)

  • fetch inputs from user-provided URL (e352814)

  • handle errors in simple mode better (417b11c)

  • improve file picker layout (6e99fbb)

  • improve layout of main page (29b99ef)

  • improve layout of network error messages, clarify the text (fd18f34)

  • improve layout of tab-cards and URL tab body (7775325)

  • improve layout of the “paste” tab panel (d111a96)

  • improve layout of the “url” tab panel (a3eed14)

  • improve layout of the file info component (407fcd7)

  • improve layout of upload cards (18a49c8)

  • improve network error messages (08f3f5f)

  • improve uplolader text for case where data is provided as a string (7f29bf4)

  • increase feature box height (9777ae6)

  • increase file picker height (1933511)

  • indicate file upload with status text (c40a76d)

  • launch algorithm on “Run” button click in advanced mode (84afce2)

  • load and process files in advanced mode (fbb106c)

  • make file pickers collapsible (c51b4f8)

  • reduce spacing between cards (9a94b51)

  • run automatically after example data is loaded (d0c07d5)

  • run immediately after input is provided in simple mode (5d68c73)

  • show error alerts under file dialogs when there are errors (6aa42be)

  • soften card shadows (b50d2ee)

  • use new file picker in simple mode too (9344d92)

  • wrap text in text area for pasting sequences (73540c5)

0.8.1 (2020-11-12)

This is a follow-up release, on top of version 0.8.0.

In this version Nextclade further improves handling of gaps in node distance calculation.

We increased the thresholds of private mutations in Quality Control calculation for SARS-CoV-2, to account for the current situation, so some sequences will have better QC scores now. As usual, you can set the desired custom values in Settings dialog or using the --input-qc-config flag in the command-line version.

Additionally, this version introduces some minor improvements in the user interface as well as in runtime performance.

You can find the full set of changes below:

Bug Fixes

  • formatting markdown snippets (about and changelog) (b8b1971)

  • increase allowed private mutations – as SARS-CoV-2 diversifies, sequences are expected to have more private mutations (fc1e885)


  • exclude gaps from private mutations counting (5b04903)

  • only show the “what’s new” popup on major branches (a902c6a)

Performance Improvements

  • avoid re-filtering gaps from mutations for every node every time (0509770)

  • catch common cases in nucleotide match function before doing full set intersection (20a20ae)

0.8.0 (2020-11-10)

This release brings several important bugfixes, improvements and new features.

In this version Nextclade adds support for the new SARS-CoV-2 regional subclades. The default reference tree now contains a few nodes with clades 20A.EU1 and 20A.EU2. For more information about the new variants refer to Hodcroft et al., 2020.

Nextclade algorithms now handle ambiguous nucleotides and gaps in the reference tree and the root sequence. Previously this was not needed, because our default root sequence is always full and unambiguous, but this is important now that Nextclade allows custom root sequences.

Nextclade developers will no longer maintain clades.json file with a list of clades. Since v0.4.0, clade assignment is performed by taking clade of the nearest node on the reference tree, so the algorithm does not depend on this file. This change means that users no longer have to provide clades.json for custom viruses anymore, but also that the “Gene map” panel in the web application will not show markers for clade-defining mutations.

Nextclade web app now includes more interesting and relevant example SARS-CoV-2 sequences to better showcase application’s features.

Nextclade web application now accepts new URL parameters. Additionally to input-fasta= parameter to download and start processing a given FASTA file (introduced in v0.7.0), you can now also provide input-root-seq= parameter to download and use a given custom root sequence, as well as input-tree= parameter for a custom reference tree.

You can now export the resulting tree in Auspice JSON v2 format, with the analyzed sequences placed onto the reference tree. Check the “Export” dropdown on the results page. This file can then be used for further analysis or visualization (for example with

⚠️ Exercise caution when interpreting Auspice JSON v2 file generated by Nextclade. Nextclade’s algorithms are only meant for quick assessment of sequences: they perform quality control, clade assignment, and a simple phylogenetic placement. Nextclade is not a replacement for the full phylogenetic analysis with the main Nextstrain pipeline.

The non-algorithm part of the command-line version of Nextclade has been substantially rewritten. It now takes advantage of all processor cores in the system. You can set the desired level of parallelism with the new flag: --jobs. Additionally, sequences that trigger processing errors are now included into CSV, TSV and JSON output files, along with their respective error messages (in the new errors column).

The redundant column qc.seqName has been removed from CSV and TSV results. Use column seqName instead. The order of columns has been changed, to emphasize clades and QC results.

There are more minor fixes and improvements. Here is a full list of changes since previous release:

Bug Fixes

  • ensure auspice strings interpolate correctly (1f0e3c1)

  • remove black overlay above entropy panel when holding shift or alt (fbc851c)

  • ensure isMatch handles ambiguous nucleotides in both reference and query (ee35f77)

  • exclude gaps in reference node from distance calculations (8e6571c)

  • use consistent line endings in json export (3d8ddb5)

  • ensure isMatch handles ambiguous nucleotides in both reference and query (ee35f77)

  • exclude gaps in reference node from distance calculations (8e6571c)

  • cli: add missing files into docker builds (dbb54f2)

  • cli: preserve failed sequences in results (8e1e78b)


  • cli: add jobs flag for setting the level of parallelism (96100b6)

  • cli: don’t finalize tree when tree output is not requested (8a9c767)

  • cli: make CLI run in parallel (5a8902c)

  • add “what’s new” popup, optionally show on every release (66cf03d)

  • allow exporting Auspice tree json result again (5428bc8)

  • enforce csv column order, remove duplicate qc.seqName column (5928b53)

  • feat!: remove clade markers from Gene Map, remove clades.json (858b92a)

  • feat: add more interesting example data

  • feat: add rule to augur workflow to make example sequence fasta

  • feat: add subclades

  • fetch input root sequence and input ref tree provided URL params (585371a)

  • remove uppercase text transform from buttons (79c99b6)

  • use the root sequence and tree provided in the URL (d364efa)


  • We removed clades.json file and modified Virus data structure. For a while now we assign clades by looking at the closest node in the tree, and we don’t rely algorithmically on clade definitions in clades.json. The only place where clade definitions were used is displaying clade-defining mutation markers on Gene Map. We agreed that with introduction of subclades we want to remove clades.json, rather than update it. It also means removing clade-defining mutation markers on Gene Map in the web app. This commit makes this happen.

  • qc.seqName is removed from CSV, TSV and JSON outputs (it had the same values as seqName)

  • order of columns is changed in CSV ans TSV outputs

0.7.8 (2020-11-05)

This is a bugfix release which addresses CLI crash due to improper reading of the custom gene maps

Bug Fixes

  • cli: add missing preprocessing step for custom gene maps in CLI (0fb31dd), closes #252


This is a bugfix release which addresses a rarely occurring situation when clade is incorrectly assigned due to a defect in the clade assignment algorithm.

Bug Fixes

  • remove mutually cancelling mutations during tree preprocessing (a420e83)

0.7.6 (2020-10-27)

This is a bugfix release which addresses crash of the web application which occurred when removing a tree filter by clicking on a “cross” icon of the filter badge.

Additionally, we decided tp force reset all users’ browsers to use English version of the Nextclade web application, because other locales went out of sync significantly. P.S. We are looking for translators!

Bug Fixes

  • avoid crash on filter badge removal (472b9ab), closes #235


  • force reset all users to English locale (762d34d)

0.7.5 (2020-10-06)

This release removes nucleotide composition from CSV and TSV outputs. Due to variations of the alphabet, nucleotide composition has been adding and removing columns unpredictably. By removing it we opt-in to a stable set of columns.


  • don’t output nucleotide composition to CSV (ff7c883)

0.7.4 (2020-10-05)

This is a bugfix release which addresses improperly formatted SNP clusters in output files

Bug Fixes

  • format SNP clusters properly for export (c7aa5c7)

0.7.3 (2020-10-05)

This is a bugfix release

Bug Fixes

  • add last newline in exports (c3d83d6)

  • prevent app from crashing when a locale is missing (1fd2a19)

0.7.2 (2020-10-01)

This version introduces a mechanism that allows Nexclade to signal common ad blocking browser extensions that it respects privacy. We hope that it may increase compatibility when these extensions are enabled.


  • attempt to reduce breakage by adblockers (1870cdc)

  • warn about possible adblocker interference (ffff5fb)

0.7.0 (2020-10-01)

Nextclade 0.7.0 ships with new CLI flags, allowing overriding most of the virus-specific parameters:


Additionally, the web application now can fetch a .fasta file from a remote location using input-fasta query parameter:<your_url> (CORS needs to be enabled on your server)

Bug Fixes

  • ensure example sequences are loading correctly (fc44961)


  • improve network error popup informativeness and looks (ffd2995)

  • cli: add CLI flag to output a CSV with clades only (bb405ff)

  • cli: add possibility to override clades, primers and gene map (643607b)

  • cli: output a TSV with clades only, instead of CSV (d956f0b)

  • deduce virus genome size from root sequence length (22d4e7a)

0.6.0 (2020-09-24)

This a bugfix release which addresses CLI crash on alignment failure

Bug Fixes

  • fix CLI crash on alignment failure (b02a602)

0.5.2 (2020-09-23)

Bug Fixes

  • correct the link URL to nextstrain ncov clades (92982c7)

0.5.1 (2020-09-23)


  • fetch input fasta from a remote location (a339c05)

  • present error message on data fetch failure (aed0a21)

0.5.0 (2020-09-21)

Bug Fixes

  • ensure proper complement and position of ambiguous nucleotides (8de7f5d)

  • remove Charité_NS_RdRp_P primer, correct name of Charité_N_RdRp_P (488bf05)

  • remove trailing spaces from primer sources (8dce5c6)


  • add primer changes to the tree node info (eb51963)

  • add tree coloring by presence of PCR primers (21dceed)

  • convert primer data to JSON (36bbd6e)

  • display PCR primer changes in tooltips (801622f)

  • don’t report mutations where primer contains ambiguous nucleotides (7fc5383)

  • format PCR primer changes when preparing CSV export (b9019c5)

  • list primer changes in mutation tooltips on sequence view (98e0189)

  • retry with reverse-complement primer if not found in root sequence (8a7a458)

0.4.6 (2020-09-14)

Bug Fixes

  • attempt to fix tsv extension on chrome mac (e47aa5e)

  • cli: make sure the custom tree is used (d32d7c2)

  • make sure exported files have correct extensions (2bb74c8)

  • cli: make desc casing consistent (976a47d)

  • change app description to match the main page title (43daceb)

  • correct substitutions in translated strings (fa2120a)

  • ensure saved locale is restored on launch (86c1688)


  • cli: add ability to output Auspice JSON v2 in CLI (77563a3)

  • add basic node cli (1eeef0c)

  • add cli arguments for inputs and outputs (db8c44e)

  • add docker container config (8ea7047)

  • add links to cli and a short intro on main page (4a724d9)

  • cli: allow custom root sequence, qc config and ref tree (da5824a)

  • improve fr translation (243bcbf)

  • improve ru translation (64aff1a)

  • remove unused locale keys (82bd7ba)

0.4.0 (2020-09-01)

Bug Fixes

  • add missing word (f15af21)

  • adjust QC filter to new scoring scheme (4129947)

  • adjust reducers, ui and more types for the new results layout (8520daf)

  • avoid unrecoverable failure when a sequence fails to align (1511d7b)

  • disable “show tree” button until full results are available (283dc9e)

  • don’t show settings dialog by default (627a5ae)

  • ensure progress bar retains failure state until the end of the run (796eddf)

  • fix incorrect QC status assignment (aff806b)

  • fix more type errors (70fd82a)

  • fix text color on OK button (f8b139d)

  • fix type errors (2108b28)

  • fix typos (cebcdb3)

  • flip erroneous comparison (fe2446b)

  • make sure QC strings on tree nodes are being translated (7c9c96d)

  • make sure to format non-ACGTN ranges for export (75abfc3)

  • make sure tooltips are attached to the right element (2bccf84)

  • make sure tree nodes are properly colored on first tree render (56662fe)

  • make sure we find divergent mutations correctly (6b7be19)

  • make text casing consistent (6de96d2)

  • prevent text from selection on QC status icons (bd2fb9f)

  • dev: fix type error and tests (ea2fef4)

  • remove stray brace (272a44f)

  • remove unused package (23c8e82)

  • type errors in QC runner (ab4d34c)


  • add “phylogenetic placement” feature box, adjust main page styling (45f01fa)

  • add button to rerun the algorithm (a4dbcba)

  • add intermediate QC level (46fd02f)

  • add new QC text to the auspice tree (641ef02)

  • add reversion mutations to the terminalMutations, rename function (f2dc7c2)

  • adjust exports for new data layout, remove auspice json export (05a9409)

  • adjust progress bar for new algorithms (1a15c4c)

  • adjust progress bar to better reflect recent algorithm changes (0562dfa)

  • adjust progress indicator for the new state and event flow (3f3839b)

  • adjust results table for the new state and event flow (3d0c835)

  • adjust sorting and filtering for the new QC categories (7a1d68c)

  • adjust sorting for the new QC results (638750d)

  • assign clade from nearest node in reference tree (d23d5e1)

  • change privateMutation rule to affine linear excess (98c71d6)

  • change QC icon labels (dba62b6)

  • combine scores quadratically such that two scores of 70 trigger a warning, or one score of 100 (c543cee)

  • display status for every QC rule as colored circles (637a095)

  • expose QC config in the UI (7fc5881)

  • format QC tooltip based on new results (ba412bb)

  • hide passed QC checks from tooltip (07f92e3)

  • highlight rows with issues (ba3e2ed)

  • improve QC tooltips, improve layout of large tooltips (7716b14)

  • improve string formatting of insertions (c0863e2)

  • list QC rules in the same order (1ad2738)

  • make QC status coloring more consistent (b17b33f)

  • make QC status icons’ labels more distinct, single-letter (4350c28)

  • pass mutations difference from reference node to QC (48415c1)

  • prettify QC status circles (ad61a15)

  • reduce weight of missing data check (575aa05)

  • rename variables to clarify intent (389dd79)

  • restyle buttons on results page, adjust for smaller screens (5a4e806)

  • round QC scores in UI (99aaabe)

  • show per-rule QC icons in tooltips (4c45584)

  • simplify QC message for mixed sites (a8228a8)

  • soften QC status icon colors (cadae7e)

  • use new QC status on tree nodes (423d459)

  • dev: implement better error handling in algorithm saga (49c50c2)

  • dev: improve runtime performance profiling (538e82e)

  • dev: setup runtime performance profiling (dd12d48)

  • subtract thresholds when calculating QC scores (7f5013b)

  • tweak MissingData QC rule to return values such that above 100 is problematic (8d49eee)

  • tweak parameters of QC rules. remove unused config values (b78b143)

Performance Improvements

  • assign all QC results in bulk to avoid redux performance overhead (dced28c)

  • assign clades in bulk to improve performance (6ce4a2e)

  • make object cloning faster (6940e9a)

  • memoize a slow function (92ba87c)

  • memoize slowest React components (4f2969b)


  • Revert “refactor: split tree preparation away from tree algorithm” (2b3df69)

0.3.7 (2020-08-28)


0.3.6 (2020-08-18)

Bug Fixes


  • dev: visualize functions in redux devtools (fa8fa54)

  • add ability to disable filters temporarily (a09521c)

  • add auspice entropy widget (96ad6f6)

  • make sure entropy chart renders properly, adjust page styling (2eec5c9)

0.3.5 (2020-08-08)

Bug Fixes

0.3.4 (2020-08-07)


  • add node counts for every filter value and badge (67c7cba)

0.3.3 (2020-08-06)

Bug Fixes


  • add a foot note about the “Unknown” regions (1d35ed2)

  • add button to clear filters (d7de823)

  • add clade and QC status tree filters (2ca357c)

  • add clear button, disable autocomplete and spell check (7e2c319)

  • add colorings for “Unknown” regions (abd366b)

  • add filtering actions (3b5aa7b)

  • add node type tree filter (bb35c35)

  • add region tree filters (d2a809e)

  • add version number in the main title (cbb5518)

  • allow to remove filters by clicking a button on the badge (6bed38a)

  • allow to search for filtering criteria (61b5a25)

  • assign new nodes to the “Unknown” region (a04e0d5)

  • disable clear filter button when there are no filters to clear (4fbc5da)

  • display badges for filtering criteria (a1b70ed)

  • improve sizing and spacing of the filter panel elements (c682c78)

  • make filtering badges bigger and brighter (3cf8f5b)

  • make order of filtering criteria consistent (94ad967)

  • match background color with auspice sidebar (68be816)

  • prettify filtering badges (74f8714)

  • reduce margin (4b12a75)

  • rename unknown value back to “Unknown “ (e6ce061)

0.3.1 (2020-07-30)

Bug Fixes

  • add missing env vars for vercel (62eaa01)

  • automate auspice monkey-patching (d27a9c5)

  • avoid incorrect absolute imports (66dcb4d)

  • avoid redux error about non-existing query auspice reducer (d6c141f)

  • disable debug console messages for i18next (56baa17)

  • don’t call clade match if position isn’t covered by the alignment (045984f)

  • ensure absolute URLs in the SEO tags (88c1615)

  • ensure auspice tooltips are not empty (c3f0ab3)

  • ensure translations are loaded properly (7bca9de)

  • ensure vercel url has https schema (462a76f)

  • ensure vercel url has https schema (f1462f6)

  • ensure zero positions don’t trigger errors (fda012e)

  • fix incorrect seo tag name (8059e39)

  • fix object merging (50e1761)

  • format (638ee3a)

  • implement babel caller check as described in docs (2cc4e5a)

  • lint (a04cb05)

  • lint (25393fa)

  • lint (640a6d5)

  • lint (074d4ed)

  • lint, fix type errors, cleanup (e9ac5a0)

  • make parser robust to various line delimiters and unexpected characters (7c000b2)

  • make sure locateInTree() is reentrant (3bd0698)

  • patch auspice to remove more references to window (8a50144)

  • remove erroneous env var (8541468)

  • remove spaces in env files (7d79926)

  • remove unsupported syntax from babel config (7fdb15f)

  • show sequences being analyzed again (04b501c)


  • add “powered by auspice” logo on tree page (294a2c2)

  • add auspice reducers (6482351)

  • add auspice sidebar (71e1f56)

  • add button to show auspice tree (234f5e5)

  • add google meta tags (7cf4f63)

  • add help tips for results table column (0257e44)

  • add more data to tree node popup (0e69173)

  • add more meta tags for og and twitter (0dc4f43)

  • add padding for top panel (94b9d60)

  • add QC flags to the tree node popups (5aed898)

  • add redux thunk (b74a1a2)

  • add redux-logger (c2d7992)

  • add styled-components theme (8d29882)

  • add styled-components theme from auspice (5ec57d1)

  • add twitter and facebook meta tags (f5fca2a)

  • adjust legend’s margin (f71cc7b)

  • allow loading fake auspice state for development (72733ad)

  • attach new nodes to reference nodes only (6dc7321)

  • autosize the tree (2e1aad5)

  • color tree nodes explicitly by QC status and type (5a1f976)

  • disable tree button until the analysis is done (b09492e)

  • display aminoacid mutations in auspice tree (811ea79)

  • import and build auspice as a part of webpack build (9d75bae)

  • improve visibility of nodes in QC coloring (3ecd30f)

  • improve webmanifest (3a6045e)

  • include auspice translation bundles (03791e8)

  • integrate auspice json generation into UI (17d920c)

  • make closes nodes brighter, shorten node type text (4deb988)

  • make help buttons larger (504a63a)

  • make tree button more visible (4f51b2a)

  • mark constants as const (6ead3e5)

  • move SEO tags into separate component, use react-helmet (b220e97)

  • move some of the SEO tags to _document, for static rendering (a35c820)

  • pass domain name to the client side (9624955)

  • port to typescript (7c6c164)

  • prerender styled-components stylesheets (d88a9cf)

  • prettify tree page (e5a241e)

  • prettify tree page and related components (e8a15d9)

  • put custom coloring at the top of the dropdown list (c1ed74b)

  • reduce sidebar top spacing (94fc062)

  • remove coloring of closest nodes on the tree (fa5424e)

  • remove unused date and dataset choice widgets from auspice sidebar (3235278)

  • remove unused getInitialProps to allow static prerendering (df30618)

  • render auspice tree (fb2513f)

  • use nexstrain logo spinner for loading page (db21817)

0.2.2 (2020-07-17)

Bug Fixes

0.2.1 (2020-07-17)

Bug Fixes

  • adjust styling for breaking changes in react-file-icon v3 (902f045)

  • bring back regenerator-runtime in workers (eec18b2)

  • ensure filtered results are updated when results are updated (39d6601)

  • fix negative width in svg viewbox (b32a4f6)

  • format (9727f63)

  • hide filtering panel by default (0991119)

  • lint (5f0c2a1)

  • lint (d9e8707)

  • lint (fa6242a)

  • lint (28020ea)

  • make parser robust to various line delimiters and unexpected characters (afbcfd6)

  • make sure gene map tooltip appears reliably (19ec421)

  • make sure the icon in dev alert is not overlapped by text (5755956)

  • only match the last clade in the array of clades when filtering (0a3c0ad)

  • packages/web/package.json & packages/web/yarn.lock to reduce vulnerabilities (17c1e2b)

  • prevent sequence text from wrapping (1117cf3)

  • prevent vertical scrolling of navbar (32fb39d)

  • remove unnecessary core-js import from workers (bd9ec93)

  • reverse sort order (75fd269)

  • sort only sequences that makes sense to sort (ccd6daf)

  • typos (fc80cc2)


  • add basic virtualization to the table (b2e2d11)

  • add filter dialog popups (124ffe3)

  • add filtering by presence of QC issues and errors (712de18)

  • add filtering by aminoacid changes - gene, ref, position, query (77bbedf)

  • add filtering by aminoacid mutations (3b7759f)

  • add filtering by clade (6ee0b3b)

  • add filtering by nucleotide mutations (98f2d4b)

  • add filtering by sequence name (62cc172)

  • add flexbox fixes for internet explorer (e604b04)

  • add id column to results table (ea0994c)

  • add logos (f25e511)

  • add more mutation syntax options (937ac73)

  • add mutation parser (8e88955)

  • add polyfils (add5dd6)

  • add sort by sequence name (6f8721c)

  • add sorting for all categories (5a2efc5)

  • add table border (2e796ab)

  • add table border and shadow for when rows don’t fill the area (73e092e)

  • add transpiled modules whitelist (115cdb1)

  • adjust filter button style - layout, position, margins (fa09ed5)

  • adjust gene map width (4db941b)

  • adjust sort and filter buttons sizes and positions (39f4e19)

  • adjust table column widths to accommodate filter and sort buttons (85551b9)

  • avoid main title text overflow (99b621b)

  • bring back the genome map (0513fa6)

  • bring back the genome map axis (fdeedfb)

  • bring back the old layout for the main page (756d496)

  • bring back the results status panel (a92114d)

  • constrain main page container width (727aad0)

  • don’t go to /results page (2225bb4)

  • enforce horizontal scrolling on results page if the screen is to narrow (3e2e409)

  • ensure columns are of correct and equal width, prettify (e169137)

  • increase sequence name column width (a99e15b)

  • increase sequence name column width to 300px (f8b53eb)

  • make feature boxes responsive (8780343)

  • make filter panel collapsible, prettify its contents (d6714c2)

  • make footer prettier (ae8a4d8)

  • make footer responsive (c1644b9)

  • make pending rows dimmer and of the same color (fbcfcac)

  • polyfill CSS.escape for internet explorer (c120f8a)

  • prettify filter panel (b40dcf0)

  • reduce margins, text sizes on small screens, prevent overflow (160459c)

  • reduce minimal width to fit on iPad, adjust padding (e7b666a)

  • remove filter buttons in column headers (1d21fa3)

  • sort errored sequences as the ones with the worst QC result (90599d2)

  • trim filter strings, allow more delimiters (26182d1)

  • dev: add flag to allow setting fake data and navigating to results page (b618735)

0.1.2 (2020-07-03)

Bug Fixes

  • avoid crash in export when there are failing sequences (6e65d77)

  • enable export button even if some of the sequences fail (dd60ed9)

  • lint (90dbbb7)

  • remove fake entries (145b61a)


  • add basic analysis failure reporting (27736ba)

0.1.1 (2020-07-02)

Bug Fixes

  • add missing hook dependency (1f0de52)

  • allow indexing of the website (92e10c9)

  • apply eslint autofixes (488cae3)

  • avoid html validation errors (d5627b2)

  • break dependency cycles (4700de2)

  • clarify that the tooltip currently shows all the clades (ac12ea6)

  • display positions as 1-based (4940513)

  • display positions as 1-based for real (bc31c28)

  • don’t shift svg rectangles by half-width (481359b)

  • ensure aminoacid changes are shown correctly (79453b8)

  • ensure isSequenceInClade is typed (3fe6fcb)

  • ensure type checks can be enabled (0644baf)

  • ensure typing of raw imports (499a5d7)

  • fix deepscan issues (ebaa8f6)

  • fix guard condition in aminoAcidChange() (1d9df44)

  • fix guard condition in aminoAcidChange() (978a9f6)

  • fix implicit use of React (465a082)

  • fix imports (f5af2aa)

  • fix lint and type errors (8a9d7a3)

  • fix tests for nucleotide range retrieval (4991506)

  • fix type mismatch (4fe0a1a)

  • fix typings (f780257)

  • grammar (1d948c1)

  • improve button styles (532c93e)

  • improve translations (95cf881)

  • lint (8d85353)

  • lint (be874ae)

  • lint (af82d9f)

  • lint (c36c6a9)

  • lint (da9c98d)

  • lint (4eb882c)

  • lint (6567a4b)

  • lint (0eaa7c9)

  • lint (c79c2ca)

  • lint (f95d453)

  • lint errors (6309298)

  • lint errors (cbf9215)

  • lint errors (404bbf7)

  • lint errors (add6b26)

  • lint errors (9047a0a)

  • make “back” button to actually go back, not to a specific page (9cd3c91)

  • make sure “dirty” flag is set properly (4f4024d)

  • make sure “to results” button shows up (05b77d0)

  • make sure settings saga is being run (28095a8)

  • packages/web/package.json, packages/web/yarn.lock & packages/web/.snyk to reduce vulnerabilities (73555b8)

  • packages/web/package.json, packages/web/yarn.lock & packages/web/.snyk to reduce vulnerabilities (d1ab37a)

  • remove aligned query from results (0a3f999)

  • remove redundant table borders (25c016d)

  • remove unused and vulnerable packages (9214419)

  • rename file to clarify intent (2b6a213)

  • resolve Threads.js workers bundling error in production (bd775a8)

  • silence eslint rule that produces false positives in typescript (c3b0e48)

  • silence more new eslint rules that produce false positives in typescript (a76cf14)

  • soften border color (763e227)

  • trim whitespace and line ending characters from reference sequence (86cd548)

  • type and refactor getAllAminoAcidChanges (1e95f2f)

  • type errors (92486a7)

  • type errors in saga (fefdace)

  • dev: disable eslint cache for consistent results, disable checker profiling (3f9962e)

  • dev: ensure webpack watches the typings (f0a667d)

  • dev: make sure type checking can be disabled (5f4918b)


  • add “to results” buttons on main page, prettify “back” button (887ca23)

  • add aminoacid changes to sequence name tooltip (4b7b232)

  • add aminoacid mutations to mutation tooltips (5643863)

  • add back and settings buttons (ff6f359)

  • add basic progress indicator (1ac9736)

  • add basic SEO tags (5e597df)

  • add basic sequence visualization (d2bd0cb)

  • add beta badge (97bcf43)

  • add clade info to the tooltips (5588cd1)

  • add clade marks to gene map (b197d3b)

  • add csv export (59247dc)

  • add exports to both JSON and CSV using dropdown button (47e8570)

  • add favicons (0ff52c7)

  • add footer branding (4ae2d37)

  • add French to language selector (04c7f4c)

  • add gene map (e938c68)

  • add list of non-ATTGCN to tooltips (bbe2a61)

  • add more languages (15dd09c)

  • add mutation tooltips (f2bfc64)

  • add navigation bar, routing and about page (7bc2fff)

  • add Ns and Gaps to the table (d443df6)

  • add numbered X axis (position) to sequence view (6d6304a)

  • add progress bar embedded into the drop box (2d058a6)

  • add proper results table (1bd4a49)

  • add results download (840aa80)

  • add tooltips for the “sequence” and “clades” columns (55e1cbe)

  • add total number of mutations to the table (04352f0)

  • add tree of clades (4baa357)

  • add upload (a4c0bde)

  • add version text to footer (ee74087)

  • allow parameters for multiple viruses (4295cf6)

  • avoid opening input box to speedup navigation to results page (5d87ca8)

  • borrow some more styling and components from (d264601)

  • change example link text (bb99908)

  • change nucleotide colors (fb22e96)

  • change text for clade mutations (aff5073)

  • cleanup and simplify marker tooltips (34e54f9)

  • cleanup gene tooltip (87ec1ef)

  • disable export button until the processing is complete (1d50eb4)

  • display alignment score (fb62658)

  • don’t wrap the text in text area (a8824b4)

  • filter out empty clades (f7405c0)

  • format mutations (c49a5e2)

  • format totals and clades in tooltips (4361528)

  • group clades in mutation tooltips on gene map (6971f9c)

  • implement reducer for updating results (cae5fb1)

  • improve sequence view styling in dark mode (b0e1327)

  • improve styling (8d1fe93)

  • limit number of mutations in the tooltip to 10 (4d6f077)

  • load example data when clicking the link (7ceeed9)

  • load no data, avoid running on startup (fec2219)

  • make it more like nextstrain (44092d7)

  • make layout container fluid (551a958)

  • make separate runs per sequence in a saga (662b3b8)

  • make sure eslint, tsc and stylelint can be disabled in production (d3c5f29)

  • make sure redux dev tools can be enabled in production (4cb3622)

  • make upload zone flat (5ccf82c)

  • mention freedom and openness, add todos for more content (5b1dcec)

  • move file reader into parser worker (5837c05)

  • navigate to results page on input change (538d6e2)

  • persist input box state on navigation (52aa653)

  • prefetch index and results page for instant navigation (8f3716d)

  • prettify dev alert (b6c1795)

  • prettify feature boxes (641183c)

  • prettify hero section on landing page (a99a792)

  • prettify info section (95302ba)

  • prettify mdx content (ae52e18)

  • reduce text spacing the the tooltip (1c7176f)

  • reimplement the old behavior in react (fec0942)

  • remove “Results” nav link (010f6f9)

  • remove About page (8ba236a)

  • remove input’s border to not conflict with card border (92cd724)

  • remove percentage text from the progress bar (05d2623)

  • render results from Redux store (de2d75a)

  • reorganize the About section (2df61f8)

  • replace QC text with icons (56be063)

  • reset all translations (766977f)

  • restrict container size to lg (24145db)

  • retrieve input text back from reader/parser worker (c75ea79)

  • run sequence analysis in a worker pool concurrently (per sequence) (a96f138)

  • run the algorithm in a webworker (54fcbee)

  • run, navigate to results, and open paste dialog only when dropped a file (b3b7472)

  • set gene colors from auspice (5d90436)

  • setup production build and static compression (7cb0fac)

  • show all clades (c598f7b)

  • show and focus input box, delay paste when loading the example (7f5dbcc)

  • show sequence names early on, before analysis is completed (a5d8754)

  • show the gaps and Ns on the plot (0704fb2)

  • show uploaded file name and size on the drop area (039a0c5)

  • split upload and results into separate pages (862ca3d)

  • translate more strings (37dd6db)

  • write input filename and size into state (61f1591)

0.1.0 (2020-06-11)

Development started