Recent Releases of phylo2vec
phylo2vec - v1.4.0
New Features
- Introduced simple model registration and listing for optimization schemes. #72
- Added benchmarks for base matrix operations. #79
- Implemented variance-covariance (vcov) and precision matrix support; moved float operations to f64. #86
- Added functions for working with incidence matrices. #89
- Introduced an optimized O(n) implementation of order_cherries using parental indices. #94
- Added a simple CLI interface for the Python API. #96
- Reintroduced the unrooted argument for cophenetic distances. #98
🛠️ Improvements & Refactoring * Major revamp of the Rust core to improve performance and structure. #82 * Improved handling of edge cases for leaf sampling. #95
Dependency updates and CI maintenance: * prefix-dev/setup-pixi bumped from 0.8.8 to 0.8.14. #77, #92, #93
What's Changed
- Add simple model registration/listing for optimisation schemes by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/72
- docs: update README and fig1 in joss draft by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/73
- docs(paper): update features paragraph by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/74
- docs(paper): proof-reading JOSS paper make summary less jargon-y, ensure wordcount < 1000 by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/75
- paper: fix dois and affiliations by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/76
- build(deps): bump prefix-dev/setup-pixi from 0.8.8 to 0.8.10 in the actions group by @dependabot[bot] in https://github.com/sbhattlab/phylo2vec/pull/77
- feat: add benchmarks for base matrix operations by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/79
- chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/sbhattlab/phylo2vec/pull/78
- Revamp rust core by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/82
- feat: vcov and precision matrices + move float ops to f64 by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/86
- feat: add incidence matrix functions by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/89
- Cleaning by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/90
- chore: update pre-commit hooks by @pre-commit-ci[bot] in https://github.com/sbhattlab/phylo2vec/pull/91
- build(deps): bump prefix-dev/setup-pixi from 0.8.10 to 0.8.11 in the actions group by @dependabot[bot] in https://github.com/sbhattlab/phylo2vec/pull/92
- build(deps): bump prefix-dev/setup-pixi from 0.8.11 to 0.8.14 in the actions group by @dependabot[bot] in https://github.com/sbhattlab/phylo2vec/pull/93
- feat: O(n) order_cherries using parental indices by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/94
- refactor: handle n_leaves edge cases for sampling by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/95
- feat: add a simple CLI for the python API by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/96
- feat: re-add 'unrooted' argument to cophenetic distances by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/98
- chore: bump versions + cleaning by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/99
Full Changelog: https://github.com/sbhattlab/phylo2vec/compare/v1.3.1...v1.4.0
- Rust
Published by Neclow 7 months ago
phylo2vec - v1.3.1
What's Changed
- Add minimum working example of beagle likelihood calculation from a phylo2vec matrix
- Fix optimisation and Queue Shuffle by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/71
Full Changelog: https://github.com/sbhattlab/phylo2vec/compare/v1.3.0...v1.3.1
- Rust
Published by Neclow 9 months ago
phylo2vec - v1.3.0
Python:
* fixes: fixed input in pairwise_distances (+ added more tests)
* feat: add GradME optimisation + dataclass for optimisation results, rerooting function (still based on ete3)
R: * fixes: make binary installation work with non-latest Ubuntu versions
Rust:
* feat: get_common_ancestor (most recent common ancestor between two nodes), queue_shuffle (to reorder vectors, see GradME paper)
docs: * Udemos and paper with new matrix formulation
What's Changed
- docs: update demo and fix matrix input in pairwise_distances by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/55
- CD (R): make binary installation work with other Ubuntu versions (non-latest) by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/56
- test(python): add functional test for pairwise_distances + minor change in demo by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/57
- docs: update paper with new matrix formulation + add explainer in demo by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/58
- feat(rust): move python's common ancestor to Rust + make available to R by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/59
- refactor(reorderv): move queue shuffle to core, remove _reorderbfs from py by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/60
- refactor: rename 'shuffle' argument in QS by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/61
- refactor(opt): update optimisation classes by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/62
- feat(py): add reroot function for a vector (ete3-based) by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/63
- refactor(py): simplify hc optimization; make an opt result dataclass by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/64
- feat(py): add GradME optimization in opt by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/65
Full Changelog: https://github.com/sbhattlab/phylo2vec/compare/v1.2.0...v1.3.0
- Rust
Published by Neclow 9 months ago
phylo2vec - v1.2.0
1.2.0
New Features
- Added cophenetic distances from matrix format
- Added all missing components for the R package
- Conversion from v to "pairs" object and vice versa
Improvements & Refactoring
- Rust:
- Unified newick → matrix conversion
- Make matrix formulation bijective
- Moved label_mapping functions from Python to Rust + make them more robust
- Simplified get_cherries functions
- Ensured consistent output in order_cherries functions
- Python
- Improved IO validation and added more tests
- R:
- Fix rextendr installation in the R in the CD workflow (install it as a non-CRAN package)
What's Changed
- refactor: unify newick --> matrix conversion in rust and tests in python by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/32
- feat: cophenetic distances from matrix format by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/34
- From pairs (and a bit of cleaning) by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/35
- chore: bump python version by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/36
- Vector for r by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/37
- refactor: consistent output in order_cherries functions by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/38
- fix(rust): make matrix formulation bijective by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/41
- feat(r): add all base+utils in components for the R package by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/43
- refactor: move label_mapping functions to rust and make them more robust by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/44
- refactor(rust): simplify get cherries by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/45
- feat(r): add IO ops for R (+ minor touch to py reader) by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/47
- Fix CD pipeline for R by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/54
- refactor(python): simplify io validation + add more tests by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/46
Full Changelog: https://github.com/sbhattlab/phylo2vec/compare/v1.1.1...v1.2.0
- Rust
Published by Neclow 9 months ago
phylo2vec - v1.1.1
Minor patch to fix edge conversion and add more tests for conversion from Phylo2Vec vectors to other objects (edges, ancestry).
What's Changed
- fix: exclude joss from pre-commit CI by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/28
- chore: update names in paper/readme/citation by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/30
- fix/py-phylo2vec: rust binding call in to_edges by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/31
Full Changelog: https://github.com/sbhattlab/phylo2vec/compare/v1.1.0...v1.1.1
- Rust
Published by Neclow 10 months ago
phylo2vec - v1.1.0
🧬 phylo2vec v1.1.0 Release
Highlights
- ➕ Added conversion from vector to edge list
- ⚡ Improved performance of Newick tree building
What's Changed
- typo in demo by @msuchard in https://github.com/sbhattlab/phylo2vec/pull/24
- feat: add conversion from v to edge list by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/25
- fix: speed-up build newick by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/27
New Contributors
- @msuchard made their first contribution in https://github.com/sbhattlab/phylo2vec/pull/24
Full Changelog: https://github.com/sbhattlab/phylo2vec/compare/v1.0.0...v1.1.0
- Rust
Published by Neclow 10 months ago
phylo2vec - v1.0.0
Phylo2Vec v1.0.0 Release 🎉
The stable release of Phylo2Vec v1.0.0 is here! This major version introduces a new Rust core with Python/R bindings, delivering performance and usability improvements.
� Core Architecture
- Rust-powered core for high-performance phylogenetic operations
- Seamless bindings for both Python and R interfaces
- Removed duplicate Python implementations in favor of optimized Rust logic (#15)
🚀 Key Features & Improvements
Performance
- 50% faster Newick tree generation with optimized
build_newick(#17) - Benchmark sample sizes increased to 10k-100k for more representative tests (#16)
Core Enhancements
- Revamped Python API for better usability (#20)
- Added new Rust core operations while removing Python duplicates (#15)
- Fixed critical recursion error in
to_matrix(#21)
Documentation
- Updated demos and examples (#10, #23)
- Improved README and CONTRIBUTING guides (#8, #14)
🛠 Maintenance & Fixes
- Removed dead code (#13)
- Fixed R's
to_newick_from_vector(#18) - Resolved Clippy warnings (#11)
What's Changed
- Release v1.0 Updates by @lsetiawan in https://github.com/sbhattlab/phylo2vec/pull/5
- chore: Perform some detailed tweaks for README by @lsetiawan in https://github.com/sbhattlab/phylo2vec/pull/8
- refactor: fix clippy warnings by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/11
- chore: remove dead code by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/13
- docs: fix links in CONTRIBUTING and add temporary README for opt by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/14
- feat: add extra core rust operations and remove python duplicates by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/15
- refactor: change benchmark sample sizes to 10k-100k by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/16
- 50% improvement on build_newick by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/17
- fix: tonewick --> tonewickfromvector in R by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/18
- Revamp python API by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/20
- fix: fix to_matrix recursion error and tests by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/21
- feat: update demos! #10 by @Neclow in https://github.com/sbhattlab/phylo2vec/pull/23
New Contributors
- @dependabot made their first contribution in https://github.com/sbhattlab/phylo2vec/pull/7
- @pre-commit-ci made their first contribution in https://github.com/sbhattlab/phylo2vec/pull/9
- @Neclow made their first contribution in https://github.com/sbhattlab/phylo2vec/pull/11
Full Changelog: https://github.com/sbhattlab/phylo2vec/compare/v0.1.12...v1.0.0
- Rust
Published by Neclow 10 months ago