Recent Releases of odgi

odgi - v0.9.3

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

What's Changed

  • Add header to output for sample counts in stats command by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/608
  • added checks for apple sillicon and cmake4.0+ version by @hlakshmidevi10 in https://github.com/pangenome/odgi/pull/612
  • odgi similarity: a bit more parallelization for deep graphs by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/614

New Contributors

  • @hlakshmidevi10 made their first contribution in https://github.com/pangenome/odgi/pull/612

Full Changelog: https://github.com/pangenome/odgi/compare/v0.9.2...v0.9.3

- C++
Published by AndreaGuarracino 11 months ago

odgi - v0.9.2

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

What's Changed

  • odgi similarity: Add option to emit all pairs of paths/groups in similarity computation by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/605

Full Changelog: https://github.com/pangenome/odgi/compare/v0.9.1...v0.9.2

- C++
Published by AndreaGuarracino about 1 year ago

odgi - v0.9.1

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

What's Changed

  • [Feature] Enable GPU to accelerate odgi-layout with massive speedup. Build with a flag USE_GPU by @tonyjie in https://github.com/pangenome/odgi/pull/593
  • Update README.md by @Overcraft90 in https://github.com/pangenome/odgi/pull/594
  • Update README.md by @Overcraft90 in https://github.com/pangenome/odgi/pull/595
  • odgi similarity masked by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/600
  • consider the mask when filling bp_length by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/601
  • update GitHub Actions workflow to use ubuntu-latest by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/602

New Contributors

  • @Overcraft90 made their first contribution in https://github.com/pangenome/odgi/pull/594

Full Changelog: https://github.com/pangenome/odgi/compare/v0.9.0...v0.9.1

- C++
Published by AndreaGuarracino about 1 year ago

odgi - v0.9.0

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

What's Changed

  • odgi draw: put labels on top of everything in the SVG output by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/571
  • odgi viz: longer path names by default; odgi positions: emit all positions by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/573
  • odgi stats: -S per default by @subwaystation in https://github.com/pangenome/odgi/pull/578
  • Include STL so stepsofhandle works by @dpryan79 in https://github.com/pangenome/odgi/pull/582
  • fix variable type to avoid wrong lengths in the untangled PAF by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/583
  • odgi flip -r/--ref-flips: flip with respect to a set of paths (used as references) by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/585
  • check the GFA while reading it by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/591

New Contributors

  • @dpryan79 made their first contribution in https://github.com/pangenome/odgi/pull/582

Full Changelog: https://github.com/pangenome/odgi/compare/v0.8.6...v0.9.0

- C++
Published by AndreaGuarracino over 1 year ago

odgi - v0.8.6

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

What's Changed

  • fix bug to avoid underflows in odgi viz by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/570

Full Changelog: https://github.com/pangenome/odgi/compare/v0.8.5...v0.8.6

- C++
Published by AndreaGuarracino about 2 years ago

odgi - v0.8.5

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

What's Changed

  • odgi stats: deactivate 1D layout metrics in MultiQC mode by @subwaystation in https://github.com/pangenome/odgi/pull/544
  • Tutorial: Sort and layout power ups. by @subwaystation in https://github.com/pangenome/odgi/pull/552
  • update version of checkout in ci by @kojix2 in https://github.com/pangenome/odgi/pull/554
  • odgi draw: fix SVG output by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/555
  • write highlights over the rasterized image by @ekg in https://github.com/pangenome/odgi/pull/547
  • write highlights over black/grey lines in SVG by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/556
  • odgi draw: add labels in the SVG output by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/557
  • odgi extract: avoid duplicated subpaths by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/559
  • odgi draw: add node sparsification factor for SVG output by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/558
  • odgi paths ... --non-reference-ranges: emit last non-ref path range, if any by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/564
  • Upgrade pybind11 to current head by @JervenBolleman in https://github.com/pangenome/odgi/pull/566
  • fix outgoing links of the last node by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/568
  • add uncalled bases to non-ref-nodes by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/569
  • odgi paths: private/core/accessory sequence classification by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/565

Full Changelog: https://github.com/pangenome/odgi/compare/v0.8.4...v0.8.5

- C++
Published by AndreaGuarracino about 2 years ago

odgi - v0.8.4

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

What's Changed

  • add conda-forge to conda installation instructions by @aryarm in https://github.com/pangenome/odgi/pull/500
  • fix odgi untangle PAF output bug by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/501
  • fix ODGI for GCC 13.1 by @subwaystation in https://github.com/pangenome/odgi/pull/507
  • Less verbose logging by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/508
  • odgi heaps: avoid missing groups by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/509
  • Fix applying_ordering by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/510
  • Add missing library by @kojix2 in https://github.com/pangenome/odgi/pull/512
  • heaps: plot down to 0 on the y-axis by @subwaystation in https://github.com/pangenome/odgi/pull/514
  • Progress in odgi pav by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/517
  • Avoid out of bound (segfault) in odgi similarity by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/520
  • odgi extract refresh: add -O/--optimize option and put -d by default by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/522
  • odgi paths: show non-reference nodes and path/step ranges by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/523
  • odgi extract: check there are no duplicated path ranges by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/525
  • odgi extract: a bit more aggressive subpath merging by default by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/528
  • odgi extract: manage input path range boundaries by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/531
  • odgi paths -H on subgraphs by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/534
  • Nix building by @ekg in https://github.com/pangenome/odgi/pull/535
  • depth: option to use unique window depths by @kdm9 in https://github.com/pangenome/odgi/pull/538
  • make svg drawing work with colors by @ekg in https://github.com/pangenome/odgi/pull/539
  • odgi paths ... --non-reference-nodes: emit also node length by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/541

New Contributors

  • @aryarm made their first contribution in https://github.com/pangenome/odgi/pull/500
  • @kojix2 made their first contribution in https://github.com/pangenome/odgi/pull/512
  • @kdm9 made their first contribution in https://github.com/pangenome/odgi/pull/538

Full Changelog: https://github.com/pangenome/odgi/compare/v0.8.3...v0.8.4

- C++
Published by AndreaGuarracino over 2 years ago

odgi - odgi 0.8.3 - Manutenuto

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

This release introduces a new command, odgi similarity, to compute the similarity (or dissimilarity) between paths or groups of paths. Moreover, it fixes and optimizes several commands. Importantly, now it is possible to compile odgi with Clang, on macOS and on ARM!

This introduces:

  • ensure that the optimal sum_of_path_node_distances is actually 1 #466 by @subwaystation
  • add yaml output for -j -w when all paths are emitted #467 by @subwaystation
  • odgi stepindex: unsampled step index #468 by @AndreaGuarracino
  • odgi untangle: verbose log #469 by @AndreaGuarracino
  • odgi tension: set the distance to 0 after each step instead of each path #470 by @tonyjie
  • fix the iteration bound: now the iter_max we set is the exact running iteration #471 by @tonyjie
  • script to generate release binaries #472 by @subwaystation
  • fix smoothxg-offending import #473 by @AndreaGuarracino
  • odgi inject: use a key that is really unique across annotations #476 by @AndreaGuarracino
  • Optimization of zeta preprocessing #480 by @nsmlzl
  • Fix versioning #482 by @AndreaGuarracino
  • odgi paths: initialize vector values #483 by @AndreaGuarracino
  • odgi flip: avoid introducing useless edges and losing edges from the original graph #485 by @AndreaGuarracino
  • odgi paths allows a specific occurrence of the delimiter #488 by @AndreaGuarracino
  • fix a bug with reference-guided PG-SGD #490 by @subwaystation
  • odgi overlap: fix header #492 by @AndreaGuarracino
  • Portability fixes to build with Clang, on macOS, and on ARM #494 by @sampsyo
  • New odgi similarity command #498 by @AndreaGuarracino

- C++
Published by AndreaGuarracino about 3 years ago

odgi - odgi 0.8.2 - Biccino

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

This introduces:

  • always emit long version format #456 by @AndreaGuarracino
  • optionally scale haplotype matrix cells by node length #457 by @ekg
  • increment progress-meter of odgi sort less frequently #458 by @nsmlzl
  • increment progress-meter of odgi layout less frequent #459, #462 by @AndreaGuarracino @nsmlzl
  • odgi extract: avoid creating subgraphs with empty subpaths #460 by @AndreaGuarracino
  • odgi prune: remove empty paths #460 by @AndreaGuarracino

- C++
Published by AndreaGuarracino over 3 years ago

odgi - odgi 0.8.1 - Piccino

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

This introduces:

  • non-binary haplotype matrix #452 by @ekg
  • typos and tweak in odgi flip by 98c139eb52ff3082e174837b58f9a94a38fdabd0 @AndreaGuarracino

- C++
Published by AndreaGuarracino over 3 years ago

odgi - odgi v0.8.0 - Nascondino

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

We introduce a new tool, odgi priv, that allows us to project differentially private synthetic pangenome graphs out of any input. We developed an initial study of differentially private pangenome graphs. Other major updates include improvement to path guided SGD sorting and layout of the graph, and enhancements to odgi extract that avoid subpath fragmentation.

This introduces (in reverse chronological order):

  • Clean interface to dropping and keeping paths in odgi paths #450 by ekg
  • Use log1p to avoid singularities in odgi priv #449 by ekg
  • Implementation of privvg differential privacy sampling algorithm in odgi priv plus documentation and manpage #448 by ekg
  • Dramatic improvement in odgi layout performance by avoiding a coordination variable bottleneck #446 by nsmlzl
  • Incredible performance boost to odgi sort by avoiding a coordination variable bottleneck #445 by nsmlzl
  • Properly manage full range extraction in odgi extract #443 by AndreaGuarracino
  • Compressed mode visualization (path depth heatmap) in odgi viz #438 by subwaystation
  • Resolve lingering issues with path manipulation that caused graph corruption via odgi flip (outstanding issue: resolve these coordination problems and allow dynamic removal of paths) #436 by ekg
  • Improve subpath extraction in odgi extract #435 by AndreaGuarracino
  • Print the number of steps in odgi stats #434 by subwaystation
  • Actually use the jaccard metric in odgi untangle #432 by ekg
  • Get the depth of graph tips in odgi depth #431 by ekg
  • Add BED annotation on top of 2D layout in odgi draw (like gfaestus) #429 by AndreaGuarracino
  • Avoid making enormous PNGs in odgi draw #422 by AndreaGuarracino
  • Error out if odgi untangle has no input cut points when an input set is given #421 by AndreaGuarracino
  • Attempt to resolve path fragmentation in odgi extract #419 by AndreaGuarracino
  • Allow direct optimization of the graph in odgi sort #418 by AndreaGuarracino
  • odgi stats add weighted_feedback_arc and weighted_reversing_join metrics #417 by AndreaGuarracino
  • removed unused code from odgi layout #416 by AndreaGuarracino
  • Correct default value for path-sgd-iter-max flag of odgi layout subcommand #413 by nsmlzl
  • odgi paths: reduce the key space of the ska::flat_hash_map #412 by AndreaGuarracino
  • CPANG22: odgi squeeze: manage edge strandness to avoid graph corruption #411 by AndreaGuarracino

- C++
Published by ekg over 3 years ago

odgi - odgi 0.7.3 - Fissaggio

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

This introduces: - fixed (and optimized) odgi flip, avoiding path metadata corruption (https://github.com/pangenome/odgi/pull/410); - fixed odgi squeeze, that now manages edge stradness correctly; - fixed odgi paths's out-of-memory problem (https://github.com/pangenome/odgi/pull/412); - documentation cleaning (https://github.com/pangenome/odgi/pull/413) - odgi layout cleaning (https://github.com/pangenome/odgi/pull/416) - odgi sort allow users only to optimize the graph, and not sort it (https://github.com/pangenome/odgi/pull/418); - added in odgi stats new sorting-goodness metrics (https://github.com/pangenome/odgi/pull/417); - odgi extract was a bit optimized and now it allows users to merge close subpaths to avoid fragmented subgraphs (https://github.com/pangenome/odgi/pull/419); - odgi untangle emits an error if there are no cut points in input (https://github.com/pangenome/odgi/pull/421); - odgi draw avoid too big images that would require too much memory (https://github.com/pangenome/odgi/pull/422);

- C++
Published by AndreaGuarracino almost 4 years ago

odgi - odgi 0.7.2 - Radler

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

This lemon beer release comes with lot's of new features and some bug fixes:

  • Fixed libbf compilation issue.
  • The stepindex throws an error if it was fed an empty path.
  • xp index: Delete all temporary files after index generation.
  • More stringent node identifier validation when parsing from GFA.
  • odgi groom: Added a reference-based mode.
  • odgi sort: rPG-SGD allows to globally sort by given references.
  • odgi untangle: We can select gene order groups for plotting with gggenes.
  • New subcommand odgi procbed: Pprocrustes-BED: Intersect and adjust BED interval into PanSN-defined path subranges. Lift BED files into graphs produced by odgi extract. Uses path range information in the path names.
  • New subcommand odgi inject: Inject BED interval ranges as paths in the graph.
  • New subcommand odgi flip: Flip (reverse complement) paths to match the graph.
  • Docs:
    • Sync it with the changes above
    • Added a new tutorial of how to inject gene arrows with odgi untangle.
    • Added a section explaining how to apply the rPG-SGD.

Full Changelog: https://github.com/pangenome/odgi/compare/v0.7.1...v0.7.2

- C++
Published by subwaystation about 4 years ago

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.

- C++
Published by AndreaGuarracino about 4 years ago

odgi - 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 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').

- C++
Published by AndreaGuarracino about 4 years ago

odgi - 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 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').

- C++
Published by AndreaGuarracino over 4 years ago

odgi - 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 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.

- C++
Published by AndreaGuarracino almost 5 years ago

odgi - 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 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.

- C++
Published by AndreaGuarracino almost 5 years ago

odgi - 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.

- C++
Published by AndreaGuarracino about 5 years ago

odgi - 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.

- C++
Published by AndreaGuarracino over 5 years ago

odgi - fastify everything

This updates odgi's nodet objects to store edges and path steps in DYNAMIC hackedvectors (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.

- C++
Published by ekg over 5 years ago

odgi - 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.

- C++
Published by ekg about 6 years ago

odgi - 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.

- C++
Published by ekg about 6 years ago

odgi - quarantine lockdown magic

Another fun point release from your friends in ODGI.

Trapped in Basilicata, -Erik

- C++
Published by ekg about 6 years ago

odgi - point release often

Things are still pretty fluid, but the system is stabilizing.

We now write magic numbers in the odgi file.

Otherwise, most changes are to command line tools.

We are also building up documentation.

- C++
Published by ekg over 6 years ago

odgi - initial release

This tags an initial release of odgi. This is meant to allow for packaging in bioconda, per #55.

odgi is relatively stable now, but I think some aspects may still change, thus the v0.1 tag.

- C++
Published by ekg over 6 years ago