Skip to content

Releases: phylo42/IPK

v0.5.1

07 May 16:11
Compare
Choose a tag to compare

This release fixes the problem of IPK 0.5.0 being incompatible with EPIK 0.2.0.

  • Fixed #31: v0.5.0 databases are incompatible with latest EPIK (v0.2.0)
  • Fixed #30: setting a working directory as '.' throws a boost error
  • Fixed #9: Missing include

v0.5.0

16 Oct 09:34
Compare
Choose a tag to compare

This is the first version intended to use with EPIK v0.2.0, in which phylo-k-mer filtering happens on the side of EPIK while loading the database.

  • Changed the serialization protocol to sort databases by MI
  • The functionality for the option --mu moved to EPIK
  • Implemented a second database build algorithm: --on-disk for external merge and filtering
  • AR parsers are now on-demand and memory-frugal

v0.4.0

14 Mar 12:56
Compare
Choose a tag to compare
  • The project has been renamed to IPK
  • Serialization and main data structures moved to a separate repository (I2L), changed namespaces
  • Added reference tree indexing to speed up phylogenetic placement
  • Changes in the serialization protocol
  • Added a progress bar, improved logging
  • Added documentation

v0.3.1

11 Apr 10:21
Compare
Choose a tag to compare
  • Fixed a bug that sometimes lead to scores of phylo-k-mers to be lower than expected
  • Added --uncompressed flag (disables ZLIB compression of databases)
  • Relaxed restrictions on the value of k (now 31 for DNA and 13 for proteins)
  • --ar-dir now supports the results of RAxML-ng
  • Fixed a crash happened for extremely high values of omega
  • Minor changes of the python wrapper

v0.3.0

04 Mar 09:03
Compare
Choose a tag to compare

XPAS BUILD:

  • Database construction code moved to xpas.
  • Implemented missing parts of RAPPAS: tree extension and ancestral reconstruction
  • Implemented batched filtering (external merge) with a constant number of batches.
  • Implemented MIF0 and MIF1 phylo k-mer filtering.
  • Refactored k-mer filtering code for more congruency
  • Implemented the chaining window optimization for the divide-and-conquer algorithm

XPAS LIBRARY:

  • xpas::phylo_node reworked, some methods are public now.
  • xpas_utils has gone and now is a part of xpas. All <utils/io/X.h> are now <xpas/X.h>
  • Added a preorder iterator for xpas::phylo_node. visit_subtree now has a template argument Iterator,
    which can be either post- or preorder_tree_iterator. It is now const post-order iteration by default.
  • Changed the serialization protocol. It now uses zlib compression by default. Deserialization tries to
    decompress the file first, and tries to load the DB uncompressed in the case of error.

v0.2.0

03 Mar 14:13
Compare
Choose a tag to compare
  • Supported proteins. xpas has to be compiled separately for DNA and proteins. It now has three main targets:
    xpas_dna (for DNA), xpas_aa (for proteins), and xpas_aa_pos (phylo k-mers for proteins, where every k-mer
    stores its position in the reference alignment).
  • Reworked the serialization protocol. Now there are three versions for databases built by different versions of xpas.
    Backward compatibility preserved (0.2.0 can load databases created by older versions)
  • Improved Github Actions, added MacOS builds
  • Added xpas::is_gap, xpas::is_ambiguous
  • Improved compatibility with old CMake
  • Fixed issues prevented xpas being compilable on MacOS.

v0.1.8c

26 Feb 09:42
Compare
Choose a tag to compare
v0.1.8c Pre-release
Pre-release
v0.1.8c

v0.1.8

26 Feb 09:43
Compare
Choose a tag to compare
  • Renamed the library and the namespace to xpas
  • Changing submodule remotes to https for public releases
  • Added an alpha version of the python binding, pyxpas (not ready for production use)
  • xpas::io::read_fasta is now batched
  • xpas::phylo_tree and the newick parser are reworked. Added xpas::visit_subtree for iteration over a phylogenetic subtree
  • Added Github Actions integration
  • Update examples and tests

v0.1.7

26 Feb 09:43
Compare
Choose a tag to compare
  • Fixed a bug in core::to_kmers<one_ambiguity_policy> which lead to encoding ambiguous k-mer incorrectly
  • Updated examples

v0.1.6

26 Feb 09:44
Compare
Choose a tag to compare
  • core::to_kmers and core::encode now have ambiguity policy. The old behaviour implemented in the core::no_ambiguity_policy
  • Implemented core::one_ambiguity_policy which allows one ambiguous base pair per k-mer
  • With the core::one_ambiguity policy enabled, core::to_kmers now returns another type
  • Added rappas::io::clean_sequence to filter gaps in the sequence (requires copying of the input string)
  • core::score_threshold is not log10 anymore
  • Updated examples