Recent Releases of Nextclade
Nextclade - 3.16.0
3.16.0
Introduce JSON Schema definitions
We now provide JSON Schema definitions for some of the JSON-based Nextclade file formats. You can find the latest definitions and documentation here. You can also generate schemas for your current version of Nextclade CLI using the newly added nextclade schema write command.
These schemas enable validation and parser code generation (among other things) to help in development and maintenance of projects using JSON-based Nextclade formats. We would like to emphasize that currently all JSON-based Nextclade formats are unstable and can change even in minor and patch releases. Addition of schemas don't change these stability guarantees, but could help in reducing and fixing breakage after breaking changes.
Implement amino acid mutation labels
We added functionality to detect labeled amino acid mutations if dataset authors choose to define labels for them. This is similar to the existing labeled nucleotide mutations functionality, but for amino acid sequences. This could be useful to mark particular mutations of interest. Once datasets start adopting this functionality (by adding configuration to the mutLabels.aaMutLabelMap in pathogen.json of a dataset), you can find the results in the privateAaMutations.labeledSubstitutions column/field of Nextclade output files.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 7 months ago
Nextclade - 3.15.3
3.15.3
fix: ensure GFF3 fields are correctly percent-encoded and decoded
GFF3 specification requires certain characters in values and in attributes to be encoded using percent-encoding. Nextclade previously did not comply with this requirement, which could lead to incorrectly formatted annotation-related outputs (such as annotation field in JSON output or values in GFF3 output annotation). This has been fixed.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 8 months ago
Nextclade - 3.15.2
3.15.2
fix: calculate phenotypes even if there's no tree
Nextclade now calculates and displays phenotype data even for datasets which have no reference tree. The clade ignoring feature does not apply for such datasets (because no clade assignment is possible without a tree).
fix: collapse -0.0 to 0.0 in phenotype values
Nextclade will no longer display or output negative zeroes in phenotype data.
fix: ensure CSV column and category selection is additive
Nextclade now correctly adds all entries together, when mixing individual columns and column categories in CSV and TSV output columns selection configuration (e.g. in --output-columns-selection CLI argument). Previously one would incorrectly overwrite the other.
fix: ensure canonical order of CSV columns
Order of columns in CSV and TSV is now always enforced to be the same, regardless of presence or absence of certain columns.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 8 months ago
Nextclade - 3.15.1
3.15.1
Nextclade Web: fix empty results table
Results table could sometimes be empty when starting Nextclade analysis from URL parameters. This have been fixed.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 9 months ago
Nextclade - 3.15.0
3.15.0
Nextclade Web: fix country colorings in output tree json #1646
Colors for "country", "region" and "division" are now correctly displayed in tree view
CDS coverage #1514
Nextclade now calculates amino acid coverage of each CDS. You can find this information:
- in output files: in the column or field
cdsCoverage - in Nextclade Web: in the tooltip of the "Cov." column on "Results" page
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 9 months ago
Nextclade - 3.14.5
3.14.5
Nextclade Web: disable "Relative to" dropdown when dataset has no reference tree
When using a dataset without reference tree for analysis, the "Relative to" dropdown has no meaning - the target for comparisons is always reference sequence node, because there is no information about any other nodes. We now disable this dropdown for datasets without trees.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 9 months ago
Nextclade - 3.14.4
3.14.4
Fix seed coverage calculation for short references
During alignment, seed coverage is now computed as the total seed length divided by the shorter of the query or reference. This ensures correct behavior when references are shorter than queries, without requiring artificially low min_seed_cover values.
Nextclade Web: fix crash when using ?multi-dataset URL parameter
When used ?multi-dataset URL parameter, Nextclade Web could crash under certain conditions. This has been fixed.
Nextclade Web: workaround double run
When using URL parameters, Nextclade could sometimes spawn multiple copies of the analysis run. This could result in duplicated sequences being reported in the results table erroneously as well as in other unwanted effects. We added a workaround to mitigate this problem. Please report bugs by submitting a GitHub issue.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 9 months ago
Nextclade - 3.14.3
3.14.3
Fix dataset suggestions and sorting for short references
Update minimizer-based scoring to better handle cases where the reference sequence is much shorter than the query sequence. The previous approach assumed full-genome references and could underestimate scores for partial references such as single genes. The revised method adjusts the normalization to avoid penalizing such cases, improving robustness without requiring changes to the index format. This resolves issues observed in datasets like yellow fever.
This improves dataset suggestions in Nextclade Web and dataset detection in nextclade sort CLI command. This also changes the scale of values of column score in the TSV output of nextclade sort command.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 9 months ago
Nextclade - 3.14.2
3.14.2
Nextclade Web: crash with custom Auspice JSON dataset
When an Auspice JSON dataset is provided as whole-dataset input through ?dataset-json-url, Nextclade Web could crash under certain conditions. This has been fixed.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 9 months ago
Nextclade - 3.14.1
3.14.1
Nextclade Web: crash with custom datasets
When a custom dataset is provided through ?dataset-url, Nextclade Web could crash under certain conditions. This has been fixed. Issue PR
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 9 months ago
Nextclade - 3.14.0
3.14.0
Nextclade Web: multi-dataset mode
Nextclade Web now allows to run analysis for multiple datasets at once.
You could provide sequences belonging to multiple organisms or for the same organism, but based on different reference sequences. On "Multiple datasets" tab, Nextclade will try to deduce datasets that are best matching your sequences. You can then proceed to running analysis for each dataset. If multiple datasets have been detected, you will see a "Dataset" dropdown on "Results", "Tree" and "Export" page, which allows you to switch between results for different datasets.
In multi-dataset mode, the "Export" page now also contains an "Export all to Excel" button, which allows to download .xlsx file containing all analysis results in tabular format, one dataset per sheet. This is the same data as in CSV/TSV files, but aggregated into a single file.
When starting Nextclade analysis using URL parameters, you can add ?multi-dataset to run in multi-dataset mode.
Nextclade is now using new global search algorithm to find the suggested datasets for your sequences. It tries to minimize the number of datasets, while optimizing their relevance.
This is a convenience feature, i.e. the analysis runs for each dataset are still independent, just like in single-dataset mode, except you don't need to run multiple analyses for each dataset manually now.
This could be useful if you analyze one or multiple a FASTA files containing a mixture of sequences obtained from different organisms, strains or genome segments.
Nextclade Web: add "Download SVG" button to "Tree" page
There is now a "Download SVG" button in the top-right corner of the "Tree" page. It allows to download the tree visualization and other contents of the page, including applied filters and zoom, to an SVG file. This functionality is similar to that is offered by Auspice.
Nextclade Web: add "Focus on selected" toggle on "Tree" page
Adds a sidebar toggle on "Tree" page that emphasizes visible nodes by expanding them to occupy more vertical space, improving focus on filtered or zoomed subsets. Designed to enhance visibility in large phylogenetic trees. This is an Auspice feature which was introduced in Auspice 2.59.0 and now also available in Nextclade.
Nextclade CLI: global dataset search mode for sort command
You can now add --global to sort command to enable global search algorithm to find the minimal set of suggested datasets for your sequences. Note that this mode disables streaming of results, because the optimization step requires knowing datasets for all sequences in advance. This may lead to increased memory consumption for large inputs.
This is an experimental feature. Use with caution.
Nextclade CLI: fix panics
Some of the expected errors (e.g. invalid input files) in Nextclade CLI would previously cause panics (crashes). Now these errors are handled more gracefully and the visual output of these errors to the console is now cleaner and more concise.
Nextclade CLI: fix console color mode handling
Nextclade CLI previously output colored messages (with ANSI sequences) even if output is not a TTY (e.g. redirected to a file). This has now been fixed.
For additional configuration, the CLI arguments have been added, as well as proper handling of environment variables typically used to control console coloring.
The following priority rules apply:
Nextclade detects output target (TTY or not) and outputs appropriately for the target by default
If any of the environment variables:
COLOR(auto|always|never),NO_COLOR(set),CLICOLOR_FORCE=1are found, then they override the defaultIf arguments
--color=auto|always|neveror--no-color(shortcut for--color=never) are found, they override the defaults and environment variables. If multiple--coloror--no-colorarguments present, then only the argument that comes last is taken into account.
Known issue: --help coloring is not affected by --color and --no-color arguments: #1629
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 9 months ago
Nextclade - 3.13.3
3.13.3
Fix crash when exporting annotations for sequences with missing genes
Nextclade Web and CLI would crash when attempting to output GFF and TBL files where entire genes are unsequenced or otherwise missing. This has been fixed.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 10 months ago
Nextclade - 3.13.2
3.13.2
Speed up Nextclade web, fix crash when using files >45MB on Chromium v136 browsers
In recently releaed version 136, Chromium-based browsers (e.g. Chrome, Edge) reduced the maximum allowed fixed array size, causing Nextclade web to crash when files bigger than 46,505,915 bytes are used.
It turns out that avoiding the need for a large array gets rid of most of the delay between clicking "Run" and the start of the analysis. For files of ~60MB the time saved is on the order of 5 seconds. A small but noticeable performance win! See issue #1605 and PR #1606 for more details.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 10 months ago
Nextclade - 3.13.1
3.13.1
Fix crash on empty query annotations
For certain samples which end up with an empty output genome annotation Nextclade Web could crash. This is now resolved. See #1601,#1602. Thanks @theosanderson for reporting.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 10 months ago
Nextclade - 3.13.0
3.13.0
Output genome annotations
Nextclade now outputs genome annotations for each unaligned input sequence.
These annotations are derived from reference annotation (coming from a dataset or from --input-annotation), but with the ranges of genetic features (genes, CDSes) adjusted for unaligned input sequences. The word "unaligned" here refers to the input sequences being analyzed and before they are aligned, i.e. as they come in the input fasta file(s).
These annotations can serve as a starting point for submissions to genetic databases. They also allow to extract nucleotide sequences of genes and CDSes from unaligned sequences, if you need this. Note that the extraction from aligned sequences (as being output by Nextclade) can still be done using reference annotation.
Nextclade supports 2 formats for output annotations:
Genbankβs 5-column tab-delimited feature table (TBL) format (spec)
Generic Feature Format Version 3 (GFF3) (spec)
Both formats contain the same information, but GFF3 contains slightly more metadata due to this format being more flexible. Use one or the other, depending on your needs.
In Nextclade Web, these new output annotations can be downloaded on the "Export" page, in the nextclade.tbl
and nextclade.gff sections.
In Nextclade CLI, if you are using --output-all the annotations are emitted into output directory as files nextclade.tbl and nextclade.gff. You can also add --output-annotation-tbl and/or --output-annotation-gff to override the path, or you can use only these parameters and omit --output-all, to emit only specified individual files (similar to all other --output-* parameters).
Please note that the annotations can only be output if there's a reference annotation on the input (from a dataset or from --input-annotation).
This feature is still in an experimental phase. Please report bugs by submitting a GitHub issue.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). β¨οΈ Source code is on GitHub: [github.com/nextstrain/nextclade](https://github.com/nextstrain/nextclade) π© Report bugs, suggest features by submitting a [GitHub issue](https://github.com/nextstrain/nextclade/issues) πΎ Nextclade datasets are [here](https://github.com/nextstrain/nextclade_data) |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 11 months ago
Nextclade - 3.12.0
3.12.0
Forbid reference sequences with gaps
Starting from this version, Nextclade won't accept reference sequences (reference.fasta) which contain gap characters (-).
This is true for reference sequences in Nextclade datasets (provided as --input-dataset, --dataset-name in CLI, or ?input-dataset, ?dataset-name in web), Auspice JSON datasets (through --input-dataset-json or ?input-dataset-json) as well as for individually provided reference sequences, in absence of a dataset or when overriding its files (--input-ref, ?input-ref).
We could not find meaning for the gaps in reference sequences in the context of Nextclade (pairwise alignment and comparison of sequences to a reference). When a reference with gaps have been used, it could have been causing errors and even possibly produced incorrect results silently.
Starting from this version, Nextclade will now stop with an explicit error if it detects gaps in reference sequence. To resolve, please use a reference sequence without gaps, if possible, or notify dataset authors about the problem.
If you think that Nextclade needs to support reference sequences with gaps please submit a new issue and explain your use-case and motivation on GitHub: https://github.com/nextstrain/nextclade/issues
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 11 months ago
Nextclade - 3.11.0
3.11.0
Alignment presets
Nextclade CLI now supports --alignment-preset argument, which switches between pre-defined sets of alignment parameters. Currently available values are:
- default: Suitable for aligning very similar sequences (this is the default)
- high-diversity: Suitable for more diverse viruses
- short-sequences: Suitable for short and partial sequences
This is an experimental feature. Presets are subject to change.
Fix crash with empty reference sequence
Nextclade crashed when an empty reference sequence file is provided. Now Nextclade checks for this condition and reports a useful error message instead.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot 12 months ago
Nextclade - 3.10.2
3.10.2
Correctly handle comments in GFF3 files
Nextclade sometimes reported an error in GFF3 files containing comments. This has been fixed now.
[cli] Fix verbosity CLI arguments
The Nextclade CLI arguments -v and -q were having no effect after a recent update. This has been fixed now.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 1 year ago
Nextclade - 3.10.1
3.10.1
[web] Fetch custom inputs from URLs using correct "Accept" HTTP header
Fixes Nextclade Web adding header Accept: application/json, text/plain, */* when making GET HTTP requests when fetching input files from use-provided URLs. This caused problems when fetching files from sources which allow to choose between different file formats using Accept header. The response would come in JSON format and this is not what we want. Now we add Accept: text/plain, */*, preferentially fetching all inputs as plaintext, as intended.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 1 year ago
Nextclade - 3.9.1
Nextclade 3.9.1
Fix: clade mismatch between placed node and parent node
This version addresses an issue when sometimes clade (or clade-like attribute, such as lineage) of the placed query node might not always match the clade of its parent.
The query node placement is adjusted during the greedy tree building, and sometimes the branch needs to be split and a new auxiliary internal node to be inserted to accommodate the new node. Previously, Nextclade would copy the clade of this internal node from the attachment target node. However, this is not always correct and can lead to mismatch between clade of the query node and of the new internal node.
In this version we added a voting mechanism, which calculates a mode of the clades involved: of the parent, target and query nodes. The same procedure is repeated for each clade-like attribute. After that, in some cases, branch labels also need to adjust their positions.
This should not change the clade assignment for query samples, but only the clades of the inserted auxiliary internal nodes, to make sure that the tree is consistent.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 1 year ago
Nextclade - 3.9.0
Nextclade 3.9.0
Nextclade CLI: Obtain CA certificates from platform trust store; add NEXTCLADE_EXTRA_CA_CERTS / --extra-ca-certs
Nextclade CLI users have previously reported issues with CA certificates when fetching datasets from an organization's network (e.g. in a university or in a company).
Starting with this version, Nextclade CLI respects the OS-level trust store configurations. This includes private CAs and self-signed certificates. Ensures backward compatibility and functionality across different platforms, including those lacking a native trust store or with outdated ones.
We introduced a NEXTCLADE_EXTRA_CA_CERTS environment variable and --extra-ca-certs option which allow adding additional CA certificates to the trust store specifically for Nextclade, for when modifying the system's trust store isn't desirable/possible. See #1536 for more details.
Update Auspice tree visualization to 2.58.0
Auspice tree visualization package has been updated from 2.56.0 to 2.58.0. See Auspice changelog here.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 1 year ago
Nextclade - 3.8.2
Nextclade 3.8.2
Fix detection of number of threads Nextclade Web
Sometimes Nextclade Web would detect incorrect number of available CPU threads and would create too many processing threads. This could cause additional overhead and slowdown the runs. We observed this behavior in non-chromium based browsers, such as Firefox and Safari. This has been fixed now. The number of threads has been clamped to 3 by default. You can modify this in "Settings" dialog.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 1 year ago
Nextclade - 3.8.1
Nextclade 3.8.1
Fix crash when using column config
Since 3.8.0, Nextclade could crash when particular combinations of CSV/TSV columns selected in "Column config" tab on "Export" page in Nextclade Web or with --output-columns-selection argument in Nextclade CLI. This has been resolved.
Remove extra spaces in ref node selector
Remove extra spaces in the text of entries in the "Relative to" dropdown selector in Nextclade Web.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 1 year ago
Nextclade - 3.8.0
Nextclade 3.8.0
Relative mutations
Nextclade now calls mutations relative to multiple targets. Additionally to previously available mutations relative to reference and mutations relative to parent tree node (private mutations), Nextclade now calls mutations relative to clade founder tree nodes, and relative to custom nodes of interest if defined in the dataset (e.g. vaccine strains).
Nextclade Web now has an additional dropdown selector for the target of mutation calling. Output files has new columns/fields for mutations relative to clade founders (founderMuts) as well as for mutations relative to custom nodes (relativeMutations).
See documentation for more details.
Update Auspice tree visualization to 2.56.0
Auspice tree visualization package has been updated from 2.55.0 to 2.56.0. See Auspice changelog here.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 1 year ago
Nextclade - 3.7.4
Nextclade 3.7.4
Nextclade Web
Upgrade Auspice to 2.55.0, add polyfills
This definitively resolves crash due to missing JavaScript polyfills, which occurred in Nextclade Web 3.7.2
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 1 year ago
Nextclade - 3.7.3
Nextclade 3.7.3
Nextclade Web
Fix crash on tree page in Nextclade Web
Temporarily downgrade Auspice from 2.55.0 to 2.54.3 to prevent the tree page in Nextclade Web from crashing. The definitive fix will follow.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 1 year ago
Nextclade - 3.7.2
Nextclade 3.7.2
General
[fix] Avoid duplicate node names in the output Auspice JSON tree
When multiple query samples were to be placed onto the same node on the reference tree, sometimes multiple auxiliary nodes could be created having the same name. Node names are expected to be unique for Auspice visualization to work correctly, so when visualizing the tree Auspice have been renaming these nodes and emitting warnings into browsers' dev console.
In this version we pick unique names for the auxiliary nodes during placement, so that there are no more warnings. Users may observe changes in some of the node names when inspecting output Auspice JSON file. However, this unlikely to affect most users' work.
Nextclade Web
[fix] Ensure dataset "updated at" date is displayed in Nextclade Web
Since 3.7.0 Nextclade Web is not showing "updated at" date for any datasets. This has been fixed.
[fix] Ensure frame shift and insertion markers in sequence views can also be toggled
Most markers can be toggled on or off on the sequence views in "Settings" page in Nextclade Web, however frame shifts and insertions could not be. We added the missing toggles.
[fix] Correctly style details/summary component
The text in details/summary ("collapse", "spoiler") component (e.g. the list of SC2 lineages) overflowing and producing garbled text in dataset readmes and changelogs. This has been fixed.
[dep] Update Auspice tree visualization to 2.55.0
Auspice tree visualization package has been updated from 2.53.0 to 2.55.0. See Auspice changelog here.
Internal
[infra] Fix feature-policy and permission-policy HTTP headers
The deprecated feature-policy header was removed entirely and interest-cohort entry was removed from the permission-policy header. Latest versions of web browsers should no longer emit warnings into console.
[test] Test Nextclade CLI on more Linx distros
Additionally to the previous, we now test Nextclade CLI on the following newer Linux distributions:
- Amazon Linux 2.0.2024
- Debian 12
- Fedora 41
- Oracle Linux 8.9
- Ubuntu 24.04
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 1 year ago
Nextclade - 3.7.1
Nextclade 3.7.1
Warn if reference sequence does not match root sequence of the tree
When both a standalone reference sequence and Auspice tree containing .root.sequence.nuc are present, Nextclade will check that these are the same sequence. If not, a warning is emitted to stderr for Nextclade CLI and to browser's dev console for Nextclade Web. This is mostly useful for dataset authors, for debugging.
Fix error when selecting a CDS in genome annotation visualization in Nextclade Web
Nextclade sometimes displayed an error in the peptide view when switching CDS by clicking on annotation visualization. This has been fixed now.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 1 year ago
Nextclade - 3.7.0
Nextclade 3.7.0
Use Auspice JSON as a full dataset (experimental)
Nextclade can now optionally use Auspice datasets (in Auspice v2 JSON format) not only as reference trees, but also as self-contained full Nextclade datasets. Nextclade will take pathogen info, genome annotation, reference sequence, and, of course, reference tree from Auspice JSON. No other files are needed. This allows to use almost any Auspice dataset (e.g. from nextstrain.org) as Nextclade dataset.
In Nextclade CLI,
--input-datasetargument now also accepts a path to Auspice JSON file (in addition to accepting the usual paths to a dataset directory and zip archive)Nextclade Web now has a new URL parameter
dataset-json-url, which accepts a URL to Auspice JSON file or even to a dataset URL on nextstrain.org
This feature is currently in experimental stage. For details and discussion see PR #1455.
Make reference tree branch attributes optional
Nextclade now accepts Auspice JSONs without .branch_attrs on tree nodes.
Allow index and seqName in column selection
Previously, Nextclade treated output CSV/TSV columns index and seqName as mandatory and they were always present in the output files. In this release they are made configurable. One can:
- in CLI: add or omit
indexandseqNamevalues when using--output-columns-selectionargument - in Web: tick or untick checkboxes for
indexandseqNamein "Column config" tab of "Export" page
Add dataset capabilities
The table in the nextclade dataset list command now displays an additional column "capabilities", which lists dataset capabilities, i.e. whether dataset contains information allowing clade assignment, QC, etc. The same information is available in JSON format (unstable) if you pass --json flag.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 1 year ago
Nextclade - 3.6.0
Nextclade 3.6.0
Make reference tree node attribute clade_membership optional
Previously Nextclade required clade information to be always present in the input reference tree in the form of the .node_attrs.clade_membership field on each tree node. However, for certain datasets we might not have or need clade information. Making such datasets required workarounds, such as adding an empty string to the clade_membership field.
In this version we make clade_membership field optional. This allows to make datasets without clades. This is useful when working with organisms for which clades don't make sense or for which the nomenclature is not sufficiently established. This is also useful for dataset authors, who can now bootstrap simple datasets without clades first and then add clades and other features gradually later.
With this change, if clade_membership is not present in the dataset's reference tree nodes, then
Clade assignment will not run
Any clade-related functionality will not work
Output JSON/NDJSON result entries will not contain clade field
Clade column in output CSV/TSV will be empty
Clade column in Nextclade Web will be empty
This change does not affect any other parts of the application. Notably, clade-like attributes (from .meta.extensions.nextclade.clade_node_attrs), if present, are still assigned and being written to the output as before.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot almost 2 years ago
Nextclade - 3.5.0
Nextclade 3.5.0
Algorithm
Detect loss of amino acid motifs correctly
Nextclade sometimes failed to detect a motif loss if that motif was the only one in its category. This is now fixed and users could observe changes in detected lost motifs. This affects datasets using aaMotifs property in their pathogen.json file, notably the flu datasets.
Nextclade Web
Ensure currently selected dataset is reloaded when it changes remotely
When dataset-url URL parameter is provided Nextclade Web would not update the dataset's pathogen.json file when remote dataset changes without changing its version. This is now fixed. It only affected users providing custom datasets using dataset-url URL parameter.
General
Upgrade Auspice
The Auspice tree rendering package has been updated from version 2.52.1 to version 2.53.0. See the list of changes here
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot almost 2 years ago
Nextclade - 3.4.0
Nextclade 3.4.0
Nextclade Web
Remove redundant scrollbars in dataset names
In dataset selector, sometimes there were extra scrollbars displayed to the right of the dataset names. This has been fixed.
Select suggested dataset automatically when suggestion is triggered manually
When suggestion is triggered manually, using "Suggest" button on main page, Nextclade will now automatically select the best dataset as the current dataset. Previously this could only be done by clearing the current dataset first and then clicking "Suggest". When suggestion algorithm is triggered automatically, the behavior is unchanged - the dataset will not be selected.
Nextclade CLI
Don't read dataset's tree.json and genome_annotation.gff3 unless they are declared
Nextclade CLI will no longer read tree.json and genome_annotation.gff3 from the dataset, unless they are declared in the pathogen.json. These are optional files and we cannot assume their presence or filenames.
Warn user if input dataset contains extra files
Nextclade CLI will warn users when input datasets contains extra files which are not declared in the dataset's pathogen.json, or if there's extra declarations of files in the pathogen.json, but the files are not actually present in the dataset. This is mostly only useful to dataset authors for debugging issues in their datasets.
Add Bioconda Linux ARM build
We added one more build variant to Bioconda distribution channel - for Linux operating system on 64-bit ARM hardware architecture. It uses nextclade-aarch64-unknown-linux-gnu executable underneath. This can be useful if you prefer to manage Nextclade CLI installation on your Linux ARM machine or in a Docker ARM container with Conda package manager. However, because Nextclade CLI is a self-contained single-file executable, we still recommend direct downloads from GitHub Releases rather than Conda or other installation methods.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot almost 2 years ago
Nextclade - 3.3.1
Nextclade CLI 3.3.1
Fix crash when using --verbosity option
Nextclade was crashing with internal error when --verbosity option was present. This has been fixed.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot almost 2 years ago
Nextclade - 3.3.0
Nextclade 3.3.0
General
Allow FASTA files with leading newlines
Previously Nextclade would report an error "Expected character '>' at record start" when input FASTA file contained trailing newline or when it was empty. This was fixed.
Nextclade Web
Don't run dataset suggestion when navigating to "Datasets" page
Dataset suggestion will no longer run each time "Datasets" page is opened
Upgrade Auspice tree renderer from version 2.51.0 to 2.52.1
See changelog here
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot almost 2 years ago
Nextclade - 3.2.1
Nextclade 3.2.1
Nextclade CLI
Fix "Dataset not found" error when using nextclade dataset get with --tag argument.
This fixes a bug in the dataset filtering logic causing "Dataset not found" error when even correct name and tag were requested using nextclade dataset get with --tag argument.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 2 years ago
Nextclade - 3.2.0
Nextclade 3.2.0
General
Minimizer search algorithm configuration has been improved
Minimizer search algorithm used in dataset auto-suggestion in Nextclade Web as well as in sort command of Nextclade CLI.
The default value for minimum match score (--min-score) has been reduced from 0.3 to 0.1. The default value for minimum number of hits (--min-hits) required for a detection has been reduced from 10 to 5. This should allow to better handle more diverse viruses.
If there is a sufficiently large gap between dataset scores, the algorithm will now only consider the group of datasets before the gap. The gap size can be configured using --max-score-gap argument in Nextclade CLI. The default value is 0.2.
Additionally, in Nextclade CLI sort command the algorithm now chooses only the best matching dataset. In order to select all matching datasets, the --all-matches flag has been added.
Nextclade CLI
Sequence index in the output TSV file of the sort command
The TSV output of the sort command (requested with --output-results-tsv) now contains additional column: index. The cells under this column contain index of the corresponding input sequence in the FASTA file. These indices can be used in the downstream processing to reliably map input sequences to the output results. Sequence names alone can be unreliable because they are arbitrary strings which are not guaranteed to be unique.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 2 years ago
Nextclade - 3.1.0
CLI
PCR primers are back in Nextclade CLI
Due to popular demand, we are bringing back --input-pcr-primers argument for Nextclade CLI, which accepts a path to primers.csv file. The feature works just like it did prior to release of Nextclade v3, except primers.csv is never read from a dataset - you always need to provide it separately. At the same time, we removed support for primers field from pathogen.json, because it was too difficult to make a correct JSON object and it would conflict with the primers provided with --input-pcr-primers.
Web
Fix results table stripes
Results table stripes are always alternating now, regardless of sorting and filtering applied. This is only a visual change and does not affect any functionality.
| ### Installation and usage π Documentation: [docs.nextstrain.org/projects/nextclade](https://docs.nextstrain.org/projects/nextclade) π Nextclade Web: [clades.nextstrain.org](https://clades.nextstrain.org) π₯οΈ Nextclade CLI: - π₯ Standalone native executables can be downloaded using the links in the "Assets" section just below. Mind the different operating systems and computer architectures. - π Docker images are available on [DockerHub](https://hub.docker.com/r/nextstrain/nextclade) - π Conda package is available in [bioconda channel](https://bioconda.github.io/recipes/nextclade/README.html). |
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 2 years ago
Nextclade - 3.0.1
CLI
Bug fixes
Fixed a bug introduced in v3.0.0 which caused the default path for translations to be incorrect. This affected only users who used
--output-allwithout passing a custom path template via--output-translations. The new default path isnextclade.cds_translation.{cds}.fastawhere{cds}gets replaced with the name of the CDS, e.g.nextclade.cds_translation.S.fastafor SARS-CoV-2's spike protein.Fixed a bug where
nextclade dataset getcommand fails to download a dataset if a dataset has more than one version released.
Documentation
- Added a section to the v3 migration guide about the renamed default path for translations, a breaking change. The new default output path for translations is
nextclade.cds_translation.{cds}.fasta. Before v3, the default path wasnextclade_gene_{gene}.translation.fasta. You can emulate the old (default) behavior by passing--output-translations="nextclade_gene_{cds}.translation.fasta"tonextclade3.
Instructions
π₯ Nextclade CLI can be downloaded from the links in the "Assets" section just below. Note the difference in operating systems and computer architectures.
π Nextclade Web is available at https://clades.nextstrain.org
π Docker images are available at DockerHub
π To understand how it all works, make sure to read the Documentation
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 2 years ago
Nextclade - 3.0.0
We are happy to present a major release of Nextclade, containing new features and bug fixes.
β οΈ This release contains breaking changes which may require your attention.
Useful links:
- Nextclade Web v3
- Nextclade Web v2 - if you need the old version, e.g. if you have custom v2 datasets
- Nextclade CLI releases - all versions
- Nextclade user documentation - for detailed instructions on how to use Nextclade Web and Nextclade CLI
- Nextclade dataset curation guide - if you have a custom Nextclade dataset or want to create one
- Nextclade source code repository - for contributors to Nextclade software (code, bug reports, feature requests etc.)
- Nextclade data repository - for contributors to Nextclade datasets (add new datasets, update existing ones, report bugs, etc.)
- Nextclade software issues - to report bugs and ask questions about Nextclade software
- Nextclade data issues - to report bugs and ask questions about Nextclade datasets
- Nextstrain discussion forum - for general discussion and questions about Nextstrain
BREAKING CHANGES
This section briefly lists breaking changes in Nextclade v3 compared to Nextclade v2. Please see Nextclade v3 migration guide (alternative link) for a detailed description of each breaking change and of possible migration paths.
- Nextalign CLI is removed, because Nextclade CLI can now do everything that Nextalign v2 did
- Potentially different alignment and translation output due to changes in the seed alignment algorithm. Some of the alignment parameters are removed. Default parameters of new parameters might need to be adjusted.
- Potentially different tree output due to a new tree builder algorithm.
- Dataset file format and dataset names have changed.
- Some CLI arguments for individual input files are removed.
- Some output files are removed
- Genome annotation CLI argument is renamed
- URL parameters in Nextclade Web have changed
- CDS instead of genes
The sections below list all changes - breaking and non-breaking. The breaking changes are denoted with word [BREAKING].
If you encounter problems during migration, or breaking changes not mentioned in this document, please report it to the developers by opening a new GitHub issue.
General changes
[BREAKING] Alignment
The seed matching algorithm was rewritten to be more robust and handle sequences with higher diversity. For example, RSV-A can now be aligned against RSV-B.
Parameters minSeeds, seedLength, seedSpacing, minMatchRate, mismatchesAllowed, maxIndel no longer have any effect and are removed.
New parameters kmerLength, kmerDistance, minMatchLength, allowedMismatches, windowSize are added.
Default values should work for sequences with a diversity of up to X%. For sequences with higher diversity, the parameters may need to be adjusted.
For short sequences, the threshold length to use full-matrix alignment is now determined based on kmerLength instead of the removed seedLength. The coefficient is adjusted to roughly match the old final value.
Genome annotation
Replace genes with CDSes
Nextclade now treats genes only as containers for CDSes ("CDS" is coding sequence). CDSes are the main unit of translation and a basis for AA mutations now. A gene can contain multiple CDSes, but they are handled independently.
Handle fragmentation of genetic features
A CDS can consist of multiple fragments. These fragments are extracted from the full nucleotide genome independently and joined together (in the order provided in the genome annotation) to form the nucleotide sequence of the CDS. The CDS is then translated and the resulting polypeptides are analyzed (mutations are detected etc.). This implementation allows to handle slippage (e.g. ORF1ab in coronaviruses) and splicing (e.g. tat and rev in HIV-1).
Handle circular genomes
If genome annotation describes a CDS fragment as circular (wrapping around origin), Nextclade splits it into multiple linear (non-wrapping) fragments. The translation and analysis is then performed as if it was a linear genome.
Nextclade follows the GFF3 specification. Please refer to it for how to describe circular features.
Parse regions, genes and CDSes from GFF3 file
The GFF3 file parser has been augmented to support all the types of genetic features necessary for Nextclade to operate. There are still feature types which Nextclade ignores. We can consider supporting more types as scientific need arises.
Phylogenetic tree placement
Nextclade v3 now has the ability to phylogenetically resolve relationships between input sequences, where v2 would only attach each query sequence independently to the reference tree. Nextclade v3 thus may produce trees that are different from the trees produced in Nextclade v2.
Please read the Phylogenetic placement section in the documentation for more details.
Don't count mutations to ambiguous nucleotides as reversions
We no longer treat mutations to ambiguous nucleotides as reversions, i.e. if the attachment node has a mutation mutated with respect to reference and the query sequence is ambiguous we previously counted this as a reversion. This change only affects βprivate mutationβ QC score and the classification of private mutations into βreversion substitutionβ and βunlabeled substitutionβ.
Changes in Nextclade Web
Dataset autosuggestion
Nextclade Web can now optionally suggest the most appropriate dataset(s) for user-provided input sequences. Drop your sequences and click "Suggest" to try out this feature.
Genome annotation widget
Following changes in genome annotation handling, the genome annotations widget in Nextclade Web now shows CDS fragments instead of genes.
CDS selector widget in Nextclade Web
The gene selector dropdown in Nextclade Web's results table has been transformed into a more general genetic feature selector. It shows the hierarchy of genetic features if there are nested features. Otherwise, the list is flat, to save screen space. It shows types of each of the genetic feature (gene, CDS or protein) as colorful badges. The menu is searchable, which is useful for mpox and other large viruses with many genes. Only CDSes can be selected currently, but we may extend this in the future to more feature types.
Show ambiguous nucleotides in sequence views
Nucleotide sequence views (in the results table) now also show colored markers for ambiguous nucleotides (non-ACTGN).
Improve website navigation
The row of buttons, containing "Back", "Tree" and other buttons is removed. Instead, different sections of the web application are always accessible via the main navigation bar.
The "Export" ("Download") and "Settings" sections are moved to dedicated pages.
[BREAKING] Changed and removed some of the URL parameters
Due to changes in the dataset format and input files, the URL parameters have the following changes:
input-root-seqrenamed toinput-refinput-gene-maprenamed toinput-annotationinput-pathogen-jsonaddedinput-qc-configremovedinput-pcr-primersremovedinput-virus-propertiesremoveddataset-referenceremoved
[BREAKING] Removed some redundant output files
The nextclade.errors.csv and nextclade.insertions.csv files are removed and no longer appear in the "Export" dialog, nor are they included into the nextclade.zip archive of all outputs.
Errors and insertions are now included in the nextclade.csv and nextclade.tsv files.
Auspice updated from v2.45.2 to v2.51.0
The Auspice tree viewer component is updated from version 2.45.2 to 2.51.0. See the Auspice releases or changelog.
Changes in Nextclade CLI
[BREAKING] Nextalign CLI is removed
Nextalign CLI is no longer provided as a standalone application along with Nextclade CLI v3 because Nextclade now has all the features that distinguished Nextalign. This means there's only one set of command line arguments to remember. Nextclade CLI runs the same algorithms, accepts same the inputs and provides the same outputs as v2 Nextalign, plus some more. For most use-cases, the CLI interface and the input and output files should be the same or very similar.
[BREAKING] Some alignment parameters are removed
Due to changes in the seed alignment algorithm, the following parameters are no longer used and the corresponding CLI arguments and JSON fields under alignmentParams in pathogen.json (previously virus_properties.json) were removed:
text
--seed-length
--seed-spacing
--max-indel
--min-match-rate
--min-seeds
--mismatches-allowed
The following new alignment parameters were added:
text
--allowed-mismatches
--kmer-distance
--kmer-length
--min-match-length
--min-seed-cover
--max-alignment-attempts
--max-band-area
--window-size
[BREAKING] Some CLI arguments for individual input files are removed
Due to changes in the dataset format the following CLI arguments were removed:
text
--input-virus-properties
--input-qc-config
--input-pcr-primers
in favor of --input-pathogen-json.
[BREAKING] Some CLI arguments for output files are removed
The arguments --output-errors and --output-insertions have been removed. Their information is now included in --output-csv and --output-tsv.
[BREAKING] Genome annotation CLI argument is renamed
The argument --input-gene-map renamed to --input-annotation. The short form -m remains unchanged.
[Breaking] Translation selection CLI argument is renamed
The argument --genes is renamed to --cds-selection. The short form -g remains unchanged.
Newick tree output
Nextclade can now also export the tree in Newick format via the --output-tree-nwk argument.
Optional input files
Most input files and files inside datasets are now optional. This simplifies dataset creation and maintenance and allows for step-by-step, incremental extension of them. You can start only with a reference sequence, which will only allow for alignment and very basic mutation calling in Nextclade, and later you can add more functionality. Optional input files also enable the removal of Nextalign CLI.
If you maintain a custom dataset or want to try creating one - refer to our Dataset curation guide. Community contributed datasets are welcome!
Added flag for disabling the new tree builder
The old phylogenetic tree placement behavior can be restored by adding the --without-greedy-tree-builder flag.
New arguments in dataset list command
The new argument --only-names allows to print a concise list of dataset names:
bash
nextclade dataset list --only-names
The new argument --search allows to search datasets using substring match with dataset name, dataset friendly name, reference name or reference accession:
bash
nextclade dataset list --search=flu
The argument --json allows to output a JSON object instead of the table. You can write it into a file and to postprocess it:
bash
nextclade dataset list --json > "dataset_list.json"
nextclade dataset list --json | jq '.[] | select(.path | startswith("nextstrain/sars-cov-2")) | .attributes'
New subcommand: sort
The sort subcommand takes your sequences in FASTA format and outputs sequences grouped by dataset in the form of a directory tree. Each subdirectory corresponds to a dataset and contains an output FASTA file with only sequences that are detected to be similar to the reference sequence in this dataset.
Example usage:
bash
nextclade sort --output-dir="out/sort/" --output-results-tsv="out/sort.tsv" "input.fasta"
This can be useful for splitting FASTA files containing sequences which belong to different pathogens, strains or segments, for example for separating flu HA and NA segments.
New subcommand: read-annotation
The read-annotation subcommand takes a GFF3 file and displays how features are arranged hierarchically as viewed by Nextclade. This is useful for Nextclade developers and dataset creators to verify (and debug) how Nextclade understand genetic features from a particular GFF3 file.
Example usage:
bash
nextclade read-annotation genome_annotation.gff3
Type nextclade read-annotation --help for description of arguments.
Performance improvements
Nextclade web now twice as fast when processing many sequences
Nextclade Web now uses multithreading more effectively. This results in faster processing of large fastas on computers with more than one processor. The speedup is around 2 for 1000 SARS-CoV-2 sequences on a multi-core machine.
Internal changes
Ensure type safety across programming language boundaries
The new features caused changes in major internal data structures and made them more complex. We now generate JSON schema and Typescript typings from Rust code. This allows to find mismatches between parts written in different languages, and to avoid bugs related to data types.
Make positions and ranges in different coord spaces type-safe
The change in genome annotation handling had significant consequences for coordinate spaces Nextclade is using internally (e.g. alignment space vs reference space, nuc space vs aa space, global nuc space vs nuc space local to a CDS). In order to make coordinate transforms safer, we introduced new Position and Range types, different for each space. This prevents mixing up coordinates in different spaces.
Instructions
π₯ Nextclade CLI & Nextalign CLI can be downloaded from the links in the "Assets" section just below. Click "Show all" at the bottom of the "Assets" section to show more download options. Note the difference between "nextalign" and "nextclade" files as well as differences in operating systems and computer architectures.
π Nextclade Web is available at https://clades.nextstrain.org
π Docker images are available at DockerHub
π To understand how it all works, make sure to read the Documentation
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 2 years ago
Nextclade - 3.0.0-alpha.2
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
For changes compared to the previous final release version, please refer to "Unreleased" section in CHANGELOG.md
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 2 years ago
Nextclade - 3.0.0-alpha.1
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
For changes compared to the previous final release version, please refer to "Unreleased" section in CHANGELOG.md
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 2 years ago
Nextclade - 3.0.0-alpha.0
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
For changes compared to the previous final release version, please refer to "Unreleased" section in CHANGELOG.md
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 2 years ago
Nextclade - 2.14.0
Nextclade Web 2.14.0, Nextclade CLI 2.14.0 (2023-05-09)
Algorithm & Datasets: enable masked sites for distance calculation
For some viruses, genome sequencing is unreliable in specific parts of the genome or some regions should be ignored for other reasons when calculating distances between nodes for the purpose of placing query sequences on the reference tree. These distances are used to find the optimal (smallest distance) placement of the query sequence on the reference tree and sequence errors in these regions can lead to wrong placement.
Until now, to place query sequences on the reference tree, Nextclade counted all nucleotide differences between query and reference sequence. Moving forward, sequence regions to be ignored for reference tree placement can be defined in datasets' virus_properties.json. This is useful for example for SARS-CoV-2, where we will start ignoring the terminal parts of the untranslated regions. Another use case is mpox, where the terminal repeats are intrinsically constrained to be identical. Masking one of the two terminals will avoid double-counting of the same mutations.
PR #1128 adds this feature to Nextclade's algorithm.
Masked ranges are specified in the new field placementMaskRanges in datasets' virus_properties.json. For example, the terminal 50 nucleotides of SARS-CoV-2 can be ignored for tree placement by adding the following line (positions are 0-based and end-exclusive):
json
"placementMaskRanges":[{"begin":0,"end":50},{"begin":29850,"end":29902}],
The changes are backwards compatible, if the field does not exist, Nextclade defaults to the old behavior of counting all nucleotide differences.
We are planning to shortly release a new version of SARS-CoV-2 datasets making use of this feature. Only a small proportion of sequences (<1%)should be affected, however where there are changes they will be a slight improvement in accuracy.
Avoid stale software and dataset versions in Nextclade Web
It was widely reported that users with long-persisting browser tabs and also users who don't switch datasets often, sometimes do not receive new Nextclade dataset updates, which meant that these users would not get newly designated lineages and clades lineage assignments.
Nextclade Web is a fully client-side, single-page application, which downloads the code and list of datasets once when first opening a tab. When users do not refresh the tab and don't change dataset, the same software and dataset version are used indefinitely. Without periodic page refresh and without periodic fetching of new dataset versions, users can run old code and use old data indefinitely, receiving obsolete or incomplete results.
In order to mitigate this problem, in this version, we add periodic background version checks in Nextclade Web. Every day or so, Nextclade Web will check whether the currently used version of software is the latest, as well as periodically refresh the list of available datasets and their versions. Whenever a new version of software or of a dataset is available, user will receive an update notification. The update can be accepted or dismissed (until the next version is available). Additionally, one can always obtain the latest code and datasets by doing a simple page reload in the browser (no need to clear the cache).
Nextclade is a fast-moving project, where new features and bug fixes are added frequently. We emphasize importance of using the latest versions of both, software and datasets, to receive the most accurate and up-to-date results.
Sort empty values in the results table in Nextclade Web
Nextclade Web previously had a bug, sorting incorrectly when the the column to be sorted by contained empty values. Empty values are now treated as empty strings, fixing this issue.
Improved citation dialog, website copy and translation in Nextclade Web
The "Citation" modal is now more readable and translated to multiple languages. We also added missing translations for some of the sentences in Nextclade Web. We made the intro text on main page of Nextclade Web more relevant.
Internal changes
- Prevent duplicated GitHub action runs in pull requests
- Remove Red Hat 7 from tested Linux distros
- Fix Debian repositories in CI builds for aarch64-unknown-linux-gnu architecture
- Update master branch of the fork before making bioconda PR branch
- Extend dev documentation
Commit history
(click to expand)
Instructions
π₯ Nextclade CLI & Nextalign CLI can be downloaded from the links in the "Assets" section just below. Click "Show all" at the bottom of the "Assets" section to show more download options. Note the difference between "nextalign" and "nextclade" files as well as differences in operating systems and computer architectures.
π Nextclade Web is available at https://clades.nextstrain.org
π Docker images are available at DockerHub
π To understand how it all works, make sure to read the Documentation
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot almost 3 years ago
Nextclade - 2.13.1
Nextclade CLI 2.13.1 (2023-03-28)
Lower verbosity level of translation-related warnings in Nextclade CLI
Warnings related to translation of peptides now have verbosity level "info", down from "warning", to reduce clutter in logs. You can still find all errors and warnings in the "errors" and "warnings" columns of the CSV and TSV output files, as well as in the corresponding fields of JSON output files. If you want these warnings to be printed into the console, you can increase Nextclade CLI verbosity level to "info" by adding at least one occurrence of --verbose (-v) flag or by explicitly setting --verbosity=info or to a lower value. Type nextclade run --help for more details.
Internal changes
- Add more smoke tests, including for datasets with default reference
Commit history
(click to expand)
Instructions
π₯ Nextclade CLI & Nextalign CLI can be downloaded from the links in the "Assets" section just below. Click "Show all" at the bottom of the "Assets" section to show more download options. Note the difference between "nextalign" and "nextclade" files as well as differences in operating systems and computer architectures.
π Nextclade Web is available at https://clades.nextstrain.org
π Docker images are available at DockerHub
π To understand how it all works, make sure to read the Documentation
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot almost 3 years ago
Nextclade - 2.13.0
Nextclade Web 2.13.0, Nextclade CLI 2.13.0 (2023-03-21)
Attach sequences to a priori most likely node if reference tree contains "placement_prior"
Until now, when there were multiple positions with equal numbers of mismatches between a query sequence and reference tree position, Nextclade always attached the query sequence to the reference tree node with the fewest number of ancestors. Due to the way recombinants are placed in the SARS-CoV-2 reference trees, this meant that in particular partial sequences were often attached to recombinants. With most recombinants being rare, this bias to attach to recombinants was often surprising.
In this version, we introduce a new feature that allows to attach sequences to a priori most likely nodes - taking into account which positions on the reference tree are most commonly found in circulation. The information on the prior probability that a particular reference tree node is the best match for a random query sequence is contained in the placement_prior reference tree node attribute. This attribute is currently only present in the most recent SARS-CoV-2 reference trees. The calculation can be found in this nextclade_data_workflows pull request.
To give an example: a partial sequence may have as many mismatches when compared to BA.5 as it has to the recombinant XP. Based on sequences in public databases, we know that BA.5 is much more common than XP. Hence, the query sequence is attached to BA.5. Previously, the query sequence would have been attached to XP, because XP has fewer parent nodes in the reference tree.
The impact of the feature is biggest for partial and incomplete sequences.
Add custom phenotype values to the newly placed tree nodes
When available in the dataset, the phenotype values (such as ace2_binding and immune_escape) are written into all output files except Auspice tree JSON. This omission is now fixed, and these values are set as tree node attributes. This allows to see the values and colorings for phenotype values on the tree page, and when loading the output tree JSON file into Auspice.
Fix length of 3' unsequenced aminoacid ranges in Nextclade Web
Nextclade Web was showing right boundary of the unsequenced AA range on the 3' end of peptide sequences incorrectly - the range was longer than expected. The calculations were using length of a gene in nucleotides, where there should be length in codons. This is now fixed.
Fix incorrect indices in mutation badges
The mutation badges in various places in Nextclade Web could show position "0", even though they are supposed to be 1-based. This was due to a programming mistake, which is now corrected.
Fix input-pcr-primers and input-virus-properties URL params in Nextclade Web
The input-pcr-primers and input-virus-properties URL params were swapped in the code accidentally, so one was incorrectly setting the other. This is now fixed.
Ensure translation warnings in CLI
Due to an omission, Nextclade CLI and Nextalign CLI since v2 did not print sequence translation-related warnings to the console. This is now fixed.
Fix Google Search Console warnings
We resolved warnings in Google Search Console: added canonical URL meta tag, and added noindex tag for non-release deployments. This should improve Nextclade appearance in Google Search.
Internal changes:
- freeze wasm-pack version to 0.10.3
Commit history
(click to expand)
Instructions
π₯ Nextclade CLI & Nextalign CLI can be downloaded from the links in the "Assets" section just below. Click "Show all" at the bottom of the "Assets" section to show more download options. Note the difference between "nextalign" and "nextclade" files as well as differences in operating systems and computer architectures.
π Nextclade Web is available at https://clades.nextstrain.org
π Docker images are available at DockerHub
π To understand how it all works, make sure to read the Documentation
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot almost 3 years ago
Nextclade - 2.12.0
Nextclade Web 2.12.0, Nextclade CLI 2.12.0 (2023-02-28)
Improve tooltip for "missing" column in Nextclade Web
This column's tooltip now also shows ranges of unsequenced regions, i.e. contiguous ranges of nucleotide characters absent at the 5' and 3' end of the original query sequence, as compared to the reference sequence. To put it differently, these are the ranges that are to the left and right of the alignment range - from 0 to alignmentStart and from alignmentEnd to the length of the reference sequence. These regions may appear after alignment step, where Nextclade or Nextalign might insert characters - on the 5' and 3' ends to fill the query sequence to the length of the reference sequence. Just like it does with the characters that are absent from the inner parts of the query sequence (which we then call "deletions"). If found, the unsequenced regions are also shown as two light-grey rectangles at either or both ends of the sequence in sequence view column in Nextclade Web.
Unsequenced regions are not to be confused with the missing nucleotides, which are also shown in the same tooltip. Missing nucleotides are the N characters present in the original query sequence. They are not introduced nor modified by Nextclade and Nextalign, and are only detected and counted.
It seems that there is no consensus in the bioinformatics community about the notation and naming of either of these events (e.g. which character to use and how to call these ranges). Be thoughtful about these regions when working with the results of Nextclade and Nextalign, especially if you analyze:
- sequences from different sources (different labs may use different conventions)
- sequences that are partial (have large unsequenced ranges on 5' and 3' end and large deletions in the body)
- sequences of low quality (e.g. lots of
Ns and large deletions in the body) - sequences that are already aligned (e.g. have some form of padding on 5' and 3' ends)
- sequences that are processed in some way (e.g. replacement or filling with
Nor-, or even filling from a consensus genome)
If you find strange or inconsistent results, we encourage you to inspect the input and output sequences in an alignment viewer on per-sequence basis and to contact the authors of individual sequences to clarify their conventions and intent.
Fix alignment range in CSV and TSV outputs
In CSV and TSV outputs, the values in columns alignmentStart and alignmentEnd were emitted in 0-based numbering. This was unexpected - by convention, CSV and TSV files have all ranges in 1-based format. This is now fixed.
Add new columns in CSV and TSV outputs
We added new columns in CSV and TSV outputs:
unknownAaRanges- list of detected contiguous ranges of unknown aminoacid (characterX)totalUnknownAa- total number of unknown aminoacids (characterX)
Internal changes
Commit history
(click to expand)
Instructions
π₯ Nextclade CLI & Nextalign CLI can be downloaded from the links in the "Assets" section just below. Click "Show all" at the bottom of the "Assets" section to show more download options. Note the difference between "nextalign" and "nextclade" files as well as differences in operating systems and computer architectures.
π Nextclade Web is available at https://clades.nextstrain.org
π Docker images are available at DockerHub
π To understand how it all works, make sure to read the Documentation
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 3 years ago
Nextclade - 2.11.0
Nextclade Web 2.11.0, Nextclade CLI 2.11.0 (2023-01-31)
IMPORTANT: ensure index column is written to CSV/TSV output files in case of error
The new column index was correctly written when analysis of a sample succeeds. However, for analyses which ended up with an error (e.g. "Unable to align") this column was mistakenly missing. In this version we fix this omission.
Fix gene map width in Nextclade Web
Gene map (genome annotation) was misaligned with sequence views (not matching their width). This has been fixed in this version.
Add table row indices to results table in Nextclade Web
We added a column with index of the row in the table. This is useful for visual search and counting of sorted and filtered results.
Not to be confused with sequence index. Row indices always start with 0 and sorted in ascending order, and do not change their position when sorting or filtering the results.
These indices are not a part of output files. Nextclade CLI is not affected.
Improve error messages
Errors due to failure of sequence alignment are reworded and hopefully are more complete and comprehensible now. Additionally, we improved error message when reference sequence fails to read.
Always show action buttons on results page in Nextclade Web
On smaller screens the "Download", "Tree" and other action buttons were not visible by default and horizontal scrolling were required to see them. We changed the layout such that the panel with buttons does not overflow along with table and so the buttons are always visible. Table is still scrollable.
Improve wording on main page of Nextclade Web
We improved text on main page as well as descriptions inside HTML markup, adding more concrete information and keywords. This should be more pleasant to read and might improve Nextclade ranking in search engines.
Commit history
(click to expand)
Instructions
π₯ Nextclade CLI & Nextalign CLI can be downloaded from the links in the "Assets" section just below. There click "Show all" to show more options. Note the difference between "nextalign" and "nextclade" files.
π Nextclade Web is available at https://clades.nextstrain.org
π Docker images are available at DockerHub
π To understand how it all works, make sure to read the Documentation
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 3 years ago
Nextclade - 2.10.1
Nextclade CLI 2.10.1 (2023-01-24)
Ensure --output-all, --output-tsv, --output-csv can be used together again in Nextclade CLI
This fixes a regression introduced in Nextclade CLI 2.10.0, where --output-all, --output-tsv, --output-csv arguments became mutually exclusive. This was not intended and now resolved.
This bug was breaking our bioconda checks, so Nextclade CLI version 2.10.0 will not be available in bioconda. Use 2.10.1 instead.
Nextclade Web is not affected.
Commit history
(click to expand)
Instructions
π₯ Nextclade CLI & Nextalign CLI can be downloaded from the links in the "Assets" section just below. There click "Show all" to show more options. Note the difference between "nextalign" and "nextclade" files.
π Nextclade Web is available at https://clades.nextstrain.org
π Docker images are available at DockerHub
π To understand how it all works, make sure to read the Documentation
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 3 years ago
Nextclade - 2.10.0
Nextclade Web 2.10.0, Nextclade CLI 2.10.0 (2023-01-24)
Add motifs search
Nextclade datasets can now be configured to search for motifs in the translated sequences, given a regular expression.
At the same time, we released new versions of the following Influenza datasets, which use this feature to detect glycosylation motifs:
- Influenza A H1N1pdm HA (fluh1n1pdmha), with reference MW626062
- Influenza A H3N2 HA (fluh3n2ha), with reference EPI1857216
If you run the analysis with the latest version of these datasets, you can find the results in the glycosylaiton column or field of output files or in "Glyc." column in Nextclade Web.
If you want to configure your own datasets for motifs search, see an example configuration in the aaMotifs property of virus_properties.json of these datasets: link.
Allow to chose columns written into CSV and TSV outputs
You can now select a subset of columns to be included into CSV and TSV output files of Nextclade Web (available in the "Download" dialog) and Nextclade CLI (available with --output-csv and --output-tsv). You can either chose individual columns or categories of related columns.
In Nextclade Web, in the "Download" dialog, click "Configure columns", then check or uncheck columns or categories you want to keep. Note that this configuration persists across different Nextclade runs.
In Nextclade CLI, use --output-columns-selection flag. This flag accepts a comma-separated list of column names and/or column category names. Individual columns and categories can be mixed together. You can find a list of column names in the full output file. The following categories are currently available: all, general, ref-muts, priv-muts, errs-warns, qc, primers, dynamic. Another way to receive both lists is to add a non-existent or misspelled name to the list. The error message will then display all possible columns and categories.
Note that because of this feature the order of columns might be different compared to previous versions of Nextclade.
Add URL parameter for running analysis of example sequences
You can now launch the analysis of example sequences (as provided by the dataset) in Nextclade Web, by using the special keyword example in the input-fasta URL parameter. For example, navigating to this URL will run the analysis of example SARS-CoV-2 sequences (same as choosing "SARS-CoV-2" and then clicking "Load example" in the UI):
https://clades.nextstrain.org/?dataset-name=sars-cov-2&input-fasta=example
This could useful for example for testing new datasets:
https://clades.nextstrain.org/?dataset-url=http://example.com/my-dataset-dir&input-fasta=example
Add index column to CSV and TSV outputs
The index field is already present in other output formats. In this version CSV and TSV output files gain index column as well, which contains the index (integer signifying location) of a corresponding record in the input fasta file or files. Note that this is not the same as row index, because CSV/TSV rows can be emitted in an unspecified order in Nextclade CLI (but this can be changed with --in-order flag; which is set by default in Nextclade Web).
Note that sequence names (seqName column) are not guaranteed to be unique (and in practice are not unique very often). So indices is the only way to reliably link together inputs and outputs.
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 3 years ago
Nextclade - 2.9.1
Nextclade Web 2.9.1, Nextclade CLI 2.9.1 (2022-12-09)
Set default weights in "private mutations" QC check to 1
This fixes the bug when the QC score is 0 (good) when the following QC fields are missing from qc.json:
.privateMutations.weightLabeledSubstitutions
.privateMutations.weightReversionSubstitutions
.privateMutations.weightUnlabeledSubstitutions
In this case Nextclade assumed value of 0, which lead to QC score of 0 always. Not all datasets were adjusted for the new qc.json format in time and some had these fields missing - notably the flu datasets. So these datasets were erroneously showing perfect QC score for the "private mutations" rule.
In this version we set these weights to 1.0 if they are missing, which fixes the incorrect QC scores. Some of the sequences will now correctly show worse QC scores.
Fix dataset selector in Nextclade Web when there are datasets with the same name, but different reference sequences
The dataset selector on the main page on nextclade Web did not allow selecting datasets with the same name, but different reference sequences. This did not affect users so far, but we are about to release new Influenza datasets, which were affected. In this version we resolve the problem by keeping track of datasets not just by name, but by a combination of all attribute values (the .attributes[] entries in the datasets index JSON file).
Ensure non-default references in "dataset list" command of Nextclade CLI are shown
This introduces special value all for --reference argument of nextclade dataset list command. And it is now set as default. When it's in force, datasets with all reference sequences are included into the displayed list. This resolves the problem where non-default references are not show in the list.
Internal changes
- We are now submitting PRs to bioconda automatically, which should reduce the delay of updates there
Commit history
(click to expand)
Instructions
π₯ Nextclade CLI & Nextalign CLI can be downloaded from the links in the "Assets" section just below. There click "Show all" to show more options. Note the difference between "nextalign" and "nextclade" files.
π Nextclade Web is available at https://clades.nextstrain.org
π Docker images are available at DockerHub
π To understand how it all works, make sure to read the Documentation
Scientific Software - Peer-reviewed
- Rust
Published by github-actions[bot] about 3 years ago
Nextclade - 2.9.0
Nextclade Web 2.9.0, Nextclade CLI 2.9.0 (2022-12-06)
Increase requirements for supported Linux distributions for GNU flavor of Nextclade CLI
Due to malfunction of package repositories of Debian 7, we had to switch automated builds of the "gnu" flavor of Nextclade CLI from Debian 7 to CentOS 7. This increases minimum required version of glibc to 2.17. The list or Linux distributions we tested the new version of Nextclade on is here. For users of older Linux distributions (with glibc < 2.17) we suggest to use "musl" flavor of Nextclade CLI, which does not depend on glibc, but might be substantially slower. Users of Nextclade CLI on macOS and Windows and users of Nextclade Web are not affected.
Add gene length validation in GFF3 parser
Nextclade will now check if genes have length divisible by 3 in gene maps and will fail with an error if it's not the case.
Fix translated (internationalized) strings in Nextclade Web
We fixed missing spaces between words in some of the languages and fixes some of the translations.
Internal changes
- build Linux binaries on CentOS 7
- migrate CI to GitHub Actions
- upgrade Rust to 1.65.0
Commit history
(click to expand)
Instructions
π₯ Nextclade CLI & Nextalign CLI can be downloaded from the links in the "Assets" section just below. There click "Show all" to show more options. Note the difference between "nextalign" and "nextclade" files.
π Nextclade Web is available at https://clades.nextstrain.org
π Docker images are available at DockerHub
π To understand how it all works, make sure to read the Documentation
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 3 years ago
Nextclade - 2.8.0
Nextclade Web 2.8.0, Nextclade CLI 2.8.0 (2022-10-20)
Community datasets in Nextclade Web
This release adds support for fetching custom datasets from a remote location. This can be used for testing datasets introducing support for new pathogens, as well as for sharing these datasets with the community.
For that, we added the dataset-url URL query parameter, where you can specify either a direct URL to the directory of your custom dataset:
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: - PR #1026 - Nextclade documentation on datasets - Nextclade data repo - Nextclade developers guide
Compression of all input and output files in Nextclade CLI and Nextalign CLI
Previously, only FASTA files could be compressed and decompressed on the fly. Now Nextclade CLI and Nextalign CLI can read all input and write all output files in compressed formats. Simply add one of the supported file extensions: "gz", "bz2", "xz", "zstd", and the files will be compressed or decompressed transparently.
Decrease default number of threads in Nextclade Web
Some users have observed long startup times of the analysis in Nextclade Web. In this release we decreased the default number of processing threads from 8 to 3, such that startup time is now a little faster.
If you want to speedup the analysis of large batches of sequences, at the expense of longer startup time, you can tune the number of threads in the "Settings" dialog.
Improve readability of text fragments in Nextclade Web
We've made text paragraphs on main page and some other places a little prettier and hopefully more readable.
Fix crash when reading large, highly-nested tree files
We improved handling of Auspice JSON format, such that it no longer crashes when large trees and trees with large number of deep branches are provided.
Commit history
(click to expand)
- [[`7438805`](https://github.com/nextstrain/nextclade/commit/7438805b5254fec90c45fecbddb83fe9eda85107)] chore(deps): bump auspice in /packages_rs/nextclade-web
Bumps [auspice](https://github.com/nextstrain/auspice) from 2.38.0 to 2.39.0.
- [Release notes](https://github.com/nextstrain/auspice/releases)
- [Changelog](https://github.com/nextstrain/auspice/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextstrain/auspice/compare/v2.38.0...v2.39.0)
---
updated-dependencies:
- dependency-name: auspice
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] Instructions
π₯ Nextclade CLI & Nextalign CLI can be downloaded from the links in the "Assets" section just below. There click "Show all" to show more options. Note the difference between "nextalign" and "nextclade" files.
π Nextclade Web is available at https://clades.nextstrain.org
π Docker images are available at DockerHub
π To understand how it all works, make sure to read the documentation
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.7.0
Nextclade CLI 2.7.0, Nextclade Web 2.7.0 (2022-10-05)
Hide custom clade columns
We added ability to mark certain custom clade columns as hidden. In this case they are not shown in Nextclade Web. This prepares the web application for the upcoming reorganization of clade columns. It should not affect current users.
Remove unused fields from output files, add custom phenotype key list
We removed extra repetitive fields related to custom phenotype columns (e.g. "Immune escape" and "ACE-2 binding") 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.
Commit history
(click to expand)
- [[`21c5e5e`](https://github.com/nextstrain/nextclade/commit/21c5e5ef3d760c4dd7933dca05830bc665540f77)] chore: apply automatic clippy lint fixes
- [[`d71864c`](https://github.com/nextstrain/nextclade/commit/d71864ce54bf7e14501618022b3626870f187814)] chore: lint
- [[`de4079a`](https://github.com/nextstrain/nextclade/commit/de4079ad798321a9204cdbc6879819408aaa68ff)] chore: format
- [[`296e9f8`](https://github.com/nextstrain/nextclade/commit/296e9f8a3ae10e5ba553a243d6aed8a9e848eb9d)] Merge pull request #1003 from nextstrain/chore/lint
- [[`362f280`](https://github.com/nextstrain/nextclade/commit/362f280e687d1d09680891aa45183502fe62b217)] chore(ci): only release cli from release-cli branch
- [[`8337dc0`](https://github.com/nextstrain/nextclade/commit/8337dc099467fc4c26cdd8a732972bd1f8830c4d)] fix: link to release dataset changlog
Currently release users see master dataset changelog. Here I change the link such that they see dataset changelog on release branch, i.e. only released dataset changes.
- [[`95bda16`](https://github.com/nextstrain/nextclade/commit/95bda160675cbdacdde4c88d07db6fbe8b13f19a)] Merge pull request #1004 from nextstrain/fix/web-dataset-changelog-link
- [[`ccb35e9`](https://github.com/nextstrain/nextclade/commit/ccb35e97d43eecbbf666c0f32e43e08bdb0deb70)] feat(web): format tooltip text
Format text of custom phenotype columns. This text comes from a JSON string, so formatting capabilities are very limited. Here I split the incoming string on `\n` and create paragraphs (``) from each fragment. - [[`6f48b17`](https://github.com/nextstrain/nextclade/commit/6f48b175495097fecf5f08a79b8479f41a3115d2)] Merge pull request #1005 from nextstrain/feat/web-format-tooltip-text - [[`f7d3ae8`](https://github.com/nextstrain/nextclade/commit/f7d3ae85d20719c3a0675aa461f51da9bbc43aeb)] chore: release web v2.6.1 - [[`7f6cd6b`](https://github.com/nextstrain/nextclade/commit/7f6cd6bdc1cf5dd70491ef36496f549a195a2009)] feat: allow hiding custom clade columns - [[`8e7eb64`](https://github.com/nextstrain/nextclade/commit/8e7eb6468099a40ebba11f190cc7c4083f70b6de)] fix: show custom clade columns by default Let's flip the boolean, so that it's natural default is `false` - [[`54117cf`](https://github.com/nextstrain/nextclade/commit/54117cf874a501233de65f136747d7c62718f276)] fix: remove unused data from outputs Removes `results[].phenotypeValues.nameFriendly` and `results[].phenotypeValues.description` from output JSON and NDJSON. These fields were not intended to be used, are repeated and increase file size needlessly. - [[`ee0c659`](https://github.com/nextstrain/nextclade/commit/ee0c659d3df32c226dd1cefc6d738bebf831f499)] fix: add descriptions for phenotype attributes to outputs Adds descriptions of phenotype attributes to `.phenotypeAttrKeys` of JSON output. This is for symmetry with the similarly implemented `.cladeNodeAttrKeys` attributes. - [[`f145b45`](https://github.com/nextstrain/nextclade/commit/f145b45eae843a5489378058b220c7f0dd673c90)] Merge pull request #1009 from nextstrain/fix/remove-unused-output-data - [[`c8fe93e`](https://github.com/nextstrain/nextclade/commit/c8fe93ef9ddc7e887a6dddaa41590c74df8c4f9c)] Merge pull request #1010 from nextstrain/fix/add-phenotype-descriptions-to-outputs - [[`d30d608`](https://github.com/nextstrain/nextclade/commit/d30d60885f8a68d382b04570f388cdeb094503aa)] fix: reset node attr state correctly across runs - [[`ade06e2`](https://github.com/nextstrain/nextclade/commit/ade06e267f3ab54976caff792f414368c9fd7f2a)] Merge pull request #1006 from nextstrain/feat/allow-hiding-custom-clade-columns feat: allow hiding custom clade columns - [[`1c3377b`](https://github.com/nextstrain/nextclade/commit/1c3377b22b43acb5b7231300897d29636b78dd02)] chore: speedup wasm dev build Here for wasm dev build I replace the `wasm-pack` which is nice, but behind its defaults it hides lots of useful stuff, and I call `cargo build`, `wasm-bindgen` and `wasm-opt` explicitly. Notably `wasm-pack` does not allow custom cargo profiles (https://github.com/rustwasm/wasm-pack/issues/1111). I also add the new "opt-dev" cargo profile, which is something in the middle between `release` and `dev` - a balance between rebuild speed and runtime performance. This should save lots of time during day-to-day work. The production version still uses `wasm-pack` and a more tried solution. The dev version now requires cargo wasm toolchain, `wasm-bindgen` and `wasm-opt` (from `binaryen` project) installed manually. Previously `wasm-pack` would handle that. The dev docker image was updated accordingly. - [[`ae49768`](https://github.com/nextstrain/nextclade/commit/ae497682278c2319fa5013e35479359d4a8a5dc8)] fix: adjust import For the changes in 1c3377b22b43acb5b7231300897d29636b78dd02 (there no longer is `package.json`, so import of the directory does not work) - [[`4f5db09`](https://github.com/nextstrain/nextclade/commit/4f5db091285a390bccc966283aafa78b61e7d21e)] fix(web): crash when exporting files in web Followup of https://github.com/nextstrain/nextclade/pull/1006 The PR https://github.com/nextstrain/nextclade/pull/1006 introduced a bug: it filters away hidden columns from recoil state, thus making them unavailable for export functions. The mismatch in expected columns caused crash on Rust side. Here I modify the filtering logic, moving it to the actual rendering site, instead of filtering globally. This way, hidden columns are not rendered, but are still be available for export. - [[`f0975a2`](https://github.com/nextstrain/nextclade/commit/f0975a2914b6f073dd1a3314c9006e5bab7463ef)] chore: remove unused script [skip ci] - [[`19b1932`](https://github.com/nextstrain/nextclade/commit/19b1932d2cd252e85745e0e3fac3bc83121e0669)] chore: document dev scripts [skip ci] - [[`70122ce`](https://github.com/nextstrain/nextclade/commit/70122ce5c018718cd36f008ca26dbbb6c76e5147)] Merge pull request #1011 from nextstrain/fix/web-crash-on-export - [[`66c6dd2`](https://github.com/nextstrain/nextclade/commit/66c6dd25b01a762afe915c2f349c9a876b0d53ea)] chore: release web and cli 2.7.0
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.6.0
Nextclade Web 2.6.0, Nextclade CLI 2.6.0 (2022-09-27)
New metrics: Immune escape and ACE-2 binding
We added software support for the new custom metrics in Nextclade CLI and nextclade Web. The dataset "sars-cov-2-21L" with the data required for these metrics to appear will be released in the coming days. Stay tuned.
The dataset-name URL parameter is now properly applied in Nextclade Web, even when input-fasta is not provided
Previously dataset-name URL parameter was ignored, unless input-fasta is also set. Now the dataset-name will make Nextclade Web to preselect the requested dataset, regardless of whether the input-fasta URL parameter is also provided. This allows to create URLs which preconfigure Nextclade Web with a certain dataset and dataset customizations, with intent to provide fasta and to run manually.
Better error handling
We improved error handling, such that some of the errors in Nextclade Web now have better error messages. Some of the errors that previously caused hard crash in in Nextclade CLI are now handled more gracefully and with better error messages.
Internal changes
We upgraded Rust to 1.63.0 and Nextclade CLI and Nextalign CLI are now using std::thread::scope for better multithreading support.
Commit history
(click to expand)
- [[`b2ba122`](https://github.com/nextstrain/nextclade/commit/b2ba1224ce4ef89977da9223314fb1061ecce1c3)] chore: remove deprecation notices from v1
- [[`3a374c2`](https://github.com/nextstrain/nextclade/commit/3a374c2a641fac3531a053a76504d4a9e454ef6c)] refactor: move types.ts file
It is lonely in the old deprecated `algorithms/` directory, let's put it at the root.
Remaining changes are just import path change (automated).
- [[`0583e91`](https://github.com/nextstrain/nextclade/commit/0583e91e99c38e4a05abf54bb3b41ecbfe09a5c8)] refactor: format
- [[`4a17d36`](https://github.com/nextstrain/nextclade/commit/4a17d36cad60c2d9b4ea8f78171d04ac2ea0872d)] Merge pull request #981 from nextstrain/refactor/cleanup
- [[`ab12755`](https://github.com/nextstrain/nextclade/commit/ab1275561d4235b0b2f737e4014b57ac1711d047)] fix(web): correct text instructions for fasta text fields
- [[`129f549`](https://github.com/nextstrain/nextclade/commit/129f549b454f6c95b60ccb3d22161023814b3d6f)] Merge pull request #983 from nextstrain/fix/text-field-text
- [[`7ea8414`](https://github.com/nextstrain/nextclade/commit/7ea8414fc67e6bf1a28b0b6d31404e8ac0504f8e)] fix: consider different file encodings
This attempts to mitigate crash in web when the fasta file is not UTF-8 or ASCII encoded.
Here I am trying to deduce a list of encodings the file resembles and then attempting to decode the contents of the file from these encodings to a JS string, instead of simply using the `FileReader`'s `.toString()` function.
- [[`992fc57`](https://github.com/nextstrain/nextclade/commit/992fc579a2c409c100957b157aea06340bd25987)] refactor: lint
- [[`6f4b5b4`](https://github.com/nextstrain/nextclade/commit/6f4b5b4ed236c92fc39dcac0d6c6f4f535e6ffab)] feat: try a more accurate chardet library
- [[`b0f7bf2`](https://github.com/nextstrain/nextclade/commit/b0f7bf25215850c3d1ead0433df1e9ba00e683d7)] feat: rephrase error message
- [[`18d8716`](https://github.com/nextstrain/nextclade/commit/18d87161670f5ae5cd1e9dfc7682d567350015de)] Merge pull request #987 from nextstrain/fix/web-file-encoding
- [[`f6bdaae`](https://github.com/nextstrain/nextclade/commit/f6bdaae32b374e7986fa1340c5c085bdf9792409)] refactor: lint, fix typings
- [[`86e2ac1`](https://github.com/nextstrain/nextclade/commit/86e2ac130d079fd6e6854911fd33c1ae8347d3e4)] Merge pull request #988 from nextstrain/refactor/lint
- [[`e8cce45`](https://github.com/nextstrain/nextclade/commit/e8cce457e2aaafac7d8dc4f158ccbe054e07a9ee)] feat: calculate escape
- [[`b5c6b29`](https://github.com/nextstrain/nextclade/commit/b5c6b296f2986a62441d46bf826ab17f2766fbf7)] feat: add escape to csv and tsv outputs
- [[`add2a85`](https://github.com/nextstrain/nextclade/commit/add2a855243de790a4e70587d11c4aa78e0f908f)] feat(web): add escape column
- [[`551e4e2`](https://github.com/nextstrain/nextclade/commit/551e4e22886411c283a914ebc96be506fa3af687)] feat: hide 'Escape' column when there aren't any values
- [[`e4c02b0`](https://github.com/nextstrain/nextclade/commit/e4c02b0f62a1cc8f630f2cd2a627c4360328aea7)] refactor: lint
- [[`8694a52`](https://github.com/nextstrain/nextclade/commit/8694a52640fa48a6570414a3dd5274b7e46e4f75)] feat: avoid sending filenames to plausible
- [[`f5cbfa2`](https://github.com/nextstrain/nextclade/commit/f5cbfa201557630a1dca7228534b5a56d989f795)] feat: improve error page and popup
- [[`b2f3b41`](https://github.com/nextstrain/nextclade/commit/b2f3b417cc62ff818c125e1300df8d09206c46aa)] refactor: lint
- [[`9650e27`](https://github.com/nextstrain/nextclade/commit/9650e27c2dc4472f858b50ae767f31ecc4ffed9c)] Merge pull request #992 from nextstrain/feat/web-improve-error-handling
- [[`ccbcacf`](https://github.com/nextstrain/nextclade/commit/ccbcacfb1dc1c8321c25fc62603be6e0b7f2dafa)] feat: extract translation strings
- [[`ff265c1`](https://github.com/nextstrain/nextclade/commit/ff265c1aefa00b361cdf69603ae4adb0bd64deb0)] Merge branch 'feat/extract-translation-strings'
- [[`628666a`](https://github.com/nextstrain/nextclade/commit/628666a927cca2b1ba5124089f53a19dffc8ff74)] feat: setup automatic translation with AWS Translate
- [[`d4e9bde`](https://github.com/nextstrain/nextclade/commit/d4e9bde681e483ce65eb0cf246cf05e008e37602)] Merge pull request #993 from nextstrain/feat/autotranslate
- [[`a674e35`](https://github.com/nextstrain/nextclade/commit/a674e358ef2722c187ef876c41972222ec7fc824)] feat: apply automatic translations
- [[`b7a3ab1`](https://github.com/nextstrain/nextclade/commit/b7a3ab1acd86f4a3955eb5377ac2453af43ba4e5)] feat(web): add more languages
- [[`14b98fc`](https://github.com/nextstrain/nextclade/commit/14b98fc872ea7af7d1e3dfdffd09575f4ad41814)] feat(web): translate more strings
- [[`31bc2ef`](https://github.com/nextstrain/nextclade/commit/31bc2ef8d19bbf4a182d21a96f6292db823630ea)] refactor: correct compiler error
- [[`b495e7b`](https://github.com/nextstrain/nextclade/commit/b495e7b1c5ea8e9124ace0ae3474f03231306ec9)] feat(web): persist selected locale
- [[`e9f63e1`](https://github.com/nextstrain/nextclade/commit/e9f63e1d215f0f59bb3a618f87725474d4a58049)] fix(web): sort locales
- [[`f90856b`](https://github.com/nextstrain/nextclade/commit/f90856b417dddffadd2190497b246158777e8e45)] Merge pull request #994 from nextstrain/feat/translate
- [[`09ec70c`](https://github.com/nextstrain/nextclade/commit/09ec70c6e72eb90b0edf084067311a08e66cd1ac)] chore(deps): bump auspice in /packages_rs/nextclade-web
Bumps [auspice](https://github.com/nextstrain/auspice) from 2.37.3 to 2.38.0.
- [Release notes](https://github.com/nextstrain/auspice/releases)
- [Changelog](https://github.com/nextstrain/auspice/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextstrain/auspice/compare/v2.37.3...v2.38.0)
---
updated-dependencies:
- dependency-name: auspice
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.5.0
Nextclade CLI 2.5.0, Nextclade Web 2.5.0 (2022-08-31)
Feature (CLI, Web): Coverage analysis
Nextclade now emits "coverage" metric which shows the portion of nucleotides in the alignment range being non-N and non-ambiguous, compared to the length of the reference sequence:
coverage = ((alignment_end - alignment_start) - total_missing - total_non_acgtns) / ref_len;
The metric is displayed as a percentage in the "Cov." column of Nextclade Web, and emitted into JSON, NDJSON, CSV and TSV outputs of Nextclade CLI and Web in the "coverage" field or column.
Feature (Web): Display machine-readable dataset names
Dataset selector on the main page of Nextclade Web now additionally shows machine-readable dataset name. This can help advanced Web users to put correct dataset name into the URL parameters, and CLI users to find the correct dataset name for downloads.
Feat (Web): Compact results table
We made some of the columns in results table of Nextclade Web narrower to make user experience a little better on laptops. When possible, for optimal experience, we still recommend to use 1080p displays or larger.
Fix (Web): Crashes when using filtering panel
Users reported intermittent crashes of Nextclade Web when entering values in the filtering panel on results page of Nextclade Web. This have been fixed now. If you stil have problems, please submit an issue in our GitHub repository.
Commit history
(click to expand)
- [[`b9a9a4b`](https://github.com/nextstrain/nextclade/commit/b9a9a4b5ece33e62768c82f94c7ce5b7666a71cd)] feat(web): show dataset machine-readable name in dataset selector
- [[`2de9310`](https://github.com/nextstrain/nextclade/commit/2de9310c24a9cd3df9f4e5ecfd37bec0f3293210)] Merge remote-tracking branch 'origin/master' into feat/web-dataset-machine-readable-name
- [[`4bad667`](https://github.com/nextstrain/nextclade/commit/4bad667dcf1606bacc995fa6402dceb0cbdeff7e)] fix: correctly reset duplicate sequence name map on new runs
Currently duplicate sequence name data persists across unrelated runs of Nextclade Web, this causes incorrect reporting of duplicates.
This PR ensures that duplicate sequence name data does not persist across runs.
- [[`4f23954`](https://github.com/nextstrain/nextclade/commit/4f23954169bb78e8f02902165641974787a8c69e)] Merge pull request #950 from nextstrain/fix/web-dup-names-reset
- [[`d4430e9`](https://github.com/nextstrain/nextclade/commit/d4430e9b0bdbfe85c9e09e807b50b5ab203392cc)] docs: add changelog for web 2.4.0
- [[`4435faf`](https://github.com/nextstrain/nextclade/commit/4435faf1751128fc5dde05d7dd45691f4ee20da8)] chore: release web v2.4.1
- [[`1cd8df0`](https://github.com/nextstrain/nextclade/commit/1cd8df057db291c3ffb341e0466200611c29bb21)] feat: calculate coverage qc metric
- [[`4c2e5ed`](https://github.com/nextstrain/nextclade/commit/4c2e5ed153a6414e0c5b4c80e03db4492523a325)] feat: add coverage qc metric to csv and tsv outputs
- [[`03cd444`](https://github.com/nextstrain/nextclade/commit/03cd444f28235a7a7e5e48aba7640d5c06d6f7a2)] feat(web): add coverage metric to web UI
- [[`e8b59f1`](https://github.com/nextstrain/nextclade/commit/e8b59f1ac870f525f1e7e4af3aba6939be6074b5)] feat(web): correct and restyle download links on main page
The currently deployed version links to non-existent v1 files.
I thought that removing extra explanations (found in the docs) and making buttons more prominent will make it easier for users to discover these links.
- [[`fab66aa`](https://github.com/nextstrain/nextclade/commit/fab66aa8572c3f0fa45ba21f6d2510ba56178343)] feat: add text suggested by @emmahodcroft
- [[`c16836e`](https://github.com/nextstrain/nextclade/commit/c16836ed2d8f2141d5ef12b533836568e3260928)] doc: update about text in web app
- [[`6aef071`](https://github.com/nextstrain/nextclade/commit/6aef071bcd2baef0004b24bedd34acab5028eaa2)] feat: add text suggested by @rneher
- [[`418de94`](https://github.com/nextstrain/nextclade/commit/418de944a1a295b889d81b2e06e75d713945bede)] Merge pull request #960 from nextstrain/docs/update-about
- [[`81b06c6`](https://github.com/nextstrain/nextclade/commit/81b06c6accaab823bdd05f71e6c64b7d46e6ce5f)] Merge pull request #958 from nextstrain/feat/download-links
- [[`7309d2c`](https://github.com/nextstrain/nextclade/commit/7309d2ce396df9025f8286b68e7831a8a32e18d0)] Make coverage qc more sensitive
- [[`a11499c`](https://github.com/nextstrain/nextclade/commit/a11499ca86cb25dd2573535eeab78591122e758f)] fix: wrong comment character
- [[`caf3c9a`](https://github.com/nextstrain/nextclade/commit/caf3c9ae5d133908180fdbe21c80ee15a70166eb)] feat: remove indels from coverage calculation
I'm not sure how handle Ns and ambiguous characters that appear in indels
The formula as is assumes `missing` and `non_acgtns` don't count bases
in indels
- [[`92b0c26`](https://github.com/nextstrain/nextclade/commit/92b0c26eeca25cdaa68a9a6501c91e5932031d5d)] feat: remove coverage qc metric, move it into analysis results
- [[`2412f63`](https://github.com/nextstrain/nextclade/commit/2412f634d374584d020a5c162c9ab273d7fb1797)] feat: remove qc metric from web app, add dedicated column
- [[`ff9767b`](https://github.com/nextstrain/nextclade/commit/ff9767b42f31bab460e686f746e15c9679603b5c)] feat: add coverage column
- [[`44e90db`](https://github.com/nextstrain/nextclade/commit/44e90db56b01ae68448fefcc373fb88c3118c7e8)] feat: add ref length and total covered nucs into file outputs
- [[`b503c1b`](https://github.com/nextstrain/nextclade/commit/b503c1b4ec337e4580f06b1c61fc7bceb9abd264)] docs: fix links to nextalign downloads
- [[`6b71d9e`](https://github.com/nextstrain/nextclade/commit/6b71d9ed6013acdd5c6cb8282463ce74e30239de)] docs: fix md syntax of a header
- [[`18aa4e3`](https://github.com/nextstrain/nextclade/commit/18aa4e308c4dc566b71c85097f4ee0cada28f8b2)] Merge pull request #964 from nextstrain/docs/fixes
- [[`a834ce1`](https://github.com/nextstrain/nextclade/commit/a834ce1ff16944251d3795265d122930afa8820f)] chore: add 'sphinx linkcheck' makefile target
- [[`139c4a6`](https://github.com/nextstrain/nextclade/commit/139c4a61a84be53ba7a0aec6c7cfc2512d484157)] fix: doc links
- [[`fd63ac8`](https://github.com/nextstrain/nextclade/commit/fd63ac8d8f84b305d37c6408a5d7fbc74a9749d5)] Merge pull request #965 from nextstrain/fix_doc_links
- [[`984efc8`](https://github.com/nextstrain/nextclade/commit/984efc8c37f7015cfbab59bdcc21a444a9850aaa)] feat: add event analytics
- [[`98c9076`](https://github.com/nextstrain/nextclade/commit/98c907622ca19e23d006c35e1ca71b982fc65c85)] Merge pull request #967 from nextstrain/feat/events
- [[`c51184e`](https://github.com/nextstrain/nextclade/commit/c51184edb5bebd3b169936b63fdd9a07152deb2a)] chore: release web v2.4.2
- [[`739e5ed`](https://github.com/nextstrain/nextclade/commit/739e5ed8226afe6ad7d44b9bdf58cbb459c2d574)] Move coverage column after Ns
- [[`e11a073`](https://github.com/nextstrain/nextclade/commit/e11a073f99af83b81ab7b22f0305a45f29017cbe)] Squeezing columns a bit
- [[`1735cfd`](https://github.com/nextstrain/nextclade/commit/1735cfd89f587692aff7d13208df291738950d57)] chore: precompress web root
AWS Cloudfront does not compress all files and we'd like to compress everything, including files larger than 10M and wasm for example. Here I compress files in advance with gzip and brotli and add a Lambda@Edge function which rewrites origin paths, depending on `accept-encoding` header.
- [[`f6d167f`](https://github.com/nextstrain/nextclade/commit/f6d167f5f5fcf2feda3ae7752c1ef999428a649e)] chore: fix path
- [[`a61c72f`](https://github.com/nextstrain/nextclade/commit/a61c72fbba9627cd9860e3112369ac2750a02bd1)] chore(ci): add missing deps
- [[`5992d33`](https://github.com/nextstrain/nextclade/commit/5992d33e8b9872947f04d566fbdf507182255340)] chore(ci): ensure previously uploaded files are not erased
- [[`c8356ab`](https://github.com/nextstrain/nextclade/commit/c8356ab8a2e405b756c4c003de6c7b45bd27a1b9)] chore: update security headers
- [[`5c8c8cf`](https://github.com/nextstrain/nextclade/commit/5c8c8cf56d0dbc433c900b07025ea0b81c3e5109)] chore: fix typescript error
- [[`16c741f`](https://github.com/nextstrain/nextclade/commit/16c741f583313f605974fe52361b8fdaff4a2068)] chore: install missing dependency
- [[`5530c69`](https://github.com/nextstrain/nextclade/commit/5530c69339303fd2903e9be22b9534b3eab14050)] chore: update awscli
- [[`ae0e6e5`](https://github.com/nextstrain/nextclade/commit/ae0e6e5af9324c0874eb3c35da36367a071a0ee9)] chore; set correct content type and encoding when deploying
- [[`c3f5591`](https://github.com/nextstrain/nextclade/commit/c3f5591c03986da143515e8a735e7f0aa2aafbcc)] fix: make filtering code safer
Related to: https://github.com/nextstrain/nextclade/issues/961
This removes casts in amino acid and nucleotide filtering code which have a potential to cause crashes in certain cases. I made `undefined`-comparison more lax, such that now it also checks for `null` and added default values to anything that can be nil.
Even though I cannot reproduce the issue, this hopefully should fix it.
- [[`d173af2`](https://github.com/nextstrain/nextclade/commit/d173af218851fa8cac28f1c16ea0d846ee7b0df3)] fix: swap array and filters
Lodash `intersectionWith()` expects filtered array to be the first argument
- [[`349a9e7`](https://github.com/nextstrain/nextclade/commit/349a9e7bc6c28b2bacd804ea12453c95fdddca4b)] chore(infra): fix .gz and .br rewrites
- [[`b7e1e28`](https://github.com/nextstrain/nextclade/commit/b7e1e286d483425df737b16eaea3f3073521ee8a)] chore(infra): redirect from results and tree pages to main page [skip ci]
They are not real pages, and there is nothing to see on these pages without running analysis first.
- [[`f9d80b3`](https://github.com/nextstrain/nextclade/commit/f9d80b360fe67f25d597068157d1a1e8156db2b5)] feat: move coverage column
- [[`d3cebfb`](https://github.com/nextstrain/nextclade/commit/d3cebfb275bda6b1980b1fb040eb440d5e9132b0)] Revert "feat: add ref length and total covered nucs into file outputs"
This reverts commit 44e90db56b01ae68448fefcc373fb88c3118c7e8.
- [[`8259f7e`](https://github.com/nextstrain/nextclade/commit/8259f7eb47b35c402bb63f3aee2e9fc1287e7e7b)] Merge pull request #962 from nextstrain/fix/filter-undefined-crash
- [[`c01e8f0`](https://github.com/nextstrain/nextclade/commit/c01e8f0a84a000ceaf05871a275638992beb255d)] Merge pull request #956 from nextstrain/feat/coverage
- [[`4c918a1`](https://github.com/nextstrain/nextclade/commit/4c918a11d130130a4e105759415a93dd0fe4d387)] Merge pull request #869 from nextstrain/feat/web-dataset-machine-readable-name
- [[`a9da922`](https://github.com/nextstrain/nextclade/commit/a9da922489077685a95f12e9d6375d539e86b2f6)] chore: squeeze web table columns a bit more
- [[`41d7c33`](https://github.com/nextstrain/nextclade/commit/41d7c33080542a973f0cd09f7aa6bfcabe84b7cc)] chore: prevent sorting arrows from disappearing
- [[`8e48ce8`](https://github.com/nextstrain/nextclade/commit/8e48ce8c46042ca4bc78ae130982a77f09a00069)] Merge pull request #977 from nextstrain/squeeze-columns
- [[`6a1b391`](https://github.com/nextstrain/nextclade/commit/6a1b391cc145f410c7aac81f1d59baaeac0b2d5e)] chore: release cli and web v2.5.0
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.4.0
Nextclade CLI 2.4.0, Nextclade Web 2.4.0 (2022-08-02)
Fix (Web): use indices to identify sequences uniquely in Nextclade Web
Previously, Nextclade used sequence names to identify sequences. However, sequence names proven to be unreliable - they are often duplicated. This caused various problems where results with the same names could have been overwritten.
Since this version, Nextclade Web is using sequence indices (order of sequences in the input file or files), to tell the sequences apart, uniquely. This should ensure correct handling of duplicate names. This change only affects results table in the Web application. CLI is not affected.
Feature (Web): warn about duplicate sequence names
Nextclade Web now reports duplicate sequence names. Duplicate sequence names often confuse bioinformatics tools, databases and bioinformaticians themselves, so we are trying to encourage the community to be more thoughtful about naming of their samples.
When duplicate names are detected during analysis in Nextclade Web, the "Sequence name" column of the results table now displays a yellow "duplicates" warning icon, and its tooltip contains a list of indices of sequences (serial numbers of the sequences in the input fasta file or files) having the same name.
Note that Nextclade compares only names, not sequence data themselves.
Feature (CLI): add "download dataset and run" shortcut"
In this version we added --dataset-name (-d) argument to run command, which allows to download a dataset with default parameters and run with it immediately, all in one command.
For example this command.
bash
nextclade run --output-all=out --dataset-name=sars-cov-2 sequences.fasta
or, the same, but shorter
bash
nextclade run -O out -d sars-cov-2 sequences.fasta
will download the latest default SARS-CoV-2 dataset into memory and will run analysis with these dataset files. This is a convenience shortcut for the usual combination of nextclade dataset get + nextclade run. The dataset is not persisted on disk and downloaded on every run.
Feature (Web): Upgrade Auspice from version 2.37.2 to 2.37.3
This release includes a routine upgrade of Auspice tree view. You can read the changelog in the Auspice GitHub repository
Commit history
(click to expand)
- [[`5da4fe5`](https://github.com/nextstrain/nextclade/commit/5da4fe540e55a8de3d4ed7cab2bdc2a7b8203423)] chore(deps): bump auspice in /packages_rs/nextclade-web
Bumps [auspice](https://github.com/nextstrain/auspice) from 2.37.2 to 2.37.3.
- [Release notes](https://github.com/nextstrain/auspice/releases)
- [Changelog](https://github.com/nextstrain/auspice/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextstrain/auspice/compare/v2.37.2...v2.37.3)
---
updated-dependencies:
- dependency-name: auspice
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.3.1
Nextclade CLI 2.3.1, Nextclade Web 2.3.1
- Fix #947: In datasets where genes started right at the beginning of the reference sequence, Nextclade version 2.0.0 until 2.3.0 will crash due to underflow. This is now fixed. The only Nextclade provided dataset that was affected by this bug is Influenza Yamagate HA. That dataset had a further bug in the tree so there is now a corresponding dataset bug fix release available. (report: @mcroxen)
Commit history
(click to expand)
- [[`36e2d8f`](https://github.com/nextstrain/nextclade/commit/36e2d8fe7e553fdadc7c6b5df686d9769471ce4d)] chore: release web v2.3.0
- [[`329b5e3`](https://github.com/nextstrain/nextclade/commit/329b5e3c696cbf2f9e8f04ad0bb2ccc42607300c)] Check for auspice updates daily
Uses dependabot to check for auspice updates.
- [[`f07a807`](https://github.com/nextstrain/nextclade/commit/f07a80743b15f6f44b385ea206e1520fc2d963e7)] Delete Update-Auspice.yml
This is not needed with the new .github/dependabot.yml.
- [[`1395627`](https://github.com/nextstrain/nextclade/commit/13956274ab305bf42f5ecee84969cc78df49cb91)] Merge pull request #936 from victorlin/master
- [[`f4c1aa3`](https://github.com/nextstrain/nextclade/commit/f4c1aa38bb448dd5d09f176bc60106300462cbb3)] docs: adjust cli docs to nextclade v2
- [[`781e998`](https://github.com/nextstrain/nextclade/commit/781e9984aef0e4aa390f13e757281b8e79256b6a)] Merge pull request #941 from nextstrain/docs/v2
- [[`572915b`](https://github.com/nextstrain/nextclade/commit/572915bab56f215e805544a9f95bcc1e8c4e50f4)] docs: Install nextstrain.sphinx.theme extension
The new extension has sphinx_copybutton pre-installed and configured. This change enables it here.
This also makes it easier to configure other extensions across multiple docs projects.
- [[`23010b7`](https://github.com/nextstrain/nextclade/commit/23010b7b5dc675534cf1a492111e6f3cedc29ad3)] Bump nextstrain-sphinx-theme to >=2022.5
This is when the extension started being actively configured.
- [[`4fd46af`](https://github.com/nextstrain/nextclade/commit/4fd46af22d7cf9f5fcb16ea03245c9d79dc896a3)] Merge pull request #943 from nextstrain/victorlin/docs-install-nextstrain-extension
docs: Install nextstrain.sphinx.theme extension
- [[`11f6fcb`](https://github.com/nextstrain/nextclade/commit/11f6fcbcdb06cd8788629150b194d4433872b5fd)] chore: add tmp data to gitignore
- [[`2d8ab9d`](https://github.com/nextstrain/nextclade/commit/2d8ab9d5384f2a7eec97f3f083a41543c1e94383)] refactor: lint
- [[`2f9d677`](https://github.com/nextstrain/nextclade/commit/2f9d67795eb107ed637ad6c675f7b845c61d951e)] Merge pull request #945 from nextstrain/lint
- [[`316862e`](https://github.com/nextstrain/nextclade/commit/316862e888a7891e51a943544eb609fcec5f5d2f)] fix: underflow when mutation in gene close to start
When the first gene is very close to the start of the sequence
- [[`921a11b`](https://github.com/nextstrain/nextclade/commit/921a11bd61761b2ac9270d07993fb633993a9d88)] Merge pull request #947 from nextstrain/fix/underflow-gene-context
fix: underflow when mutation in gene close to start
- [[`5cc22de`](https://github.com/nextstrain/nextclade/commit/5cc22deb9da32fbe6332d58af113aee1dc7a7976)] chore: CHANGELOG for 2.3.1
- [[`e737f19`](https://github.com/nextstrain/nextclade/commit/e737f19c47b335e71bc1a5af47821bd62f5a68c7)] chore: release cli 2.3.1
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.3.0
Nextclade CLI 2.3.0, Nextclade Web 2.3.0
This release brings back entries for failed sequences into output files.
It was reported by @tseemann (https://github.com/nextstrain/nextclade/issues/921) 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
seqNameanderrorscolumns are populated). Note, it's important to check forerrorscolumn and disregard other columns if there are errors. For example, in case of an error, thesubstitutionscolumn will be empty, but it does not mean that the failed sequence has no substitutions. - JSON output now has a separate
errorsfield 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
We improved the warning that users of unsupported browsers (mostly Safari) receive when they browse to Nextclade web.
Further changes only relevant to those building Nextclade themselves:
- @xzhub contributed a PR (#930) to improve customization of the dataset server URL: when DATA_FULL_DOMAIN is started with /, the HTTP Origin will automatically be added in front of it to make an absolute url
Commit history
(click to expand)
- [[`0e7971e`](https://github.com/nextstrain/nextclade/commit/0e7971e4580b58d33d06a7eea2e424bb687579bb)] test(cli): scaffold functional cli tests with cram
- [[`606fad8`](https://github.com/nextstrain/nextclade/commit/606fad890f141c868f0059169efd02ce886bc5d0)] Merge pull request #920 from nextstrain/test/cli-func
- [[`72695f6`](https://github.com/nextstrain/nextclade/commit/72695f6ab3d90c6d579e3714af7f26abeb4d250e)] Update CHANGELOG.md
- [[`bdfd9cf`](https://github.com/nextstrain/nextclade/commit/bdfd9cff73f8181bb5891a9a9c49eb0218e7e868)] chore(ci): fix gnu linux build
Apparently Debian 7 has no pip3 package. So let's install it using get-pip script
- [[`6bf4e03`](https://github.com/nextstrain/nextclade/commit/6bf4e035e1d90f8548bcb420ea47ef6ffaaa67a5)] docs(dev): add a note about CORS in dev guide
- [[`52d0f50`](https://github.com/nextstrain/nextclade/commit/52d0f5020d549a08b271bf6ca485a4fd85755743)] fix(cli): write failed sequence results (errors) to csv and tsv outputs
It was reported by @tseemann that In Nextclade v2 csv and tsv outputs are not written for failed sequences. While in v1 they were. This was unintended.
Here I bring back writing CSV and TSV rows for failed sequences (only "errors" column is populated)
- [[`f9280c4`](https://github.com/nextstrain/nextclade/commit/f9280c4ad849e58731e07cfec6145d4b5259683b)] feat(cli): add 'warnings' and 'failedGenes' columns to results csv/tsv
This adds new columns to main nextclade results 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.
- [[`2fdf81a`](https://github.com/nextstrain/nextclade/commit/2fdf81a3c7c7c9e599142d6776ac1d9e285b6c30)] docs: fix typos
Noted in an email to our support address (ticket 510).
- [[`ca1c74d`](https://github.com/nextstrain/nextclade/commit/ca1c74dffa2b4e71e2e65faa49983fa0f5457f68)] Merge pull request #924 from nextstrain/docs/fix-typos
docs: fix typos
- [[`773b1e6`](https://github.com/nextstrain/nextclade/commit/773b1e6ea096a1d6cb4422099a99d04033818005)] chore: remove unnecessary variable
- [[`7951530`](https://github.com/nextstrain/nextclade/commit/79515303f3b0368875cd488a3af156b7a2f9ffbe)] Merge remote-tracking branch 'origin/master' into fix/cli-csv-output-errors
- [[`b0d41e6`](https://github.com/nextstrain/nextclade/commit/b0d41e66dd3ee7eb3c346901b3799a3fd99c167d)] fix(cli): write failed sequences to json and ndjson outputs
- [[`c1f9a72`](https://github.com/nextstrain/nextclade/commit/c1f9a72a0d022551dbe53ab663268dc2a0a1816a)] Revert "chore: upgrade Cargo.toml's"
This reverts commit 2290adc08adb14752c465465746b0ff1f69e8254.
- [[`55f3342`](https://github.com/nextstrain/nextclade/commit/55f33420d18a8e5f61fab647ccc3e7206a31aae4)] Revert "chore: update dependencies, rust to 1.61"
This reverts commit 46a8a53a840b84418415abba2a0949a85698e4cd.
- [[`381c3ab`](https://github.com/nextstrain/nextclade/commit/381c3ab1f2c1cb0696e2c62aaf840246f0078e18)] Merge pull request #925 from nextstrain/chore/revert-dep-upgrade
- [[`5a5a060`](https://github.com/nextstrain/nextclade/commit/5a5a0609f47bf12972943bdddc578910fee486aa)] Merge remote-tracking branch 'origin/master' into fix/cli-csv-output-errors
- [[`b33d343`](https://github.com/nextstrain/nextclade/commit/b33d343b1217b0cae930fa968989e956065d076a)] fix(web): add failed sequences to downloaded outputs in the web app
- [[`01f5076`](https://github.com/nextstrain/nextclade/commit/01f5076e27ed31fbfe9c0911a84dcf0bba567290)] fix(web): typo in download dialog
- [[`7062ced`](https://github.com/nextstrain/nextclade/commit/7062ced0cb8f4d2f5b97a8321c4511735ccae90e)] fix(web): enable download button even if all sequences faield
Currently the button stays disabled when a ran ended in no successful results. However, this prevents downloading errors.csv and other files containing errors, which might still be useful.
- [[`e55f31b`](https://github.com/nextstrain/nextclade/commit/e55f31ba65fbc6f08cc883d6aa872c07120c5dc2)] Merge pull request #926 from nextstrain/fix/web-typo
- [[`da679ac`](https://github.com/nextstrain/nextclade/commit/da679ac32713579b078f121caeb3f62a6040bff6)] feat(web): improve unsupported browser warning
This makes the warning to appear in a modal, so that it's harder to miss. Also adds links to official websites of Chrome and Firefox.
- [[`ab00f35`](https://github.com/nextstrain/nextclade/commit/ab00f35cb0cffb7d6a321707a93877c2f8102169)] fix: add failed sequences to insertions.csv of nextalign and nextclade
- [[`f4d4480`](https://github.com/nextstrain/nextclade/commit/f4d448079cabd1e60619a0f65d060225f476d1f0)] docs: document outputs on failures
- [[`fe9bb44`](https://github.com/nextstrain/nextclade/commit/fe9bb443ebc7682e7fd7310d2aa3bd5813a682e8)] fix: make error entries in JSON and NDJSON outputs similar to normal
- [[`cd9ed49`](https://github.com/nextstrain/nextclade/commit/cd9ed490deadf9f78d262b449ecb9c5177432140)] Merge pull request #922 from nextstrain/fix/cli-csv-output-errors
- [[`88238a8`](https://github.com/nextstrain/nextclade/commit/88238a8d4dd5907b08326e4fb6060c375d78ce1c)] docs: document limitations of JSON outputs
Adds a few warnings explaining how JSON outputs can cause increased memory consumption.
> β οΈ For CLI users: Note that due to technical limitations of the JSON format, it cannot be streamed entry-by entry, i.e. before writing the output to the file, all entries need to be accumulated in memory. If the JSON results output or tree output is requested (through --output-json, --output-tree or --output-all arguments), for large input data, it can cause very high memory consumption, disk swapping, decreased performance and crashes. Consider removing these outputs for large input data, running on a machine with more RAM, or processing data in smaller chunks.
- [[`5c73286`](https://github.com/nextstrain/nextclade/commit/5c73286a4e3200fa60c5f21d69c7ec2905a831d2)] docs: document output compression
- [[`cb569e5`](https://github.com/nextstrain/nextclade/commit/cb569e5be0418eb74cf30c67d1cd4627f0e32e88)] docs: document how failed sequences are reflected in output files
- [[`8986a95`](https://github.com/nextstrain/nextclade/commit/8986a95a088b27458ad5fbb0f663ebaba6cdbe35)] Merge pull request #929 from nextstrain/docs/outputs
- [[`4f56bd9`](https://github.com/nextstrain/nextclade/commit/4f56bd9b0e0c80a20be1fcd7886fa51227d61a84)] Let user use relative url for nextclade datasets server
when the DATA_FULL_DOMAIN is started with '/', the HTTP Origin will
be added automatically in front of it to make an absolute url
- [[`4ab84c8`](https://github.com/nextstrain/nextclade/commit/4ab84c84448fe4fb86ca9fb4122578df395b20cb)] Replace var with let
- [[`ee12aab`](https://github.com/nextstrain/nextclade/commit/ee12aab3c3eedcd45ab25b03d4c64f971368b609)] Merge pull request #930 from xzhub/master
- [[`0200b6e`](https://github.com/nextstrain/nextclade/commit/0200b6e47e7416afd99ec8fbae5557655fb88b7f)] Merge branch 'fix/web-enable-dl-btn'
- [[`34fc40a`](https://github.com/nextstrain/nextclade/commit/34fc40a13d201eaa7f869b2968083ed4406eee51)] Merge branch 'feat/web-improved-unsupported-browser-warning'
- [[`bbaff7b`](https://github.com/nextstrain/nextclade/commit/bbaff7b66da438bd96179a5530c780253794a94b)] feat(cli): add a note about CSV and TSV delimiters
- [[`356c100`](https://github.com/nextstrain/nextclade/commit/356c1005fdf265cd7a5458bfb000c9d4030777ea)] Merge pull request #933 from nextstrain/feat/cli-help-csv-delimiters
feat(cli): add a note about CSV and TSV delimiters
- [[`7c38af8`](https://github.com/nextstrain/nextclade/commit/7c38af8f38e0eb6c2e5feff33f062024ef090efc)] docs: update changelog [skip ci]
- [[`4b70821`](https://github.com/nextstrain/nextclade/commit/4b70821049d883e17514126e1adfc3333db00240)] chore: release cli 2.3.0
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.2.0
Nextclade CLI 2.2.0
- Feature When
--retry-reverse-complementargument 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.
Commit history
(click to expand)
- [[`e257352`](https://github.com/nextstrain/nextclade/commit/e257352892084986b4c26cf9a4baf0d19d64405c)] chore: add issue reporter to changelog
- [[`2a78b1b`](https://github.com/nextstrain/nextclade/commit/2a78b1b06859914807aac1d0cc27c13223348d16)] docs: adjust version in changelog
- [[`f344094`](https://github.com/nextstrain/nextclade/commit/f344094b9889593e6a6c93cfd3975c6c339ec90b)] Merge pull request #915 from nextstrain/add-issue-reporter-to-changelog
- [[`c32c817`](https://github.com/nextstrain/nextclade/commit/c32c81755474369e05b39a0aaaca371df3eb5d76)] feat: remove reverse complement suffix from outputs except nuc fasta
Followup of https://github.com/nextstrain/nextclade/pull/887
We reconsidered: we will only append suffix to sequence names in aligned fasta output. So this removes the suffix from all other places (incl. translation fastas).
- [[`13d14fa`](https://github.com/nextstrain/nextclade/commit/13d14fa3d69e94276ebf3062b6131914bdc698ee)] feat: adjust warning message when a sequence is reverse complemented
- [[`1a360e3`](https://github.com/nextstrain/nextclade/commit/1a360e335d91b89c4150eff85a834188181983f0)] chore: upgrade rust to 1.62.0
- [[`04e6233`](https://github.com/nextstrain/nextclade/commit/04e62338cbf68ebc300005d521297467de35b5b8)] Merge pull request #919 from nextstrain/chore/upgrade-rust
- [[`9c6044c`](https://github.com/nextstrain/nextclade/commit/9c6044c9ef0e027961785428cbc35cd0c915e557)] Merge pull request #916 from nextstrain/feat/rev-compl-suffix
- [[`a992ace`](https://github.com/nextstrain/nextclade/commit/a992ace5f9cdbefc5dc56a76a997adcc1020b223)] docs: add changes to changelog
- [[`7b02072`](https://github.com/nextstrain/nextclade/commit/7b020727020cfc132bca2f7ea7e2d59d68c8f220)] chore(ci): clear ci caches [skip ci]
- [[`4ddd049`](https://github.com/nextstrain/nextclade/commit/4ddd049ff00979fd953dce0f5b9fcbe060c7a19c)] chore(ci): add `--frozen` cargo flag in ci
- [[`f4d9a9e`](https://github.com/nextstrain/nextclade/commit/f4d9a9ebb7f476e6a02045a40329129b1d23821e)] chore(ci): run build and check lockfile as a part of release script
- [[`bf5be99`](https://github.com/nextstrain/nextclade/commit/bf5be99f15e263b4a3e4baa80c6f54b2f190a0ba)] chore(ci): add more release checks [skip ci]
- [[`d455e0a`](https://github.com/nextstrain/nextclade/commit/d455e0ab366f145b711deb2f7700afdde17f44e7)] chore: rearrange fields in toml files for more informative release diffs [skip ci]]
- [[`2e71d7c`](https://github.com/nextstrain/nextclade/commit/2e71d7cd43444334fe2521c6312c43191ee8d470)] chore: release cli 2.2.0
- [[`6433303`](https://github.com/nextstrain/nextclade/commit/64333030a52de38b64e068d6895a25b8eded61a3)] chore(ci): fix ci build by using `--locked` instead of `--frozen`
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.1.0
Nextclade CLI 2.1.0
Fix #907: If
--ouput-basenamecontains dots, the last component is no longer omitted (report: @KatSteinke, fix: @ivan-aksamentov)Fix #908: Files passed as
--input-virus-propertieswere interpreted like passed to--input-pcr-primersand vice versa (report: @BCArg, fix: @CorneliusRoemer)
Commit history
(click to expand)
- [[`9e98a42`](https://github.com/nextstrain/nextclade/commit/9e98a42e17674a06a16bf652282e6c85e9a39bd1)] docs: fix download links [skip ci]
- [[`46a8a53`](https://github.com/nextstrain/nextclade/commit/46a8a53a840b84418415abba2a0949a85698e4cd)] chore: update dependencies, rust to 1.61
- [[`2290adc`](https://github.com/nextstrain/nextclade/commit/2290adc08adb14752c465465746b0ff1f69e8254)] chore: upgrade Cargo.toml's
- [[`bb9f276`](https://github.com/nextstrain/nextclade/commit/bb9f27678242668c3423f8cd07c4a2fd025c16ed)] Merge pull request #905 from nextstrain/update-deps
- [[`6935a9a`](https://github.com/nextstrain/nextclade/commit/6935a9a0264742d98cb18d3a5be3ea37c19d1a0f)] Fix link to bioconda package
- [[`cff9f9f`](https://github.com/nextstrain/nextclade/commit/cff9f9f04ab8c14493a77213e416a76a93e94001)] Merge pull request #906 from nextstrain/victorlin/fix-doc-link
- [[`29a92cb`](https://github.com/nextstrain/nextclade/commit/29a92cb2cfa2002c7fe94951c7811a876471fcd0)] fix: mixed up input-prc and input-virus-properties
- [[`dbb0ca9`](https://github.com/nextstrain/nextclade/commit/dbb0ca9cc4c3c8d0dec5a02054f07f64922d589e)] chore: add bug fix to changelog
- [[`e9df843`](https://github.com/nextstrain/nextclade/commit/e9df843c4232d333cca3c6bebd7e14895a2abf3d)] Merge pull request #911 from nextstrain/fix-mangled-input-files
fix: mixed up input-prc and input-virus-properties
- [[`d0d550a`](https://github.com/nextstrain/nextclade/commit/d0d550ad4d1b749d8bc1153903d2b30c7afd98bf)] fix(cli): prevent truncation of components if basename contains dots
Resolves: https://github.com/nextstrain/nextclade/issues/907
This rolls an in-house version of `add_extension()` function which always adds an extension to a `PathBuf`. This is different from `PathBuf::with_extension()` which may replace or add extension depending on what the path is.
This solves a problem with basenames containing dots, as described in the issue: `PathBuf::with_extension()` thought that they are extensions and replaced the last one. But we always want to add, not replace.
- [[`d5ef6bb`](https://github.com/nextstrain/nextclade/commit/d5ef6bbf34623aa7b2a80df53191e778b5b4581f)] docs: add new cli changes to changelog
- [[`249adda`](https://github.com/nextstrain/nextclade/commit/249addad86843c7110d0ceec4243c104ce2bfe29)] docs: add recent web changes to changelog
- [[`75d0ecd`](https://github.com/nextstrain/nextclade/commit/75d0ecd278f054c552de17605da13c45e8811228)] Merge pull request #913 from nextstrain/fix/cli-basename-dots
- [[`95f20df`](https://github.com/nextstrain/nextclade/commit/95f20df4be4ac0a2677b4dc52e82bee1bdb96a6c)] Merge remote-tracking branch 'origin/master' into docs/web-changelog
- [[`daa5c02`](https://github.com/nextstrain/nextclade/commit/daa5c02ec48a592577c96b9dd5b05a5e2e86ed5a)] docs: fix md syntax
- [[`74e7334`](https://github.com/nextstrain/nextclade/commit/74e7334ed1e801bd3080a5cf7efb1a2badab284a)] Merge branch 'docs/web-changelog'
- [[`91e77c6`](https://github.com/nextstrain/nextclade/commit/91e77c633d358fef2d2f583098504d0f69fa29eb)] chore: release cli 2.1.0
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0
Nextclade 2.0.0
Rust
Nextclade core algorithms and command-line interface was reimplemented in Rust (replacing C++ implementation).
Rust is a modern, high performance programming language that is pleasant to read and write. Rust programs have comparable runtime performance with C++, while easier to write. It should provide a serious productivity boost for the dev team.
Also, it is now much simpler to contribute to Nextclade. If you wanted to contribute, or to simply review and understand the codebase, but were scared off by the complexity of C++, then give it another try - the Rust version is much more enjoyable! Check our developer guide for getting started. We are always open for contributions, reviews and ideas!
Alignment algorithm rewritten with adaptive bands
Feature: Previously, the alignment band width was constant throughout a given sequence. Now, band width is adaptive: narrow where seed matches indicate no indels, wide where seed matches indicate indels.
Performance is improved for sequences with indels
Fix: Terminal alignment errors, particularly common in BA.2, are fixed due to wider default band width between terminal seed matches and sequence ends
Fix: More robust seed matching allows some previously unalignable sequences to be aligned
Fix: Terminal indels for amino acid alignments are only free if the nucleotide alignment indicates a gap. Otherwise, they are penalized like internal gaps. This leads to more parsimonious alignment results.
Feature: Additional alignment parameters can now be tuned:
- "Excess band width" parameter controls the extra band width that is necessary for correct alignment if both deletions and insertions occur between two seed matches.
- "Terminal band width" controls the extra band width that is necessary for correct alignment if terminal indels occur.
Feature: "Min match rate" parameter is added, which sets required rage of seed matches in a sequence (number of matched seeds divided by total number of attempted seeds). If the measured rate is below required, alignment will not be attempted, as for such sequences, there is a high chance of infeasible memory and computational requirements. The default value is 0.3.
Fix: 3' terminal insertions are now properly detected
Feature: "Retry reverse complement" alignment parameter is added. When enabled, an additional attempt of seed matching is made after initial attempt fails. The second attempt is performed on reverse-complemented sequence.
As a consequence:
- the output alignment, peptides and analysis results correspond to this modified sequence and not to the original
- sequence name gets a suffix appended to it for all output files (fasta, seqName column, node name on the tree etc.)
- in output files, there is a new field/column: isReverseComplement, which contains true if the corresponding sequence underwent reverse-complement transformation
This functionality is opt-in and the default behavior is unchanged: skip sequence and emit a warning.
Genes on reverse (negative) strand
Nextclade now correctly handles genes on reverse (negative) strand, which is particularly important for Monkeypox virus.
Nextclade Web
Feature: Nextclade Web is now substantially faster, both to startup and when analysing sequences, due to general algorithmic improvements.
Feature: Drag&drop box for fasta files now supports multiple files. The files are concatenated in this case.
Feature: Sequence view and peptide views now show insertions. They are denoted as purple triangles.
Fix: Tree view now longer shows duplicate clade annotations
Input files
Fix: gene map GFF3 file now correctly accepts "gene" and "locus_tag" attributes. This should allow to use genome annotations from GeneBank with little or no modifications.
Feature: Nextclade now reads virus-specific alignment parameters from
virus_properties.jsonfile 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.jsonand as a flag, then the flag takes precedence.
Nextclade CLI
- Feature: BREAKING CHANGE Command-line interface was redesigned to make it more consistent and ergonomic. The following invocation should be sufficient for most users:
bash
nextclade run --input-dataset=dataset/ --output-all=out/ sequences.fasta
short version:
bash
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 runinstead ofnextalignandnextclade runinstead ofnextclade. Seenextalign --helpornextclade --helpfor the full list of commands. Each command has it own--helpmenu, e.g.nextclade run --help.--input-fastaflag 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:bash nextclade run -D dataset/ -O out/ 1.fasta 2.fasta.gz 3.fasta.xz 4.fasta.bz2 5.fasta.zstIf 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:```bash curl $fastagzurl | gzip -cd | nextclade run -D dataset/ --output-tsv=- | mynextcladetsv_processor
xzcat *.fasta.xz | nextalign run -r ref.fasta -m genemap.gff -o - | processalignedfasta ```
The flag
--output-all(-O) replaces--output-dirflag and allows to conveniently output all files with a single flag.The new flag
--output-selectionallows to restrict what's being output by the--output-allflag.If the
--output-basenameflag 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-translationsis 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:
```bash
--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-complementarguments 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-ndjsonflag 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 getanddataset listcommands 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 getcommand can output downloaded dataset in the form of a zip archive, using--output-zipflag. The dataset zip is simply the dataset directory, but compressed, and it can be used as a replacement in the--input-datasetflag of theruncommand.Feature: Nextalign CLI and Nextclade CLI provide a command for generating shell completions: see
nextclade completions --helpfor details.Feature: Verbosity of can be tuned using wither
--verbosity=<severity>flag or one or multiple occurences of-vand-qflags. By default Nextclade and Nextalign show messages with severity "warn" or above (i.e. only warning and errors). Flag-vincreases and flag-qdecreases verbosity one step,-vvand-qq- two steps, etc.
Feedback
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!
Commit history
(click to expand)
- [[`2a150f7`](https://github.com/nextstrain/nextclade/commit/2a150f75d17e3fb90e6394f017c3164f8d0b99a3)] fix(web): forbid entering /tree page on reload
The tree page is crashing without its inputs and users have no business navigating there themselves or reloading the page there, so let's' redirect them to `/`.
In fact, let's redirect from anything that's not `/`.
But not in dev mode.
- [[`cf5fada`](https://github.com/nextstrain/nextclade/commit/cf5fada899c6e6a7c41e22bb0b56fb5a7a29c052)] Merge remote-tracking branch 'origin/master' into fix/web-reload-tree-crash
- [[`b778006`](https://github.com/nextstrain/nextclade/commit/b778006f85870f9190ae4fe9becddd3b15e9bf8b)] docs: adjust user docs for v2
- [[`cf4b143`](https://github.com/nextstrain/nextclade/commit/cf4b1432345ac372285f4558b6f98a3beba7ef85)] docs: remove datasets-local file
This is now described in dev docs
- [[`03e8d4b`](https://github.com/nextstrain/nextclade/commit/03e8d4b034485e8a5a9344d75eb9913a61eb30fb)] docs: simplify readme
- [[`c36eab8`](https://github.com/nextstrain/nextclade/commit/c36eab821a0db1f8a69f6f9c62f405447ebb08f2)] fix(cli): correct template param in translations help example
- [[`a067625`](https://github.com/nextstrain/nextclade/commit/a067625226a445a784c984c2a48257959571a95e)] Merge pull request #893 from nextstrain/fix/cli-translations-help-example
- [[`42bcb6b`](https://github.com/nextstrain/nextclade/commit/42bcb6bad5a4aa9555d391ec3cc5f5d16f0f9f5d)] docs: correct install instructions for v2
- [[`00542bb`](https://github.com/nextstrain/nextclade/commit/00542bb1332e437197013f12ab0c8b6eb09bec6f)] docs: correct csv column descriptions
- [[`b44bd5b`](https://github.com/nextstrain/nextclade/commit/b44bd5b365a81b315ae81abf470cc711486aa9e3)] docs: remove warning about windows binaries
They are now available
- [[`2f272d3`](https://github.com/nextstrain/nextclade/commit/2f272d3083bf3b6ccca86eba2438544ac2e4ca1f)] docs: add a note about gnu vs musl
- [[`a212544`](https://github.com/nextstrain/nextclade/commit/a21254451aa2d88b9064ee77c4eec3318c55a871)] docs: updated alignment algo description
- [[`015bc29`](https://github.com/nextstrain/nextclade/commit/015bc292588bfeada24dedb5c80d2fbb473017ac)] fix(cli): avoid errors when certain subcommands are invoked
Resolves https://github.com/nextstrain/nextclade/issues/899
This consolidates subcommand handling on one place and prevents inconsistencies when certain subommands need to be handled in 2 places but it's not done, causing a crash.
- [[`348e65c`](https://github.com/nextstrain/nextclade/commit/348e65cff85db7d1412a5426189a78c0ddc33b1a)] Merge pull request #902 from nextstrain/fix/cli-subcommand-handling
- [[`887f862`](https://github.com/nextstrain/nextclade/commit/887f8624646c866cb0213fb5550b1034de73a413)] docs: fix url
- [[`36dd0c5`](https://github.com/nextstrain/nextclade/commit/36dd0c571a1d1b1961021ac92a4ec89e18ad6a13)] docs: fix windows cli commands in docs
- [[`f923f1c`](https://github.com/nextstrain/nextclade/commit/f923f1cb9d21c0a5028f160c43a6dedd1687efe4)] Merge pull request #894 from nextstrain/docs/user-docs-v2
- [[`0f7c523`](https://github.com/nextstrain/nextclade/commit/0f7c5236158f0dc2d98942c1fa53c8bbbe87283d)] Merge pull request #863 from nextstrain/fix/web-reload-tree-crash
- [[`16d6b07`](https://github.com/nextstrain/nextclade/commit/16d6b07f547e91f3a0c3cf0bb2990ea19fc7058c)] chore: remove cargo update from release script [skip ci]
- [[`27aba89`](https://github.com/nextstrain/nextclade/commit/27aba89e82cb216e31bf73de9edac2bfc1dda067)] chore: release cli 2.0.0
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-beta.9
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`bc9839c`](https://github.com/nextstrain/nextclade/commit/bc9839caa95e551b4e00bab59c18efdc16f59b1a)] feat: retry with reverse complement when seed matching fails
Adds flag `--retry-reverse-complement` which enables additional attempt of seed matching when 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.
This functionality is opt-in and the default behavior is to skip sequence with a warning.
- [[`879f780`](https://github.com/nextstrain/nextclade/commit/879f78051ef858c3edf691b86199d916bbfb22b0)] feat: append suffix to sequence if reverse complemented
- [[`fa8f275`](https://github.com/nextstrain/nextclade/commit/fa8f27594ff52efb4085fc4e23d015a4d6aefc4e)] feat(cli): issue a warning when a sequence was reverse-complemented
- [[`fb271be`](https://github.com/nextstrain/nextclade/commit/fb271be24460ce197133e745b90c68e32d275e12)] Merge remote-tracking branch 'origin/master' into feat/reverse-if-seed-fails
- [[`2605cca`](https://github.com/nextstrain/nextclade/commit/2605ccaa64c302ebd5fb087f6d93255d94fae3ee)] feat: add warning to errors.csv when sequence gets reverse-complemented
- [[`18bdc94`](https://github.com/nextstrain/nextclade/commit/18bdc94dbb1f7412e32e56aa59d0e009a549c933)] feat: add "isReverseComplement" columt to csv and tsv outputs
- [[`7316d01`](https://github.com/nextstrain/nextclade/commit/7316d01ea3922a59f59360710c910fe59c11de93)] feat(cli): default basename to a consistent hardcoded value
Currently, if `--output-basename` is not provided, and the basename for files written to `--output-all` is the same is for input fasta. However, if multiple fasta files provided, it switches to a hardcoded "nextaclade" or "nextalign".
This is not something that other CLI tools typically do and might be confusing, especially for use-cases where a certain filename is expected (i.e. in scripts and pipelines), especially when a number of input fasta files is not known in advance or if it changes between 2 runs.
This PR proposes to always use a hardcoded name for consistency, so that there is no surprise.
- [[`8a3f109`](https://github.com/nextstrain/nextclade/commit/8a3f1090e9b470fb4045011faeac7f6f5538a320)] Merge pull request #891 from nextstrain/feat/default-basename-hardcoded
- [[`78d2156`](https://github.com/nextstrain/nextclade/commit/78d21563796768abeb17c3d868255101e2cddd47)] Merge pull request #887 from nextstrain/feat/reverse-if-seed-fails
- [[`9efdbf9`](https://github.com/nextstrain/nextclade/commit/9efdbf95234616f9e1142d72b1dd90d83a6666f6)] docs: add recent changes to changelog
- [[`bd692c7`](https://github.com/nextstrain/nextclade/commit/bd692c74aeada155b8bb676a853f348e3a41ac97)] chore: release cli 2.0.0-beta.9
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-beta.8
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`ed65bf1`](https://github.com/nextstrain/nextclade/commit/ed65bf16e73f49a5f8f5a3f5b49b2a12e06bd58d)] feat: add sample data for hAdv-A
- [[`6cf49c0`](https://github.com/nextstrain/nextclade/commit/6cf49c073f7ddbd57c4bc0924a35542f176f3f30)] Merge remote-tracking branch 'origin/master' into feat/hadv-a
- [[`fe81e75`](https://github.com/nextstrain/nextclade/commit/fe81e7517c4a546a4e6241f645f5bd4d955490d9)] Merge remote-tracking branch 'origin/master' into feat/hadv-a
- [[`42bfe20`](https://github.com/nextstrain/nextclade/commit/42bfe2017e3d2263916f7fc16d6ddf736144c882)] Merge remote-tracking branch 'origin/master' into feat/hadv-a
- [[`6435118`](https://github.com/nextstrain/nextclade/commit/6435118e25266ce64f379bc28c000bc75c2a4a8a)] chore: release web v2.2.0
- [[`a9c6c30`](https://github.com/nextstrain/nextclade/commit/a9c6c309e5cab59f893ec6574d9084258f6c72c5)] feat: sort mutations, deletions and insertions
This adds sorting of mutations, deletions and insertions right after they are extracted. This should ensure that they are sorted in the the output files, which improves readability.
- [[`c52e5c2`](https://github.com/nextstrain/nextclade/commit/c52e5c240cad3576fd2190b0d786c00d353c29d3)] refactor: fix comment
- [[`3bb8cfd`](https://github.com/nextstrain/nextclade/commit/3bb8cfdb0785279207e87e15ed81c5af9956ff7c)] Merge pull request #886 from nextstrain/feat/sort-muts
feat: sort mutations, deletions and insertions
- [[`f79230e`](https://github.com/nextstrain/nextclade/commit/f79230e1cebca161832d1a4e2f7bd88866422dd4)] Merge branch 'feat/hadv-a'
- [[`6df91b5`](https://github.com/nextstrain/nextclade/commit/6df91b5647ae25b51e4dbe9a5bbd2eb23eb9c749)] chore: speedup dev and test binaries
This enables optimizations even in dev and test mode, to some of the third-party packages that are known to be slow. This should hopefully make dev experience a bit better.
- [[`3806b82`](https://github.com/nextstrain/nextclade/commit/3806b8262d5f331fba00eb2f942782fbb90850ce)] Merge pull request #889 from nextstrain/chore/speedup-dev-and-test
- [[`34c788d`](https://github.com/nextstrain/nextclade/commit/34c788d69aff0e0b30a7b164bebdf81001c9bcea)] docs: cleanup changelog
- [[`e356f13`](https://github.com/nextstrain/nextclade/commit/e356f135a4800ffe95fab6146aca4feb76568d50)] docs: add min match rate to changelog
- [[`f45ac24`](https://github.com/nextstrain/nextclade/commit/f45ac2485ded4a21fd9bb3be625754e818815fe3)] fix(cli): typo
- [[`f283a5f`](https://github.com/nextstrain/nextclade/commit/f283a5f1925df338814d4066a95ab67a28316a78)] Merge pull request #890 from nextstrain/fix/typo
- [[`7ec6b81`](https://github.com/nextstrain/nextclade/commit/7ec6b812a886cd623323ba6fa3e51f2b9ff752ea)] feat(cli): make output compression faster
This:
- [x] reduces default output file compression levels for all formats to 2, which roughly corresponds to "fast" or "low" preset. This should ensure that outputs are not limited by compression speed in most cases.
- [x] allows to set compression levels per format with environment variables:
- `GZ_COMPRESSION`
- `BZ2_COMPRESSION`
- `XZ_COMPRESSION`
- `ZST_COMPRESSION`
- [[`12c36ca`](https://github.com/nextstrain/nextclade/commit/12c36cafaa3f11bc08eaaf23d43e33c64ea01400)] Merge pull request #892 from nextstrain/feat/faster-compression
- [[`e0c7f17`](https://github.com/nextstrain/nextclade/commit/e0c7f179d4f494ad10eb4fbcd7ef3e624dd5d3e1)] chore: release cli 2.0.0-beta.8
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-beta.7
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`a2f174d`](https://github.com/nextstrain/nextclade/commit/a2f174dfd7e1f0fb89277269b26083b914bae569)] feat(cli): allow to replace unknown nucs with Ns
This adds a flag `--replace-unknown` to `run` command, which allows to replace unknown nucleotide characters with 'N'.
By default, the sequences containing unknown nucleotide nucleotide characters are skipped with a warning - they
are not aligned and not included into results. If this flag is provided, then before the alignment,
all unknown characters are replaced with 'N'. This replacement allows to align and analyze these sequences.
The following characters are considered known:
```
-ABCDGHKMNRSTVWY
```
- [[`cae1f51`](https://github.com/nextstrain/nextclade/commit/cae1f511072bf7a39490cf0d49062b724104d78e)] Merge remote-tracking branch 'origin/master' into feat/cli-replace-unknown
- [[`d8f5f28`](https://github.com/nextstrain/nextclade/commit/d8f5f280161b9444f5589681c956597c1e14a318)] feat(cli): organize verbosity flags towards the end of help message
Currently --verbosity, --silent, -v and -q args are missorted in the --help message text.
Here I inline the `clap-verbosity-flag` crate (only 1 file) and modify it, adding our custom flags and `display_order` annotations, such that the args are shown in the very end of the message, just before the `--help` arg.
- [[`d98312a`](https://github.com/nextstrain/nextclade/commit/d98312adee2c6fbb2f82ba10960fd16bd6a9e0c1)] Merge pull request #883 from nextstrain/feat/cli-organize-verbosity-flags
- [[`fc4c089`](https://github.com/nextstrain/nextclade/commit/fc4c089fb8518cb331c4e4be3ca04fedc6d0fc9a)] feat(cli): add headings for help sections
There are many arguments for run command, so let's organize them in named sections.
It required splitting args into separate structs and adding `next_help_heading` annotations.
I could not figure out how to change the "OPTIONS" heading where the default --help arguments stays. So I added a fake indentation for all heading as if they are nested under "OPTIONS".
- [[`a1ff027`](https://github.com/nextstrain/nextclade/commit/a1ff0271ce97dbaae9e03996690e64d65db1c5f5)] Merge pull request #884 from nextstrain/feat/cli-add-help-headings
- [[`1aa6b0f`](https://github.com/nextstrain/nextclade/commit/1aa6b0f5946f1efb3784e118d3875534d12b2fc7)] feat: add minimum seed matching rate
- [[`d437b49`](https://github.com/nextstrain/nextclade/commit/d437b49e7f0d7f2abdf458e2e6746277b18aadb0)] Merge pull request #885 from nextstrain/fix/avoid-large-allocations
fix: avoid large allocations during alignment
- [[`7ffc959`](https://github.com/nextstrain/nextclade/commit/7ffc9592ec65551e5404bc0b69a86f3e8fe015f4)] Merge remote-tracking branch 'origin/master' into feat/cli-replace-unknown
- [[`286f7f3`](https://github.com/nextstrain/nextclade/commit/286f7f392806debd241707ecc7adcde1908458d9)] Merge pull request #877 from nextstrain/feat/cli-replace-unknown
- [[`f7c30f4`](https://github.com/nextstrain/nextclade/commit/f7c30f4c1adb7ceb0965f9c0eab399240a73c8f3)] chore: release cli 2.0.0-beta.7
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-beta.6
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`aa31635`](https://github.com/nextstrain/nextclade/commit/aa31635ae637bb55d34b28ef19d577f7d1043e39)] chore(ci): trigger ci
- [[`e27dc48`](https://github.com/nextstrain/nextclade/commit/e27dc4863f2b74dd63ba8727c0721ca5f20c9e07)] chore: add script for testing on different gnu linux distros [skip ci]
- [[`3dfb00d`](https://github.com/nextstrain/nextclade/commit/3dfb00d64bc857ea571328f44ee42eee29125f13)] fix(web): rectify incorrect filed name
This was sometimes causing a crash of the web app when filtering by aminoacids. The filed `queryAa` was not spelled correctly and the lodash `intersectionWith()` function's typings did not catch the type mismatch.
- [[`444ceaa`](https://github.com/nextstrain/nextclade/commit/444ceaa2d2ce850d3cfb36cfd2f5540b10a457f3)] fix(cli): don't crash on unknown nucleotide characters
Nextclade v2 crashes when encounters unknown nucleotide letters which converting fasta string to the internal sequence representation.
This PR aligns behavior with v1: sequences with unknown nucleotide letters are now ignored, excluded from results, added to errors.csv and the run continues.
- [[`f4627bb`](https://github.com/nextstrain/nextclade/commit/f4627bb5446c9e365ad40aaf96f38b67295c6aa3)] Merge pull request #875 from nextstrain/fix/web-crash-on-filtering
- [[`bad2f65`](https://github.com/nextstrain/nextclade/commit/bad2f658ea68d006f7822ee8f1baed943b44c75a)] Merge pull request #876 from nextstrain/fix/cli-crash-on-unknown-nuc
- [[`9462d8d`](https://github.com/nextstrain/nextclade/commit/9462d8daf971bbde9a829efd37e603df969fd9e4)] fix: add missing custom node attrs to tree json
This adds custom node attrs (e.g. pango lineages) to the tree json, that were previously missing.
This should ensure that they are shown on the tree viz as it was in Nextclade v1.
- [[`6bc986d`](https://github.com/nextstrain/nextclade/commit/6bc986d378853c5067555a6f3bc8f3d331e00989)] fix: add missing qc status to tree json
This adds qc status to the tree json, previously missing.
This should ensure that they QC status is shown on the tree viz as it was in Nextclade v1.
- [[`ae0bc80`](https://github.com/nextstrain/nextclade/commit/ae0bc800cd218243469b6918683f2d008c8e2b04)] Merge pull request #878 from nextstrain/fix/tree-missing-custom-attrs
- [[`0e48641`](https://github.com/nextstrain/nextclade/commit/0e48641eb27c9bbf14969393fd7b1f0a145f0d75)] Merge remote-tracking branch 'origin/master' into fix/tree-missing-qc-status
- [[`1573e62`](https://github.com/nextstrain/nextclade/commit/1573e628ec50df535f2c2a0139be7f5f74fac568)] Merge pull request #879 from nextstrain/fix/tree-missing-qc-status
fix: add missing qc status to tree json
- [[`4b9fa41`](https://github.com/nextstrain/nextclade/commit/4b9fa4132c16a63f2f663f708b8b7f55bfae5dcf)] refactor: rename file to clarify intent
It will contain both compression and decompression functions
- [[`78d0cd3`](https://github.com/nextstrain/nextclade/commit/78d0cd3fc8c39c8beecb4ead688ba3c5cae2d4e3)] feat(cli): add output file compression
Adds compression support for output files: if output filename contains one of the supported extensions, the outputs will be transparently compressed. Example `--output-fasta=aligned.fasta.xz`. Supported formats as the same as for input decompression: gz, bz2, xz, zstd. Default compression levels are used.
To make it compile, I had to additionally:
- change some of the lifetime parameters in CSV and NDJSON writer, because they were unnecessarily limiting
- remove a very tricky `into_inner()` methods in CSV and NDJSON writer, which required `Sync`trait on inner writer, while zstd writer did not support that. For that, in a few places, instead of getting inner writer and getting a string out of it, I managed to just use vec as an inner writer in these places. So `into_inner()` method was no longer needed, same as `Sync` trait bound.
- [[`b8abb99`](https://github.com/nextstrain/nextclade/commit/b8abb99511e3cab4f44c24d457dae0c7e779dd5e)] Merge pull request #880 from nextstrain/feat/cli-output-compression
- [[`f029502`](https://github.com/nextstrain/nextclade/commit/f029502e543be8185eb7e38e8e6ffc9b92630883)] feat(cli): improve help messages for input fasta arg
- [[`5d45010`](https://github.com/nextstrain/nextclade/commit/5d450108a094d5bf786d8217924332772954cd0c)] feat(cli): mention compression of outputs in cli help messages
- [[`ef842bb`](https://github.com/nextstrain/nextclade/commit/ef842bbbf4b65fc789a30e83ca49cf43ae80e77b)] Merge pull request #881 from nextstrain/feat/cli-improve-help
- [[`7ed87ff`](https://github.com/nextstrain/nextclade/commit/7ed87ffe335e0cef92f43a17372bde40693b7e88)] docs: mention output file compression in changelog
- [[`7af69da`](https://github.com/nextstrain/nextclade/commit/7af69da130c87c6601c12acf996873934f9c86e2)] fix(cli): remove stdin from description of --output-translations arg
Translations cannot be written to stdout because there are many files
- [[`a18e311`](https://github.com/nextstrain/nextclade/commit/a18e311c8dbce16659b6ff01288493656c9d0d7d)] Merge pull request #882 from nextstrain/fix/cli-help-translations
- [[`2cba8ff`](https://github.com/nextstrain/nextclade/commit/2cba8ffecbf69753017e9cb8b89abe46d93e8412)] chore: release cli 2.0.0-beta.6
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-beta.5
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`f44cfc9`](https://github.com/nextstrain/nextclade/commit/f44cfc9feda64b9d7b1354c043931a7fe00322d9)] chore(ci): add docker-dev script for consideration for checksum
- [[`bfd4773`](https://github.com/nextstrain/nextclade/commit/bfd4773c30edf84bc5ab094ea9b19108d40223b5)] chore(ci): tag pre-release images with version tag too
- [[`696ea69`](https://github.com/nextstrain/nextclade/commit/696ea6919d9d032941cead0c2a45de9727196dbe)] chore(ci): reset ci caches
- [[`5a45b5a`](https://github.com/nextstrain/nextclade/commit/5a45b5a45d1bd96d2fa73b3c324cbcee2605aaa8)] chore(ci): fix debian 8 build by using clang 8
This is the last version available for debian 8 (jessie) on https://apt.llvm.org/
- [[`1dc5992`](https://github.com/nextstrain/nextclade/commit/1dc59925115f973744ba5926e1331bbd563cb610)] chore(ci): fix arm linux gnu build
By using a more recent version of Debian base image
- [[`44cb9bb`](https://github.com/nextstrain/nextclade/commit/44cb9bbb951640eeaa42379816837b9220c84603)] chore(ci): improve compatibility of linux gnu binaries further
Let's try to build on debian 7 (wheezy)
- [[`5ba8e7e`](https://github.com/nextstrain/nextclade/commit/5ba8e7eeccd1bd1027598817ba146b1fcba69bd6)] chore: release cli 2.0.0-beta.5
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-beta.4
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`2e6f6ee`](https://github.com/nextstrain/nextclade/commit/2e6f6ee6cc8acdbf9763869b880f76d162fc211d)] chore(ci): ensure even better compatibility of linux gnu binaries
Followup of #873
Let's downgrade base image for CI builds to Debian 8, for even better compatibility
- [[`ad15870`](https://github.com/nextstrain/nextclade/commit/ad15870b76ba4e1389d02bf133ad309bb6872015)] Merge pull request #874 from nextstrain/chore/ci-improve-linux-gnu-compat-2
- [[`a13be61`](https://github.com/nextstrain/nextclade/commit/a13be6104a0eff28ebffe2db4195974d63bd5236)] chore: release cli 2.0.0-beta.4
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-beta.3
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`0dcb8dd`](https://github.com/nextstrain/nextclade/commit/0dcb8dd5ed667e2bf36fa6a9ab33b8aa9fc29200)] chore(ci): ensure better compatibility of linux gnu binaries
Let's build aarch64-unknown-linux-gnu and x86_64-unknown-linux-gnu binaries on debian 9, so that it links older shared libs. This should allows running on wider spectrum of Linux distros with various versions of glibc and libgcc.
- [[`110f484`](https://github.com/nextstrain/nextclade/commit/110f4844f2ef23364eb77ec24514bab6973a3fbe)] chore(ci): add aarch64-unknown-linux-musl binaries
Let's add ARM linux musl binaries, and use musl gcc from the official musl website for both ARM and x86_64 builds for consistency
- [[`afe3140`](https://github.com/nextstrain/nextclade/commit/afe3140aad4763951ab9aff347f3ade86b428f1d)] Merge pull request #873 from nextstrain/chore/ci-improve-linux-gnu-compat
- [[`db1115f`](https://github.com/nextstrain/nextclade/commit/db1115f1d564365885d3c5b2bda5ee5daf18aef1)] chore: release cli 2.0.0-beta.3
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-beta.2
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
See the changelog: https://github.com/nextstrain/nextclade/blob/master/CHANGELOG.md#nextclade-200
Commit history
(click to expand)
- [[`1ec1c2b`](https://github.com/nextstrain/nextclade/commit/1ec1c2b0726221b301e4d31e8443d792852f312c)] feat(web): add warning for unsupported browsers
- [[`c91d006`](https://github.com/nextstrain/nextclade/commit/c91d0060933b0a636083b7639e8169c85b9a4501)] Merge pull request #866 from nextstrain/feat/web-unsipported-browser-warning
- [[`0288991`](https://github.com/nextstrain/nextclade/commit/0288991bbd5ed18a2e6eb14026d86f229a4836dd)] chore: release web v2.1.0
- [[`9d056b1`](https://github.com/nextstrain/nextclade/commit/9d056b1787f1680493caa7a8c7714ae7dbc7eb9d)] chore(ci): ensure correct full domain var is set for web app builds
- [[`c2d1459`](https://github.com/nextstrain/nextclade/commit/c2d1459ece55d3e25cf53f758ad030380fa00e54)] fix(web): ensure init errors are not hidden
Nextclade Web has been hiding some of the errors that occur during initialization. Notably, if dataset server is not reachable or dataset index fetch fails for any reason, then Nextclade would just show loading spinner indefinitely.
This PR ensures that the error is properly handled and that an error message is shown in these cases.
- [[`36f0df7`](https://github.com/nextstrain/nextclade/commit/36f0df7832e9ad6cafacbd9213c7dfcd2532eeda)] Merge pull request #867 from nextstrain/fix/web-init-hidden-errors
- [[`21c8568`](https://github.com/nextstrain/nextclade/commit/21c856860102588d2ebc82242e72c5a68b5d1325)] feat(cli): improve error message when old, removed cli args are used
- [[`b4f0559`](https://github.com/nextstrain/nextclade/commit/b4f0559b92a89b3ebea482e5caa8955e7586674c)] Merge pull request #868 from nextstrain/feat/cli-better-errors-on-removed-args
- [[`013eed6`](https://github.com/nextstrain/nextclade/commit/013eed6ee69c8418966a13a330404ca53e39f084)] chore: release cli 2.0.0-beta.2
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-beta.1
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
See the changelog: https://github.com/nextstrain/nextclade/blob/master/CHANGELOG.md#nextclade-200
Commit history
(click to expand)
- [[`cc157a4`](https://github.com/nextstrain/nextclade/commit/cc157a4487081ade8cffd8abfa4186d92d867a26)] docs: add recent changes to changelog
- [[`55635b4`](https://github.com/nextstrain/nextclade/commit/55635b4b906851604d12b9606e5f861b6598084b)] fix(web): make 'invalid range' warning condition more optimistic
This avoids a warning when the range is empty as we now consider an empty range a valid case.
Notably, we've encountered this when a frame shift happens to be due to a 1-base deletion of a stop codon. In this case we still want to report a frame shift situation, even if the frame shift range is technically empty.
- [[`5c62641`](https://github.com/nextstrain/nextclade/commit/5c62641ac9434b6d992804d7f6479a383496fa3e)] fix(web): avoid race condition in fasta download vs analysis launch
Sometimes (timing-dependent) sequences were not fully downloaded when analysis started, because the recoil atom have not yet been set at this point.
This PR ensures that sequences are obtained from recoil in form of a `Promise` and launcher `await`s until it resolves.
Additionally, I removed the `useQuerySequences()` custom hook usage in the app initialization, because App component can render multiple times and this have caused multiple copes of the same fasta added provided via URL params. Instead moved this code into the effect that runs only once.
- [[`11f14e8`](https://github.com/nextstrain/nextclade/commit/11f14e8539a8d89db1adf4faef6f3a2e9e3c1889)] fix(web): display 'empty range' even if begin == end
This is to make web and other views (e.g. csv) to behave consistently and it seems to the most logical result according to our discussion on Slack.
- [[`2e01416`](https://github.com/nextstrain/nextclade/commit/2e01416b01e4c99e1d3f7008e89b885d02c030ae)] Merge pull request #861 from nextstrain/fix/web-range-warning
fix(web): make 'invalid range' warning condition more optimistic
- [[`09bc091`](https://github.com/nextstrain/nextclade/commit/09bc0915f1b422a7f4a08fb0b36f3dec0a76e7b5)] Merge pull request #862 from nextstrain/fix/web-fasta-crash
- [[`d44ecaa`](https://github.com/nextstrain/nextclade/commit/d44ecaae69ed73ac10c021d70672ef60234e9a19)] fix(web): prevent changelog to overflow its container
- [[`c5fc407`](https://github.com/nextstrain/nextclade/commit/c5fc4079ee914783aa21c12253d2ca1a91a6b26f)] Merge pull request #864 from nextstrain/fix/changelog-overflow
- [[`2fb60f9`](https://github.com/nextstrain/nextclade/commit/2fb60f9af56fc5503fa30285c6244111de2ce5df)] chore: release cli 2.0.0-beta.1
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-alpha.13
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`d08b44d`](https://github.com/nextstrain/nextclade/commit/d08b44d48b7a17648aa64679bd7220dcd7a0c486)] feat(cli): allow downloading dataset zip
- [[`6e7aa17`](https://github.com/nextstrain/nextclade/commit/6e7aa17771e7d5e73260f79bb0b5bb9b0f8afa41)] Merge remote-tracking branch 'origin/master' into feat/cli-dataset-zip
- [[`9dfcd08`](https://github.com/nextstrain/nextclade/commit/9dfcd08764894336ef024683f73858adec5cc383)] Merge remote-tracking branch 'origin/master' into feat/cli-dataset-zip
- [[`b2a6c74`](https://github.com/nextstrain/nextclade/commit/b2a6c74cae799f555f44a10a76edbe1f0698c6cb)] chore: update cargo lock
- [[`55218bc`](https://github.com/nextstrain/nextclade/commit/55218bc022d6c5e3893aa0888f4964a695f5e621)] Merge remote-tracking branch 'origin/master' into feat/cli-dataset-zip
- [[`562fe93`](https://github.com/nextstrain/nextclade/commit/562fe93f5fa407f08a40d8657085069bff9353aa)] Merge remote-tracking branch 'origin/master' into feat/cli-dataset-zip
- [[`9c00a4d`](https://github.com/nextstrain/nextclade/commit/9c00a4df592ff5126d289d90c2932cb7f75ad213)] fix: conflicting zstd-sys subdependency between zstd and zip crates
- [[`138d004`](https://github.com/nextstrain/nextclade/commit/138d004992070db2f5d147d8062439212f3b4b7c)] Merge remote-tracking branch 'origin/master' into feat/cli-dataset-zip
- [[`0c0411e`](https://github.com/nextstrain/nextclade/commit/0c0411ed3f31b51e78a006dd51a48c6836acca3b)] feat(cli): allow `--input-dataset` to also accept a dataset zip archive
- [[`e8af7f6`](https://github.com/nextstrain/nextclade/commit/e8af7f6fe63d8d35f03d4a189ceef56679ad0f4e)] fix: disable bzip2 subdependency in zip crate
Because it wont' build for wasm
- [[`8733405`](https://github.com/nextstrain/nextclade/commit/873340562b77763ccca5a45b9c6088353d63f1cf)] feat(cli): mention dataset zip file in --dataset-input flag help
- [[`edf614a`](https://github.com/nextstrain/nextclade/commit/edf614a408240f264f5a59114298f44c4fa8e2c3)] feat(cli): better explain difference between --output-dir and --output-zip
- [[`a213512`](https://github.com/nextstrain/nextclade/commit/a213512d1a6dc694f2462350a741aa305f6326ec)] fix(cli): ensure dataset zip files can be overridden by individual files
- [[`4f58fca`](https://github.com/nextstrain/nextclade/commit/4f58fca437149058af761cd84a529e300a7ce94d)] Merge remote-tracking branch 'origin/master' into feat/cli-dataset-zip
- [[`6cba472`](https://github.com/nextstrain/nextclade/commit/6cba472e842ea889154c4b4a77c58c3116422f4a)] feat(cli): make CLI log lines more compact
This makes the date, severity, file, line parts of the log messages shorter and dimmed, such that the actual messages are more pronounced and the log is less cluttered.
- [[`c143640`](https://github.com/nextstrain/nextclade/commit/c1436406136af573884e6136ceb4b51dbbcaacda)] feat(cli): make input fasta arg positional, allow multiple files
- [x] Removes `--input-fasta` flag in favor of providing input sequence file names as positional arguments
- [x] Multiple files can be provided by passing multiple positional arguments
- [x] Files can be plain fasta or compressed
- [x] Different files can have different compression
- [ ] ?? Read from stdin if no positional arguments is provided
- [ ] ?? Read and parse multiple files in parallel
Examples:
```
nextclade run -D dataset/ -O out/ 1.fasta
nextclade run -D dataset/ -O out/ 1.fasta 2.fasta
nextclade run -D dataset/ -O out/ 1.fasta.gz 2.fasta.zst
nextclade run -D dataset/ -O out/ *.fasta
nextclade run -D dataset/ -O out/ *.fasta*
```
- [[`867c5a5`](https://github.com/nextstrain/nextclade/commit/867c5a562b1eaaeeed027fd021c83c31bfc65ddc)] Merge pull request #858 from nextstrain/feat/cli-log-shorter
- [[`844dbad`](https://github.com/nextstrain/nextclade/commit/844dbada8d4aca0dfd95ebf06a4e8e9171abfe63)] Merge remote-tracking branch 'origin/master' into feat/cli-fasta-positional
- [[`f935a76`](https://github.com/nextstrain/nextclade/commit/f935a76fc78ad933bc39d1618a3ce6848fff4662)] Merge remote-tracking branch 'origin/master' into feat/cli-dataset-zip
- [[`14eb6d7`](https://github.com/nextstrain/nextclade/commit/14eb6d74c1a4d0b69ca9d8cd243d7e8334297946)] fix: adjust function to changes on master branch
- [[`c41caeb`](https://github.com/nextstrain/nextclade/commit/c41caeb5f8ced9402c57c68b676b93f209e42ea0)] fix: add missing import
- [[`c489701`](https://github.com/nextstrain/nextclade/commit/c4897016745e5c3079fea065941562135370e428)] feat(cli): read input fasta from standard input if files aren't provided
- [[`1a6a6e9`](https://github.com/nextstrain/nextclade/commit/1a6a6e92c461cba6279c9efda3ea4916c511392d)] feat(web): allow multiple input fasta and control over them
This adds a widget which displays a list of currently added fasta files, URLs and pasted snippets and allows to manage them.
Features:
- Add and remove files one by one
- One or multiple files can be dropped or selected using file manager
- Example sequences can also be added to the list by clicking to the usual link button
Quirks:
- "Run automatically" if enabled, launches analysis right after the last drop, file selection, url or sequence paste. Multiple files can still be dropped, but only once.
- [[`676cef4`](https://github.com/nextstrain/nextclade/commit/676cef47f6afac994d747dcfadf5fe715e9f155a)] feat(cli): warn if attempting to read fasta from a tty
- [[`e891f1c`](https://github.com/nextstrain/nextclade/commit/e891f1cd4e210712bb3fb244c2db55aa36038a9d)] feat(cli): write to stdout if filename is '-'
This adds special handling of filename '-'. If this filename is provided in one of the`--output*` flags, the corresponding content will be written to standard output.
- [[`03c2b1a`](https://github.com/nextstrain/nextclade/commit/03c2b1acdbc3a42edd599182144988ed966070f4)] Merge pull request #850 from nextstrain/feat/cli-dataset-zip
- [[`0133ba7`](https://github.com/nextstrain/nextclade/commit/0133ba778bf641003e2685b543e98ab6f0aa4894)] Merge pull request #857 from nextstrain/feat/cli-fasta-positional
- [[`55d9750`](https://github.com/nextstrain/nextclade/commit/55d9750d4ee0465663ac1a732e553b8a3ff2e92e)] Merge pull request #859 from nextstrain/feat/web-additive-inputs
- [[`426f116`](https://github.com/nextstrain/nextclade/commit/426f1169a842a819a5847f088dc3c7638a2c5a66)] chore: release cli 2.0.0-alpha.13
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-alpha.12
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`5254aac`](https://github.com/nextstrain/nextclade/commit/5254aac2f9e7a0a5c0ebcc5ee58c92996cd51cbc)] fix: don't treat a lack of extension as error
After transparent compression was introduced, file extension extraction function `extension()` was implemented such that it fails when there is no file extension.
When gradually removing extensions from compressed `files like .fasta.gz` there are 2 calls tomade `extension()`, which correctly detect 2 extensions. However, it was failing on plain `.fasta` files, because after a single extension was removed there wasn't any more.
Here I chose to treat lack of extension as not an error. `extension()` now returns an `Option
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-alpha.11
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`2492358`](https://github.com/nextstrain/nextclade/commit/249235828bc9beb1ab4895e612a3e9ac8c43c7b0)] docs: start changelog for v2
- [[`4a658fa`](https://github.com/nextstrain/nextclade/commit/4a658faf0e58de4df3a484bd958386948ecf3529)] chore: CHANGELOG for striped alignment
- [[`b509ae8`](https://github.com/nextstrain/nextclade/commit/b509ae81aa978ca3a9ce9ef337c8c40d2304f3e6)] Merge remote-tracking branch 'origin/master' into docs/changelog-v2
- [[`11ce301`](https://github.com/nextstrain/nextclade/commit/11ce301bf5cab2764c1c3071441728977a8d78d1)] Merge remote-tracking branch 'origin/master' into docs/changelog-v2
- [[`c0e951b`](https://github.com/nextstrain/nextclade/commit/c0e951b563e6774a7d86c7cebec552fe38f258b8)] docs: add to changelog
- [[`38b9478`](https://github.com/nextstrain/nextclade/commit/38b947821993f06e79e90f5f4683122fbd86f49a)] Merge remote-tracking branch 'origin/master' into docs/changelog-v2
- [[`59800e3`](https://github.com/nextstrain/nextclade/commit/59800e3d70d81070e8ffa226cf7f7f67b40d783d)] Merge remote-tracking branch 'origin/master' into docs/changelog-v2
- [[`46bc271`](https://github.com/nextstrain/nextclade/commit/46bc27127fc940f0d3525d6605960bc9e114bf18)] docs: add more items to the changelog
- [[`c246815`](https://github.com/nextstrain/nextclade/commit/c246815f83b96bbf85659df49f2ff5635d170502)] Merge branch 'docs/changelog-v2'
- [[`a5e1718`](https://github.com/nextstrain/nextclade/commit/a5e171890b6c098dd7ad14992e3903c61ca5469e)] chore: pre-release web v2.0.0
- [[`e4f839a`](https://github.com/nextstrain/nextclade/commit/e4f839acf3889b33b194096f0133b719a90edd89)] chore: fix release commit message [skip ci]
- [[`f5e270e`](https://github.com/nextstrain/nextclade/commit/f5e270eb70ca92118f312b4219f303e47740c30f)] chore: update lockfile [skip ci]
- [[`da85e65`](https://github.com/nextstrain/nextclade/commit/da85e65dc12f493896cccb32d609403101777fdf)] chore: remove pre-release commit message [skip ci]
Just release always, because we cannot really distinguish web pre-releases from branch. They all start from master and then gradually promoted to staging and release.
- [[`540255e`](https://github.com/nextstrain/nextclade/commit/540255e41011ec8a879ccd7e63913de2d1366e06)] chore(ci): trigger ci
- [[`2e546a4`](https://github.com/nextstrain/nextclade/commit/2e546a44bc0d84705fa6a1dc6dea4b69477b25d1)] fix(cli): correctly find base name in cases like .fasta.gz
This allows to strip not only `.fasta`, but also `.fasta.gz` and similar, when deducing file base name which is used for creating output file names.
- [[`9fb1042`](https://github.com/nextstrain/nextclade/commit/9fb104217f943daa2d6035c0803af45e0d41908f)] Merge pull request #854 from nextstrain/fix/cli-basename
- [[`c739833`](https://github.com/nextstrain/nextclade/commit/c739833638c71a784a4252d63b17c18dd6e86d52)] fix(cli): prevent writing duplicate csv row
Some of the CLI CSV and TSV files had two header rows due to an extra function call
- [[`e31dcd3`](https://github.com/nextstrain/nextclade/commit/e31dcd3aa22e6ffd662686535d240f7728f7c445)] Merge pull request #855 from nextstrain/fix/cli-duplicated-csv-headers
- [[`3a404ca`](https://github.com/nextstrain/nextclade/commit/3a404ca2429b819630714e336f997f8a2ce5d6bb)] chore: release cli 2.0.0-alpha.11
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-alpha.10
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`76aff10`](https://github.com/nextstrain/nextclade/commit/76aff1086846202929eb70ef2ddfa05a11536561)] feat(gff): accept locus_tag and gene in addition, warn if neither locus_tag nor gene_name present
- [[`817bede`](https://github.com/nextstrain/nextclade/commit/817bede4a9530f595407bf2563d16fad420c3576)] feat(cli): make nextalign require one of the output flags
- [[`bb9e9b3`](https://github.com/nextstrain/nextclade/commit/bb9e9b3a299e9841939ca069f987dc86e2cf1848)] feat(cli): add --output-all, --output-translations and redesign Nextalign cli args
- [[`b22ce3f`](https://github.com/nextstrain/nextclade/commit/b22ce3f037f84516dd0e1fa2d6e8213a5ab64814)] feat(cli): add --output-all, --output-translations and redesign Nextalign cli args
- [[`aa72b65`](https://github.com/nextstrain/nextclade/commit/aa72b652643fe8166f989a577e541652171cbe7e)] fix: correctly extract base name from path
- [[`071c8c8`](https://github.com/nextstrain/nextclade/commit/071c8c87cb36ad0dbe54f85eb6fd4bf65837ec41)] feat(cli): clarify cli arg descriptions
- [[`431b7d9`](https://github.com/nextstrain/nextclade/commit/431b7d9059c4e776e64a41924c59bce75390ffc1)] feat(cli): add list of required output flags to the cli args decriptions
- [[`b9f95f7`](https://github.com/nextstrain/nextclade/commit/b9f95f71533d84fd4c6a324b015a7fb70f56dcd0)] feat(web): upload multiple files
- [[`0e8ace2`](https://github.com/nextstrain/nextclade/commit/0e8ace2fd2f550b92d6d43ce88a2289231699810)] feat(web): adjust upload box text - multiple files
- [[`656a465`](https://github.com/nextstrain/nextclade/commit/656a4656994b660d43463350bae7d1ac8dc9ecc4)] feat(cli): support compressed fasta files
- [[`a739125`](https://github.com/nextstrain/nextclade/commit/a739125d67a03f36f2e699194e5daaf7fa44f675)] fix: ignore case when guessing compression from file extension
- [[`ee28ee8`](https://github.com/nextstrain/nextclade/commit/ee28ee895a3bb1b0d0cd106c8eef00d0bd95be95)] fix: disable `bzip2`, `xz2` and `zstd` for wasm
These crates cannot be built for `wasm32-unknown-unknown` target, hence disabling
- [[`33d1819`](https://github.com/nextstrain/nextclade/commit/33d181989d05e05eb75f0fb86eb89124c0133814)] Merge remote-tracking branch 'origin/master' into feat/web-upload-multiple-files
- [[`77964d8`](https://github.com/nextstrain/nextclade/commit/77964d85f2c5af707303206c02b8f9f934cadfa2)] Merge remote-tracking branch 'origin/master' into feat/compression
- [[`869a56f`](https://github.com/nextstrain/nextclade/commit/869a56f6d4b9ac91961c57014bfef48c516ca411)] Merge pull request #819 from nextstrain/feat-accept-locus-tag-in-gff
- [[`1c0c43c`](https://github.com/nextstrain/nextclade/commit/1c0c43c852e4b2103ea643e2d9b3068bf8bcd7bf)] Merge pull request #843 from nextstrain/feat/cli-v2
- [[`4be720e`](https://github.com/nextstrain/nextclade/commit/4be720ece3019d73078ac12d81ad7028e38f4a7c)] Merge remote-tracking branch 'origin/master' into feat/compression
- [[`8e3c64e`](https://github.com/nextstrain/nextclade/commit/8e3c64eb64801b4c090b7cc565c4f0e1e922dfe8)] Merge remote-tracking branch 'origin/master' into feat/web-upload-multiple-files
- [[`145009a`](https://github.com/nextstrain/nextclade/commit/145009ad1b83e46297c1ffce3fed25d489a38fe3)] chore(ci): set data server in cli dependeing on version and branch
- [[`3dec0cc`](https://github.com/nextstrain/nextclade/commit/3dec0ccb057fcd92706a12bf73d0560b1019929a)] chore: release cli 2.0.0-alpha.10
- [[`b5b0cf1`](https://github.com/nextstrain/nextclade/commit/b5b0cf1bb9d3bc1a09813d7c8edae590442fa036)] Merge pull request #846 from nextstrain/feat/web-upload-multiple-files
- [[`58241d2`](https://github.com/nextstrain/nextclade/commit/58241d20a207c7a23ac3c192e007b947c49c72a5)] Merge pull request #847 from nextstrain/feat/compression
- [[`fd76ee9`](https://github.com/nextstrain/nextclade/commit/fd76ee9107a28f2688e9b0f764ecbd9fdf97f2f2)] chore(ci): fix missing var
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-alpha.9
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
See changelog: https://github.com/nextstrain/nextclade/blob/master/CHANGELOG.md
Commit history
(click to expand)
- [[`2975f42`](https://github.com/nextstrain/nextclade/commit/2975f42653566901c26f27779147e194c5fc78c3)] chore(ci): remove nextclade_cli context
- [[`6b304a2`](https://github.com/nextstrain/nextclade/commit/6b304a22340f2eae8f3bc39da49fc40857d9ee2f)] chore: release cli 2.0.0-alpha.9
- [[`c201545`](https://github.com/nextstrain/nextclade/commit/c2015458e8aa1d0698fdc08499d9fad1c33bcce5)] chore(ci): add missing env var
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-alpha.8
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`b2d929e`](https://github.com/nextstrain/nextclade/commit/b2d929ed9e8c5d486a3bc995dbb2bcc95bfb9ac8)] fix(ci): make sure DATA_FULL_DOMAIN var has effect
- [[`a47e718`](https://github.com/nextstrain/nextclade/commit/a47e71823bb19d42b7b6a719bc80322516e0aab5)] Merge pull request #852 from nextstrain/fix/ci-data-var
- [[`a1179ba`](https://github.com/nextstrain/nextclade/commit/a1179ba631ceacc0bfa98e38814f6d4b131a78a6)] chore: release cli 2.0.0-alpha.8
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-alpha.7
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`a068d78`](https://github.com/nextstrain/nextclade/commit/a068d7801903a8232895e6058f62b60c24de746c)] feat(cli): make dataset table prettier
- [[`5ab4c74`](https://github.com/nextstrain/nextclade/commit/5ab4c746d1059714b8292eee2087be1b0e303c9d)] Merge pull request #849 from nextstrain/feat/cli-table-prettier
- [[`490a395`](https://github.com/nextstrain/nextclade/commit/490a3953266e45d17f9ad173420c8b89d8299208)] chore(ci): use master, staging or release data server depending on branch
- [[`82b4671`](https://github.com/nextstrain/nextclade/commit/82b4671c4b3173441840874ad507b5f9a7ed74fe)] Merge pull request #851 from nextstrain/chore/ci-cli-release-data-server
- [[`26c91dc`](https://github.com/nextstrain/nextclade/commit/26c91dca01c2bbccc4e895e6f54f8773d80bedc4)] chore: release cli 2.0.0-alpha.7
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-alpha.6
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`0448e2a`](https://github.com/nextstrain/nextclade/commit/0448e2a364b130e797f53b4c75b290ad2f23ba82)] fix(algo): ensure aa context is properly complemented
- [[`37bf3fe`](https://github.com/nextstrain/nextclade/commit/37bf3fe0bcfe159ccca42ee0a0cb0b3e385ecccc)] Merge branch 'master' into fix/aa-context-minus-strand
- [[`4f85983`](https://github.com/nextstrain/nextclade/commit/4f859835675571037143f7852b06066626662aeb)] refactor: move grouping of adjacent aa changes into Rust
- [[`8b562b6`](https://github.com/nextstrain/nextclade/commit/8b562b60b1cec36207060d1032664dc349547fa4)] refactor: move extract_gene function into coord mapper
- [[`ec1bd3d`](https://github.com/nextstrain/nextclade/commit/ec1bd3dd41d4e86acb9839076073f3ae88a11278)] feat(web): add a note for peptide contexts of reverse strands
- [[`80271df`](https://github.com/nextstrain/nextclade/commit/80271df1eeeadc91b2df35a0cd0869d15564640b)] Merge remote-tracking branch 'origin/master' into fix/aa-context-minus-strand
- [[`b8c4103`](https://github.com/nextstrain/nextclade/commit/b8c4103fc0dc491e3a282ab355f4025916298e09)] Merge remote-tracking branch 'origin/master' into fix/aa-context-minus-strand
- [[`81b5b2b`](https://github.com/nextstrain/nextclade/commit/81b5b2bd457736352fbbbfe06dcb7f6b1a8823cb)] refactor: extract common coord map and gene conversions into methods
- [[`c18bec3`](https://github.com/nextstrain/nextclade/commit/c18bec331130d146857d42e313719e8885f7b401)] Merge remote-tracking branch 'origin/master' into fix/aa-context-minus-strand
- [[`29b1fd5`](https://github.com/nextstrain/nextclade/commit/29b1fd527eb386bf0cc7692a194005860def5dcd)] fix(web): remove extra import
- [[`81df207`](https://github.com/nextstrain/nextclade/commit/81df2071d695a644fb3fe63322e888ca2dde4d46)] test: port coord map tests
- [[`dcf913e`](https://github.com/nextstrain/nextclade/commit/dcf913e0c82f361e401ae9a34d61a7b26e97935c)] feat: extract method for converting codon range to nuc range
- [[`6514b3d`](https://github.com/nextstrain/nextclade/commit/6514b3de9044cf98e0d0831c8bb00c4a514ce300)] feat: extract more conversion methods
- [[`28f0cc1`](https://github.com/nextstrain/nextclade/commit/28f0cc1c14897b88e4d264f85085988912eee153)] Merge remote-tracking branch 'origin/master' into fix/aa-context-minus-strand
- [[`9b541b9`](https://github.com/nextstrain/nextclade/commit/9b541b9b5b7b44e101c0359798e348232417a8bb)] tests: add gene extraction tests for fwd and rev strand
- [[`e0c3726`](https://github.com/nextstrain/nextclade/commit/e0c372688a668c25132379b71f62b7afb90dc519)] tests: add more tests for coordMap, rename scalar->position
- [[`3d8b6e0`](https://github.com/nextstrain/nextclade/commit/3d8b6e0dfcc6cb112bfbd141c4de2f5dab65a9b6)] fix: fix nuc_to_codon_range to not overrun gene length
- [[`ca74b01`](https://github.com/nextstrain/nextclade/commit/ca74b019436a2119bc7b9d9df9d75281ee712b7a)] feat: add feature-to-feature function in the coordmap
- [[`7048102`](https://github.com/nextstrain/nextclade/commit/7048102210b2d45c23af5867f3a4c469beb11798)] fix: make nuc context merging of aaGroups obey strand
- [[`fd2b901`](https://github.com/nextstrain/nextclade/commit/fd2b90108239718b937323ead6db9506b2f08b3a)] fix: context merging of amino acid changes
- [[`0775c80`](https://github.com/nextstrain/nextclade/commit/0775c801e3d6e0efab381d77628a2e8cd6344ed7)] fix: sort aa changes by gene, then by position
- [[`c25e7e5`](https://github.com/nextstrain/nextclade/commit/c25e7e5f59b948d8f2b30d58e85873e1c53f12b7)] feat: shift genemap markers up/down for +/- strand
- [[`8258924`](https://github.com/nextstrain/nextclade/commit/82589244335611788485c4c54f86671969b38695)] feat: add strand to tooltip
- [[`6f6d8a8`](https://github.com/nextstrain/nextclade/commit/6f6d8a86f10e3a1b43b0001c0c109114fc960f16)] fix: context peptide numbering
- [[`c9b45bb`](https://github.com/nextstrain/nextclade/commit/c9b45bb560cb1c081f8116b1bd616dbaac50c45b)] reafactor: remove debug print statements
- [[`5ad4bdd`](https://github.com/nextstrain/nextclade/commit/5ad4bdda94a0024d242a7af4e19ab9117a771e81)] feat(web): combine gene offsets for frame and for strand in gene map
- [[`ee94f31`](https://github.com/nextstrain/nextclade/commit/ee94f318041a41d90c0a49d3f8b6ad33f377ac71)] fix: this prevents out-of-bounds error when the margin is wider than the length of the sequence
- [[`23556a4`](https://github.com/nextstrain/nextclade/commit/23556a4d83145294f6fee8bb2fb97dcac80023ef)] feat(web): reduce delay of gene map tooltip
- [[`f9e8a0d`](https://github.com/nextstrain/nextclade/commit/f9e8a0d245b9f91633944137d4ac5cc63dd2bd97)] Merge branch 'master' into fix/aa-context-minus-strand
- [[`d8c66c9`](https://github.com/nextstrain/nextclade/commit/d8c66c951bed7c9e60b20781386c6af4c091810c)] refactor: move variables into the function to avoid extra arguments
This branch is based on https://github.com/nextstrain/nextclade/pull/815
This moves 2 variables along with the computation logic into the function, closer to the usage. These variables were not used anywhere outside the function.
Helped me to better understand the changes in https://github.com/nextstrain/nextclade/pull/815, and can perhaps allow to simplify logic in it.
- [[`06dfaeb`](https://github.com/nextstrain/nextclade/commit/06dfaeb39c448f075438276b11aea5f33b65b3fd)] fix: remove missing but unused var
- [[`47ae893`](https://github.com/nextstrain/nextclade/commit/47ae893a0e9a690dbc7124b5236264d2cb574066)] refactor: lint
- [[`53786e2`](https://github.com/nextstrain/nextclade/commit/53786e2e56294ec0bd76e635bcf38eb0f8c23361)] fix: aggregate components logic, adjust nuc ranges depending on strand
- [[`724f994`](https://github.com/nextstrain/nextclade/commit/724f9941447eb1257a3a9f6d8c00be2982685151)] refactor: merge multiple useMemo calls into one
- [[`0ca5282`](https://github.com/nextstrain/nextclade/commit/0ca52820daf1b4c3c50e721c994e469621966b1e)] feat: add preview version warning
This adds an alert at the top of the page, when:
- the app is build from a git branch that is not `release` branch
- and it's not a dev build (`NODE_ENV != 'development'`)
Alert can be dismissed with a button, but reappears on page refresh (or next visit).
This tries to be minimalistic and to not introduce too many differences between prod and non-prod builds.
- [[`481d4dd`](https://github.com/nextstrain/nextclade/commit/481d4dd6ea74b8d48509b549cedb3d922edf6818)] Merge pull request #840 from nextstrain/feat/preview-alert
- [[`3972a4a`](https://github.com/nextstrain/nextclade/commit/3972a4a4fa355ede7cff0bf51230fe0f52968ccf)] Merge pull request #839 from nextstrain/refactor/move-vars-into-function
refactor: move variables into the function to avoid extra arguments
- [[`2ca5a09`](https://github.com/nextstrain/nextclade/commit/2ca5a09dbf8e61190626ae2cc911b24e7594e79a)] Merge pull request #815 from nextstrain/fix/aa-context-minus-strand
- [[`54b72aa`](https://github.com/nextstrain/nextclade/commit/54b72aa9e67148bf458b9a2be5c3a50f4306cbaf)] Merge pull request #838 from nextstrain/fix/crash-on-short-sequences
- [[`abc2ba1`](https://github.com/nextstrain/nextclade/commit/abc2ba100d78d5d0816a0a9e03476dd5697f0035)] fix: how to serve local datasets
resolves #841
- [[`76e99bd`](https://github.com/nextstrain/nextclade/commit/76e99bdbc823a3b53efff09142a657b33e3fa516)] chore: remove crossed over seed warning
- [[`b9ff70d`](https://github.com/nextstrain/nextclade/commit/b9ff70d8266e34084f863c99d3837daeb12e97a6)] chore: remove seed_match warning only useful for algo devs
- [[`09ba91f`](https://github.com/nextstrain/nextclade/commit/09ba91f9a3d33e4e9fc6ca8bf6dcb51de9316208)] chore: release cli 2.0.0-alpha.6
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-alpha.5
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`07eafb8`](https://github.com/nextstrain/nextclade/commit/07eafb8d16b21f0390b030a6bcd6ea1259c48c81)] chore(ci): fix missing .env file before wasm build
- [[`8736c6f`](https://github.com/nextstrain/nextclade/commit/8736c6fcf9c34187c90e4dda72def758e330b866)] feat(cli): print info when making HTTP requests
- [[`42f4dc0`](https://github.com/nextstrain/nextclade/commit/42f4dc0bf9430ebf39d9a03a650069a40e8b01af)] Merge pull request #837 from nextstrain/feat/cli-info-http-req
- [[`0225fb5`](https://github.com/nextstrain/nextclade/commit/0225fb50cf18faf5d81464b80f5c04d8b12c141e)] chore(release): remove lockfile check from release script
- [[`90b45d0`](https://github.com/nextstrain/nextclade/commit/90b45d0b8ad508a94b212f58358430ea01f496be)] chore: release cli 2.0.0-alpha.5
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-alpha.4
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`c8f3174`](https://github.com/nextstrain/nextclade/commit/c8f3174ce1f69c4f27ae5f593a7e222a606b03c5)] docs(dev): add ad note about custom dataset server into dev guide
- [[`4e86cd3`](https://github.com/nextstrain/nextclade/commit/4e86cd39da129e186693bf3f49aa1614f71654d3)] Merge pull request #822 from nextstrain/docs/dev-guide-datasets
- [[`719f217`](https://github.com/nextstrain/nextclade/commit/719f2170991ff67326c7850ee6c036b95209b9f9)] chore(ci): attempt to push git tag after web build
- [[`e923bf6`](https://github.com/nextstrain/nextclade/commit/e923bf651fd2ed50896ed149b4941665be8da52e)] chore(ci): create git tags on for release web builds
- [[`7ebae91`](https://github.com/nextstrain/nextclade/commit/7ebae916090f4ee21f145c046bced97514f3e5cb)] chore(ci): use full dev script command names in ci [skip ci]
- [[`ba28c64`](https://github.com/nextstrain/nextclade/commit/ba28c64a0993a434824d4951ed07a0dd6de26de4)] chore: remove simplealign example
- [[`4263547`](https://github.com/nextstrain/nextclade/commit/42635474f387809af3e74168ae10290a4a9b23c9)] Merge pull request #823 from nextstrain/chore/remove-simplealign
- [[`28ae075`](https://github.com/nextstrain/nextclade/commit/28ae0751ae9a759f2b4e49c470774c63b97a236c)] fix(web): ensure truncated text is not repeated in insertions tooltip
This is a port of 79e1f3b, which got lost during rust transition
- [[`939b57b`](https://github.com/nextstrain/nextclade/commit/939b57ba8cef3f78e532db40111bd1e7e689a322)] Merge pull request #824 from nextstrain/fix/insetions-tooltip
- [[`d0db03a`](https://github.com/nextstrain/nextclade/commit/d0db03ad727a65142cfe220847e2512f80634d8f)] feat(web): limit tooltips to 20 insertions max
- [[`474e633`](https://github.com/nextstrain/nextclade/commit/474e633fef8bbe328876384817f43f8515ae1f27)] fix: ensure aa muts are attached to the tree
This fixes an omission: only nuc mutations were attached to the tree JSON object, and aa mutations were missing.
- [[`82bb53b`](https://github.com/nextstrain/nextclade/commit/82bb53b328f5d8be7658af30086635caddaa9466)] feat(web): display nuc insertions in sequence views
- [[`b7b51bb`](https://github.com/nextstrain/nextclade/commit/b7b51bbe8df6adfa804235bf1d09fc2db1a0691d)] feat(web): display aa insertions in sequence views
- [[`9f31264`](https://github.com/nextstrain/nextclade/commit/9f31264e65f48e7d42373caf6e05adee985961bf)] feat(web): display total number of markers and limit in the message
- [[`48b5132`](https://github.com/nextstrain/nextclade/commit/48b5132f3f5efd5e6434deed22b84acf83bf5872)] feat(web): increase seq marker limit to 3000
- [[`0217b06`](https://github.com/nextstrain/nextclade/commit/0217b067a5e0da3e720619b03fce71e24409451e)] Merge pull request #828 from nextstrain/feat/web-show-marker-limit
- [[`7dcc25e`](https://github.com/nextstrain/nextclade/commit/7dcc25eeef8704b2b5be3489072e199118a80274)] Merge remote-tracking branch 'origin/master' into feat/web-ins-markers
- [[`27a58c9`](https://github.com/nextstrain/nextclade/commit/27a58c9a03d7d33f9e18b69637cb74703a520732)] feat(web): account insertions in seq marker limit
- [[`0008108`](https://github.com/nextstrain/nextclade/commit/000810881ba10bf5390c6eb270af674cd88ba84d)] refactor(web): move insertion colors into theme
- [[`58f529f`](https://github.com/nextstrain/nextclade/commit/58f529f0e91c12a1c2002c89b0a6646fe1b75c7f)] feat(web): make insertion markers black
- [[`c721968`](https://github.com/nextstrain/nextclade/commit/c72196812be6da714a5050d141c025d6e7009cb9)] feat(web): limit number of aa mut badges in nuc gap tooltips
This limits number of aminoacid mutation badges in the tooltip of the nucleotide gap marker in sequence view.
This avoid screen overflow when there's too many mutations.
This happens with aa deletions mostly, so ideally we need to group aa deletions into ranges. But it have negative impact to other places which need access to individual deletions and is more work overall. Maybe later.
- [[`88e2483`](https://github.com/nextstrain/nextclade/commit/88e24832991a1ea7d2d3e8724b9308ac8c458bfb)] fix: accumulate aa node mutations correctly in preprocess
This bug went unnoticed because we only every diffed the nextclade.tsv
Since we don't surface nextclade.json which contains private muts, this problem didn't show in automated equivalence testing.
- [[`d407a23`](https://github.com/nextstrain/nextclade/commit/d407a23d88a01cbafe24352a92db9742935b4bc6)] Merge pull request #826 from nextstrain/fix/tree-aa-muts
fix: ensure aa muts are attached to the tree
- [[`4b0247c`](https://github.com/nextstrain/nextclade/commit/4b0247c27f3148f4174afd1d8cb0bb6db4a9907c)] Merge pull request #829 from nextstrain/fix/web-limit-tooltip-badges
- [[`3180e8b`](https://github.com/nextstrain/nextclade/commit/3180e8ba4ff8cbf619473767c4e891e97c4d2fb3)] web: make insertions makers purple/yellow (IGV uses purple)
- [[`a6de7ba`](https://github.com/nextstrain/nextclade/commit/a6de7ba5c52dca46746e2b475094880a8a3650d3)] Merge pull request #827 from nextstrain/feat/web-ins-markers
feat(web): display nuc and aa insertions in sequence views
- [[`4ce81cf`](https://github.com/nextstrain/nextclade/commit/4ce81cf32a92be597352633a3035c2e4c6d4ab8b)] chore(build): speedup debug binaries
In order to improve deb experience, this configures build to optimize dependency packages even in dev mode. Nextclade packages themselves stay unoptimized, so that full debug information is available.
Also increases number of codegen units to speedup incremental build process.
- [[`c4ce28e`](https://github.com/nextstrain/nextclade/commit/c4ce28edd438efa7ecec2c613e30ccbe3f2dfe7f)] Merge pull request #831 from nextstrain/chore/faster-debug-build
- [[`4b7ac6f`](https://github.com/nextstrain/nextclade/commit/4b7ac6f6ae9b653106c974874c9e4b7b6e93495e)] Merge pull request #825 from nextstrain/feat/limit-insertions
feat(web): limit tooltips to 20 insertions max
- [[`81d1cef`](https://github.com/nextstrain/nextclade/commit/81d1cef184dfe37d73473189ebf0360aee150e36)] chore(ci): make sure .env file is read properly
- [[`d330857`](https://github.com/nextstrain/nextclade/commit/d3308578d54dcd7739fbd525a0a1e3d10cebea64)] chore: release cli 2.0.0-alpha.4
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot over 3 years ago
Nextclade - 2.0.0-alpha.3
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`6ba9532`](https://github.com/nextstrain/nextclade/commit/6ba9532691600bc462d1f143ac71dc52208e0e0a)] feat: add new field "score_weight" to qcconfig, with default 75
- [[`c5f1b34`](https://github.com/nextstrain/nextclade/commit/c5f1b34c898c24593be23e510cbe977b1375ca1b)] feat: use custom score_weight in fs/stop qc rules
- [[`661fb27`](https://github.com/nextstrain/nextclade/commit/661fb27357220a93c04778b58db7634e0c4ad86a)] fix: implement Default trait to avoid accidental incorrect values
Explicitly implements `Default` trait for the structs modified in this PR. When used programmatically, currently the default on `score_weight` is set to `0.0`, due to `#[derive(Default)]` attribute.
Instead, I implemented `Default` trait with the correct value. With the struct container attribute [`#[serde(default)]`](https://serde.rs/container-attrs.html#default), serde during deserialization will substitute missing values from the implementation of the `Default` trait.
This solution is more safe than setting the default for serde only.
Other structs in this file also need to be audited for:
- whether they need `Default` trait (i.e. it is required somewhere else in code)
- whether they need an explicit implementation of the `Default` trait (in cases where the default values provided by `#[derive(Default)]` are incorrect)
- [[`d907d90`](https://github.com/nextstrain/nextclade/commit/d907d9071a4548dffaf055fa818d13d80dffb2b4)] Merge branch 'master' into custom-score-weight-stop-fs
- [[`2bd5612`](https://github.com/nextstrain/nextclade/commit/2bd5612099f32ee595dd251ed2f673839084c144)] chore: improve docs for release script
- [[`3d4a4b8`](https://github.com/nextstrain/nextclade/commit/3d4a4b82e214259cea5d33d1eec1c2c9b4f2800e)] feat(web): configure sequence markers height
This adds toggles to the "Settings" dialog, which allow to toggle markers in sequence views between full-height, half-height at the bottom, half-height at the top and turned off entirely. The toggles are separate for missing, gaps, mutations and unsequenced markers.
The values are remembered in local storage and persist across app launches.
Right now only the nuc view is configurable and only for 4 of hese categories of vertical markers (and not frame shifts for example), but we can add similar toggles to peptide view and other markers later.
- [[`f96667d`](https://github.com/nextstrain/nextclade/commit/f96667d90db42de0d9e737e0e2af57c8241aba69)] Merge branch 'custom-score-weight-stop-fs'
- [[`fede327`](https://github.com/nextstrain/nextclade/commit/fede327c0d772b875a69a44ebf59377e2fdc74f7)] Merge pull request #811 from nextstrain/feat/config-seq-markers
- [[`1dcb44b`](https://github.com/nextstrain/nextclade/commit/1dcb44b425a3ec3ece6cbc252466e31a36028492)] feat(cli): use index_v2.json
See the corresponding PR in data repo: https://github.com/nextstrain/nextclade_data/pull/26
- [[`42d41c7`](https://github.com/nextstrain/nextclade/commit/42d41c76f207c54f3fa436cebe52614227ea8722)] feat(web): user index_v2.json
- [[`40adcf1`](https://github.com/nextstrain/nextclade/commit/40adcf1c1dd9bd88512690849f1f4977b68ea193)] feat(web): use friendly names from the dataset
- [[`be3c21a`](https://github.com/nextstrain/nextclade/commit/be3c21aba35672249a68fcdd576ff571b489e73b)] feat(cli): use friendly names from the dataset
- [[`d5a0a11`](https://github.com/nextstrain/nextclade/commit/d5a0a1112e70a684bbe8f420027c6e9b211669dc)] fix(web): treat dataset default gene field as optional
When `viewedGene` was not set in the dataset, causing "Gene is missing in gene map" text appearing in the sequence view, due to gene view being switched to peptide view for `undefined` gene.
Let's treat the `viewedGene` field as optional and, if it's undefined, default to nuc view.
- [[`a50a7b0`](https://github.com/nextstrain/nextclade/commit/a50a7b0b7d9acab0eb62c33e9ce08451a6af47f2)] feat(web): limit number of markers that can be displayed in seq views
This add a setting that defined maximum number of markers (mutations, deletions, missing, frame shifts) that can be displayed in nucleotide sequence views.
If this number is exceeded, a message is displayed instead.
The value is 300 by default and can be changed in settings. Value is persisted in local storage.
- [[`5314d08`](https://github.com/nextstrain/nextclade/commit/5314d08c62cc4c4253ee5216cf2fd6e5474b75cd)] fix(web): silence false "Duplicate atom key" recoil errors
- [[`a9a3fa3`](https://github.com/nextstrain/nextclade/commit/a9a3fa3836027d841573205655820f7e7820c8ba)] Merge pull request #816 from nextstrain/feat/web-seq-marker-limit
- [[`b9cda4f`](https://github.com/nextstrain/nextclade/commit/b9cda4f6825766c15917066fbbc4d4c6d191b108)] Merge branch 'master' into fix/default-gene
- [[`7481312`](https://github.com/nextstrain/nextclade/commit/74813127e46dcaf1d67d3560433a0a5c0575b25f)] Merge branch 'master' into feat/cli-index-v2
- [[`1a9f69f`](https://github.com/nextstrain/nextclade/commit/1a9f69f7963d6815f7da0f19850b973b14172e16)] Merge branch 'master' into feat/web-index-v2
- [[`3186c45`](https://github.com/nextstrain/nextclade/commit/3186c45cb652590e8d0128b73b30036ee57fe0c6)] fix(web): crash when accessing peptide warnings
- [[`35628d3`](https://github.com/nextstrain/nextclade/commit/35628d33037db408add69903c98fda5b6fe00a76)] Merge pull request #817 from nextstrain/fix/web0crash-peptide-warnings
- [[`ff7aaf4`](https://github.com/nextstrain/nextclade/commit/ff7aaf419d889365946426b0640d52939504cfc4)] Merge pull request #814 from nextstrain/fix/default-gene
- [[`5c32330`](https://github.com/nextstrain/nextclade/commit/5c32330e1d7aebe6f042e7c6bbaf828ca4a592a3)] fix(web): ensure dataset is read from URL
This ensures that the dataset is properly changed if the launch happens from URL.
With this, the previous dataset, persisted in local storage is used, which causes analysis errors if the requested dataset is not the same as the previously used dataset.
- [[`983a99e`](https://github.com/nextstrain/nextclade/commit/983a99ecad6148f2ca66328f90612741c5cceb0e)] fix(web): ensure seq name column and tooltip are shown for failed seq
For sequences that fail alignment the name column was blank and no tooltip was shown. This was due to incorrect conditional logic in the component.
Now the name column and its tooltip are displayed correctly.
- [[`f912dff`](https://github.com/nextstrain/nextclade/commit/f912dffb24150bc6adb95b2d22ebbdd8b77ef723)] Merge pull request #820 from nextstrain/fix/web-name-col-on-errors
- [[`613637e`](https://github.com/nextstrain/nextclade/commit/613637e1305cf742e13dbe073976257365ca14dd)] Merge pull request #818 from nextstrain/fix/web-dataset-from-url
- [[`c03ca81`](https://github.com/nextstrain/nextclade/commit/c03ca81135fa78bdd54eac63a71ed23457350bef)] Merge remote-tracking branch 'origin/master' into feat/cli-index-v2
- [[`1db84e5`](https://github.com/nextstrain/nextclade/commit/1db84e5c300401505e634c6fa1173b96f02d963d)] Merge remote-tracking branch 'origin/master' into feat/web-index-v2
- [[`6587895`](https://github.com/nextstrain/nextclade/commit/6587895176c898c8608e995a120b040d7a0e6feb)] chore(deps): bump auspice version to 2.37.2
https://github.com/nextstrain/auspice/blob/master/CHANGELOG.md#version-2372---20220527
- [[`2dc3292`](https://github.com/nextstrain/nextclade/commit/2dc3292bb0ae2eb5b2614384d19c62388dc4746a)] Merge pull request #821 from nextstrain/chore/bump-auspice
chore(deps): bump auspice version to 2.37.2
- [[`6c2da0c`](https://github.com/nextstrain/nextclade/commit/6c2da0c88591361727251a442f4ce5a9c2d2ba54)] feat(web): adapt to grouped params in index v2 json
- [[`129b74a`](https://github.com/nextstrain/nextclade/commit/129b74a8e8855fc34486c28e571925ec335c3d33)] feat(cli): adapt to grouped params in index v2 json
- [[`cbb0a44`](https://github.com/nextstrain/nextclade/commit/cbb0a4425f3adea4495b3e5aa67ee702107d85c4)] Merge pull request #812 from nextstrain/feat/web-index-v2
- [[`41968bb`](https://github.com/nextstrain/nextclade/commit/41968bb9c3cf92914446d89b18b6ee2a9e0e930a)] Merge pull request #813 from nextstrain/feat/cli-index-v2
- [[`aedabb5`](https://github.com/nextstrain/nextclade/commit/aedabb583a22cfad9f55caf5bf5716949361f67b)] chore: release cli 2.0.0-alpha.3
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot almost 4 years ago
Nextclade - 2.0.0-alpha.2
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`66937c1`](https://github.com/nextstrain/nextclade/commit/66937c13f2bba609a21ecb2154f7a385b1d37a34)] fix: make GapAlignmentSide values in JSON to resemble the ones in CLI
Uses [serde's `rename_all` container attribute](https://serde.rs/container-attrs.html#rename_all) to convert variants of `enum GapAlignmentSide` to kebab case during (de)serialization, e.g. in `virus_proerties.json`.
The enum variants in Rust are by convention in PascalCase, and serde uses them as is. But we want to make the values in `virus_proerties.json` to resemble the values in CLI arguments, and clap seems to be converting enums to kebab case.
If merged, this change requires simultaneous adjustment of datasets using the `gap_alignment_side` param.
- [[`a5f9ab8`](https://github.com/nextstrain/nextclade/commit/a5f9ab8ec61a9f09a7b1a66a2e76ccd161c91fb7)] feat: warn if --genes requested not found in --genemap
- [[`022496a`](https://github.com/nextstrain/nextclade/commit/022496aafe17afbfec586d2b1b207811b804855b)] feat: warn if non-empty genemap supplied but no genes found
- [[`e984954`](https://github.com/nextstrain/nextclade/commit/e984954e26fcc9414a02143a71cc3b7ce865c38e)] chore(ci): create git tag on web releases [skip ci]
- [[`b00f086`](https://github.com/nextstrain/nextclade/commit/b00f086f727ba629f83f6427e857b329fbe04aec)] chore(ci): create web releases [skip ci]
- [[`48229e3`](https://github.com/nextstrain/nextclade/commit/48229e3c2db124283ef36d49d68e342ba8de5ab9)] chore: pre-release web v2.0.0-alpha.1 (on master)
- [[`4f81bfc`](https://github.com/nextstrain/nextclade/commit/4f81bfcf61dc507afd287b4ccd27ad38d7f1dc2d)] chore(ci): fix web release script, comment and document release process
- [[`d6f2706`](https://github.com/nextstrain/nextclade/commit/d6f2706b5d29925afc132491b71a688b75305ada)] chore(ci): fix typo in web deployment step
- [[`9e860b4`](https://github.com/nextstrain/nextclade/commit/9e860b49a23eaf6edbb194f44aadc68feeb31c9c)] chore(ci): attempt to fix git tags for web
- [[`a0d0fef`](https://github.com/nextstrain/nextclade/commit/a0d0fef06a9fc02d2c301d8281f2992cc55c5d20)] Merge pull request #805 from nextstrain/fix/gap-alignment-side-kebab-case
fix: make GapAlignmentSide values in JSON to resemble the ones in CLI
- [[`c00634a`](https://github.com/nextstrain/nextclade/commit/c00634aa15df3f4eab2132657d3ec9c02b307689)] Merge branch 'master' into better-genemap-warnings
- [[`34876b0`](https://github.com/nextstrain/nextclade/commit/34876b083d4de4e9957c510037eb9fa75263bc3b)] refactor: avoid collecting, straight to string
- [[`1033081`](https://github.com/nextstrain/nextclade/commit/1033081d2768e6e61cffecee0b014e5b9d594a68)] refactor: bubble Err immediately
- [[`ae59a3c`](https://github.com/nextstrain/nextclade/commit/ae59a3cb188ec477824271bc5f75d77cb7457828)] chore: update lockfile using `cargo build`
- [[`597d8e4`](https://github.com/nextstrain/nextclade/commit/597d8e4374d8076fe098c2c080dd2ab9fabd8871)] Revert "chore: update lockfile using `cargo build`"
This reverts commit ae59a3cb188ec477824271bc5f75d77cb7457828.
- [[`99f1235`](https://github.com/nextstrain/nextclade/commit/99f1235f655999842fe50102179cfdc45f2408be)] chore: improve release script error messages
- [[`bad7333`](https://github.com/nextstrain/nextclade/commit/bad733356974d20e6a53d4f7fe4b4f791f4de065)] chore: cargo build --locked in tip
- [[`0fe47e9`](https://github.com/nextstrain/nextclade/commit/0fe47e9ce74b60c0d4a89b02faa0f081c81e54e1)] Merge pull request #806 from nextstrain/better-genemap-warnings
- [[`5c15a09`](https://github.com/nextstrain/nextclade/commit/5c15a098e23d559bc720c5cfee44e3f0d38b2a15)] chore: release cli 2.0.0-alpha.2
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot almost 4 years ago
Nextclade - 2.0.0-alpha.1
| β οΈ | This is a pre-release. It can contain bugs and significant changes which are not yet finalized. Changes may appear without notice. We recommend to try the pre-releases to learn about upcoming features. For important projects, use stable releases. | |:---:|:---|
Commit history
(click to expand)
- [[`a979442`](https://github.com/nextstrain/nextclade/commit/a979442152edfb860b7e23a5529fda6b9c36713a)] feat: add example alignment with bio-rust
- [[`6f307df`](https://github.com/nextstrain/nextclade/commit/6f307df8140358ad294af64bfeb28cbdc1174f2e)] feat: read sequences from files
- [[`8a80676`](https://github.com/nextstrain/nextclade/commit/8a806764868990e7f0517b819ee89f42cf6c30d5)] perf: add custom allocator and perf tweaks
- [[`c7016c4`](https://github.com/nextstrain/nextclade/commit/c7016c4cf92725e86106fdac67a67add095fbf05)] feat: tweak params
- [[`d9899f1`](https://github.com/nextstrain/nextclade/commit/d9899f1aecf30e658bcfdca29dba075929a26eff)] docs: add readme
- [[`db6ff2a`](https://github.com/nextstrain/nextclade/commit/db6ff2adf9198cc19761f94135a309eeec4d446e)] Merge remote-tracking branch 'origin/master' into nextalign-rs
- [[`4deb48f`](https://github.com/nextstrain/nextclade/commit/4deb48f6da6d95dcaa18039253a9faf64d8bf3bb)] wip: reimplement alignment in rust
- [[`e5fe230`](https://github.com/nextstrain/nextclade/commit/e5fe2300408988c91f87820fb7b3eba51b8593ea)] Merge remote-tracking branch 'origin/master' into nextalign-rs
- [[`fbbc1fb`](https://github.com/nextstrain/nextclade/commit/fbbc1fb04201e0d74136ecfa6890b32d0e74b7b3)] refactor(rust): reimplement fasta parser
- [[`9ff0086`](https://github.com/nextstrain/nextclade/commit/9ff0086c668316046ce10becf3c8a7039400f5dd)] Merge remote-tracking branch 'origin/master' into nextalign-rs
- [[`a554fe3`](https://github.com/nextstrain/nextclade/commit/a554fe3cd736eb6153cae4cdf8bf3d3951c4d81a)] fix: avoid underflow by using signed integers
- [[`a7a05ba`](https://github.com/nextstrain/nextclade/commit/a7a05ba63fc2bb8a76cbe05bf6db2f5d8c19a68f)] refactor: extract seed matching function into separate file
- [[`fc5531d`](https://github.com/nextstrain/nextclade/commit/fc5531db1d9dc6f18d02ee53476ed21c2a2b0244)] refactor: extract seed alignment function into separate file
- [[`9dbcd8a`](https://github.com/nextstrain/nextclade/commit/9dbcd8a76d3f4c2e2706f572d945e27eff257d03)] refactor: rename macro to avoid name collision
- [[`36ab9cc`](https://github.com/nextstrain/nextclade/commit/36ab9cc9d20fa2b56a79cee93cee9a738e415bf4)] test: add unit tests for align pairwise
- [[`cabbf55`](https://github.com/nextstrain/nextclade/commit/cabbf558375db1dd4fda68d7ac21c365e7abbf41)] Merge remote-tracking branch 'origin/master' into nextalign-rs
- [[`5a12b89`](https://github.com/nextstrain/nextclade/commit/5a12b89a87bb3aeef3f53c1de2df53bb34441ed9)] test: test higher level function
- [[`e08d762`](https://github.com/nextstrain/nextclade/commit/e08d76219ea8172a0226291fe83358cb8fbb18f8)] refactor: pass primitive by value
- [[`1a678ba`](https://github.com/nextstrain/nextclade/commit/1a678ba7190e1daeb70fa05b666940cabc82d0ad)] fix: correct indexing in score matrix
- [[`de6fc1f`](https://github.com/nextstrain/nextclade/commit/de6fc1f8db80338085b1349184fa209da823c292)] Merge remote-tracking branch 'origin/master' into nextalign-rs
- [[`be15a84`](https://github.com/nextstrain/nextclade/commit/be15a8423b1a20d601a42945057d673bd2433260)] chore: setup rust wasm
- [[`698110e`](https://github.com/nextstrain/nextclade/commit/698110e0218049d17ceadd613cd90e14d097f6e0)] docs: fix image urls
- [[`ebe8a09`](https://github.com/nextstrain/nextclade/commit/ebe8a090e3e62533f91dd2b704b7354a686da62d)] docs: add performance tips section
- [[`e1378be`](https://github.com/nextstrain/nextclade/commit/e1378be3afd42265414feed1a3a2e00fcc3dabbc)] docs: fix typos
- [[`d8321b6`](https://github.com/nextstrain/nextclade/commit/d8321b6978a09c995f3c9f46d6afcf1e274f6599)] docs: crosslink
- [[`b094aee`](https://github.com/nextstrain/nextclade/commit/b094aeef809d589b8fdeecf8a9c042f1b4647d33)] docs: align list of steps with the list in the ToC
- [[`4a9c2b4`](https://github.com/nextstrain/nextclade/commit/4a9c2b4fdff544a7b34fbd60a791f9bf3584d0f1)] docs: typo
- [[`968b19f`](https://github.com/nextstrain/nextclade/commit/968b19fdfabe67c29f6f09cca3b92cf8bacd8f19)] docs: link to qc section rather than reexplain
- [[`fea8edb`](https://github.com/nextstrain/nextclade/commit/fea8edb207858b3a9419c6321a3f5095c197d237)] docs: reword
- [[`311e339`](https://github.com/nextstrain/nextclade/commit/311e339b928ece9e05dbbdc1a87252b540fbfa27)] docs: make link more specific
- [[`06b4cf4`](https://github.com/nextstrain/nextclade/commit/06b4cf4dc16225e7e65e8955ffbdf00f490cbceb)] docs: format link, reword
- [[`7541b9f`](https://github.com/nextstrain/nextclade/commit/7541b9f3070a4536e3e0d120800e2da2711b0550)] chore: reorganize rust crates
- [[`14e4b53`](https://github.com/nextstrain/nextclade/commit/14e4b53637e29e8fab39e8d4e5326e9371b48426)] chore: make sure package build and rebuild runs correctly
- [[`f2867ea`](https://github.com/nextstrain/nextclade/commit/f2867eaf82b10a3b31d79a3ee3058f98a05d8eff)] feat: serialize-deserialize auspice tree json
- [[`21f59e1`](https://github.com/nextstrain/nextclade/commit/21f59e1bfad301575281f3db71e8a0c57e185bb1)] feat: add auspice tree traversal
- [[`69791b9`](https://github.com/nextstrain/nextclade/commit/69791b970f1447e9ad8566b751eae19de6134246)] feat: run rust wasm-bindgen module in a webworker pool
- [[`dd899f4`](https://github.com/nextstrain/nextclade/commit/dd899f42b74b2dba5615503bc3fcd5176a694299)] refactor: ensure type safety across ts and rust using pojos
- [[`82e886d`](https://github.com/nextstrain/nextclade/commit/82e886d0659187b37acfbebeee286840a5527c2d)] refactor: move helper functions to a separate module
- [[`1f1428d`](https://github.com/nextstrain/nextclade/commit/1f1428d2bac569f557b4639fd1df012faf9810ce)] fix: clear buffer before reading more fasta
- [[`a0109c0`](https://github.com/nextstrain/nextclade/commit/a0109c027d1d601a4e7063f5913cdd7aed620196)] feat: write aligned fasta
- [[`c3fb9cd`](https://github.com/nextstrain/nextclade/commit/c3fb9cd38addc1b6e3b813878104c6226735d44a)] fix: avoid integer underflow
- [[`dab5121`](https://github.com/nextstrain/nextclade/commit/dab512182a6f55545cd07332a273dd8c484d73ab)] fix: incorrect size in alignment
- [[`e849a3e`](https://github.com/nextstrain/nextclade/commit/e849a3e5bad476e1076c7dea7c815933eb214323)] fix: off by one errors in alignment
- [[`012c373`](https://github.com/nextstrain/nextclade/commit/012c37354f6faf66e69e85fd23e9ed5b1260f212)] fix: typo in alignment test
- [[`233b242`](https://github.com/nextstrain/nextclade/commit/233b2426fd20370e141744ddb11b58130a56269b)] feat: port insertions stripping
- [[`fa90a13`](https://github.com/nextstrain/nextclade/commit/fa90a13370e271e7e2c24a8d88fbd4f7014c8df9)] feat: port gff3 parsing
- [[`96e7975`](https://github.com/nextstrain/nextclade/commit/96e7975b84898e3c5e4179225959a28b266c269a)] feat: continue on alignment failure
- [[`6de1287`](https://github.com/nextstrain/nextclade/commit/6de1287fa0b7e99c602d7bfb976e3ca3589a93c8)] chore: update lockfile
- [[`cee163b`](https://github.com/nextstrain/nextclade/commit/cee163b6644a612a2d0aa73423d88ef02adb6d2d)] chore: cleanup
- [[`20130ca`](https://github.com/nextstrain/nextclade/commit/20130ca7560bfb093e0b4fa190b89ae572ed6f25)] fix: ensure gff3 parsing errors are not ignored
- [[`bb3ede0`](https://github.com/nextstrain/nextclade/commit/bb3ede0192c44f1d83b2cb559aeb9e1f78ea9d6c)] feat: scaffold translation functions
- [[`c1d4a59`](https://github.com/nextstrain/nextclade/commit/c1d4a59afe5eac83039b98ca323dd6126bbc36ef)] Merge remote-tracking branch 'origin/master' into docs/fixes
- [[`bf42062`](https://github.com/nextstrain/nextclade/commit/bf420629c7389ad99737521acef35ace257eb1ae)] Merge pull request #753 from nextstrain/docs/fixes
- [[`ccf2a04`](https://github.com/nextstrain/nextclade/commit/ccf2a0429e239e29a20dd4da1148b908ed2d8515)] chore(build): reenable nextalign smoke test
- [[`e7d3184`](https://github.com/nextstrain/nextclade/commit/e7d3184d67fa2c83250d616e9b0518915374fd5f)] feat: port nextalign translation
- [[`e70cad8`](https://github.com/nextstrain/nextclade/commit/e70cad8d1d15764d25a84c4b4c9191d8166f1eda)] feat: port nextalign command-line arguments
- [[`2dd67aa`](https://github.com/nextstrain/nextclade/commit/2dd67aafdfa9e9a873cfe7aae8542221d0e3f3eb)] feat: improve error message
- [[`b669d5a`](https://github.com/nextstrain/nextclade/commit/b669d5ae4082c578b161781ecadc29ee1021eeed)] fix: array out-of-bounds error in gaps counter
- [[`1aece1d`](https://github.com/nextstrain/nextclade/commit/1aece1d8cb4f947e96e8abed98471580cc55af05)] fix: ensure correct coord conversion in frame shift translation
- [[`c73c6e5`](https://github.com/nextstrain/nextclade/commit/c73c6e5de02a59f2a51c7dcf571f1db7d36957bb)] refactor: extract functions, rename, document
- [[`8073e97`](https://github.com/nextstrain/nextclade/commit/8073e975c9eb66547691a280627e0ec546452e84)] feat: add --silent flag
- [[`c8d50d9`](https://github.com/nextstrain/nextclade/commit/c8d50d96016f7a8abd69faef07d5866c210c94e7)] feat: make some of the cli args optional, same as in cpp version
- [[`474155b`](https://github.com/nextstrain/nextclade/commit/474155bd90fb4fd52a933615c87389537d141770)] fix: write peptides to the correct dir
- [[`e0bb45b`](https://github.com/nextstrain/nextclade/commit/e0bb45b6c2f1632298213c3842fea53a1719599a)] refactor: extract fasta reading function
- [[`194fdfe`](https://github.com/nextstrain/nextclade/commit/194fdfed5d2a4df00e922ee782784ae41c85f595)] feat: port insertions.csv
- [[`79cdefd`](https://github.com/nextstrain/nextclade/commit/79cdefd68739fcae01b7145e5dd26f8112ff2b82)] fix: ensure insertion start is set correctly
- [[`9db29bc`](https://github.com/nextstrain/nextclade/commit/9db29bcd7e53e95221d07a8670998f32459304f9)] feat: port errors.csv
- [[`f53d9cd`](https://github.com/nextstrain/nextclade/commit/f53d9cddde5407ab88f4e62247cc9f7ecd6bf884)] refactor: extract peptide writer
- [[`a9d8cd5`](https://github.com/nextstrain/nextclade/commit/a9d8cd56d85c5a7f2a5c461958ca3c0f2cb3872c)] refactor: move function into library module
- [[`9f284cc`](https://github.com/nextstrain/nextclade/commit/9f284cc13f234cb3001b4384da7855ac9ef6f465)] feat: process genes in a deterministic order
- [[`5f7896c`](https://github.com/nextstrain/nextclade/commit/5f7896cfefdadfa0cd0b1b2d74ddfb21f30d17a9)] refactor: upgrade rust and deps
- [[`1d5f5ac`](https://github.com/nextstrain/nextclade/commit/1d5f5ac8491b94cbaa3c7043b6e578d96b2bac9b)] refactor: lint
- [[`e7e27f2`](https://github.com/nextstrain/nextclade/commit/e7e27f2955b78b3dd2ab1a93164c3f497dacf112)] chore(build): cross-compile for non-apple platforms
- [[`0563f9d`](https://github.com/nextstrain/nextclade/commit/0563f9dab1eaeadf78de95b846708368b97d6ce0)] chore(build): cross-compile for apple platforms
- [[`2cfd530`](https://github.com/nextstrain/nextclade/commit/2cfd530f877fdd072eca4fd71c6126ce6e5deede)] chore(build): add script for multiplatform build
- [[`a9e2232`](https://github.com/nextstrain/nextclade/commit/a9e2232d27d7efda52a174d3ed6c67f13f6d049e)] chore(build): upgrade base docker image
- [[`67d3766`](https://github.com/nextstrain/nextclade/commit/67d37660d1b0170957c817dc9b8b7a071757273c)] feat: make nextalign.rs multithreaded
- [[`2cdcc24`](https://github.com/nextstrain/nextclade/commit/2cdcc24de8ea4cf0e28a3c8eac72df5e33ab3c18)] feat: port --in-order flag
- [[`0cbdea7`](https://github.com/nextstrain/nextclade/commit/0cbdea7e138a2cc54906b038729ace6e8222992c)] refactor: extract writing logic into a class
- [[`8ebac21`](https://github.com/nextstrain/nextclade/commit/8ebac21d35c7530780eb44f1b20e65ab76a28614)] feat: port --include-reference flag
- [[`bbd65fe`](https://github.com/nextstrain/nextclade/commit/bbd65fe7ddceb28c475b09fb0f89f21dfb1b3660)] feat: port nextclade cli args
- [[`31b1e86`](https://github.com/nextstrain/nextclade/commit/31b1e86df736c3a6671ef20de6738a270dcef89b)] feat: port nextclade input file readers
- [[`e43ee20`](https://github.com/nextstrain/nextclade/commit/e43ee208bd9c0a6df9c5e17a5c7b4d2088eefd6a)] feat: port nuc mutation calling
- [[`50452df`](https://github.com/nextstrain/nextclade/commit/50452df05e9deba62f8181b4234b91df91dd51e5)] refactor: lint
- [[`f838249`](https://github.com/nextstrain/nextclade/commit/f83824921a226c36efdb4207c1fb9ad5ac8fb5d2)] chore: cleanup configs, use mold linker on linux
- [[`60b2c4d`](https://github.com/nextstrain/nextclade/commit/60b2c4db3ead9c477bac00705b6d466322bff3e9)] chore: ensure same lint config regardless of the environment
The config currently needs to be kept in each root module right now, which is inconvenient and error-prone. Hopefully it gets fixed soon. For a good summary see here: https://github.com/EmbarkStudios/rust-ecosystem/issues/59
- [[`41f45cd`](https://github.com/nextstrain/nextclade/commit/41f45cd3e0f96bfa01f0d14f09f5bb6af409f7a7)] chore: cleanup build script
- [[`c2f5dc6`](https://github.com/nextstrain/nextclade/commit/c2f5dc63354332ac5bf6bae4adb92788469dd8ef)] feat: port nuc composition and nuc ranges
- [[`0fc11d3`](https://github.com/nextstrain/nextclade/commit/0fc11d34d2a95470a515b329d9b9839c0c091154)] feat: write results ndjson
- [[`8d3eaf0`](https://github.com/nextstrain/nextclade/commit/8d3eaf057091b1093772f3c8ac96e4964f6507d3)] chore: cleanup lint command in build script
- [[`016c6c0`](https://github.com/nextstrain/nextclade/commit/016c6c06de66cbab1efe6d367e7bc898aac0514e)] feat: port writing nextclade results json file
- [[`2c0a9d9`](https://github.com/nextstrain/nextclade/commit/2c0a9d978ff9502bbc8fdca4e8c5969168fe9ea5)] feat: port finding pcr primers changes
- [[`e96c717`](https://github.com/nextstrain/nextclade/commit/e96c717eed77324597de5a133a02dd7a41fdc59c)] feat: port finding aa changes
- [[`363a17b`](https://github.com/nextstrain/nextclade/commit/363a17be19720805d5473d43dd409e6d0e22969b)] fix: ensure ref sequence is properly stripped
- [[`e7fe233`](https://github.com/nextstrain/nextclade/commit/e7fe2338e52f2374c6e46b6a869530ffd2ee498b)] refactor: avoid extra statement
- [[`19d5975`](https://github.com/nextstrain/nextclade/commit/19d597506fd13e86e9ab964c602596b4acd0f3e3)] feat: port frame shifts flattening
- [[`feeb03c`](https://github.com/nextstrain/nextclade/commit/feeb03cf74359eb3c58df2ba7aa93c6cd09709f8)] fix: serialize Gap and Stop codons into their correct letters
- [[`fecd266`](https://github.com/nextstrain/nextclade/commit/fecd266060bbd02d3a55a7bfec4e9b2dfd5e9358)] feat: port aa insertions conversion in nextclade
- [[`e266377`](https://github.com/nextstrain/nextclade/commit/e266377a5704163ac255473ac0d6ecbe615ccea9)] feat: port tree preprocessing, nearest node search and clade assignment
- [[`edb0cc8`](https://github.com/nextstrain/nextclade/commit/edb0cc83ae18ead2c9b14bbd4e6fbbd7a84dd65d)] feat: retrieve clade node atts
- [[`b8506b8`](https://github.com/nextstrain/nextclade/commit/b8506b86c5946942030833f2b2c020660bcf752a)] feat: port private mutations search
- [[`1986524`](https://github.com/nextstrain/nextclade/commit/19865243ba3f6d2c073e4ac518a8938033458f4c)] feat: port tree placement and writing tree to file
- [[`95c817b`](https://github.com/nextstrain/nextclade/commit/95c817b86162bd9249e0199f3a0bd67e44f9dcc9)] refactor: add a structure to store seed matches instead of tuples
- [[`299b3a6`](https://github.com/nextstrain/nextclade/commit/299b3a62ea2d215f04778871cb3300ff7366c9c5)] Merge branch 'add-seed-match-struct' into rust
- [[`2a6736d`](https://github.com/nextstrain/nextclade/commit/2a6736dda15f2919aa7e849fb6679246e7536824)] feat: implement Band2d
- [[`27cc5cf`](https://github.com/nextstrain/nextclade/commit/27cc5cf049b781c7565a72142a01d53beb7679fa)] exp: explore construction of stripes from seed matches
- [[`8b318d1`](https://github.com/nextstrain/nextclade/commit/8b318d10024b621eb7b1bb7f7ba1a40a935aaa96)] fix: types
- [[`65c04cc`](https://github.com/nextstrain/nextclade/commit/65c04cc03539d1d47512f497006404baccecc3e5)] refactor: format
- [[`45fbc84`](https://github.com/nextstrain/nextclade/commit/45fbc8411e906df8ecebf534a6d531782037f779)] refactor: represent stripe as { begin, end }
Instead of { begin, length }
- [[`ef4095c`](https://github.com/nextstrain/nextclade/commit/ef4095c64331876026805ef22161c4610e33ab50)] refactor: allow debug-printing of structs
- [[`1317243`](https://github.com/nextstrain/nextclade/commit/13172436cff25b16e5a0730dad6a9a012d12faf9)] feat: allow indexing of Band2d using i32
- [[`98cca40`](https://github.com/nextstrain/nextclade/commit/98cca405fa7249354b5b7645bbce4d89c666e4a8)] feat: pass stripes through to score_matrix()
- [[`f804bb1`](https://github.com/nextstrain/nextclade/commit/f804bb18c239e0f465a28ca93d8117dda23e1e85)] chore: disable broken test
- [[`3453b1d`](https://github.com/nextstrain/nextclade/commit/3453b1d0747702cc9d2e9b54dd52756dec061a44)] fix: remove strain import
- [[`9794604`](https://github.com/nextstrain/nextclade/commit/979460416b8b5d07c12a5ff7371158607afe3a90)] feat: use Band2d
- [[`d188ff3`](https://github.com/nextstrain/nextclade/commit/d188ff314639ab30e5ad18f1d13574283af8e74f)] refactor: make Stripe and index Band2d with any integral type
- [[`32b67e1`](https://github.com/nextstrain/nextclade/commit/32b67e1a5511c2a750a6be3d1c344c2baf762035)] refactor: simplify statements, reduce number of casts
- [[`6fe96b4`](https://github.com/nextstrain/nextclade/commit/6fe96b47d629360594a17965ed087c1cc76d026f)] refactor: name constants
- [[`a8b0c34`](https://github.com/nextstrain/nextclade/commit/a8b0c348020c840fb49761c913b56e4910f8cf84)] chore: add script to run and compare outputs of cpp and rs versions
- [[`b3383ae`](https://github.com/nextstrain/nextclade/commit/b3383aee91efcde99e66a7e99d23e995b23b2eef)] feat: make output tree more similar to the old version
- [[`e9cfd07`](https://github.com/nextstrain/nextclade/commit/e9cfd07d75900223776a24533ca1c5c2a606ba3b)] chore: run small dataset in debug mode for faster rebuild cycle
- [[`b8e7f8d`](https://github.com/nextstrain/nextclade/commit/b8e7f8d6ffe960aa46eca019e823c789f4dbfb9c)] feat: port aa ranges
- [[`8b94a54`](https://github.com/nextstrain/nextclade/commit/8b94a545beb475896338ad3f0df5451a835c1b42)] feat: port finding private aa mutations
- [[`01e310c`](https://github.com/nextstrain/nextclade/commit/01e310c31a1a130312b65f911d89782dd35044c5)] fix: paths to json outputs
- [[`4844003`](https://github.com/nextstrain/nextclade/commit/48440038fabbe7da76c58b18d706569ba89bfbd6)] chore: sort json keys before comparison
- [[`a36cefa`](https://github.com/nextstrain/nextclade/commit/a36cefabfeb241a903bf5a8337720db45e51bc0d)] fix: output aa context as string, not as array
- [[`e549dee`](https://github.com/nextstrain/nextclade/commit/e549deee467a76c24dd3c6fb8dd5c12e42bbc144)] fix: preserve json filed names from older version
- [[`ca85080`](https://github.com/nextstrain/nextclade/commit/ca85080162a7ff91c1f734d60dd033bda260d456)] feat: port mapping between nuc and aa changes
- [[`cb6424b`](https://github.com/nextstrain/nextclade/commit/cb6424b776fc0672baa495daf89c567a2cd9a4e2)] feat: port qc
- [[`131eaa9`](https://github.com/nextstrain/nextclade/commit/131eaa9df4c1bbb68ee0e2fae1606935cb6f98c8)] fix: preserve field names in json outptuts
- [[`2c4aeb2`](https://github.com/nextstrain/nextclade/commit/2c4aeb20370ba2587b4a716634a81c6d00f15aa8)] refactor: lint
- [[`34e109c`](https://github.com/nextstrain/nextclade/commit/34e109cf44e3ee273b9dc337efa37f42560a5ae7)] refactor: fix variable naming convention
- [[`a1c47f2`](https://github.com/nextstrain/nextclade/commit/a1c47f2c0203058cc7a6901159c02e9b306fac2b)] fix: preserve old field names in json outptuts
- [[`c1df594`](https://github.com/nextstrain/nextclade/commit/c1df59489bb4cb7b2fa9fcb542153fa0fcd7037f)] fix: don't emit empty aa ranges
- [[`81498b3`](https://github.com/nextstrain/nextclade/commit/81498b3a48578c6dca3ab3c5c5d806444be0c11c)] fix: preserve old field names in json outptuts
- [[`309e962`](https://github.com/nextstrain/nextclade/commit/309e9622c8e64593e459ab20c156a36278208c50)] fix: deserialize insertions into string, not array
- [[`5211185`](https://github.com/nextstrain/nextclade/commit/5211185a52c6926e7fdb76053233b3a514e20c99)] fix: preserve old field names in json outptuts
- [[`053185e`](https://github.com/nextstrain/nextclade/commit/053185e26194ea7f928a4d9422b5f725e35a13ab)] feat: port nextclade csv outputs
- [[`85bc2dd`](https://github.com/nextstrain/nextclade/commit/85bc2dd8c3c13518f06876e2627342ce004f9769)] chore: fix wasm build
- [[`24ed1c3`](https://github.com/nextstrain/nextclade/commit/24ed1c3aeb6eef7c5793bcaea28e04a588510ae4)] chore: lint
- [[`789b548`](https://github.com/nextstrain/nextclade/commit/789b548462e98145dedbba4694d672b664cf4348)] chore: upgrade rust
- [[`b30e838`](https://github.com/nextstrain/nextclade/commit/b30e838ae1c4909708d05cb16998f0408718116c)] chore: upgrade deps
- [[`77fb956`](https://github.com/nextstrain/nextclade/commit/77fb95651c3d6616972636bdd9631b979ec86d06)] chore: lint
- [[`0bc992b`](https://github.com/nextstrain/nextclade/commit/0bc992b147bb3b96bce4b502ddd1762bd4b931ea)] chore: lint
- [[`90131f1`](https://github.com/nextstrain/nextclade/commit/90131f11c6f50362d6c11cde44b7732ef5756826)] chore: upgrade docker base image
- [[`e8b3508`](https://github.com/nextstrain/nextclade/commit/e8b3508a660294a52f9d971f9232874060ef2533)] feat: adapt nextclade to run on single sequences in a wasm module
- [[`c86f174`](https://github.com/nextstrain/nextclade/commit/c86f174f43c8e5cb0bbe7c6450a94b3c6fa06304)] chore(web): upgrade webpack next.js and other deps
- [[`a1b86dd`](https://github.com/nextstrain/nextclade/commit/a1b86dd62a0ca58ef4f91b62be4d262c375d4144)] feat: make nextclade wasm module stateful
- [[`9620059`](https://github.com/nextstrain/nextclade/commit/96200590ab62c8c253fb559c8240e367ae3f019f)] WIP: adapt alignment to band_2d
- [[`505c303`](https://github.com/nextstrain/nextclade/commit/505c3037b5e1a495fdada3b3816e8156c5f26300)] lint: make it compile by annotating type of 0
- [[`f03dfdf`](https://github.com/nextstrain/nextclade/commit/f03dfdfa51b3034b2acc24a82fac65abc529d12c)] WIP: first attempt at striped score matrix
- [[`4a276fe`](https://github.com/nextstrain/nextclade/commit/4a276fe975d380a1fe554f64869073e33f56d721)] refactor: inline the ZERO constant
- [[`d451ed7`](https://github.com/nextstrain/nextclade/commit/d451ed745efddc008051ce4bc3043cd1f114cd33)] feat: create simple_stripes, display band
- [[`85fb90e`](https://github.com/nextstrain/nextclade/commit/85fb90eedca35e60a7bf61f6fd52efd9d6f5fe5d)] refactor: inline the ZERO constant
- [[`cc82c2c`](https://github.com/nextstrain/nextclade/commit/cc82c2ce3899cac07b5c23656f4fdefb3461be5d)] Merge remote-tracking branch 'origin/refactor/inline-zero' into refactor/inline-zero
- [[`cf360ea`](https://github.com/nextstrain/nextclade/commit/cf360ea29bfce82df1476cb6cfef7a1bde5294ab)] Merge branch 'rust' into experiment-stripes
- [[`36b0d16`](https://github.com/nextstrain/nextclade/commit/36b0d16f3547717eb36c4ff83cfa7d6a7c21f2a2)] refactor: move test helper function into the test module
- [[`ee685fe`](https://github.com/nextstrain/nextclade/commit/ee685fe5086c3f01b72d518eb4b01577f637dd8b)] Revert "refactor: move test helper function into the test module"
This reverts commit 36b0d16f3547717eb36c4ff83cfa7d6a7c21f2a2.
- [[`22ad84a`](https://github.com/nextstrain/nextclade/commit/22ad84a31b14250161d49d9e8501f69fde3f6910)] build: make compatible for local compile on mac
- [[`539fef3`](https://github.com/nextstrain/nextclade/commit/539fef3cf3582f2e6d66b383591d0d71108fc1a4)] feat: score_matrix successfully stripified
- [[`3145be7`](https://github.com/nextstrain/nextclade/commit/3145be7a73107a917aa8dab34121e41a0b0cad5c)] change: make Band2d.data public to be able to init easily
- [[`a362f48`](https://github.com/nextstrain/nextclade/commit/a362f48ae94af2c2203b3f140219bbf5d2ff7f1b)] chore: make score_matrix test pass with stripes
- [[`fd0574a`](https://github.com/nextstrain/nextclade/commit/fd0574a51833239174cc8c491030aec92d2528ee)] test: set up failing test for stripey backtrace
- [[`a6eb272`](https://github.com/nextstrain/nextclade/commit/a6eb27244fb8d208805af369f842d3f76efc32c7)] feat: add streaming fasta parser with wasm and webworker
- [[`375baa3`](https://github.com/nextstrain/nextclade/commit/375baa3772be47a3d1232950f7a69fff140656d5)] fix: make gaps at ends free -> global = local alignment
- [[`0d60df0`](https://github.com/nextstrain/nextclade/commit/0d60df073ab6a89d7ee571267a6113663adf5317)] fix: stripes now always min width 1
- [[`cb8ba2f`](https://github.com/nextstrain/nextclade/commit/cb8ba2f408707587664c60201949dcdd4e05e560)] WIP: use simple stripes in seed_alignment
- [[`7ee15fd`](https://github.com/nextstrain/nextclade/commit/7ee15fdad44b07ad4f67a3116e2c8ecb3da210ac)] fix: score matrix bug, used rows instead of cols
- [[`8195e23`](https://github.com/nextstrain/nextclade/commit/8195e23d31854a42500b08f6a28f874bc10a485c)] feat: stripify backtrace
- [[`9fd26ec`](https://github.com/nextstrain/nextclade/commit/9fd26ecd5f7b6462fa29cb5b4439000af0d65305)] feat: use stripified backtrace in align
- [[`2762ab1`](https://github.com/nextstrain/nextclade/commit/2762ab1b572217c9c07a1406776e651bce8c6538)] fix: use lower case for nextalign/clade in clap to match completions
- [[`5ed8dea`](https://github.com/nextstrain/nextclade/commit/5ed8dea76357b9543c3d829a93c1a31364ccec79)] fix: don't look at diagonal match in vertical band
- [[`b817bed`](https://github.com/nextstrain/nextclade/commit/b817bedd705f711960f39a582389bc65e4f67a40)] chore: remove unused deps
- [[`e0651df`](https://github.com/nextstrain/nextclade/commit/e0651df58ef0d24f4810534dfeb26f0b9c58ec7f)] feat: [WIP] call new wasm implementation from nextclade web
- [[`3e727a1`](https://github.com/nextstrain/nextclade/commit/3e727a1ef2db24acf179a77aee2430d3532c58d9)] chore: extra align tests
- [[`809c88d`](https://github.com/nextstrain/nextclade/commit/809c88df25495b39832bac2fe49dbcc8636298fe)] fix: always include start and end square in stripes
- [[`e475a47`](https://github.com/nextstrain/nextclade/commit/e475a470c59ff1dffcd5de6eb163ba6428a233ad)] refactor: make seed alignment generic
- [[`81bc612`](https://github.com/nextstrain/nextclade/commit/81bc612c13d6b22059914853ff4c564c96a6790f)] fix: check stripe coverage before accessing
- [[`d788274`](https://github.com/nextstrain/nextclade/commit/d7882741179295e410ec678530656a643e205fba)] test: add real sc2 align test
- [[`7276280`](https://github.com/nextstrain/nextclade/commit/7276280fd79907deab52022fb6727ede40551adf)] Merge remote-tracking branch 'origin/experiment-stripes-with-generic-seed-aln' into experiment-stripes
- [[`5d027bb`](https://github.com/nextstrain/nextclade/commit/5d027bb805efd9c256f10b8c9a6e4595d321c99f)] fix: remove duplicate code in test
- [[`ca0aac1`](https://github.com/nextstrain/nextclade/commit/ca0aac14e164f1d0d8ddd35e801e4b563b59285e)] test: add unit tests to seed_match.rs
- [[`a8c25a2`](https://github.com/nextstrain/nextclade/commit/a8c25a22fb7706f2669283b56503418c292900a0)] feat: efficient stripes generated from seed matches
- [[`6e6330d`](https://github.com/nextstrain/nextclade/commit/6e6330d520eb94aba64bdda0fc4aea39bc6df4d7)] feat: speed up seed matching
- [[`6e5aed2`](https://github.com/nextstrain/nextclade/commit/6e5aed2814bfc105563e66b5289cd1ec70fd8ec4)] chore: setup microbenchmarking boilerplate
- [[`2fe8967`](https://github.com/nextstrain/nextclade/commit/2fe896751aa9b10ce7606a7e54ee022721fa906e)] chore: setup microbenchmarking boilerplate
- [[`7bd8f95`](https://github.com/nextstrain/nextclade/commit/7bd8f95d7cfd998fddc7d023626b20f3ea9d672b)] Merge branch 'rust' into experiment-stripes
- [[`e227626`](https://github.com/nextstrain/nextclade/commit/e227626d1c1227aa5905eaa76fd0d116eb9d15ac)] chore: update Cargo.lock
- [[`3f7ddd0`](https://github.com/nextstrain/nextclade/commit/3f7ddd0276424c88f62330f4fc5a00cd856cb319)] chore: simplify lint config
- [[`1ee538a`](https://github.com/nextstrain/nextclade/commit/1ee538a94b7b0b0f2af76d7166b269e17c61fe86)] refactor: lint
- [[`2574cc3`](https://github.com/nextstrain/nextclade/commit/2574cc35d08b7e923425fa4691813e77142657ca)] feat: setup simplealign example
- [[`06632a7`](https://github.com/nextstrain/nextclade/commit/06632a7f17f86fb86fe85952688d54364627d32f)] Merge branch 'rust' into experiment-stripes
- [[`c94b88a`](https://github.com/nextstrain/nextclade/commit/c94b88adea2fbe50caa89e5d4b880fef233ea152)] fix: ensure type definitions in release mode
- [[`772c052`](https://github.com/nextstrain/nextclade/commit/772c052542c1f98c44c6801679dc295852c118f3)] refactor: fix types, upgrade deps
- [[`c84efdd`](https://github.com/nextstrain/nextclade/commit/c84efdd64e1ab995eaf7173acd67fd7dd5199c70)] change: make excess bandwidth comparable with old algorithm
- [[`6bfd73f`](https://github.com/nextstrain/nextclade/commit/6bfd73f2d9545e6ffc4c9a067bd5d93a7666c7e1)] perf: use i8 for path storage instead of i32
- [[`9951f2a`](https://github.com/nextstrain/nextclade/commit/9951f2a7df1cb674128d950dbce52b8fced6ab31)] chore: fix unset variable in the docker script
- [[`54f3ffa`](https://github.com/nextstrain/nextclade/commit/54f3ffa8d21a1406b4dd78ac63152bbf769a6bd4)] Merge branch 'rust' into experiment-stripes
- [[`652aec2`](https://github.com/nextstrain/nextclade/commit/652aec2bc8b2fa290434ce9fba040b82962b9a8a)] chore: fix unset variable in the docker script
- [[`22253b4`](https://github.com/nextstrain/nextclade/commit/22253b46f281f33b27288222c8a8de2c9b82eed9)] refactor: run wasm worker with effects and recoil
- [[`e9fd157`](https://github.com/nextstrain/nextclade/commit/e9fd157408574cbef380e49cc6dab9728bd00405)] chore(ci): try new docker dev image
- [[`f32c764`](https://github.com/nextstrain/nextclade/commit/f32c7644b8eae3c0867bb7944ae85080f655ce17)] chore(build): use cargo-quickinstall to speedup docker build
- [[`a2b9090`](https://github.com/nextstrain/nextclade/commit/a2b9090023759bb1c3c7e8de210446d7d81eba7c)] chore(ci): fix output paths
- [[`34b7f27`](https://github.com/nextstrain/nextclade/commit/34b7f275a8deb52a897b3e7ba0303ab81adec525)] chore(ci): build web app
- [[`4554a77`](https://github.com/nextstrain/nextclade/commit/4554a7729640037af2926bcaa140b91c49a588b4)] chore(ci): ensure container image name matches across steps
- [[`cf49a08`](https://github.com/nextstrain/nextclade/commit/cf49a08b15090e9ef03e745a1c345d396648113d)] chore(ci): ensure workspace dir exists and is writable
- [[`5bc0612`](https://github.com/nextstrain/nextclade/commit/5bc061269f3c1d51185513278a5e6b6f051726ca)] chore(ci): ensure required env vars
- [[`0790b9a`](https://github.com/nextstrain/nextclade/commit/0790b9a028593066eee4c8431dc5a502a5d90ecc)] chore(ci): use correct paths in workspace
- [[`aaa40f6`](https://github.com/nextstrain/nextclade/commit/aaa40f674088890120f0f6c8372d5927ce7554b8)] chore(ci): prebuild docker images for cross compilation
- [[`ab8f8f1`](https://github.com/nextstrain/nextclade/commit/ab8f8f1b540b9c56e56bd18a0fe968fbcac3fe0c)] chore(ci): prebuild docker images for mac cross compilation
- [[`80f731b`](https://github.com/nextstrain/nextclade/commit/80f731bfd07b9be212ea4a84cf3bfde16079526b)] chore(ci): try to fix docker layer caching
- [[`0a6231c`](https://github.com/nextstrain/nextclade/commit/0a6231c62dbad836b9081841ca758aa39b58cdc4)] chore(build): remove cpu limit
- [[`af14eff`](https://github.com/nextstrain/nextclade/commit/af14eff157ecbaecf3c840cd4cbed3884498271d)] chore(build): make build quieter
- [[`fe02efe`](https://github.com/nextstrain/nextclade/commit/fe02efee954d18ed81373a670b1091bf5b70740e)] chore(ci): fix docker target
- [[`7c11090`](https://github.com/nextstrain/nextclade/commit/7c110905a7376e7f6da636b23ace9a96f1a96637)] chore(ci): trigger ci
- [[`8c72220`](https://github.com/nextstrain/nextclade/commit/8c722202efa538fd807fe195c2b03ce432488a83)] chore(build): use docker buildkit
- [[`06b3394`](https://github.com/nextstrain/nextclade/commit/06b33945bd5b04f5f909e755abcbc309d3a79716)] chore(build): make builds verbose
- [[`8ec1c6a`](https://github.com/nextstrain/nextclade/commit/8ec1c6a64e26969a2100e6b226d6ed6eb0528e53)] chore(ci): trigger ci
- [[`7ecb6bb`](https://github.com/nextstrain/nextclade/commit/7ecb6bbe2cdb73bbbf5fade329f01c9539326c88)] chore(ci): trigger ci
- [[`26c4d1f`](https://github.com/nextstrain/nextclade/commit/26c4d1f916b87d6e4c30793ef4493915f1090a12)] chore(build): align docker build commands
- [[`95de3aa`](https://github.com/nextstrain/nextclade/commit/95de3aa900bca9721387c92b18fcd5c97dc3da36)] chore(ci): use docker-dev script in ci
- [[`91dfaf4`](https://github.com/nextstrain/nextclade/commit/91dfaf472a49d63ddbe7401fa4c9a895c398943b)] chore(build): make docker commands less verbose
- [[`f476148`](https://github.com/nextstrain/nextclade/commit/f476148cc9ae53b0a286ce83368fbb499e43a179)] chore(ci): build only specific packages in ci
- [[`f3ef77f`](https://github.com/nextstrain/nextclade/commit/f3ef77fcea4c261380a96cb1c9031c6cc924ac9c)] chore(ci): trigger ci
- [[`b3b681e`](https://github.com/nextstrain/nextclade/commit/b3b681ee44f220fbe298db508bad5ba84ed12a18)] chore(build): split osxcross build out of the main dockerfile
- [[`8b36a5d`](https://github.com/nextstrain/nextclade/commit/8b36a5d7cfd0ee40690d23dd3ec04194b0fd2321)] chore(ci): build cross docker images concurrently
- [[`e8837d6`](https://github.com/nextstrain/nextclade/commit/e8837d6fc42e02bc624fed3f437d0f2f3d2ead61)] chore(ci): don't build cross docker images concurrently
Takes too much CI resources
- [[`f3def0e`](https://github.com/nextstrain/nextclade/commit/f3def0efe4b124172fb9d04ba6e8f7c4a9a6e19a)] chore(ci): reset build caches
- [[`1980e0c`](https://github.com/nextstrain/nextclade/commit/1980e0cd733664a6d075b7a893b97a72becec3c0)] chore(ci): add missing env var
- [[`cbb9815`](https://github.com/nextstrain/nextclade/commit/cbb98151ccaf97700a83892171e6cf07132ee2d1)] chore(ci): use more aggressive cache
- [[`801ba8f`](https://github.com/nextstrain/nextclade/commit/801ba8f7b5445110c31c378b6e2ac22cf696d22d)] chore(ci): don't use file watcher on ci
- [[`8a2393e`](https://github.com/nextstrain/nextclade/commit/8a2393e728a084d6843e4a445b0e7cc7e716bd12)] chore(ci): make docker images smaller
- [[`af48388`](https://github.com/nextstrain/nextclade/commit/af4838830203eb3ca2e21c167deb49cbd047f2c9)] chore(build): migrate cross-compilation options into container
To avoid clashes with native compilation on different platforms
- [[`834887d`](https://github.com/nextstrain/nextclade/commit/834887d1eae12bf99c39544c468958e981699e47)] chore(ci): pull dev images in advance to use them as cache
- [[`c83abb4`](https://github.com/nextstrain/nextclade/commit/c83abb4cf1ea9ca5e902de536aa528f3f047e79a)] chore(ci): make build less verbose
- [[`0767da7`](https://github.com/nextstrain/nextclade/commit/0767da71907c17d7bd146fb0cc8e5afbb1dc5786)] chore(ci): temporarily disable ci
- [[`79428fc`](https://github.com/nextstrain/nextclade/commit/79428fc662e09eabf375b8e1e640ddd01c2e5272)] chore(ci): setup vercel build
- [[`03eeb6b`](https://github.com/nextstrain/nextclade/commit/03eeb6baac196f00c3b0c2205be0183a17c0a528)] chore(web): upgrade deps
- [[`7bb4a81`](https://github.com/nextstrain/nextclade/commit/7bb4a816b5cee383d7fed50b437a7566b7ac7f0b)] deat(web): silence false-positive warnings from recoil
https://github.com/facebookexperimental/Recoil/issues/733
- [[`1f66488`](https://github.com/nextstrain/nextclade/commit/1f66488f4952da9a36324ca28d6d382517db3cd8)] refactor(web): port dataset state to recoil
- [[`69e746c`](https://github.com/nextstrain/nextclade/commit/69e746c3d9eb6ca08555e5d9a025b49022d77bc4)] feat(web): launch new webworkers with real inputs
- [[`2243b12`](https://github.com/nextstrain/nextclade/commit/2243b12a65d7510cb3091fe70324a65c67800583)] chore(ci): fix vercel copy command paths
- [[`c2d9454`](https://github.com/nextstrain/nextclade/commit/c2d94543ac24adc806a7ce35e6aeb061672fba63)] fix(web): remove 'debug' package from production bundle
`debug` package uses `windows` global, which is not
present in WebWorker environment, causing undefined error in production.
Previously, the correct setup of the environment was handled by threads.js webpack plugin, but it currently does not work with Webpack 5, so we have to improvise. Removing `debug` package resolves the error for now.
- [[`de0adeb`](https://github.com/nextstrain/nextclade/commit/de0adeb8c72fde57ca097d0e4654f64243e2103b)] chore(ci): fix vercel copy command paths
- [[`c7cb04a`](https://github.com/nextstrain/nextclade/commit/c7cb04af2a24ae30f615ed362648c6e310ab45f2)] chore(ci): cleanup vercel build script
- [[`84efec5`](https://github.com/nextstrain/nextclade/commit/84efec5d3026e379150139ecfbfe25b69b7c324d)] chore: remove requirements.txt
- [[`13c0aa7`](https://github.com/nextstrain/nextclade/commit/13c0aa74bc3da0ebb9b46d95b8166c43a7f187f0)] chore(ci): cache more on vercel
- [[`e47a196`](https://github.com/nextstrain/nextclade/commit/e47a196c8f7e9a6febade0e481ca4380628da5f1)] feat(web): update clades schema
- [[`92d869d`](https://github.com/nextstrain/nextclade/commit/92d869d5a38083498d596f9b76819f20be4ca35f)] Merge pull request #774 from nextstrain/feat/update-clades-schema
- [[`c939396`](https://github.com/nextstrain/nextclade/commit/c939396af110f5b61736786da96b53ab100ae4b4)] chore: release web 1.14.1
- [[`25ee5de`](https://github.com/nextstrain/nextclade/commit/25ee5dedc620aa000deb314b9d57d49bd570dd9d)] chore(ci): reset ci caches
- [[`e42d305`](https://github.com/nextstrain/nextclade/commit/e42d305cfeced222f0fae08989e7dc2cc92e11de)] feat(cli): add dataset index download and dataset list command
- [[`285b5df`](https://github.com/nextstrain/nextclade/commit/285b5dfa6caf7f97573011b9bdc4c047879bd275)] feat(cli): add attribute cli option and filtering datasets by attributes
- [[`c0e0b46`](https://github.com/nextstrain/nextclade/commit/c0e0b46a458d3415620bb11fe74e85fec5f00eac)] feat(cli): add dataset get command and dataset downloads
- [[`6705a27`](https://github.com/nextstrain/nextclade/commit/6705a2700836b20aa5402aeb25ba718efe57ad30)] refactor: simplify dataset table code
- [[`f7020c6`](https://github.com/nextstrain/nextclade/commit/f7020c6f6b07b92c38f5cede74f43ea84be7628f)] refactor: lint
- [[`7641fe9`](https://github.com/nextstrain/nextclade/commit/7641fe9cf6733e853172b400cf43b2b0d7c67f8c)] chore(ci): try the new github release logic
- [[`69123a6`](https://github.com/nextstrain/nextclade/commit/69123a64c54b47ee091c5e090a17ec910e600930)] fix: opening and closing of deletion ranges
- [[`841b311`](https://github.com/nextstrain/nextclade/commit/841b3113fb35ec9e4cbb50f41a7f5c63952bbd7c)] fix: type mismatch
- [[`98fbbaa`](https://github.com/nextstrain/nextclade/commit/98fbbaa971ac6e61c3935f825d2e57c112abda4a)] fix: ignored frame shifts were swapped with real qc frame shifts
- [[`a1dfdbb`](https://github.com/nextstrain/nextclade/commit/a1dfdbb6aa394a5e4d0c2e19b3b16673d51eafb9)] fix: typo
- [[`54cd868`](https://github.com/nextstrain/nextclade/commit/54cd868e6da02f38a3f2d6b63cbb073d2967ec7f)] fix: add first SNP cluster
- [[`e564555`](https://github.com/nextstrain/nextclade/commit/e564555cf2a64848dc4352787b655381db158a28)] chore: forgot print statement
- [[`3007837`](https://github.com/nextstrain/nextclade/commit/3007837080f3aa01fc103a22d294354418b66c6f)] chore(ci): add release notes to github releases automatically
- [[`bc84244`](https://github.com/nextstrain/nextclade/commit/bc84244a6dfee47bb64fa9401e432490c13459ea)] Merge pull request #775 from nextstrain/fix/deletion_ranges
- [[`3804da9`](https://github.com/nextstrain/nextclade/commit/3804da91b3c71efd26922d59d9f21c794480c4ea)] Merge branch 'rust-release' into rust
- [[`006b002`](https://github.com/nextstrain/nextclade/commit/006b0026e6ed3ea9f44dd742c008816958dc0795)] feat(cli): port cli alignment params
- [[`41edc24`](https://github.com/nextstrain/nextclade/commit/41edc24c40f04295f0518e030ad7ceb71a7b7698)] chore: fix Hangzhou align test
- [[`4d9e653`](https://github.com/nextstrain/nextclade/commit/4d9e6530d9493fbc4f76b8199e4a459527eea810)] feat: detect and discard overshot spurious seed matches
- [[`edd36a6`](https://github.com/nextstrain/nextclade/commit/edd36a60d2013781cafa3727077db6055d124f80)] feat: speed up seed matching by using defining end_pos
- [[`ec4b163`](https://github.com/nextstrain/nextclade/commit/ec4b16346c5b36508ff2d7575230d127ac73c2bd)] chore: use ref/qry_len consistently instead of _size
- [[`9a969ac`](https://github.com/nextstrain/nextclade/commit/9a969acf3d6fc4a05e80b2a8c5a12d9ad54d2004)] bench: add seed_alignment benchmark
- [[`d992e27`](https://github.com/nextstrain/nextclade/commit/d992e27e6be179481d5dae35db1462a636253ed7)] chore: refactor benchmark path manipulation
- [[`ac16c95`](https://github.com/nextstrain/nextclade/commit/ac16c9598c1347872e158110d69ba8122008ea08)] chore: fix mistake in comment
- [[`b1f6e74`](https://github.com/nextstrain/nextclade/commit/b1f6e74f1cf688ddd169391eb212cd9b89a679f3)] chore: update temp comparison script
- [[`68d5d00`](https://github.com/nextstrain/nextclade/commit/68d5d00b039d49ee9eef35e4c9fea34b4381f450)] chore(CoordMap): add comments
- [[`02ee518`](https://github.com/nextstrain/nextclade/commit/02ee518c8fe2a542b4fa9612f3d36a538c32b637)] chore(lint): remove unused typo Cargo.toml field 'verson'
- [[`93a9262`](https://github.com/nextstrain/nextclade/commit/93a9262f27bd33703c5e766d3146f966a825037f)] fix: move end alignment by difference in qry_pos
@rneher pointed out that kmer_spacing.len() is in map_to_good_positions space
This commit moves the end_pos in qry_pos space.
- [[`dc822be`](https://github.com/nextstrain/nextclade/commit/dc822be0ace1f3b2007a071c63cd7e55bd2e44fb)] feat: use simple_stripes for aa alignment
- [[`907d97e`](https://github.com/nextstrain/nextclade/commit/907d97e46a79aee2bbd6bfffb5929ba6c7e484ef)] Merge branch 'rust' into experiment-stripes
- [[`06777f6`](https://github.com/nextstrain/nextclade/commit/06777f6d954e95909cf3bb140f9d907526f848d1)] fix: conflicting imports
- [[`c477ddb`](https://github.com/nextstrain/nextclade/commit/c477ddb7e6a63af405b8da177b39aa12a5fe4148)] Remove .travis.yml
- [[`6e1e627`](https://github.com/nextstrain/nextclade/commit/6e1e6279fd09f321e7e4daa2da274adae1b1c1d8)] feat: add terminal_gaps_free option to alignment params
- [[`ddf9fbe`](https://github.com/nextstrain/nextclade/commit/ddf9fbe1cd3a5fb3abb178619a54987c9a74515e)] Merge pull request #776 from nextstrain/victorlin/travis
Remove Travis CI
- [[`1f9e57a`](https://github.com/nextstrain/nextclade/commit/1f9e57a7ff6c6569a733dde0263bfcf2bf9a0fad)] chore(fix): wasm build
I had to split away the CLI-related functionality (networking, console, etc.) into a separate "nextclade-cli" package, and move the remaining wasm functionality to the "nextclade-web" package. This makes the shared "nextclade" package free from cli and wasm specifics. This allows to avoid conflicts where cli dependencies don't compile for wasm target and also removes pollution of cli builds with wasm-bindgen annotations and various JS-related things.
- [[`3d03c25`](https://github.com/nextstrain/nextclade/commit/3d03c25fbbf52c25f7295011b4325c111afdee34)] Merge remote-tracking branch 'origin/master' into rust
- [[`96ce3a1`](https://github.com/nextstrain/nextclade/commit/96ce3a1f161a4df8c3dc11d09aa99addfcdddb49)] chore: fix formatting script
- [[`43c440b`](https://github.com/nextstrain/nextclade/commit/43c440b022dbcb579723687867244a36263ebcd7)] feat(web): use dynamic number of threads instead of hardcoded
- [[`c32646a`](https://github.com/nextstrain/nextclade/commit/c32646a6d7a26d631577a1990df4c1c130f49136)] feat: allow left_terminal_gap to be not free (for aa)
- [[`1f36738`](https://github.com/nextstrain/nextclade/commit/1f36738a2c90564d0604732bdd17c0d008df09d6)] fix(web): display codon 0 correctly in the peptide context
- [[`97fc7aa`](https://github.com/nextstrain/nextclade/commit/97fc7aadb277015b5eb867e5243197a6f110bca5)] chore(ci): fix vercel build
By checking for a specific file existence, not directory existence, when deciding on whether to install emsdk
- [[`062bdcd`](https://github.com/nextstrain/nextclade/commit/062bdcddf76e3b21196e67910214fab7fe03f516)] Merge pull request #778 from nextstrain/chore/fix-vercel
- [[`f0e7360`](https://github.com/nextstrain/nextclade/commit/f0e7360c05dd4e761738dfb7c72a58b46ac49b0d)] Merge branch 'master' into fix/codon-zero
- [[`ef9e8de`](https://github.com/nextstrain/nextclade/commit/ef9e8de1322284e1dfc94cd59ecb94c58b321305)] chore(ci): trigger ci
- [[`36cb805`](https://github.com/nextstrain/nextclade/commit/36cb80507d1359886feba3d6d811f597400f556b)] Merge pull request #777 from nextstrain/fix/codon-zero
- [[`130e7a1`](https://github.com/nextstrain/nextclade/commit/130e7a17d72592c9b26dba05dec23fcb0a33a099)] feat(web): port global analysis status reporting
- [[`3788a7a`](https://github.com/nextstrain/nextclade/commit/3788a7a73a3829daceb9f8290ca87b8d221b80fc)] Merge remote-tracking branch 'origin/master' into rust
- [[`6e2d7b1`](https://github.com/nextstrain/nextclade/commit/6e2d7b1483489442beecbcdb228d9cbe3c7c789c)] refactor: move cli code to prepare for merging branch 'rust'
- [[`8f79fc3`](https://github.com/nextstrain/nextclade/commit/8f79fc37ae2e5d5c9662f2efadaa9ae8665e2985)] Merge remote-tracking branch 'origin/rust' into experiment-stripes-updated
- [[`1c2ec83`](https://github.com/nextstrain/nextclade/commit/1c2ec834a408aee1a8661e4e9924b04e80bef6bc)] fix: alignment score type
- [[`e2a7a13`](https://github.com/nextstrain/nextclade/commit/e2a7a13399ce79eb96844b2559149b6e6d02fa2c)] fix: set defaults for the new flag that mirrors cli defaults
- [[`1e94c0c`](https://github.com/nextstrain/nextclade/commit/1e94c0c347aad36432861bb4b168e55998e0a903)] feat: use rust reimplementation of tls instead of openssl in reqwest
This is to facilitate cross-builds, even though it's an inferior solution on mac and windows
- [[`8edc870`](https://github.com/nextstrain/nextclade/commit/8edc87005bf4967032dc0c8a94bd337728d286de)] perf(web): instantiate webworker and wasm module only once
- [[`5d68f25`](https://github.com/nextstrain/nextclade/commit/5d68f25ab1c1a443e0f8e29021cc33dd8a954c6f)] chore(build): add missing deps
- [[`88a56e7`](https://github.com/nextstrain/nextclade/commit/88a56e7adfc5fb321892164678ed8e0040c48947)] feat(web): make webworker error message clearer
- [[`9e0fc53`](https://github.com/nextstrain/nextclade/commit/9e0fc536e0f9f383ce3b5de7d021a724cb5a621a)] feat(web): report status, error and warnings of the analysis
- [[`e1bcca1`](https://github.com/nextstrain/nextclade/commit/e1bcca140be99697faa083ee4f9a328058bddd61)] chore(ci): fix vercel
- [[`4d175ad`](https://github.com/nextstrain/nextclade/commit/4d175ad65437a0a2bf2854816d10c9f4506bf9bc)] chore(ci): enable browser caching on vercel
- [[`deb2f34`](https://github.com/nextstrain/nextclade/commit/deb2f3421d1f85d7579b7c943f24c7ab1da572c3)] chore(ci): cache more during build on vercel
- [[`1901193`](https://github.com/nextstrain/nextclade/commit/1901193a29e07f5e2ee59057f21cbb47c325c63d)] chore(ci): trigger ci
- [[`5bec30a`](https://github.com/nextstrain/nextclade/commit/5bec30a5f7d33b55727c17e760b533cafc3cf880)] fix: sanitize sequences during parsing
- [[`31d750a`](https://github.com/nextstrain/nextclade/commit/31d750a2ae8681b1b2c26d119a948fa24a814670)] WIP: fix bugs in stripes
- [[`e978d5e`](https://github.com/nextstrain/nextclade/commit/e978d5eb45bb7482a25a7d39badb2218ca1f5632)] Merge remote-tracking branch 'origin/fix/sanitize-sequences' into experiment-stripes-updated
- [[`375af0a`](https://github.com/nextstrain/nextclade/commit/375af0ad50292d83f53a1ab2d8b394202184e433)] fix: strip dot and question mark from sequences
- [[`69a728b`](https://github.com/nextstrain/nextclade/commit/69a728b11e543ca2e48ef3a7aca36f5d8aa09fa9)] fix(web): prevent results table rows from random updates
This is due to concurrent updates of results state on both new parsed sequence arriving and new completed result arriving. Disabling showing parsed sequences makes this to disappear.
- [[`25e2913`](https://github.com/nextstrain/nextclade/commit/25e2913b9f752e55236bf4328cec3079d0ccb50e)] feat(web): ensure correct state of inputs and errors
- [[`b2340d1`](https://github.com/nextstrain/nextclade/commit/b2340d14e626f6371c5567876cf6a490d3f7dc93)] fix: make seed_matches monotonic, more robust in edge cases
- [[`8e78db7`](https://github.com/nextstrain/nextclade/commit/8e78db73c06f9879f64fb4c173664e73e143f77e)] feat(web): move tree state to recoil, adjust for auspice 1.37
- [[`8e7b1dc`](https://github.com/nextstrain/nextclade/commit/8e7b1dc462d5b642e43faeaddfe3a00ad45d25dd)] chore(lint): remove typo property verson from Cargo.toml
- [[`6de85b1`](https://github.com/nextstrain/nextclade/commit/6de85b121c91276fb702f72697983d3b59d3921b)] Merge pull request #782 from nextstrain/corneliusroemer-patch-1
chore(lint): remove typo property verson from Cargo.toml
- [[`e6f6d9c`](https://github.com/nextstrain/nextclade/commit/e6f6d9c1600478c9267746dd25f66097f14ea1ab)] Merge pull request #781 from nextstrain/fix/sanitize-sequences
- [[`ef9cdfc`](https://github.com/nextstrain/nextclade/commit/ef9cdfcb14237632dea822d4049cec3070daaa66)] fix(web): add missing react hook deps
- [[`fa7294c`](https://github.com/nextstrain/nextclade/commit/fa7294c02bf4a51bc1cdf573db234ffabe5300d5)] fix(web): destroy thread pool unconditionally, even in case of errors
- [[`7d75e7d`](https://github.com/nextstrain/nextclade/commit/7d75e7d54f13639aec7708a6bed22003b366bc67)] fix(web): ensure wasm initialization code runs only once
- [[`200613e`](https://github.com/nextstrain/nextclade/commit/200613e89d43b3351c3c1b763bdc4cbe3ba37efe)] chore(web): strip auspice timer functions
- [[`64f557a`](https://github.com/nextstrain/nextclade/commit/64f557aab44d249126b0de78db8b97d6e6969820)] fix: broaden stripe bottleneck for few misalignments
- [[`1757b78`](https://github.com/nextstrain/nextclade/commit/1757b785c4bf329b2053276a900c3a2d8399c0e3)] Merge remote-tracking branch 'origin/rust' into experiment-stripes-updated
- [[`155d299`](https://github.com/nextstrain/nextclade/commit/155d299c951a617d750f97a8bbb119321fb1ac0a)] refactor(web): migrate more redux state to recoil
- [[`b828c74`](https://github.com/nextstrain/nextclade/commit/b828c74b819079ae4a385664c331c55574b146dd)] fix(web): fix app settings and their persistence
- [[`a4392ec`](https://github.com/nextstrain/nextclade/commit/a4392ec789dd19e6994ba92e463da0b90614c49b)] fix(web): show correct algo status
- [[`0b085bc`](https://github.com/nextstrain/nextclade/commit/0b085bcc482ef0305a9954b9e5b98c129258fd38)] feat(web): print global errors to console
- [[`f500f98`](https://github.com/nextstrain/nextclade/commit/f500f989af360cd59de8871891a81290ed9922c4)] fix(web): prevent recoil error, by retaining snapshot for the duration of init
- [[`afae90e`](https://github.com/nextstrain/nextclade/commit/afae90ed2e7b3fe7555f726d9e90a8e6980faf19)] feat(web): limit max number of threads to 8
- [[`a512e69`](https://github.com/nextstrain/nextclade/commit/a512e69d07fe5b57a3b546017aa39581d0a4488b)] feat(web): prettify call stack in error popup
- [[`3fe6d4e`](https://github.com/nextstrain/nextclade/commit/3fe6d4e754a0b12817340edfdf4dd5f8a896534d)] fix(web): remove wee_alloc due to memory leak
The app crashes with memory corruption and consumes excessive amounts of memory when wee_alloc is enabled. See: https://github.com/rustwasm/wee_alloc/issues/106
- [[`97616a4`](https://github.com/nextstrain/nextclade/commit/97616a471f7bea1bb76f024ab4572b4f391464bf)] chore(build): speedup debug builds by enabling some optimizations
- [[`aaf69f9`](https://github.com/nextstrain/nextclade/commit/aaf69f938dcb506d60503e5123792ae5f5787af4)] fix(web): ensure webworker pool is correctly destroyed on errors
- [[`1f5f047`](https://github.com/nextstrain/nextclade/commit/1f5f0471f60a2cd77dde5f87964fb66a37a6e3e9)] fix(web): ensure wasm outputs are released when no longer needed
- [[`60c092a`](https://github.com/nextstrain/nextclade/commit/60c092af6c02317bd01be1104113e77746423ae3)] refactor(web): organize worker pool into classes
- [[`93ce2fb`](https://github.com/nextstrain/nextclade/commit/93ce2fbc04576c5040cb07aa89b44655ff172cd9)] refactor(web): organize launcher webworker into a class
- [[`bc1efe0`](https://github.com/nextstrain/nextclade/commit/bc1efe01cc306bf6a352bd15b92e9f20c91118a0)] fix: one off error in end position, making stripes 1 too short
- [[`6dbb5ff`](https://github.com/nextstrain/nextclade/commit/6dbb5ffd0bce21e28ecb655b1b0454dd4f951902)] feat: make excess/terminal bandwidth CLI params
- [[`d6d66a9`](https://github.com/nextstrain/nextclade/commit/d6d66a9fc5e0e82f172504812c2bc2fc8ff2e289)] refactor(web): move more state away from Redux and into Recoil
This removes massive amounts of Redux state handling code and replaces it with Recoil. Because some of the Recoil atoms are not yet initialized, certain components are in permanent loading state (due to React's Suspense). Next goal is feature completeness of Recoil state handling, compared to Redux, so that all components can render properly
- [[`bf4958c`](https://github.com/nextstrain/nextclade/commit/bf4958c4b19088fd4289920be423559181cd987c)] feat(web): enable React 18's "root"
- [[`7072356`](https://github.com/nextstrain/nextclade/commit/70723563e85fea419d759b471a51bda4bc503d28)] fix(web): split webworker code into files, to avoid circular deps
- [[`989864c`](https://github.com/nextstrain/nextclade/commit/989864cfffdc9c42aa2e1ca9268b569a2a129577)] fix(web): fix
Upgrades Next.js to version that fixes HTML comment showing up in the browser tab title.
See:
- https://github.com/vercel/next.js/issues/35870
- https://github.com/vercel/next.js/pull/36213
- https://github.com/facebook/react/issues/24263
- [[`19a79b9`](https://github.com/nextstrain/nextclade/commit/19a79b97f176a3c39cb87ac8372ef7dfed511ba8)] refactor(web): rename files and interfaces to clarify intent
- [[`263dcc4`](https://github.com/nextstrain/nextclade/commit/263dcc484f0a7f606638111abdf1bd8e7914d4c7)] feat(web): retrieve required initial data from wasm
- [[`f68e6a9`](https://github.com/nextstrain/nextclade/commit/f68e6a9d9dd952d9f23825460ce5695bce5206bf)] web(fix): fix gene map and sequence views
- [[`b8dcf63`](https://github.com/nextstrain/nextclade/commit/b8dcf630e958db70e9e4c8becbb36da595cab0a2)] fix: fix substitutions field name
- [[`c2264e8`](https://github.com/nextstrain/nextclade/commit/c2264e833bc07c6cebde2569f575e97db4035593)] fix(web): fix broken private mutation badges
- [[`2387e93`](https://github.com/nextstrain/nextclade/commit/2387e9338196a0f178dde6d47e043401ec896e8f)] fix(web): ensure correct serialization of nearest node ids
- [[`8afc442`](https://github.com/nextstrain/nextclade/commit/8afc442d2a0e8caab4b7c94a4b68ad6d93d20c52)] refactor(web): extract "run analysis" function into a hook
- [[`44e801e`](https://github.com/nextstrain/nextclade/commit/44e801ec6a9a343f8e90877ddc8d58bb296ab630)] refactor(web): rename variable to clarify intent
- [[`d7625c7`](https://github.com/nextstrain/nextclade/commit/d7625c7fe1807664943b3457711872327c0cc261)] feat(web): reimplement url param handling
- [[`c4143a6`](https://github.com/nextstrain/nextclade/commit/c4143a678037f034f0f0ed808f790442f586a398)] feat(web): improve error handling
- [[`ec343b5`](https://github.com/nextstrain/nextclade/commit/ec343b558418315507b1d76d3ccf4c7c8684f1c4)] feat(web): handle non-fatal errors with a popup
- [[`e584c71`](https://github.com/nextstrain/nextclade/commit/e584c7106a1f0d8790f95695162425b597391a2b)] feat(web): show call stack in all error messages
- [[`26f118b`](https://github.com/nextstrain/nextclade/commit/26f118b19ce5d4c9e947b8106af62b4a1f0273c1)] chore(build): fix build script
- [[`43fa8f3`](https://github.com/nextstrain/nextclade/commit/43fa8f3cbaa05bd572c4848a3c19585cdc8b2b3f)] feat(web): reset previous results before run
- [[`4df53db`](https://github.com/nextstrain/nextclade/commit/4df53dbdc9465847f36a50177946ef368e976d50)] feat(web): port some of the output files in web export
- [[`21208bc`](https://github.com/nextstrain/nextclade/commit/21208bc040c4de95157738d42fa83a20b0658ea4)] Merge remote-tracking branch 'origin/rust' into experiment-stripes-updated
- [[`3603cbb`](https://github.com/nextstrain/nextclade/commit/3603cbbcf2cc11f546774a3460c2e8406768681a)] feat: terminal gaps not free for aa alignment
- [[`0aac570`](https://github.com/nextstrain/nextclade/commit/0aac570261ab8096d51eba221f0c505a697e2f57)] feat: make qry insertion at terminals never free
- [[`2498265`](https://github.com/nextstrain/nextclade/commit/24982652b2c9c1baa698b8bc60571a0cbcecdb17)] fix: ensure last terminal insertion is stripped correctly
- [[`711554c`](https://github.com/nextstrain/nextclade/commit/711554c64a0d57dc1adec8d3797be8cd4edbd36e)] feat(web): port more output files in web export
- [[`6213f7e`](https://github.com/nextstrain/nextclade/commit/6213f7edaaddc990c4b1db675ea18e498c372620)] Merge pull request #785 from nextstrain/fix/terminal-insertion
- [[`e7ef6c1`](https://github.com/nextstrain/nextclade/commit/e7ef6c13bb3d8f192d699bb830b464fa13cc6d1f)] Merge remote-tracking branch 'origin/rust' into experiment-stripes-updated
- [[`9499322`](https://github.com/nextstrain/nextclade/commit/9499322db6cf66cbd0ba688eeee88ee347ae17fe)] feat: implement robust stripes, broadening radiates to nearby stripes
- [[`fa3b3c9`](https://github.com/nextstrain/nextclade/commit/fa3b3c92e6c7a620954d69d5dbe9459b87b8dc14)] feat(web): port remaining output files in web export
- [[`87a268e`](https://github.com/nextstrain/nextclade/commit/87a268efa7a1a6071cbdd1e7e970cc78eaf0f8bd)] fix(web): show correct analysis status in results table
- [[`8a8b963`](https://github.com/nextstrain/nextclade/commit/8a8b9638ee73f65b77a873a04fbf6dbae9d6a896)] fix: convert sequences to uppercase during fasta parsing
- [[`189e1c2`](https://github.com/nextstrain/nextclade/commit/189e1c27cc681f59f95801d720de91683ffcdddf)] fix(web): hide error section in the tooltip when empty
- [[`d499e2c`](https://github.com/nextstrain/nextclade/commit/d499e2c78204733b0d19b3702e40a6f5c5fe0dd2)] fix(web): ensure react keys are strings
- [[`56f28b6`](https://github.com/nextstrain/nextclade/commit/56f28b6023f6f9a0026eb2f1d2c0f10954d7c556)] fix: prepend new node in Auspice tree
- [[`1f58ae8`](https://github.com/nextstrain/nextclade/commit/1f58ae87ea89be0c6a90ab5421e00559548801fe)] fix: ref leaf was missing in tree
- [[`0a27ccb`](https://github.com/nextstrain/nextclade/commit/0a27ccb90ea6bf433467ad17d58b711b97b52523)] fix: prevent label duplication during node attachment
- [[`a171903`](https://github.com/nextstrain/nextclade/commit/a171903b93999dca5ef12ef01ff1a869b924ae31)] chore: remove debug println! from add_aux_node
- [[`39268c8`](https://github.com/nextstrain/nextclade/commit/39268c86982800ce4eee55c1bf2e2f8d0be6552a)] Merge pull request #787 from nextstrain/fix-ref-leaf-replaced
- [[`893a681`](https://github.com/nextstrain/nextclade/commit/893a6810a44c5fd5df58d84e8c90924436e91b2a)] chore: add comments to seed matching logic
- [[`3aceb69`](https://github.com/nextstrain/nextclade/commit/3aceb69b862de56e4fe9bdb014fdd354ba61ae27)] chore: cosmetic changes and comments
- [[`64c2bde`](https://github.com/nextstrain/nextclade/commit/64c2bde6f6fa0011145b9621c0435d1b862b5601)] Merge pull request #786 from nextstrain/fix-prepend-nodes
- [[`b5d45d8`](https://github.com/nextstrain/nextclade/commit/b5d45d8c116111f6f2520d54dfe2ed23cc2139d8)] feat(web): port results filtering and sorting
- [[`a70215d`](https://github.com/nextstrain/nextclade/commit/a70215d2c2e2d74aa6338a72169ffeeca63fc257)] Merge remote-tracking branch 'origin/rust' into experiment-stripes-updated
- [[`90f5b75`](https://github.com/nextstrain/nextclade/commit/90f5b75fa72a0c5123bc154f10e489b3d4b65985)] refactor: lint
- [[`debc739`](https://github.com/nextstrain/nextclade/commit/debc7397181b4b9c65615d611d0fe5f86fefbb32)] refactor(web): remove remaining pieces of redux state
Except for the auspice state
- [[`817cfeb`](https://github.com/nextstrain/nextclade/commit/817cfeb71585ec066b396f83448caa630fbf5350)] chore(build): silence stderror of docker inspect command
- [[`b72073d`](https://github.com/nextstrain/nextclade/commit/b72073d179ad36d3fcd918c1caab1ce8e19e2743)] chore(build): remove C++ code, deps and configs
- [[`c04fb4e`](https://github.com/nextstrain/nextclade/commit/c04fb4eb74e811dd35df1907da15fd3c597a43f2)] chore(build): simplify dotenv config
- [[`ea6bd0b`](https://github.com/nextstrain/nextclade/commit/ea6bd0b9b039d4ad7ed5436518538b77784d88e2)] Revert "feat: make qry insertion at terminals never free"
This reverts commit 0aac570261ab8096d51eba221f0c505a697e2f57.
- [[`f0b1bb6`](https://github.com/nextstrain/nextclade/commit/f0b1bb6e4829401aee3181180fc59ca4043a99cc)] feat: amino acid terminal gaps penalized if nuc gap
- [[`a81376c`](https://github.com/nextstrain/nextclade/commit/a81376c09cba730024f399e9b7e21d6605fb5ff0)] refactor: lint
- [[`03b84fe`](https://github.com/nextstrain/nextclade/commit/03b84fe1d0ff2f6bebeefea39feb46817e547ce7)] fix(web): ensure correct sorting logic when inputs are not present
- [[`ba78378`](https://github.com/nextstrain/nextclade/commit/ba783784865a6e6eb994dd83df59a174f354a54a)] refactor: lint
- [[`cc662d9`](https://github.com/nextstrain/nextclade/commit/cc662d9094c9757bf23a64af8faceee0a9dae1cc)] chore: nextalign/nextclade cli review
- [[`76dfecb`](https://github.com/nextstrain/nextclade/commit/76dfecba91f5ed127c569c2a5d83bfe761149542)] refactor: lint
- [[`145b576`](https://github.com/nextstrain/nextclade/commit/145b576210abbba7ef607736dd36dadff8fb9caa)] Merge pull request #788 from nextstrain/rust
- [[`7b81ef1`](https://github.com/nextstrain/nextclade/commit/7b81ef1e3966054f57bd300480fc52455dd2d9d3)] fix(cli): make subcommands required
This makes CLI subcommands required, meaning that if no subcommand provided, help message is printed and program exits with error
- [[`b27d4cf`](https://github.com/nextstrain/nextclade/commit/b27d4cf09d477a6b53d3a2360ea450e1d94261bd)] fix(cli): show aliases for cli args
- [[`47d74d1`](https://github.com/nextstrain/nextclade/commit/47d74d1c833581e27c0bc3c9ea7d4699b720e95e)] fix(cli): display default verbosity
- [[`435f49f`](https://github.com/nextstrain/nextclade/commit/435f49f95fc6712cb477cd01532aeef41e35ae8f)] Merge pull request #789 from nextstrain/review-cli
chore: nextalign/nextclade cli review
- [[`6e4040c`](https://github.com/nextstrain/nextclade/commit/6e4040c89f0ea69742890dacdb4b12848fb9bf23)] docs: fix badge in readme
- [[`2d3df02`](https://github.com/nextstrain/nextclade/commit/2d3df02a141688790c9ca2bcd113cce67dc3e5b0)] fix: typos/wording in cli help texts
- [[`4585a6b`](https://github.com/nextstrain/nextclade/commit/4585a6b9fc34eed431b5da372f2399a3978d380a)] fix: reduce pre-allocated capacity of alignment to its maximal size
- [[`8c54816`](https://github.com/nextstrain/nextclade/commit/8c54816f8441bd068d2254da4b1ee7ba7a24a805)] fix: throw error when seed alignment suggests bandwidth in excess of max_indel
- [[`d8bc6e6`](https://github.com/nextstrain/nextclade/commit/d8bc6e69e6353a240a44b78dd60cb02479fa0325)] Merge pull request #794 from nextstrain/fix/cli-help-texts
fix: typos/wording in cli help texts
- [[`3656d27`](https://github.com/nextstrain/nextclade/commit/3656d2776f2fa0aeb7cd65d6fd47657238b8f283)] docs: add dev guide
- [[`764c5e4`](https://github.com/nextstrain/nextclade/commit/764c5e4d4c5f94ec645ca6c26c4991b8db101d4e)] Merge pull request #796 from nextstrain/docs/dev-guide
- [[`9614b45`](https://github.com/nextstrain/nextclade/commit/9614b4501a6d2f9659330dbb54bb4efdbeacb603)] feat(cli): take all genes if --genes is not provided
This modifies behavior of varous combinations of `--genemap` and `--genes` flags and makes it consistent for Nextclade CLI and Nextalign CLI.
The new behavior is as follows:
| --genemap | --genes | behavior |
|------------|---------|--------------------------------------------|
| + | + | Take only specified genes |
| + | | Take all genes |
| | + | Error |
| | | Skip translation and codon penalties |
- [[`50d2587`](https://github.com/nextstrain/nextclade/commit/50d2587f9678a7ca05c0db1b6e3824c8a67268f6)] chore(ci): deploy web master
- [[`12a15a7`](https://github.com/nextstrain/nextclade/commit/12a15a7f2b5376bd61134f5cc69a6b4daa0f7c97)] chore: set versions to 2.0.0
- [[`24717c9`](https://github.com/nextstrain/nextclade/commit/24717c9d1cd94fc2c3591dd2af2b029dd67f2a18)] Merge remote-tracking branch 'origin/master' into feat/reqwest-tls-native
- [[`be4aa15`](https://github.com/nextstrain/nextclade/commit/be4aa15bf3d2720eee23a75ff98dedd5cb9165c6)] chore(cli): use rustls only on linux
- [[`15d2778`](https://github.com/nextstrain/nextclade/commit/15d27789d26381ff550abd6a185065645a651bd7)] chore(ci): add missing yarn install
- [[`41ca1ad`](https://github.com/nextstrain/nextclade/commit/41ca1ad40ec860f17a6802181174469432a4f6b0)] Merge pull request #798 from nextstrain/feat/reqwest-tls-native
- [[`c739e4b`](https://github.com/nextstrain/nextclade/commit/c739e4b5ecc51b2f5f4e144e1aa5693f1c2491da)] chore(ci): fix missing dotenv
- [[`1baf405`](https://github.com/nextstrain/nextclade/commit/1baf405d5fa9384790eed8de37c90a2e8022802f)] fix(cli): use rustls everywhere
To avoid openssl dependency
- [[`cb69bd9`](https://github.com/nextstrain/nextclade/commit/cb69bd9a7d04dc4c8455a8abe9018a8a1e7c0e83)] chore: move docker config into subdrectory
- [[`7bb75c1`](https://github.com/nextstrain/nextclade/commit/7bb75c15cb9c0360e16ce124d62ac53d5ee5ada2)] chode(ci): cache more
- [[`2eaaadf`](https://github.com/nextstrain/nextclade/commit/2eaaadfae5a3e2de8c34cc27056e8759c4cdfb6b)] fix(ci): ensure musl tools are present
- [[`ea862de`](https://github.com/nextstrain/nextclade/commit/ea862deead031770adbebd96c7260050ebaf9091)] chore(ci): fix env vars
- [[`4107c41`](https://github.com/nextstrain/nextclade/commit/4107c413596e6c0f6aa528829b054b7f2ed1353e)] doc: elaborate error message when --genes are given without gene map
- [[`4e83815`](https://github.com/nextstrain/nextclade/commit/4e83815eae2c2eb235a5c953c0e043d8cd87c345)] feat: add stripe construction for a full_matrix
- [[`eca7b05`](https://github.com/nextstrain/nextclade/commit/eca7b05e318b9bcc65723a42317f98d3d4ba579a)] fix: range boundaries with ..= are inclusive, so don't need +1
- [[`93ab0df`](https://github.com/nextstrain/nextclade/commit/93ab0df2ec954864a1ed97be2ef5145234610fca)] Merge pull request #797 from nextstrain/feat/cli-genes
- [[`cba1c2a`](https://github.com/nextstrain/nextclade/commit/cba1c2a39bf40793f18fdc72a83bdd0400e356b3)] fix: add missing env var
- [[`ae2ebd3`](https://github.com/nextstrain/nextclade/commit/ae2ebd383debcd7f838f3ed52d4a40c349a7fd78)] fix(ci): add missing context
- [[`3e2a713`](https://github.com/nextstrain/nextclade/commit/3e2a71365f9f6a7e49c380edaf50f7b8d089d04b)] fix: import from crate and not super
- [[`cede9bc`](https://github.com/nextstrain/nextclade/commit/cede9bc19af85209536a69d5033269cb24665fa9)] chore(ci): publish prod docker images
- [[`38e4031`](https://github.com/nextstrain/nextclade/commit/38e40313dad36189050bf22ac460f9834e6d8ea2)] chore(ci): fix syntax
- [[`706f2b8`](https://github.com/nextstrain/nextclade/commit/706f2b86b2f52ce50faca9c936feb849fce6340a)] chore(ci): fix syntax
- [[`18968a8`](https://github.com/nextstrain/nextclade/commit/18968a8080927ba8f797cb1680b0edbb68c0c101)] chore: remove full sequence test
- [[`ed4ffe1`](https://github.com/nextstrain/nextclade/commit/ed4ffe1fccf98cd843d1d1fd902cea725cd4023a)] feat: add left-align-gaps CLI flag, default still right-align
- [[`715c875`](https://github.com/nextstrain/nextclade/commit/715c875a9799d796b573ff90990a0aafec28a6df)] feat: add gap alignment side enum param
- [[`0c296ae`](https://github.com/nextstrain/nextclade/commit/0c296aee30d41e69aa719a2f2478985fb9cddccf)] chore: trace if full matrix used, allow width up to 3*max_indel
- [[`c389b57`](https://github.com/nextstrain/nextclade/commit/c389b57daec7d308d6953e3c9c77b4a1d0e498ea)] chore: max bandwidth is max_indel (again)
- [[`4398220`](https://github.com/nextstrain/nextclade/commit/4398220df63fa3adc7aa572103aa4be0669fe4fe)] feat: use align params from virus_properties.json
This allows both CLI and Web to use the new field `alignmentParams` in `virus_properties.json`. These are equivalent to the params provided through command line flags. All fields are optional.
The mechanism is as follows:
- web:
- the default params object is created
- `alignmentParams` is read from `virus_properties.json`, and every defined field overrides the default
- cli:
- the default params object is created
- `alignmentParams` object is read from `virus_properties.json`, merged into the default, and every defined field overrides the default
- params from cli are read, merged into what we've got so far, and every passed cli param overrides the corresponding field
Caveats:
- with all the struct magic involved, I could not figure out how to keep the default values printed in CLI help, so these are gone. I might be able to find a way to keep them later.
An example snippet to paste into the root of the `virus_properties.json`:
```json
"alignmentParams": {
"max_indel": 5000,
"seed_spacing": 500
},
```
- [[`a7d885d`](https://github.com/nextstrain/nextclade/commit/a7d885dbeeec01cff25a2d499a2febf919e7548c)] chore: add CLI help description for gap_alignment_side
- [[`67fe409`](https://github.com/nextstrain/nextclade/commit/67fe40911fd72d6e3378fbd1a8474af65ac28ca3)] Merge branch 'feat/gap-alignment-side-param' into experiment-stripes-updated
- [[`6215581`](https://github.com/nextstrain/nextclade/commit/621558124609b051be0adea8d4b69f2f25e79a98)] Merge remote-tracking branch 'origin/master' into experiment-stripes-updated
- [[`468f260`](https://github.com/nextstrain/nextclade/commit/468f26055d41e17a292a7e01010e420b03e54117)] Merge remote-tracking branch 'origin/experiment-stripes-updated' into feat/alignment-params-dynamic
- [[`c4e91bc`](https://github.com/nextstrain/nextclade/commit/c4e91bcd8c0cba77086da63cd20f69adf2ef9d05)] fix(web): display codon 0 correctly in peptide context
This is an extended repeat of https://github.com/nextstrain/nextclade/pull/777, which was accidentally wiped out sometimes during merges.
- [[`3c25b7e`](https://github.com/nextstrain/nextclade/commit/3c25b7efecefd8271b0c4375c5f39c14b2dadb80)] Merge pull request #802 from nextstrain/fix/codon-zero
fix(web): display codon 0 correctly in peptide context
- [[`fcbae89`](https://github.com/nextstrain/nextclade/commit/fcbae89fc39f62f5a04978663923c135cc20c355)] Merge remote-tracking branch 'origin/master' into experiment-stripes-updated
- [[`ca27a5d`](https://github.com/nextstrain/nextclade/commit/ca27a5d3b432ff6068b3f3731898d572435fdac1)] chore: add format on save to .vscode/settings.json
- [[`76593b3`](https://github.com/nextstrain/nextclade/commit/76593b3769521838542e2a13d8feb16c5b06bde3)] chore: hide internal parameter terminal_gaps_free from CLI
- [[`2de6dfd`](https://github.com/nextstrain/nextclade/commit/2de6dfd0f9d18c0b891895be22f48f897588289e)] fix(web): use default gene in sequence views on startup
This ensures that sequence view are switched to default gene after navigation to results page.
- [[`3cf460b`](https://github.com/nextstrain/nextclade/commit/3cf460b3e884c20d3a7cd71e296fbbecc894a691)] chore: lint
- [[`28136cc`](https://github.com/nextstrain/nextclade/commit/28136cceb9d9cef801706c52e358aa064f57621a)] fix: make tree.meta.extensions optional
- [[`93e02ee`](https://github.com/nextstrain/nextclade/commit/93e02ee56edb86196fc45d68a82ffc4e452021dc)] fix: make tree.meta.geo_resolutions optional
- [[`143c88f`](https://github.com/nextstrain/nextclade/commit/143c88fbf992817f0cd12868a294b0a46c35fed4)] fix(web): ensure change dataset button is working
- [[`6545110`](https://github.com/nextstrain/nextclade/commit/65451107b0df98b64e105e8b50d08c3a0fe1390c)] fix(web): reset input files when dataset is changed
- [[`bd9f40c`](https://github.com/nextstrain/nextclade/commit/bd9f40c9e2aeb2700ddf23dac2e39d85e3674239)] refactor: lint
- [[`718ea9a`](https://github.com/nextstrain/nextclade/commit/718ea9a21f36951ead408461f322f32374c8df05)] Merge remote-tracking branch 'origin/master' into fix/sequence-view-default-gene
- [[`e5ef10a`](https://github.com/nextstrain/nextclade/commit/e5ef10a21bf97f6f024dd96543ac3ba3819e6645)] Merge remote-tracking branch 'origin/experiment-stripes-updated' into feat/alignment-params-dynamic
- [[`9f7dfea`](https://github.com/nextstrain/nextclade/commit/9f7dfeaaef2b7c344cb92b3c3ad44c7ca7f11b5a)] Merge remote-tracking branch 'origin/master' into fix/cli-visible-aliases
- [[`254daaf`](https://github.com/nextstrain/nextclade/commit/254daaf76c6e328a632327659383e9d327a671fa)] Merge remote-tracking branch 'origin/master' into fix/cli-subcommand-required
- [[`89b0938`](https://github.com/nextstrain/nextclade/commit/89b0938be299fe6da1cdbaaffbc5805c4bfaa01e)] Merge remote-tracking branch 'origin/master' into experiment-stripes-updated
- [[`141ea89`](https://github.com/nextstrain/nextclade/commit/141ea8945ea0b4bfd6060710f7a77c3d4b0fbd1f)] Merge branch 'experiment-stripes-updated' into feat/alignment-params-dynamic
- [[`4a0d62e`](https://github.com/nextstrain/nextclade/commit/4a0d62e807fbe478ed946a69b3408e610407addd)] Merge pull request #801 from nextstrain/feat/alignment-params-dynamic
feat: dynamic alignment params
- [[`286822c`](https://github.com/nextstrain/nextclade/commit/286822c46370d21d418e31fa639e271ff4cc798c)] fix: max divergence was not calculated recursively for every node
- [[`02835d7`](https://github.com/nextstrain/nextclade/commit/02835d77dc93bf09372bff8a2b8859895e9f4a11)] chore: fix linter complaints
- [[`b817c42`](https://github.com/nextstrain/nextclade/commit/b817c4207675468323e1e5ddc36cb0d0e69e3f0c)] fix(cli): ensure nextalign cli args for alignment-tunning are optional
Followup of https://github.com/nextstrain/nextclade/pull/801 where I changed Nextclade CLI args, but forgot to adjust Nextalign CLI args. This PR fixes this omission in Nextalign CLI, by using AlignPairwiseParamsOptional struct, instead of AlignPairwiseParams, and merging incoming CLI params into the defaults, just like it is in Nextclade CLI since #801.
- [[`99ff619`](https://github.com/nextstrain/nextclade/commit/99ff619cd571f988318d43743fd01323b4ca8d1c)] Merge pull request #804 from nextstrain/fix/nextalign-cli-args
- [[`30a0e33`](https://github.com/nextstrain/nextclade/commit/30a0e331fc0ec1436dcbf7f9b9290ac29457fefb)] Merge pull request #803 from nextstrain/fix/sequence-view-default-gene
fix(web): use default gene in sequence views on startup
- [[`e69a101`](https://github.com/nextstrain/nextclade/commit/e69a101689e6730ba06d872584b9b374ff577708)] Merge pull request #795 from nextstrain/experiment-stripes-updated
Banded alignment with flexible bandwidth
- [[`ec4d8b9`](https://github.com/nextstrain/nextclade/commit/ec4d8b9abc3889a5d22b2f19cef22b67e395118c)] Merge pull request #791 from nextstrain/fix/cli-subcommand-required
fix(cli): make subcommands required
- [[`77c018c`](https://github.com/nextstrain/nextclade/commit/77c018cc89ebe7b8823c4ee42f5593573129b41d)] Merge pull request #790 from nextstrain/fix/cli-visible-aliases
fix(cli): show aliases for cli args
- [[`375b2f5`](https://github.com/nextstrain/nextclade/commit/375b2f53ac8cb6b5948537eb41ccd774fd867004)] chore: add launch.json for debugging
- [[`b61fce7`](https://github.com/nextstrain/nextclade/commit/b61fce78cde6481358e25963242b5535491c7233)] fix: rev strand dir `-` is parsed as `(-)`, now detected correctly
- [[`3e9ad7f`](https://github.com/nextstrain/nextclade/commit/3e9ad7fe5e01d078f552a4dc2ae4a0bf194acefb)] Merge pull request #809 from nextstrain/fix-gene-strand-complementation
fix: rev strand dir `-` is parsed as `(-)`, now detected correctly
- [[`3036024`](https://github.com/nextstrain/nextclade/commit/303602404b3fd3aaf322b7930d606b89521d5d02)] refactor: replace gene.strand strings with enum variants
This should be less prone to errors, more idiomatic, and perhaps even a tiny bit faster.
- [[`75225de`](https://github.com/nextstrain/nextclade/commit/75225de7d5ad4f4851479dcd4b1e4b7ae8e1d94c)] refactor: simplify statement
`map().unwrap_or()` replaced with an equivalent and shorter `map_or()`
- [[`2a1feeb`](https://github.com/nextstrain/nextclade/commit/2a1feebfd2492810d2dee7a0a1aeec679ede2376)] Merge pull request #810 from nextstrain/refactor/gene-strand-enum
refactor: replace gene.strand strings with enum variants
- [[`452fa3f`](https://github.com/nextstrain/nextclade/commit/452fa3f84fa76c9b13f4977325eca13095397420)] chore: setup scripts for releases and prereleases [skip ci]
- [[`a2949d8`](https://github.com/nextstrain/nextclade/commit/a2949d8f57815533919435bb16d88073aadb263b)] chore: use correct branch for cli pre-releases [skip ci]
- [[`246b831`](https://github.com/nextstrain/nextclade/commit/246b8315543366c887092a700759335caf9a2075)] chore: release cli 2.0.1-alpha.1
- [[`1a24378`](https://github.com/nextstrain/nextclade/commit/1a24378281ecfdb15641e99b6dbe74446cf0e572)] chore: clarify ci job name [skip ci]
- [[`24bfb23`](https://github.com/nextstrain/nextclade/commit/24bfb23408a5303f9513534a41f1044c3ebae12e)] chore(ci): add missing dependency
- [[`2b3b282`](https://github.com/nextstrain/nextclade/commit/2b3b282620327d54aa480ae6520b5370f864bdd4)] chore(ci): remove unnecessary code
- [[`b40adb8`](https://github.com/nextstrain/nextclade/commit/b40adb8bef5ef8a78b6462546d674abb49ac2a06)] chore(ci): fix cli args
- [[`b382944`](https://github.com/nextstrain/nextclade/commit/b382944797e9de4a686f9885ab504c411bf46b91)] chore(ci): use gh tool instead of github-release
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot almost 4 years ago
Nextclade - 1.11.0
Nextclade Web 1.14.0, Nextclade CLI 1.11.0, Nextalign CLI 1.11.0 (2022-03-15)
[Feature] Nextclade Pango classifier (SARS-CoV-2 specific)
With the latest dataset, Nextclade now assigns sequences a pango lineage, similar to how clades are assigned. The classifier is about 98% accurate for sequences from the past 12 months. Older lineages are deprioritised, and accuracy is thus worse. Read more about the method and validation against pangoLEARN and UShER in this report: Nextclade as pango lineage classifier: Methods and Validation.
[Feature] Better tree extensions #741
The Nextclade extensions fields in reference tree JSON now contain more information. This makes custom clade-like columns on the results page more informative.
[Feature] Update Auspice
The tree rendering component, Auspice, was updated to version 2.34.1. Refer to its changelog for details.
[Fix] Mutation badges showing incorrect position for first nucleotide #745
We fixed a bug where mutations at position 1 were incorrectly showing position 0 in Nextclade Web
Scientific Software - Peer-reviewed
- Rust
Published by ivan-aksamentov almost 4 years ago
Nextclade - 1.10.3
Nextclade Web 1.13.2, Nextclade CLI 1.10.3, Nextalign CLI 1.10.3 (2022-02-15)
This is a bug fix release.
[Fix] Ignore private reversions of deletions when calculating divergence
Since their introduction, individual private reversions of deletions contributed extra to divergence. This was unexpected, so we removed reversions of deletions from consideration when calculating divergence in Nextclade.
[Fix] Sort private substitutions on the tree
Private substitutions are now sorted by position when they are displayed on the tree page
[Fix] "truncated" text in the insertions tooltip
In Nextclade Web, long insertions no longer have a visual bug when the "truncated" text is displayed twice.
Scientific Software - Peer-reviewed
- Rust
Published by ivan-aksamentov about 4 years ago
Nextclade - 1.10.2
Nextclade Web 1.13.1, Nextclade CLI 1.10.2, Nextalign CLI 1.10.2 (2022-02-01)
This is a bug fix release.
[Fix] Exclude reversions of deletions from consideration in "SNP clusters" QC rule
Since introduction of reversions in Nextclade Web 1.13.0 and Nextclade CLI 1.10.0, "SNP clusters" QC rule have been including reversions of deletions when counting clustered private mutations. This was unexpected and produced false-positives for some of the sequences. To fix that, we removed the reversions of deletions from consideration of this QC rule, so that it behaves as previously.
[Fix] Center markers in sequence view in Nextclade Web
In this version we improved the display of various colored markers (mutations, ranges etc.) in sequence and peptide views on the Results page of Nextclade Web. The individual markers are now centered around their position in the sequence (previously left-aligned). Although markers have moved by just a few pixels, this makes positioning more consistent, and ensures that different types of markers are correctly aligned across table rows.
Scientific Software - Peer-reviewed
- Rust
Published by ivan-aksamentov about 4 years ago
Nextclade - 1.10.1
Nextclade CLI 1.10.1 (2022-01-26)
[Fix] Improve error message when the virus properties file is missing #704
Since version 1.10.0 Nextclade CLI have introduced a new required input file, virus_properties.json and datasets and documentation were updated to match. However, users who don't use datasets might have encountered breakage due to a missing file: when running Nextclade CLI without either --input-dataset of --input-virus-properties flag provided, it would stop with an unclear error message. In this release we improve the error message, making sure that that explains the problem and offers a solution.
This does not affect Nextclade Web or Nextalign CLI.
In order to facilitate upgrades, for most users, we recommend to:
- download the latest dataset before each Nextclade CLI session (e.g. in the beginning of an automated workflow, or once you start a batch of experiments manually) using
nextclade dataset getcommand - use
--input-datasetflag instead of individual--input-*flags for dataset files when issuingnextclade runcommand - if necessary, override some of the individual input files using corresponding
--input-*flags
[Fix] Add information about virus_properties.json or --input-virus-properties to changelog
In the excitement of bringing the new features, we forgot to mention virus_properties.json or --input-virus-properties in the changelog when Nextclade CLI 1.10.0 was released. We now added this information retroactively.
Scientific Software - Peer-reviewed
- Rust
Published by ivan-aksamentov about 4 years ago
Nextclade - 1.10.0
Nextclade Web 1.13.0, Nextclade CLI 1.10.0, Nextalign CLI 1.10.0 (2022-01-24)
π₯ [BREAKING CHANGE] Nextclade: new required input file: virus_properties.json #689
This version introduces a new required input file for Nextclade, called virus_properties.json. This file contains additional information necessary for the "Detailed split of private mutations" feature (see below). The new versions of Nextclade datasets were released to account for this change.
How it affects different tools in the Nextclade family and how to upgrade:
Nextclade Web - requires the new file. Migration path: no action is needed. Nextclade Web always uses the latest dataset automatically.
Nextclade CLI - requires the new file. Migration path:
- Download the latest dataset with
nextclade dataset getcommand (dataset tagged2022-01-18T12:00:00Zor more recent is required) - If using
--input-datasetflag: the new file will be be picked up automatically from the latest dataset. No further action is needed. - If not using
--input-datasetflag: add--input-virus-propertiesflag to point tovirus_properties.jsonfile 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.
[Change] "Private mutations" QC rule now accounts for reversions and labeled mutations
Reversions and labeled mutations (see feature above) are particularly common in contaminated samples, coinfections and recombination. To draw the user's attention to such sequences, both types of private mutation now get higher weights in the "Private mutations" QC rule (denoted as "P" in Nextclade Web, and qc.privateMutations in output files).
[Feature] Insertions now also available as amino acids #692
Aminoacid insertions in the query peptides relative to the corresponding reference peptide are now displayed in the "Ins." column in Nextclade Web and are emitted as "aaInsertions" and "totalAminoacidInsertions" fields in Nextalign and Nextclade output files. Note, that similarly to nucleotide insertions, aminoacid insertions are stripped from the output alignment.
[Fix] Gaps in query sequences are now stripped correctly #696
When query sequences contained gaps (-), e.g. when inputting aligned sequences, gaps were not stripped correctly since v1.7.0 (web v1.10.0), which could lead to - showing up in insertions.
Scientific Software - Peer-reviewed
- Rust
Published by ivan-aksamentov about 4 years ago
Nextclade - 1.9.0
Nextclade Web 1.12.0, Nextclade CLI 1.9.0, Nextalign CLI 1.9.0 (2022-01-11)
[Feature] Handle "-" strand gene translation
The strand column in the gene map file was previously ignored. Now the "-" strand genes are correctly reverse-complemented before translation. Thanks @dnanto for the contribution.
[Feature] Update SARS-CoV-2 clade schema
The schema that illustrates the tree of SARS-CoV-2 clades on the main page of Nextclade Web was updated to account for recent clade changes.
[Fix] Center mutation markers in sequence views
Previously the mutation markers in sequence views in results table of Nextclade Web were anchored to their position in the sequence view on their left edge. They are now correctly centered around their position, such that the center of marker is at the corresponding position in the sequence.
[Fix] Correct exit codes
Nextclade CLI and Nextalign CLI could sometime exit with incorrect exit code. This has been fixed.
[Fix] Correctly handle empty peptides
The alignment algorithm in Nextclade CLI and Nextalign CLI could sometimes produce translation that is longer than expected, when the translated sequence is empty. Now the empty peptides are discarded and a warning is issued.
[Fix] Ensure array boundaries
In rare cases Nextclade and Nextalign algorithms could sometimes read past the end of arrays, which previously went undetected. This is now fixed.
Scientific Software - Peer-reviewed
- Rust
Published by ivan-aksamentov about 4 years ago
Nextclade - 1.8.1
Nextclade Web 1.11.1, Nextclade CLI 1.8.1 (2022-01-07)
[Hotfix] Nextclade CLI crashes on macOS when reading JSON tree (#680)
Fixes crash with Error: [json.exception.invalid_iterator.214] cannot get value | when reading JSON tree on macOS
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 4 years ago
Nextclade - 1.8.0
Nextclade Web 1.11.0, Nextclade CLI 1.8.0 (2022-01-04)
[Feature] Better dataset selector
Nextclade Web has got the new dataset selector on the main page, which clearly presents all available datasets and is more convenient to use. The last selected dataset is remembered, so that it does not need to be selected again on subsequent runs. This also fixes rare problems and inconsistencies, when incorrect dataset might have been used despite another dataset is being selected.
[Feature] Dynamic node attributes
Nextclade CLI and Nextclade Web now can assign multiple clade-like attributes to the analyzed sequences.
If input reference tree JSON contains an array of attribute keys attached to the
meta.extensions.nextclade.clade_node_attrs_keys = ["my_clades", "other_clades"]
For each query sequence, during clade assignment step, Nextclade will lookup values of these keys from .node.node_attrs property of the nearest reference tree node and assign them to the corresponding properties of the newly attached nodes, just like it happens with the usual Nextstrain clades. This feature is currently not used with the default datasets, but we are planning to extend the reference trees in these datasets to take advantage of this feature. Curious users can start experimenting with their own reference trees and custom nomenclatures. Learn more about clade assignment in Nextclade in the documentation.
[Performance] Optimize match table lookups
In this version, alignment algorithm behind Nextclade and Nextalign is up to 10% faster due to performance improvements in nucleotide and aminoacid table lookups.
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 4 years ago
Nextclade - 1.7.0
Nextclade Web 1.10.0, Nextclade CLI 1.7.0 (2021-12-09)
[Performance] Optimize FASTA parser
The new optimized FASTA parser makes Nextclade CLI up to 60% faster and Nextalign CLI up to 500% faster when used on high-core-count machines. Nextalign and Nextclade now scale much better with number of available threads and rely less on I/O speed. See #632 for more details.
[Fix] Avoid crash due to buffer overflow
This is an internal fix of a problem that might have lead to a crash in rare cases, when coordinate map array was accessed beyond it's size.
Scientific Software - Peer-reviewed
- Rust
Published by nextstrain-bot about 4 years ago
Nextclade - 1.6.0
Nextclade Web 1.9.0, Nextclade CLI 1.6.0 (2021-12-07)
[BREAKING CHANGE] [Fix] Remove unused CLI flags for aminoacid seed alignment
Seed matching step was removed in Nextalign and Nextclade CLI 1.5.0, however the command-line parameters previously providing configuration options for this step were not. In this version, the now unused family of --aa-* CLI flags is removed. Migration path: remove these flags from Nextclade CLI invocation.
[Feature] Make "results" and "tree" pages full-width in Nextclade Web
The content in "results" and "tree" pages of Nextclade Web now occupies entire width available in the browser window, so that more useful information can be presented. In particular, sequence views should be more readable, especially on larger screens.
[Feature] Dynamically adjust width of AA mutation markers
Nextclade Web now dynamically adjusts width of AA mutation markers in sequence views to avoid overly long mutation groups that may obscure other mutations. This is particularly important for sequences with high density of mutations.
[Feature] Reduce probability of WebWorker timeout errors
On low-end computers, computers with slow internet connection or computers under heavy background resource utilization Nextclade Web could sometimes produce WebWorker timeout errors. This has been addressed by increasing the timeout interval from 10 seconds to 1 minute.
If this is not enough, consider freeing up system memory and CPU resources by closing unused applications and browser tabs, processing sequences in smaller batches, or using Nextclade CLI.
[Fix] Fix off-by-one errors in insertion positions
Nextclade Web, Nextclade CLI and Nextalign could sometime produce incorrect positions for nucleotide insertions - off by 1 nucleotide to either direction. This was fixed in the new version.
[Fix] Don't add private reversions when query aminoacid is unknown
In previous versions, if a query sequence, for one reason or another, had aminoacid X at the position where the parent tree node had a private mutation, Nextclade was incorrectly calling a new reversion at this position. This is now fixed and Nextclade will not report a reversion. We assume that in these situations the sequencing defect is more likely than a reversion.
[Fix] Avoid potential dereference of nullopt
This is an internal fix of a problem that might have lead to a crash, but never manifested so far.
[Fix] Avoid error when --genes flag contains a subset of genes
Nextclade 1.8.0 introduced an error when --genes flag contained only a subset of genes from the gene map. This is now resolved.
Scientific Software - Peer-reviewed
- Rust
Published by ivan-aksamentov about 4 years ago
Nextclade - 1.5.1
Nextclade Web 1.8.1, Nextclade CLI 1.5.1 (2021-11-27)
[Fix] Avoid crash when relative shift (bandwidth) is larger than query length
In rare cases Nextclade 1.5.0 could crash during alignment of some of the short peptides. This has been fixed in this version.
[Fix] Improve peptide alignment
We improved heuristics which determine band width and shift for the peptide alignment, so that some of the peptides with large insertions can now be aligned.
Scientific Software - Peer-reviewed
- Rust
Published by ivan-aksamentov over 4 years ago
Nextclade - 1.5.0
Nextclade Web 1.8.0, Nextclade CLI 1.5.0 (2021-11-27)
[Feature] Improve peptide alignment
We improved the algorithm for peptide alignment. Instead of performing seed matching in order to estimate width of the band and shift parameters for peptide alignment, we now deduce these parameters from the nucleotide alignment results. This allows Nextclade to align and analyse some of the peptides that would fail previously, including for low quality gene sequences and sequences with large deletions or deletions close to the beginning.
[Fix] Account for the partially covered last codon in frame shift
Nextclade previously did not account for the last codon in a frame shift if that codon was covered by the shift only partially. In this version we count the partial codons. This solves an issue with empty frame shift codon ranges being reported in rare cases. This change may result in some of the frame shifts to be longer by 1 codon in the new version compared to previous versions of Nextclade. The nucleotide length of frame shifts stays the same.
None of the ignored frame shift ranges in the QC configurations of the exising 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 be adjusted.
[Fix] Fix crashes with Nextclade CLI on macOS
In this version we fixed a crash with segmentation fault that could sometimes happen with Nextclade CLI on macOS.
Scientific Software - Peer-reviewed
- Rust
Published by ivan-aksamentov over 4 years ago
Nextclade - 1.4.5
Nextclade Web 1.7.3, Nextclade CLI 1.4.5 (2021-11-04)
This is a bugfix release for Nextclade Web and Nextclade CLI.
After Nextclade Web version 1.7.3 and Nextclade CLI version 1.4.3 the "Private mutations" QC check was incorrectly counting individual deletions, rather than contiguous ranges of deletions, as it was before that. This resulted in QC score being too high for sequences that have many deletions. In this version we ensure again that the deletion ranges are counted. This should now bring the "Private mutations" QC score back to what is expected.
Scientific Software - Peer-reviewed
- Rust
Published by ivan-aksamentov over 4 years ago
Nextclade - 1.4.4
Nextclade CLI 1.4.4 (2021-11-01)
This is a bugfix release for Nextclade CLI.
[Fix] Prevent Nextclade CLI failing with error "Library not loaded"
The mistake in the Nextclade CLI build was fixed and now it should not look for external libraries on macOS.
Scientific Software - Peer-reviewed
- Rust
Published by ivan-aksamentov over 4 years ago
Nextclade - 1.4.3
Nextclade Web 1.7.2, Nextclade CLI 1.4.3 (2021-11-01)
This is a bugfix release for Nextclade Web and Nextclade CLI.
[Fix] Properly display private aminoacid mutations on the tree
This release ensures that both nucleotide and aminoacid mutations on the branches of the phylogenetic tree leading to the nodes representing analyzed sequences are properly displayed and that the corresponding information is correctly written to the output tree JSON. Similarly to how it's done in the main Nextstrain project, these mutations are private, i.e. called relative to the parent node.
The internal reorganization of the code responsible for finding private mutations might also make Nextclade slightly faster and to consume less memory.
Scientific Software - Peer-reviewed
- Rust
Published by ivan-aksamentov over 4 years ago
Nextclade - 1.4.2
Nextclade CLI 1.4.2 (2021-10-26)
This is a small bugfix release and only affects Nextclade CLI. Nextclade Web and Nextalign CLI are unchanged.
[Fix] Crash in dataset list command on macOS
Nextclade CLI could sometimes crash on macOS when issued a dataset list command due to an internal error. This was now fixed.
[Fix] Uninformative error message when QC config is missing
When both --input-dataset and --input-qc-config flags are omitted Nextclade CLI now produces a more informative error message, as was intended. Thanks Peter Menzel (@pmenzel) for the report.
Scientific Software - Peer-reviewed
- Rust
Published by ivan-aksamentov over 4 years ago
Nextclade - 1.4.1
Nextclade Web 1.7.1, Nextclade CLI 1.4.1 (2021-10-05)
[Fix] Format of CSV/TSV output files
We fixed a few mistakes in CSV and TSV output files, such as missing last delimiter when the "errors" column is empty, inconsistent application of quotation marks and incorrect numeric formats - decimals when integers should be.
Scientific Software - Peer-reviewed
- Rust
Published by ivan-aksamentov over 4 years ago