Releases: nextstrain/augur
22.3.0
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 toaugur 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 theannotation
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 specifiedroot-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 forvcf
input via--vcf-reference
. #1258 (@rneher) - refine: add
mid_point
as rooting option torefine
. #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
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 sameexport v2
bug that was fixed in this release. Instead of fixing it inexport 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
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 inaugur 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 onpath_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
These release notes are automatically extracted from the full changelog.
Bug fixes
- utils: Serialize pandas Series in
write_json
. #1213 (@victorlin)
22.0.2
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 thestrand
attribute was boolean instead of[-1, +1]
. #1211 @rneher and @j23414. - augur.io.read_metadata: explicitly set
date
column asstring
type to prevent year only dates from being inferred as integers. #1235 (@joverlee521)
22.0.1
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
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 newdelimiters
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 allowBiopython
>=1.81 again. We had to introduce theBiopython
constraint in v21.0.1 (see #1152) due tobcbio-gff
<0.7.0 relying on the removedBiopython
featureUnknownSeq
. #1178 (@corneliusroemer) augur.io.read_metadata
(used by export, filter, frequencies, refine, and traits): Previously, this used the Python parser engine forpandas.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 byaugur 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
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
Bug fixes
- Constrain Biopython version to <=1.80 so that
augur translate
is not broken by a deprecation ofUnknownSeq
in 1.81. When runningaugur translate
with Biopython 1.81, the user will receive an error starting withERROR: Package BCBio.GFF not found!
and ending withTypeError: object of type 'NoneType' has no len()
. #1152 (@corneliusroemer)
21.0.0
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)