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_GPUby @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/571odgi 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 vizby @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/557odgi extract: avoid duplicated subpaths by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/559odgi draw: add node sparsification factor for SVG output by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/558odgi 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_orderingby @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 pavby @AndreaGuarracino in https://github.com/pangenome/odgi/pull/517 - Avoid out of bound (segfault) in
odgi similarityby @AndreaGuarracino in https://github.com/pangenome/odgi/pull/520 odgi extractrefresh: add-O/--optimizeoption and put-dby default by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/522odgi paths: show non-reference nodes and path/step ranges by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/523odgi extract: check there are no duplicated path ranges by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/525odgi extract: a bit more aggressive subpath merging by default by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/528odgi extract: manage input path range boundaries by @AndreaGuarracino in https://github.com/pangenome/odgi/pull/531odgi paths -Hon 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_distancesis actually 1 #466 by @subwaystation - add yaml output for
-j -wwhen all paths are emitted #467 by @subwaystation odgi stepindex: unsampled step index #468 by @AndreaGuarracinoodgi untangle: verbose log #469 by @AndreaGuarracinoodgi tension: set the distance to 0 after each step instead of each path #470 by @tonyjie- fix the iteration bound: now the
iter_maxwe 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 @AndreaGuarracinoodgi flip: avoid introducing useless edges and losing edges from the original graph #485 by @AndreaGuarracinoodgi pathsallows 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 sortless frequently #458 by @nsmlzl - increment progress-meter of
odgi layoutless frequent #459, #462 by @AndreaGuarracino @nsmlzl odgi extract: avoid creating subgraphs with empty subpaths #460 by @AndreaGuarracinoodgi 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 privplus documentation and manpage #448 by ekg - Dramatic improvement in
odgi layoutperformance by avoiding a coordination variable bottleneck #446 by nsmlzl - Incredible performance boost to
odgi sortby 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 untanglehas 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 statsaddweighted_feedback_arcandweighted_reversing_joinmetrics #417 by AndreaGuarracino- removed unused code from
odgi layout#416 by AndreaGuarracino - Correct default value for path-sgd-iter-max flag of
odgi layoutsubcommand #413 by nsmlzl odgi paths: reduce the key space of theska::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
libbfcompilation issue. - The
stepindexthrows an error if it was fed an empty path. xpindex: 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 byodgi 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 vizwhich resulted in hanging when applied on large pangenome graphs - fixed a bug in
odgi extractwhich resulted in extracting not requested path ranges; - optimizations in
odgi buildandextract; - bug fixes and improvements in
odgi untangle:- now it scales to whole chromosomes;
- it can emit self-depth information;
- it supports output in
PAFformat;
odgi vizsupports colorbrewer palettes to display coverage information;odgi statscan emit output inYAMLformat;odgi pathscan emit 'chr', 'start', 'end' information;odgi viz,depth,degree, andstatscan 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