Releases: pangenome/odgi
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.
quarantine lockdown magic
Another fun point release from your friends in ODGI.
Trapped in Basilicata, -Erik
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.
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.