Changelog#
Version 2.0.1#
Bug fixes
Reconstructed networks no longer carry placeholder inheritance probabilities. Reticulation edges were previously assigned a hardcoded
gamma=0.5, which was written to eNewick output even though Squirrel does not estimate gammas.
Other
New physquirrel logo in the documentation and README.
Fixed the license badge in the README.
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.