Skip to content

Releases: pangenome/odgi

odgi 0.7.1 - Pasticcione

13 Apr 17:12
Compare
Choose a tag to compare

Buildable Source Tarball: odgi-v0.7.1.tar.gz

This introduces:

  • updates in how odgi is compiled/built to ensure greater inter-system compatibility;
  • tweaks to odgi heaps.

odgi 0.7.0 - Presente

24 Mar 12:47
Compare
Choose a tag to compare

Buildable Source Tarball: odgi-v0.7.0.tar.gz

This release introduces:

  • new odgi pav command, to identify present/absence variants (PAVs);
  • new odgi heaps command, to extract a matrix of path pangenome coverage permutations for power-law regression;
  • odgi untangle and odgi tips improvements and bug fixes;
  • usage of sampled step index which uses less memory;
  • several compiler optimizations to make a binary a little bit faster and much smaller
  • documentation improvements (new tutorial 'Identify presence/absence variants').

odgi 0.6.3 - Pulizia

18 Nov 08:17
Compare
Choose a tag to compare

Buildable Source Tarball: odgi-v0.6.3.tar.gz

This release introduces:

  • odgi untangle improvements, allowing users to set a maximum self depth for untangling;
  • fixed odgi untangle PAF output;
  • fixed rare rendering bugs in odgi viz;
  • added path Jaccard concept to odgi position;
  • odgi positon takes GFF files in input to create annotation TSV files for bandage;
  • error message improvements when the input graph is missing;
  • odgi explode can emit the outputs in GFA format directly;
  • odgi view doesn't emit annotations by default (to reduce GFA output file size);
  • fixed a bug in odgi degree;
  • removed duplicated code and functionalities;
  • gfakluge module update;
  • binary tests;
  • documentation improvements (new tutorial 'Untangling the pangenome').

odgi 0.6.2 - Auff

15 Sep 07:27
Compare
Choose a tag to compare

Buildable Source Tarball: odgi-v0.6.2.tar.gz

This release includes the fix for two related bugs, allowing users to work with subgraphs and/or graphs obtained from pipelines other than pggb:

  • an important fix in apply_ordering: before the method was leaving one attribute of the odgi object inconsistent with the rest, making it impossible to optimize graphs correctly;
  • fixed in odgi extract wrong memory accesses where they shouldn't happen.

Moreover, odgi extract was a bit generalized by relaxing the constraint of the input graphs and allowing to extract subgraphs from subgraphs.

odgi 0.6.1 - Froggi

04 Sep 11:04
Compare
Choose a tag to compare

Buildable Source Tarball: odgi-v0.6.1.tar.gz

This release includes:

  • new command:

    • odgi tips: identifying breakpoint positions relative to given query (reference) path(s) of all the tips in the graph or of tips of the given path(s);
  • commands support both GFA and ODGI formats as input, automatically managing the GFA to ODGI conversion;

  • an important bug has been fixed, which was preventing the use of graphs obtained with other tools or whose node IDs did not start from 1;

  • fixed a bug in odgi viz which resulted in hanging when applied on large pangenome graphs

  • fixed a bug in odgi extract which resulted in extracting not requested path ranges;

  • optimizations in odgi build and extract;

  • bug fixes and improvements in odgi untangle:

    • now it scales to whole chromosomes;
    • it can emit self-depth information;
    • it supports output in PAF format;
  • odgi viz supports colorbrewer palettes to display coverage information;

  • odgi stats can emit output in YAML format;

  • odgi paths can emit 'chr', 'start', 'end' information;

  • odgi viz, depth, degree, and stats can work with not optimized, but compacted graphs;

  • code cleaning;

  • improved command overview and documentation.

odgi 0.6 - Domani

16 Jun 09:51
82dabe9
Compare
Choose a tag to compare

Buildable Source Tarball: odgi-0.6.tar.gz

This release includes:

  • new commands:
    • odgi position: find, translate, and liftover graph and path positions between graphs;
    • odgi extract: extract subgraphs or parts of a graph defined by query criteria;
    • odgi explode: breaks a graph into connected components storing each component in its own file;
    • odgi squeeze: squeezes multiple graphs into the same file;
    • odgi depth: find the depth of a graph as defined by query criteria;
    • odgi degree: describe the graph in terms of node degree;
    • odgi validate: validate a graph checking if the paths are consistent with the graph topology;
    • odgi overlap: find the paths touched by given input paths.
  • bug fixes and performance improvements in several commands (odgi unchop included). The focus was on parallelization to scale on gigabase-scale pangenome graphs.
  • the documentation has been given a major overhaul, including detailed tutorials for different biological application cases. The Docs are hosted permanently at https://odgi.readthedocs.io/en/latest/index.html.
  • uniformed and beautified command-line options. All options are now organized in groups and mandatory arguments are highlighted.
  • usage of jemalloc as a new memory allocator to tackle memory fragmentation and support scalable concurrency.
  • odgi bin can emit output formatted for HaploBlocker.
  • new statistics in odgi stats (separated connected components, self-loop, nondeterministic-edges).
  • new layout initialization in odgi layout.

odgi 0.5.1 - Phoenix

13 Jan 13:10
4e646d3
Compare
Choose a tag to compare

Buildable Source Tarball: odgi-v0.5.1.tar.gz

This addresses the remaining lingering memory access issues that prevented odgi to run properly. This include important updates in the mmmultimap dependency.

The memory problems became clear by running odgi under electric fence (-lefence) to check memory access and allocation correctness. The problems were tackled using AddressSanitizer and LeakSanitizer.

fastify everything

17 Dec 18:41
@ekg ekg
a33c73a
Compare
Choose a tag to compare

This updates odgi's node_t objects to store edges and path steps in DYNAMIC hacked_vectors (bit-packed vectors), and adds an encoder to reduce the bitwidth of the path step vector (as in the dynamic GBWT).

Paths can be added and manipulated in parallel. Locking is provided by atomic flags on each node and the path metadata objects. The path metadata is accessed through lock free maps keyed by string and integer. This allows us to build graphs from GFA in parallel. The graph is no longer copyable due to its inclusion of these atomic primitives.

The apply_ordering function, long a thorn in the side of odgi, is rewritten so that each stage of the rewrite occurs in parallel. Relativistic updates to the node path encoding can be applied in parallel, efficiently. This reduces a major single-threaded runtime bottleneck when manipulating graphs with the odgi toolkit.

The odgi serialized format is not compatible with previous versions. The magic number in the file has been changed to reflect this.

back to old ABI

26 Apr 06:30
@ekg ekg
Compare
Choose a tag to compare

Testing demonstrated that there was not a significant improvement when using the updated version of the ABI in v0.4, so this drops us back to the previous ABI. Sorry for the noise.

edgy

25 Apr 15:27
@ekg ekg
965174b
Compare
Choose a tag to compare

This moves edges into their own dyn::hacked_vector, and puts the node sequence in its own string. This seems to cost a bit in memory (~10-15%) but makes it much faster to build odgi.

A point release is necessary because this breaks ABI compatibility with previous odgi files.