Skip to content

Releases: nextstrain/augur

18.1.0

26 Oct 22:01
Compare
Choose a tag to compare

Features

  • filter: Add support to group by ISO week (--group-by week) during subsampling. #1067 (@victorlin)

Bug Fixes

  • filter: Fixed unintended behavior in which grouping by day would "work" when used with month and/or year. Updated so it will be ignored. #1070 (@victorlin)
  • filter: Fixed unintended behavior in which grouping by month with ambiguous years would "work". Updated so date ambiguity is checked properly for all generated columns. #1072 (@victorlin)

18.0.0

21 Sep 21:35
Compare
Choose a tag to compare

Major Changes

  • export: The --node-data option may now be given multiple times to provide additional .json files. Previously, subsequent occurrences of the option overrode prior occurrences. This is a breaking change, although we expect few usages to be impacted. Each occurrence of the option may still specify multiple files at a time. #1010 (@tsibley)

Bug Fixes

  • refine: 17.1.0 updated TreeTime to version 0.9.2 and introduced the refine flag --use-fft. This makes previously costly marginal date inference cheaper. This update adjusts when refine runs marginal date inference during its iterative optimization. Without the use-fft flag, it will now behave as it did before 17.1.0 (marginal inference only during final iterations). With the --use-fft flag, marginal date inference will be used at every step during the iteration if refine is run with --date-inference marginal #1034. (@rneher)
  • tree: When using IQtree as tre builder, --nthreads now sets the maximum number of threads (IQtree argument -ntmax). The actual number of threads to use can be specified by the user through the tree-builder-arg -nt which defaults to -nt AUTO, causing IQtree to automatically chose the best number of threads to use #1042 (@corneliusroemer)
  • Make cvxopt as a required dependency, since it is required for titer models to work #1035. (@victorlin)
  • filter: Fix compatibility with Pandas 1.5.0 which could cause an unexpected AttributeError with an invalid --query given to augur filter. #1050 (@tsibley)
  • refine: Add --verbosity argument that is passed down to TreeTime to facilitate monitoring and debugging. #1033 (@anna-parker)
  • Improve handling of errors from TreeTime. #1033 (@anna-parker)

17.1.0

19 Aug 20:48
Compare
Choose a tag to compare

Features

  • refine: Upgrade TreeTime from 0.8.6 to >= 0.9.2 which enables a speedup of timetree inference in marginal mode due to the use of Fast Fourier Transforms #1018. (@rneher and @anna-parker)

Bug Fixes

  • refine, export v1: Use pandas.DataFrame.at instead of .loc for single values #979. (@victorlin)
  • refine: Gracefully handle all exceptions from TreeTime #1023. (@anna-parker)
  • refine: Document branch length units treetime expects #1024. (@anna-parker)
  • dates: Raise an error when metadata to get_numerical_dates() is not a pandas DataFrame #1026. (@victorlin)

17.0.0

09 Aug 18:17
Compare
Choose a tag to compare

17.0.0 (9 August 2022)

Major Changes

  • Moved the following modules to subpackages #1002. (@joverlee521)
    These are technically breaking changes for the API, but they do not change the Augur CLI commands.
    • import.py -> import_/__init__.py
    • import_beast.py -> import_/beast.py
    • measurements.py -> measurements/__init__.py + measurements/concat.py + measurements/export.py
  • Move the following internal functions/classes #1002. (@joverlee521)
    • augur.add_default_command -> argparse_.add_default_command
    • utils.HideAsFalseAction -> argparse_.HideAsFalseAction
  • Subcommands must include a register_parser function to add their own parser instead of a register_arguments function #1002. (@joverlee521)
  • utils: Remove internal function utils.read_metadata() #978. (@victorlin)
    • Use io.read_metadata() going forwards.
    • To switch to using metadata as a pandas DataFrame (recommended):
      • Iterate through strains: metadata.items() -> metadata.iterrows()
      • Check strain presence: strain in metadata -> strain in metadata.index
      • Check field presence: field in metadata[strain] -> field in metadata.columns
      • Get metadata for a strain: metadata[strain] -> metadata.loc[strain]
      • Get field for a strain: metadata[strain][field] -> metadata.at[strain, field]
    • To keep using metadata in a dictionary:
      metadata = read_metadata(args.metadata)
      metadata.insert(0, "strain", metadata.index.values)
      columns = metadata.columns
      metadata = metadata.to_dict(orient="index")

Features

  • export: --skip-validation now also skips version compatibility checks #902. (@corneliusroemer)
  • filter: Report names of duplicate strains found during metadata parsing #1008 (@huddlej)
  • translate: Add support for Nextclade gene map GFFs #1017 (@huddlej)

Bug Fixes

  • filter: Rename internal force inclusion filtering functions #1006 (@victorlin)

16.0.3

28 Jul 13:51
Compare
Choose a tag to compare

16.0.3 (6 July 2022)

Bug Fixes

  • filter: Move register_arguments to the top of the module for better readability #995. (@victorlin)
  • filter: Fix a regression introduced in 16.0.2 that caused grouping with subsampled max sequences and force-included strains to fail in a data-specific way #1000. (@huddlej)

16.0.2

01 Jul 17:55
Compare
Choose a tag to compare

16.0.2 (30 June 2022)

Bug Fixes

  • The entropy panel was unavailable if mutations were not translated #881. This has been fixed by creating an additional annotations block in augur ancestral containing (nucleotide) genome annotations in the node-data #961 (@jameshadfield)
  • ancestral: WARNINGs to stdout have been updated to print to stderr #961 (@jameshadfield)
  • filter: Explicitly drop date/year/month columns from metadata during grouping. #967 (@victorlin)
    • This fixes a bug #871 where augur filter would crash with a cryptic ValueError if year and/or month is a custom column in the input metadata and also included in --group-by.
  • filter: Fix duplicates that may appear in metadata when using --include/--include-where with subsampling #986 (@victorlin)

6.3.0

13 Feb 23:40
Compare
Choose a tag to compare

Features

  • Augur refine, ancestral and traits now use the
    upgraded TreeTime v0.7
    This should have a number of under-the-hood improvements.
    See PR 431
  • ancestral: New options to either --keep-ambiguous or --infer-ambiguous. If using
    --infer-ambiguous the previous behavior will be maintained in which tips with N will have
    their nucleotide state inferred. If using --keep-ambiguous, these tips will be left as N.
    With this upgrade, we are still defaulting to --infer-ambiguous, however, we plan to swap
    default to --keep-ambiguous in the future. If this distintion matters to you, we would suggest
    that you explicitly record --keep-ambiguous / --infer-ambiguous in your build process.
    Also part of PR 431
  • traits: Allow input of --weights which references a .tsv file in the following format:
    division	Hubei	10.0
    division	Jiangxi	1.0
    division	Chongqing	1.0
    
    where these weights represent equilibrium frequencies in the CTMC transition model. We imagine the
    primary use of user-specified weights to correct for strong sampling biases in available data.
    See PR 443

Bug fixes

  • Improvements to make shell scripts run more easily on Windows.
    See PR 437

6.2.0

13 Feb 23:40
Compare
Choose a tag to compare

Features

  • refine: Include --divergence-units option to distinguish between mutations
    and mutations-per-site. Keep mutations-per-site as default behavior.
    See PR 435

Bug fixes

  • utils: Support v2 auspice JSONs in json_to_tree utility function.
    See PR 432

6.1.1 (17 December 2019)

Bug fixes

  • frequencies: Fix bug in string matching for weighted frequencies introduced in
    v6.1.0. See PR 426.

6.1.1

17 Dec 19:22
Compare
Choose a tag to compare

6.1.1 (17 December 2019)

Bug fixes

  • frequencies: Fix bug in string matching for weighted frequencies introduced in
    v6.1.0. See PR 426.

6.1.0

17 Dec 19:21
Compare
Choose a tag to compare

6.1.0 (13 December 2019)

Features

  • export: Include --description option to pass in a Markdown file with dataset
    description. This is displays in Auspice in the footer. For rationale,
    see Auspice issue 707 and
    for Augur changes see PR 423.

Bug fixes

  • frequencies: Fix weighted frequencies when weight keys are unrepresented.
    See PR 420.