Releases: pangenome/odgi
odgi 0.7.1 - Pasticcione
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
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
andodgi 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
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 forbandage
;- 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
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 theodgi
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
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
andextract
; -
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 inYAML
format; -
odgi paths
can emit 'chr', 'start', 'end' information; -
odgi viz
,depth
,degree
, andstats
can work with not optimized, but compacted graphs; -
code cleaning;
-
improved command overview and documentation.
odgi 0.6 - Domani
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
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
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
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
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.