- Fixed bug whereby charstate labels with illegal tokens were incorrectly read.
- Fixed bug whereby the last charstate label was never detected as duplicate.
- Fixed support for writing comments.
- Support renaming taxa when normalising NEXUS.
- Support writing NEXUS which is "more compatible" with some R packages.
- Add Python 3.12 to supported versions.
Allow adding a comment to blocks created from data.
- Fixed bug whereby the correct precedence of taxa labels was not obeyed when translating trees.
tools.normalise.normalise
now accepts aremove_taxa
argument, making it easy to remove taxa from a NEXUS file in a consistent way.
- Make NEXUS content created by
commonnexus
simpler to parse and thuscommonnexus normalise
more useful as a tool to prepare NEXUS input for other tools.
- Dropped py3.7 compatibility.
- Allow unquoted content for SYMBOLS sub-command of FORMAT.
- Warn (or raise Error) when duplicate character names are specified for a MATRIX.
- Cache translate mappings in TREES block to speedup translation of multiple trees.
- API: Added
Tree.newick_string
property.
- Fixed bug where the Nexus.cfg was not consulted when reading CHARACTERS MATRIX.
- Keep state labels when normalising a NEXUS CHARACTERS block.
- Better support for Morphbank-style references in NOTES.
- CLI: Support dropping characters by number.
- CLI: Support batch-renaming taxa via lambda function.
- CLI: Added
split
command to split Mesquite's multi-block NEXUS. - CLI: Added
taxa --describe
option, which is particularly useful with Morphobank NEXUS. - CLI: Added
trees --rename
option. - CLI Backwards incompatibility:
characters --multistatise
now requires an argument for the--multistatise
option.
First, feature-complete release.