Changelog#
Version 2.0.0#
physquirrel 2.0 is a major release with a new architecture, new data types, and several algorithmic improvements.
Breaking changes
All core datatypes (phylogenetic networks, splits, quartets, distance matrices, MSAs) are now provided by phylozoo. The previous self-contained implementations have been removed.
QuarnetSetclass removed; replaced bySqQuartetProfileSet.Runtime dependencies changed:
matplotlibandscipyremoved;phylozoo(≥ 0.1.2) andnumba(≥ 0.56) added.The
[viz]optional dependency now relies on PhyloZoo’s plotting utilities (physquirrel[viz]).
New data types
SqQuartetProfile— extends PhyloZoo’sQuartetProfile; holds 1–2 resolved quartets and an optionalreticulation_leaffor 4-cycle profiles.SqQuartetProfileSet— collection ofSqQuartetProfileobjects, one per 4-leaf subset, with optional per-profile weights.
New I/O formats
.psq(JSON) — lossless, compact serialization viato_psq()/from_psq().Profile list (plain text) — human-readable
SQ/4Cformat viato_profile_list()/from_profile_list().
New algorithms
quartet_distance_with_partition()— weighted quartet distance between a profile set and a partition, used internally in cycle resolution.split_support()— refactored to correctly handle cycle profiles when scoring candidate splits.
Algorithmic improvements
New
representative_modeparameter insquirrel()('best'or'average'):'best'(default) — elects a plurality quarnet per 4-tuple of partition sets, matching v1 behaviour.'average'— averages rho-distances across all representative leaf-partitions for a fuller use of the empirical signal.
Weighted profile support: profiles can carry per-profile confidence weights that propagate into cycle resolution and scoring.
Parallel execution via
ParallelConfig; supports both threading and multiprocessing backends.JIT-accelerated Held-Karp TSP solver via numba (replaces scipy).
Other
Full Sphinx documentation with API reference, manual, quickstart, and installation guide.
Comprehensive test suite: 242 tests including integration tests on HIV-1, alignments.
Version 1.0.7#
Last release of the v1.x series.