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.

Background

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 \
  --output-dir=output/

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:

nextstrain/nextclade
nextstrain/nextclade:latest
nextstrain/nextclade:1
nextstrain/nextclade:1.2.1

nextstrain/nextclade:debian
nextstrain/nextclade:latest-debian
nextstrain/nextclade:1-debian
nextstrain/nextclade:1.2.1-debian

Image based on Alpine 3.14 tagged:

nextstrain/nextclade:alpine
nextstrain/nextclade:latest-alpine
nextstrain/nextclade:1-alpine
nextstrain/nextclade:1.2.1-alpine

Previously default FROM scratch image is tagged:

nextstrain/nextclade:scratch
nextstrain/nextclade:latest-scratch
nextstrain/nextclade:1-scratch
nextstrain/nextclade:1.2.1-scratch

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.

General

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 CoVariants.org: link

  • Variant 21A/S:478K on CoVariants.org: 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 nextstrain.org. 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)

Features

  • 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)

Misc:

  • 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)

Features

  • 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)

Features

  • 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)

Features

  • 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)

Features

  • 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)

Features

  • 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)

Features

  • 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 auspice.us).

⚠️ 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)

Features

  • 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)

BREAKING CHANGES

  • 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

0.7.7

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

Features

  • 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.

Features

  • 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.

Features

  • 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:

--input-fasta
--input-root-seq
--input-tree
--input-qc-config
--input-gene-map
--input-pcr-primers

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

Bug Fixes

  • ensure example sequences are loading correctly (fc44961)

Features

  • 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)

Features

  • 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)

Features

  • 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)

Features

  • 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)

Features

  • 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)

Reverts

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

0.3.7 (2020-08-28)

Features

0.3.6 (2020-08-18)

Bug Fixes

Features

  • 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)

Features

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

0.3.3 (2020-08-06)

Bug Fixes

Features

  • 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)

Features

  • 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 locate_in_tree.py 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)

Features

  • 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)

Features

  • 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)

Features

  • 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 nextstrain.org (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