We fixed some of the text labels on Tree page in Nextclade Web. Additionally, the page is now translated to more languages.
The Nextstrain clade schema for SARS-CoV-2 on main page is now taken directly from ncov-clades-schema project and is updated automatically whenever the source updates.
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:
https://clades.nextstrain.org?dataset-url=http://example.com/path/to/dataset-dir
or a URL to a GitHub repository:
https://clades.nextstrain.org?dataset-url=https://github.com/my-name/my-repo/tree/my-branch/path/to/dataset-dir
or a special shortcut to a GitHub repository:
https://clades.nextstrain.org?dataset-url=github:my-name/my-repo@my-branch@/path/to/dataset-dir
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:
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.
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.
We've made text paragraphs on main page and some other places a little prettier and hopefully more readable.
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.
We updated SARS-CoV-2 clade schema on main page.
We upgraded Auspice tree view to version 2.39.0
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.
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.
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.
The links to datasets changes now correctly point to the page on release branch of the dataset GitHub repo, as opposed to the development branch.
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.
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.
We upgraded Rust to 1.63.0 and Nextclade CLI and Nextalign CLI are now using std::thread::scope
for better multithreading support.
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.
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.
Auspice tree view was updated to the latest version.
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.
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.
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.
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.
Dowmload links on main page have been fixed.
Text on main page have been updated according to the current knowledge.
Nextclade Web 2.4.0 was incorrectly retaining sequence name duplicates info across runs. This is now fixed.
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.
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.
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.
This release includes a routine upgrade of Auspice tree view. You can read the changelog in the Auspice GitHub repository
- 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)
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
anderrors
columns are populated). Note, it's important to check forerrors
column and disregard other columns if there are errors. For example, in case of an error, thesubstitutions
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
- 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 columnisReverseComplement
.
-
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)
-
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
-
Feature: Display a warning when unsupported browser is used
-
Fix: Display correct favicon
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!
-
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 containstrue
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.
Nextclade now correctly handles genes on reverse (negative) strand, which is particularly important for Monkeypox virus.
-
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
-
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 bothvirus_properties.json
and as a flag, then the flag takes precedence.
-
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 ofnextalign
andnextclade run
instead ofnextclade
. Seenextalign --help
ornextclade --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.
Example:
If the following is provided:
--output-translations='output_dir/gene_{gene}.translation.fasta'
then for SARS-CoV-2 Nextclade will write the following files:
output_dir/gene_ORF1a.translation.fasta output_dir/gene_ORF1b.translation.fasta ... output_dir/gene_S.translation.fasta
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
anddataset 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 therun
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:
- submit a new issue on GitHub: nextstrain/nextclade
- fork the Nextclade GitHub repository nextstrain/nextclade and contribute a bugfix or an improvement (see dev guide)
- join Nextstrain discussion forum: discussion.nextstrain.org for a free-form discussion
We hope you enjoy using Nextclade 2.0.0 as much as we enjoyed building it!
In this version we updated clade schema on main page according to new clade definitions.
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.
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
This is a bug fix release.
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.
Private substitutions are now sorted by position when they are displayed on the tree page
In Nextclade Web, long insertions no longer have a visual bug when the "truncated" text is displayed twice.
This is a bug fix release.
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.
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.
[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 issuingnextclade run
command - if necessary, override some of the individual input files using corresponding
--input-*
flags
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.
💥 [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 tagged2022-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 tovirus_properties.json
file from the dataset.
- Download the latest dataset with
-
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:
- Reversion to reference genotype
- (SARS-CoV-2 only for now) Mutation to a genotype common in at least 1 clade get labeled with that clade
- 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.
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.
The strand column in the gene map file was previously ignored. Now the "-" strand genes are correctly reverse-complemented before translation.
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.
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.
Nextclade CLI and Nextalign CLI could sometime exit with incorrect exit code. This has been fixed.
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.
In rare cases Nextclade and Nextalign algorithms could sometimes read past the end of arrays, which previously went undetected. This is now fixed.
Fixes crash Error: [json.exception.invalid_iterator.214] cannot get value |
when reading JSON tree on macOS
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This is an internal fix of a problem that might have lead to a crash, but never manifested so far.
Nextclade 1.8.0 introduced an error when --genes
flag contained only a subset of genes from the gene map. This is now resolved.
In rare cases Nextclade 1.5.0 could crash during alignment of some of the short peptides. This has been fixed in this version.
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.
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.
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.
In this version we fixed a crash with segmentation fault that could sometimes happen with Nextclade CLI on macOS.
This is a bugfix release for Nextclade Web.
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.
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.
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.
This is a bugfix release for Nextclade CLI.
The mistake in the Nextclade CLI build was fixed and now it should not look for external libraries on macOS.
This is a bugfix release for nextclade Web and Nextclade CLI.
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.
This is a small bugfix release and only affects Nextclade CLI. Nextclade Web and Nextalign CLI are unchanged.
Nextclade CLI could sometimes crash on macOS when issued a dataset list
command due to an internal error. This was now fixed.
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.
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 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.
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.
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 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 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.
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.
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.
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.
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.
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.
Nextclade CLI gained new commands and flags to manage datasets:
nextclade dataset list
command allows to list available datasetsnextclade dataset get
command allows to download a dataset to a directorynextclade run
command runs the analysis (for compatibility with old version the wordrun
can be omitted) and the new--input-dataset
flag allows to specify the directory of the previously downloaded dataset
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).
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.
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.
Top navigation bar now contain an new link "Docs", which points to Nextclade Documentation site (https://docs.nextstrain.org/projects/nextclade).
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.
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.
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.
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.
"SNP clusters" QC rule could sometimes produce ranges of SNP clusters with incorrect boundaries (begin/end). This is now fixed.
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.
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.
Improved wording of the message in the "Private mutations" QC rule tooltip.
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)
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)
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)
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).
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.
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.
We have added two additional QC rules designed to flag sequences that likely do not correspond to functional viruses.
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.
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.
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.
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
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.
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.
There are no changes in Nextalign in this release, but we keep versions of Nextalign and Nextclade in sync.
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)
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)
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)
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 usingoutput
array directly useoutput.results
now. -
💥 BREAKING CHANGE: JSON fields and CSV/TSV columns
totalMutations
andtotalGaps
were renamed tototalSubstitutions
andtotalDeletions
, for consistency. Migration path: use new JSON property or column names.
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 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 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
).
-
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:
-
Original change in Nextstrain: nextstrain/ncov#650
-
Current clade definitions in Nextstrain: clades.tsv
-
World Health Organization: Tracking SARS-CoV-2 variants
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.
- 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.
- 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.
- 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)
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:
-
Download Nextalign on Nextclade Github Releases page to run natively
-
Use Docker container image: nextstrain/nextalign
docker run -it --rm nextstrain/nextalign:latest --help
Learn more about Nextalign here.
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:
-
DockerHub: nextstrain/nextclade
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.
- 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
- 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.
- 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
- 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 N
s at the beginning and at the end of each sequence.
Thanks Stacia K Wyman for the bug report.
See also: issue #285
- 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.
- 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:
- 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:
- 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)
- 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:
- 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 modifiedVirus
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 inclades.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 removeclades.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
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.
- 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!
- 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
- format SNP clusters properly for export (c7aa5c7)
0.7.3 (2020-10-05)
This is a bugfix release
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:
--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)
- 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
- fix CLI crash on alignment failure (b02a602)
0.5.2 (2020-09-23)
- 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)
- 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)
- 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)
- 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)
- 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)
- add export to tsv (0c4452a)
0.3.6 (2020-08-18)
- lint (521594b)
- 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)
- fix type error (f6cdad5)
0.3.4 (2020-08-07)
- add node counts for every filter value and badge (67c7cba)
0.3.3 (2020-08-06)
- add missing color value in colorings (116db0e)
- ensure "Unknown" category is listed first (67e100c)
- fix incorrect import (56e1274)
- fix type error (1b07220)
- lint (5c9eab4)
- lint (1301184)
- rename variable to clarify the intent (d318594)
- 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)
- 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 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)
- remove console warning (23850fe)
0.2.1 (2020-07-17)
- 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)
- 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)
- 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 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