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

phylo2vec - v0.1.12

This release reflects the current latest release of phylo2vec version 0.1.12: https://pypi.org/project/phylo2vec/0.1.12/

Full Changelog: https://github.com/sbhattlab/phylo2vec/commits/v0.1.12

- Rust
Published by lsetiawan 11 months ago