Releases: nextstrain/augur
22.1.0
These release notes are automatically extracted from the full changelog.
Features
- export, frequencies, refine, traits: Add a new flag
--metadata-id-columnsto 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-dateswas always applied, with a default of--fix-dates=monthfirst. Now, running without--fix-dateswill leave dates as-is. #1247 (@victorlin) augur.io.open_file: Previously, the docs described a type restriction onpath_or_bufferbut 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
--metadataand--sequencesare 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
strandattribute of gene annotations. Previously, features on the negative strand were not annotated as such since the code assumed that thestrandattribute was boolean instead of[-1, +1]. #1211 @rneher and @j23414. - augur.io.read_metadata: explicitly set
datecolumn asstringtype 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_datawas 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
--metadatawere 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-delimitersflag. #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 newdelimiterskeyword argument, which defaults to,and\t. #812 (@victorlin)- refine: The seeding method for
--seedhas been updated. This affects usages that rely on the reproducibility of outputs with the same--seedvalue 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-gffto >=0.7.0 and allowBiopython>=1.81 again. We had to introduce theBiopythonconstraint in v21.0.1 (see #1152) due tobcbio-gff<0.7.0 relying on the removedBiopythonfeatureUnknownSeq. #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-delimitersflag. #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-iterto 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-resolveand--stochastic-resolveto 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-polytomiesflag.
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-boundswas ignored in versions 9.0.0 through 20.0.0. It now works. #1136 (@victorlin) - tree: Input alignment filenames which do not end in
.fastaare now properly handled when using IQ-TREE. Previously their contents were overwritten first byaugur treeitself (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 translateis not broken by a deprecation ofUnknownSeqin 1.81. When runningaugur translatewith 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
--thresholdsoption. This change is backwards compatible with previous uses of the--thresholdoption. 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)
20.0.0
Major Changes
- frequencies: Changes the logic for calculating the time points when frequencies are estimated to ensure that the user-provided "end date" is always included. This change in the behavior of the frequencies command fixes a bug where large intervals between time points (e.g., 3 months) could cause recent data to be omitted from frequency calculations. See the pull request for more details included the scientific implications of this bug. #1121 (@huddlej)
19.3.0
Features
- titers: Support parsing of thresholded values (e.g., "<80" or ">2560"). #1118 (@huddlej)
- tree: Support bootstrapped trees generated with RAxML via user-provided
--tree-builder-args. #1127 (@tsibley)
Bug Fixes
- utils: Serialize common numpy data types in
write_json. #1119 (@victorlin) - filter: Standardize exit codes from internal error handling. #931 (@victorlin)
- tree: Suppress the
Cannot specify --substitution-model unless using IQTreewarning when--substitution-modelis left at its default. #1127 (@tsibley) - tree: Print the underlying error message when tree building fails. #1127 (@tsibley)
- Previously,
numpyandscipywere installed as dependencies of dependencies. Mark them as direct dependencies since they are used directly within Augur. #1120 (@victorlin)