Skip to content

Releases: nextstrain/augur

29.1.0

10 Apr 23:41

Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Features

  • export v2: Allow multiple auspice config files (--auspice-config) which are merged together. Note that the merging of lists extends the original list, although elements representing the same data are overwritten instead. You can optionally write out this merged config via --output-auspice-config for debugging purposes. #1756 (@jameshadfield)

Bug fixes

  • titers: Improve error messages when titer models do not have enough data. #1769 (@huddlej)
  • align: Remove extra logs for insertions since the coordinates are output the *.insertions.csv. #1772 (@joverlee521)
  • filter: Fixed an error with weighted sampling by year. #1776 (@victorlin)
  • filter: Previously, subsampling with --group-by year or month would crash on numeric dates. This has been fixed by switching to the same internal date parsing function that is used by other commands. #1774 (@victorlin)
  • filter: Made a small adjustment to use pandas's "string" dtype alias when processing values in metadata. #1782 (@victorlin)
  • filter: Options --output and -o have been deprecated and will now show a warning message. See DEPRECATED.md for details. #1622 (@victorlin)
  • Updated outdated documentation on supported date formats in metadata. #882 (@victorlin)

29.0.0

26 Feb 20:16

Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Major Changes

  • Updated default latitudes and longitudes for geography traits that includes location name changes. See the pull request for more details. #1744 (@joverlee521)
  • curate apply-geolocation-rules: Augur's standard geolocation rules are used by default and rules provided via --geolocation-rules are considered custom rules that have precedence over the default rules. The --no-default-rules flag can be used to ignore the default rules. See the pull request for more details. #1745 (@joverlee521)
  • augur.utils.read_strains has been removed as it's been deprecated since January 2024. The same function is available through the public API as augur.io.read_strains. #1749 (@joverlee521)
  • Bumped minimum Python version to 3.9 as support for 3.8 was dropped in Augur v27.0.0. #1763 (@joverlee521)

Features

  • refine: Added a --remove-outgroup flag which can be used when rooting a tree on a single taxon. Rooting and removal of outgroup will be performed before any temporal inference, if applicable. #1751 (@jameshadfield)
  • Added standard geolocation rules in "augur/data/geolocation_rules.tsv" that can be used with augur curate apply-geolocation-rules. #1744 (@joverlee521)
  • [refine, export] Ambiguous dates (e.g. those with "XX" in the date string) are now exported in the Auspice JSON, and all tips now have an additional "inferred" boolean property. These changes only apply to temporal trees. #1760 (@jameshadfield)

Bug fixes

  • Certain strain names would be silently renamed by augur tree [--method iqtree]. We now avoid such renaming wherever possible and in cases where there are backslashes or single quotes we now raise a fatal error.
    Note that names with spaces in the FASTA header (description line) continue to be modified such that everything after the first space is not used in the resulting tree. #1750 (@jameshadfield)
  • Fixed the error that occurred when running augur curate --help. #1755 (@joverlee521)

28.0.1

10 Feb 18:27

Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Bug Fixes

  • schema: document node property values support url. This feature has been supported in Auspice since v2.25.0. #1743 (@joverlee521)
  • augur.io.read_metadata: Ensure that the index column's dtype is always "string" so that numeric ids don't get converted to numeric dtypes. #1746 (@joverlee521)

28.0.0

30 Jan 18:47

Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Major Changes

  • export v2: The string "none" is now an invalid value for --color-by-metadata and --metadata-columns options and will be ignored to prevent clashes with Auspice's internal use of "none". #1113 (@joverlee521)
  • schema: The string "none" is now an invalid branch label, node_attr key, and coloring key. #1113 (@joverlee521)
  • curate apply-geolocation-rules: The geolocation rule matching has been updated to be case-insensitive. Use the new --case-sensitive flag if you want to revert to the previous behavior of case-sensitive matching. #1740, #1741 (@joverlee521)
  • augur.io.read_sequences: Only accept the values "fasta" and "genbank" for format, instead of allowing any value supported by Biopython. #1731 (@victorlin)
    • This also applies to augur.io.sequences.read_single_sequence, which is not in the public API.

Features

  • All commands: Support compressed formats for input sequence files. This was already the case for most commands. Internal standardization extends the support to all other commands. #1730 (@victorlin)

Bug Fixes

  • When using >=Biopython 1.85: properly detect augur ancestral --root-sequence file format and, for all commands, support FASTA files with comments. #1731 (@victorlin)

Internal changes

  • Added a new function augur.io.sequences.read_single_sequence as a wrapper around Bio.SeqIO.read with support for compressed formats, similar to the augur.io.sequences.read_sequences wrapper around Bio.SeqIO.parse. #1730 (@victorlin)

27.2.0

22 Jan 01:33

Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Features

  • export: Added a new option --warning to display a warning banner in Auspice, supported as of Auspice version 2.62.0. #1722 (@victorlin)

27.1.0

15 Jan 00:59

Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Features

  • ancestral: Add --seed argument to enable deterministic inference of root states by TreeTime. #1690 (@huddlej)

Bug Fixes

  • ancestral, refine: Explicitly specify how the root and ambiguous states are handled during sequence reconstruction and mutation counting. #1690 (@rneher)
  • titers: Fix type errors in code associated with cross-validation of models. #1688 (@huddlej)
  • export: The help text for --lat-longs has been improved with a link to the defaults and specifics around the overriding behavior. #1715 (@victorlin)
  • augur.io.read_metadata: Pandas versions <1.4.0 prevented this function from properly setting the index column's data type. Support for those older versions has been dropped. #1716 (@victorlin)
  • In version 24.4.0, one of the new features was that all options that take multiple values could be repeated. Unfortunately, it overlooked a few that have been fixed in this version. #1707 (@victorlin)
    • augur curate rename --field-map
    • augur curate transform-strain-name --backup-fields
  • augur curate format-dates --expected-date-formats help text has been improved with clarifications regarding how values provided interact with builtin formats and how to match masked date parts. #1707, #1718 (@victorlin)
  • parse: Transform strain names the same way in both metadata and sequences instead of only transforming sequences. #1712 (@huddlej)

27.0.0

09 Dec 19:22

Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Major Changes

Bug fixes

  • export: validation will no longer crash with KeyError: 'tree' when newer versions of jsonschema (≥4.18.0) are installed. #1358 (@victorlin)

26.2.0

20 Nov 18:19

Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Features

26.1.0

12 Nov 23:25

Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Features

  • ancestral, translate: Add --skip-validation as an alias to --validation-mode=skip. #1656 (@victorlin)
  • clades: Allow customizing the validation of input node data JSON files with --validation-mode and --skip-validation. #1656 (@victorlin)
  • tree: When using iqtree, check for all synonyms of default args when detecting potential conflicts, e.g. --threads-max is equivalent to -ntmax. Previously, we were only checking for the latter. Also use new, preferred IQtree2 option names (e.g. --polytomy instead of -czb etc.). #1547 (@corneliusroemer)

Bug Fixes

  • index: Previously specifying a directory that does not exist in the path to --output would result in an incorrect error stating that the input file does not exist. It now shows the correct path responsible for the error. #1644 (@victorlin)
  • curate format-dates: Update help docs and improve failure messages to show use of --expected-date-formats. #1653 (@joverlee521)

26.0.0

17 Sep 17:35

Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Major Changes

  • filter: Duplicate header names in the FASTA file (--sequences) will now result in an error. #1613 (@victorlin)
  • parse: When both strain and name fields are present, the strain field will now be used as the sequence ID field. #1629 (@victorlin)
  • merge: Generated source columns (e.g. __source_metadata_{NAME}) are now omitted by default. They may be explicitly included with --source-columns=TEMPLATE or explicitly omitted with --no-source-columns. This may be a breaking change for any existing uses of augur merge relying on the generated columns, though as augur merge is relatively new we believe usage to be scant if extant at all. #1625 #1632 (@tsibley)

Bug Fixes

  • filter: Previously, when --subsample-max-sequences was slightly lower than the number of groups, it was possible to fail with an uncaught AssertionError. Internal calculations have been adjusted to prevent this from happening. #1588 #1598 (@victorlin)