Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experimental v5 SBT format #694

wants to merge 1 commit into
base: master


None yet
1 participant
Copy link

commented Jul 8, 2019

This brings the minimum v5 support from #456 (internal changes and loading from file), while still defaulting to saving to v4. This allows experimenting with the format without commiting to full support (yet).

Differences from v4 to v5:

  • Internal representation uses two dictionaries: one for internal nodes, another for leaves.
  • Only leaves are required to be present in the SBT file, and it will rebuild internal nodes on load.
  • Prototype for insertion without updating internal nodes (delay internal node generation to save)

(v5 is the default in the rust codebase)


  • Is it mergeable?
  • make test Did it pass the tests?
  • make coverage Is the new code covered?
  • Did it change the command-line interface? Only additions are allowed
    without a major version increment. Changing file formats also requires a
    major version number increment.
  • Was a spellchecker run on the source code and documentation after
    changes were made?

@luizirber luizirber force-pushed the feature/v5_loading branch from 0c72259 to 53fb1de Jul 8, 2019


This comment has been minimized.

Copy link

commented Jul 8, 2019

Codecov Report

Merging #694 into master will increase coverage by 0.06%.
The diff coverage is 89.89%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #694      +/-   ##
+ Coverage   89.26%   89.32%   +0.06%     
  Files          27       27              
  Lines        4238     4356     +118     
  Branches       39       39              
+ Hits         3783     3891     +108     
- Misses        455      465      +10
Impacted Files Coverage Δ
sourmash/ 85.53% <89.89%> (-0.19%) ⬇️
sourmash/ 94.38% <0%> (+8.98%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0d69b79...02af7c1. Read the comment docs.

@luizirber luizirber force-pushed the feature/v5_loading branch from 53fb1de to a002aa5 Jul 9, 2019

refactor SBT to keep internal nodes and leaves in separate dicts
make nodes and missing nodes 'private'
save to v4, but keep _save_v5 around

@luizirber luizirber force-pushed the feature/v5_loading branch from a002aa5 to 02af7c1 Jul 9, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.