Skip to content

Releases: nextstrain/augur

22.3.0

14 Aug 13:53
Compare
Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Features

  • ancestral: add functionality to reconstruct ancestral amino acid sequences and add inferred mutations to the node_data_json with output equivalent to augur translate. ancestral now takes an annotation (--annotation), a list of genes (--genes), and a file name pattern for amino acid alignments (--translations). Mutations for each of these genes will be inferred and added to the output JSON to each node as a list at ['aa_muts'][gene]. The annotations will be added to the annotation field in the output JSON. Inferred amino acids sequences can be saved with the new --output-translations argument. #1258 (@rneher, @huddlej)
  • ancestral: add the ability to report mutations relative to a sequence other than the inferred root of the tree. This sequence can be specified via --root-sequence and difference between this sequence and the inferred root of the tree will be added as mutations to the root node for nucleotides and amino acids. All differences between the specified root-sequence and the inferred sequence of the root node of the tree will be added as mutations to the root node. This was previously already possible for vcf input via --vcf-reference. #1258 (@rneher)
  • refine: add mid_point as rooting option to refine. #1257 (@rneher)

Bug fixes

  • filter: In version 22.2.0, --query would fail when the .str accessor was used on a column. This has been fixed. #1277 (@victorlin)

22.2.0

31 Jul 19:04
Compare
Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Features

  • Adds a new sub-command augur curate titlecase. The titlecase command is intended to apply titlecase to string fields in a metadata record (e.g. BRAINE-LE-COMTE, FRANCE -> Braine-le-Comte, France). Previously, this was available in the transform-string-fields script within the monkeypox repo.
    #1197 (@j23414 and @joverlee521)

Bug fixes

  • export v2: Previously, when strain was not used as the metadata ID column, node attributes might have gone missing from the final Auspice JSON. This has been fixed. #1260, #1262 (@victorlin, @joverlee521)
  • export v1: Added a deprecation warning for this command. #1265 (@victorlin)
  • export v1: The recently introduced flag --metadata-id-columns did not work properly due to the same export v2 bug that was fixed in this release. Instead of fixing it in export v1, drop the broken feature since this command is no longer being maintained. #1265 (@victorlin)
  • filter: Expose internal Pandas errors from --query which may be useful to users. #1267 (@victorlin)
  • filter: Previously, --query would fail when numerical comparisons were used on columns with missing values. This has been fixed. #1269 (@victorlin)

22.1.0

10 Jul 23:15
Compare
Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Features

  • export, frequencies, refine, traits: Add a new flag --metadata-id-columns to customize the possible metadata ID columns. Previously, this was only available in augur filter. #1240 (@victorlin)
  • Add new sub-subcommand augur curate format-dates. The format-dates command is intended to be used to format date fields to ISO 8601 date format (YYYY-MM-DD), where incomplete dates are masked with XX (e.g. 2023 -> 2023-XX-XX). #1146 (@joverlee521)

Bug fixes

  • parse: Fix a bug where --fix-dates was always applied, with a default of --fix-dates=monthfirst. Now, running without --fix-dates will leave dates as-is. #1247 (@victorlin)
  • augur.io.open_file: Previously, the docs described a type restriction on path_or_buffer but it was not enforced. It has been updated to allow all I/O classes, and is enforced at run-time. #1250 (@victorlin)
  • filter: Fix a bug where data files consisting of only numerical strain names would not work when both --metadata and --sequences are passed. #1256 (@victorlin)

22.0.3

14 Jun 21:21
Compare
Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Bug fixes

22.0.2

26 May 22:01
Compare
Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Bug fixes

  • CI: Add a Github action to test augur on 8 Nextstrain pathogen workflows using example data. #1217 (@corneliusroemer)
  • parse: Denote required arguments including --fields, --output-sequences, and --output-metadata. #1228 (@huddlej)
  • Fix export of the strand attribute of gene annotations. Previously, features on the negative strand were not annotated as such since the code assumed that the strand attribute was boolean instead of [-1, +1]. #1211 @rneher and @j23414.
  • augur.io.read_metadata: explicitly set date column as string type to prevent year only dates from being inferred as integers. #1235 (@joverlee521)

22.0.1

16 May 21:56
Compare
Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Bug fixes

  • export: No longer export duplicate entries in the colorings array, a bug which has been present in Augur since at least v12 #719. #1218 (@jameshadfield)

  • export: In version 22.0.0, some configurations of export may have resulted in the clade coloring appearing last in the Auspice dropdown rather than first. This is now fixed. #1218 (@jameshadfield)

  • export: In version 22.0.0, validation of augur.utils.read_node_data was changed to error when a node data JSON did not contain any actual data. This causes export to error when an empty node data JSON is passed, as for example in ncov's pathogen-ci. This is now fixed by warning instead. The bug was originally introduced in PR [#728][]. #1214 (@corneliusroemer)

22.0.0

09 May 21:41
Compare
Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Major Changes

  • export, filter, frequencies, refine, traits: From versions 10.0.0 through 21.1.0, arbitrary delimiters for --metadata were supported due to internal implementation differences from the advertised CSV and TSV support. Starting with this version, non-CSV/TSV files will no longer be supported by default. To adjust for this breaking change, specify custom delimiters with the new --metadata-delimiters flag. #1196 (@victorlin)
  • augur.io.read_metadata: Previously, this supported any arbitrary delimiters for the metadata. Now, it only supports a list of possible delimiters represented by the new delimiters keyword argument, which defaults to , and \t. #812 (@victorlin)
  • refine: The seeding method for --seed has been updated. This affects usages that rely on the reproducibility of outputs with the same --seed value prior to this version. Outputs from this version onwards should be reproducible until the next implementation change, which we don't expect to happen any time soon. #1207 (@rneher)

Features

  • Constrain bcbio-gff to >=0.7.0 and allow Biopython >=1.81 again. We had to introduce the Biopython constraint in v21.0.1 (see #1152) due to bcbio-gff <0.7.0 relying on the removed Biopython feature UnknownSeq. #1178 (@corneliusroemer)
  • augur.io.read_metadata (used by export, filter, frequencies, refine, and traits): Previously, this used the Python parser engine for pandas.read_csv(). Updated to use the C engine for faster reading of metadata. #812 (@victorlin)
  • curate: Allow custom metadata delimiters with the new --metadata-delimiters flag. #1196 (@victorlin)
  • Bump the default recursion limit to 10,000. Users can continue to override this limit with the environment variable AUGUR_RECURSION_LIMIT. #1200 (@joverlee521)
  • clades, export v2: Clade labels + coloring keys are now definable via arguments to augur clades allowing pipelines to use multiple invocations of augur clades resulting in multiple sets of colors and branch labels. How labels are stored in the (intermediate) node-data JSON files has changed. This should be fully backwards compatible for pipelines using augur commands, however custom scripts may need updating. PR #728 (@jameshadfield)
  • refine: add flag --max-iter to control the maximal number of iterations TreeTime uses to infer time trees. This was previously hard-coded to 2, which is now the default. #1203 (@rneher)
  • refine: add flags --greedy-resolve and --stochastic-resolve to customize polytomy resolution. #1203, #1207 (@rneher)
    • --greedy-resolve: resolve polytomies by greedily minimizing tree length (default behavior, unchanged).
    • --stochastic-resolve: resolve polytomies as random coalescent trees.
    • These are mutually exclusive with the pre-existing --keep-polytomies flag.

Bug fixes

  • filter, frequencies, refine, parse: Previously, ambiguous dates in the future had a limit of today's date imposed on the upper value but not the lower value. It is now imposed on the lower value as well. #1171 (@victorlin)
  • refine: --year-bounds was ignored in versions 9.0.0 through 20.0.0. It now works. #1136 (@victorlin)
  • tree: Input alignment filenames which do not end in .fasta are now properly handled when using IQ-TREE. Previously their contents were overwritten first by augur tree itself (resulting in truncation) and then by the log output of IQ-TREE (resulting in an error). Thanks to Jon Bråte for reporting this bug. #1206 (@tsibley)
  • clades: A number of small bug fixes, improvements to documentation, tests and improved error detection. #1199 (@jameshadfield)

21.1.0

14 Mar 00:19
Compare
Choose a tag to compare

These release notes are automatically extracted from the full changelog.

Features

  • filter: Add --empty-output-reporting={error,warn,silent} option to allow filter to produce empty outputs without raising an error. The default behavior is still to raise an error when filter produces an empty output, so users will have to explicitly pass the "warn" or "silent" value to bypass the error. #1175 (@joverlee521)

Bug fixes

  • translate: Fix error handling when features cannot be read from reference sequence file. #1168 (@victorlin)
  • translate: Remove an unnecessary check which allowed for inaccurate error messages to be shown. #1169 (@victorlin)
  • frequencies: Previously, monthly pivot points calculated from the end of a month may have been shifted by 1-3 days. This is now fixed. #1150 (@victorlin)
  • Update development status on PyPI from "3 - Alpha" to "5 - Production/Stable". This should have been done since the beginning of this changelog, but now it is official. #1160 (@corneliusroemer)

21.0.1

17 Feb 19:32
Compare
Choose a tag to compare

Bug fixes

  • Constrain Biopython version to <=1.80 so that augur translate is not broken by a deprecation of UnknownSeq in 1.81. When running augur translate with Biopython 1.81, the user will receive an error starting with ERROR: Package BCBio.GFF not found! and ending with TypeError: object of type 'NoneType' has no len(). #1152 (@corneliusroemer)

21.0.0

08 Feb 00:03
Compare
Choose a tag to compare

Major Changes

  • measurements export: Supports exporting multiple thresholds per collection via the measurements config and the --thresholds option. This change is backwards compatible with previous uses of the --threshold option. However, due to the updates to the JSON schema, users will need to update to Auspice v2.43.0 for thresholds to be displayed properly in the measurements panel. #1148 (@joverlee521)

Features

  • export v2: Add --validation-mode={error,warn,skip} option for more nuanced control of validation. The new "warn" mode performs validation and emits messages about potential problems, but it does not cause the export command to fail even if there are problems. #1135 (@tsibley)

Bug Fixes

  • filter, frequencies, refine, parse: Properly handle invalid date errors and output the bad date. #1140 (@victorlin)
  • export, validate: Validation errors are now much more human-readable and actually pinpoint the problems. #1134 (@tsibley)