Skip to content

Releases: ratschlab/metagraph

Version 0.3.6

30 Aug 16:14
85428ee
Compare
Choose a tag to compare

This update contains mostly reliability improvements.

Important: Besides that, it implements a new compression for the index of suffix ranges. The de Bruijn graphs constructed with older versions of MetaGraph have to be reindexed with metagraph transform -o graph_updated graph.dbg -v -p <NUM_THREADS>

What's Changed

  • detect max number of open files and limit num chunks merged by @karasikov in #411
  • Server now reports the max score for a query sequence by @hmusta in #414
  • Use 1 file per EliasFano stream for faster construction with fewer open files by @karasikov in #415
  • retry on failed write in sdsl::int_vector_buffer by @karasikov in #422
  • Retry on failed read by @karasikov in #429
  • Discard edges to dummy nodes in GFA assembly by @hmusta in #428
  • Workaround for bug in g++-8.2 by @hmusta in #425
  • Compress node ranges index (=> index longer suffixes with less memory overhead) by @karasikov in #417
  • Various improvements and fixes in annotations by @karasikov in #423

Full Changelog: v0.3.5...v0.3.6

Version 0.3.5

21 Jun 20:35
cc3b707
Compare
Choose a tag to compare

What's Changed

  • Alignment to labeled subgraphs and counting DBGs
  • Other improvements and fixes in alignment algorithms (chaining, seeding, etc.)
  • Reduce memory usage in seed generation, seed extension improvements
  • allow renaming labels in arbitrary annotations
  • support annotating coordinates with disk swap
  • improved usage help description for flags
  • updated external libraries to support compiling with AppleClang 13.1.6

Full Changelog: v0.3.4...v0.3.5

Version 0.3.4

07 Feb 00:19
Compare
Choose a tag to compare

What's Changed

  • Query expressions (counts) in labels for individual k-mers in query
  • Updated the MetaGraph API package
  • more docs
  • Support printing version of the binary
  • Also pre-compile binaries without AVX2 and MSSE4.2

Full Changelog: v0.3.3...v0.3.4


The pre-compiled binaries (only for Linux) are statically linked and hence don't require additional libraries to be installed.
The *_noAVX binaries are compiled without the modern AVX2 and MSSE4.2 instructions and should be used on older processors in case normal binaries cannot be run.

Version 0.3.3

11 Jan 13:20
Compare
Choose a tag to compare

What's Changed

  • API support for count/coord indexes, parallel search in multiple indexes
  • hide some rarely used flags from default help messages in CLI
  • output counts for aggregated columns
  • refactoring and cleanups in row diff annotations
  • fixed default user permissions in docker containers (now does not require changing permissions or resetting the user)
  • more docs

New Contributors

Full Changelog: v0.3.2...v0.3.3

Version 0.3.2

16 Dec 10:47
ce96cef
Compare
Choose a tag to compare

What's Changed

  • Differential assembly refactoring
  • Support differential assembly on canonical and primary graphs
  • Column aggregation with k-mer filtering based on counts (currently only for ColumnCompressed formats)
  • In-place graph initialization and serialization for lower memory usage
  • Graph construction reliability improvements
  • Other fixes and cleanups
  • Updates in docs

Full Changelog: v0.3.1...v0.3.2

Version 0.3.1

08 Nov 13:31
cc68a17
Compare
Choose a tag to compare
  • Fixed alignment behavior with flag --fwd-and-reverse (align both strands independently and report their results separately)

Version 0.3.0

06 Nov 14:53
Compare
Choose a tag to compare

Major updates since v0.2.0

  • Count annotations: represent k-mer counts, encode abundances or gene expression

    • query count annotation in #309
    • delta-coding of k-mer count annotations in #315
    • query k-mer count quantiles in #331
  • Coordinate annotations: represent k-mer coordinates (all occurrences in the source) in multi-integer annotations (=> lossless indexing of sequences, encoding of sequence traces)

Other new features:

  • window smoothing of k-mer counts within unitigs in #316
  • print histogram of k-mer weights (counts) in #351
  • new query parameter: filter results by the number of k-mers matched to the joint graph in #339
  • skeleton for taxonomic classification in #343 and #346

Enhancements:

  • Alignment refactor and rewrite in #333
  • Chain local alignments to improve accuracy of long read alignment in #335
  • optimized storage of labels in batch annotator (=> faster queries, reduced RAM) in #350
  • improvements in column aggregation in #314
  • support row-diff transform in memory without disk swap in #342
  • parallel transforms for changing graph state (e.g., small->stat) in #312
  • serialize node weights immediately when building graph (=> reduced RAM) in #317
  • improved parallelization of annotating sequence batches in #322
  • bit_vector_sd::conditional_rank1 for faster DBGBitmap::map_to_nodes in #323
  • various other tweaks and cleanups
  • sphinx documentation

Deployment:

Full Changelog: v0.2.0...v0.3.0

Version 0.2.0

10 Apr 18:38
Compare
Choose a tag to compare
  • Streamlined and simplified annotation conversions
    • simplifications and improvements in CLI
    • always save linkage matrix generated for Multi-BRWT
  • RowDiff 2.0
    • better anchor assignment (nodes with negative size reduction are anchored first, then additional anchors are assigned to satisfy the constraints)
    • support optimized routing at forks
    • changed the construction flow and improved CLI
  • Adaptive subsampling with 64-bit indexes for managing larger ranges in very sparse columns
  • Support for column intersection (build a new column as AND/OR/%-threshold from input columns)
  • Other fixes and optimizations

First release on conda and docker

03 Mar 15:18
0c88d4b
Compare
Choose a tag to compare
Feature/cleanup dockerfiles (#299)

* creating multi stage dockerfile, adjusting Makefile accordingly

* properly including ccache also in docker containers

* updating top level README with docker related things