- better detranslate support in tree handler
- updated project scaffolding
- handle nexus files with empty characters block (e.g. edictor)
- optionally preserve insertion order of characters with
NexusWriter
- support another taxa translation variant
Better handling of detranslate for BEAST trees.
Labelling of charstates in the recode-to-binary tool now matches the original states .
Fixed bug whereby a duplicate characters block was written by NexusReader
in case a 'data'
block was inserted as shortcut to CharacterHandler
.
Fixed bug where the wrong decorator order would prevent tree manipulation tools to work on str or Path input.
Added tree tools allowing tree manipulation using the newick.Node
objects.
Fixed performance regression in NexusWriter.add
.
Refactored nexus.tools
API, for better programmatic usability of the tools.
- test on py 3.10
- synced docs and implementation
- fixed parsing of an unusual MrBayes format treefile.
- fixed logging error in write_to_nexus()
- fix minor bug with parsing of data/characters blocks.
- Refactored cli. The package now installs a single command
nexus
, providing several subcommands. - Dropped python 2 compatibility.
- added rudimentary tree handling to
NexusWriter
objects:>>> nex = NexusWriter() >>> nex.trees.append("tree tree1 = (a,b);")
- added the ability to combine nexuses containing trees
- fixed an issue where the bin directory wasn't packed on py2.7 (thanks @xrotwang)
- cached DataHandler's characters property to speed up.
- cached DataHandler's symbol property to speed up.
- cached DataHandler's site parser to speed up.
- fixed an install issue caused by refactoring.
- remove some over-engineered checking on the
NexusReader.DataMatrix.characters
property - major refactoring of reader.py into a
handlers
subpackage NexusReader.read_string
now returns self, such that it can be used as a factory-style method.- added rudimentary support for taxon annotations in taxa blocks.
- the character block format string
symbols
generated byNexusReader.write()
no longer includes missing or gap symbols. - fix parsing glitch in NexusReader.DataHandler.parse_format_line.
characters
anddata
block now retain their character labels inNexusReader
- work around a minor bug in BEAST2 (CompEvol/beast2#713)
characters
block is now added ascharacters
and not invisibly renamed todata
.
minor fix to remove a stray debugging print statement
minor fix to remove a stray debugging print statement
major speed enhancement in NexusReader -- a 2 order of magnitude decrease in reading most nexus data blocks.
fixed nexus_nexusmanip.py utility to handle multiple arguments, and to delete arbitrary sites.
fixed parsing of malformed taxa blocks.
fixed bug in taxa labels parser when taxa are listed on one line.