Releases: jonchang/tact
v0.8.0
- Docker images are now built for ARM using native runners (#380).
- The SciPy-based optimizer has been restored due to poor optimization performance (#382).
- The minimum required version of Python is now 3.11 (#381).
- Various documentation improvements and dependency updates (NumPy, SciPy, urllib3, GitHub Actions).
v0.7.0
- TACT has migrated to using a pure-Python optimizer (pyprima, #379). This removes the dependency on SciPy and should make it much easier to use TACT when the Docker installation method is not available. Our benchmarking shows that the speed and accuracy is comparable to the existing L-BFGS-B and simulated annealing optimizers.
- Homebrew is no longer a supported installation method for TACT.
- Various internal improvements and dependency updates.
v0.6.0
v0.5.0
- TACT has a new documentation website, available at tact.jonathanchang.org.
- Adds an experimental command,
tact_add_config. This uses a configuration-based approach to specify nodes of interest where unsampled species will be placed. This feature is currently undocumented and is expected to have many bugs. - Adds a
--versionoption to most commands. - Uses a new interval bounds checker to ensure that the union of all possible age constraints on a clade is itself an atomic (single) interval, rather than a disjunction of multiple such intervals.
- Checks for a valid taxonomy tree are moved from
tact_build_taxonomic_treetotact_add_taxa, ensuring that taxonomic trees generated outside of TACT can still be appropriately validated. - Drops support for Python 3.7.
- Adds support for Python 3.11.
- Updates NumPy to 1.24.
- Updates SciPy to 1.10.
- Updates DendroPy to 4.6.
- Updates the version of PyPy in the Docker image to use Python 3.9.
v0.4.1
v0.4.0
This minor release of TACT drops support for Python 3.6 (as the latest versions of numpy and scipy have also dropped Python 3.6 support) and introduces the --ultrametricity-precision option to control the precision of ultrametricity checks. The algorithm is similar to the is.ultrametric function in the R package ape. Note that node ages will be normalized be slightly older when the left child and right child's ages differ. See DendroPy's documentation of is_force_max_age for details.
v0.3.4
This release introduces a new dual-optimizer algorithm, which uses simulated annealing to estimate diversification rates when the standard optimizer fails. This should address optimization problems that occur when estimating parameters on particularly species-rich or species-poor groups. It was inspired by prior art in hisse and treePL.
- full python 3.9 support since scipy now has cp39 wheels
- skip trying to estimate rates for cherries as this never worked to begin with and would always use the ancestor rate anyway
- better reporting of which species in the backbone are breaking desired taxonomic monophyly