Upgrade sshash to v5.0.0 with API compatibility changes#594
Open
adamant-pwn wants to merge 3 commits intomasterfrom
Open
Upgrade sshash to v5.0.0 with API compatibility changes#594adamant-pwn wants to merge 3 commits intomasterfrom
adamant-pwn wants to merge 3 commits intomasterfrom
Conversation
88de71a to
0204128
Compare
Upgraded sshash from previous version to v5.0.0 (upstream master). This required significant API adaptation due to breaking changes. API changes handled: 1. dictionary now requires two template parameters: dictionary<Kmer, Offsets> - Added sshash::decoded_offsets as second parameter throughout 2. Method renames: - size() → num_kmers() - lookup_advanced() → lookup() 3. streaming_query template parameter changed: - Was: streaming_query<kmer_t, bool> - Now: streaming_query<Dict, bool> (takes dictionary type) 4. Use dictionary::kmer_type instead of template_parameter extraction - Replaced get_kmer_t helper with decltype(dict)::kmer_type - Cleaner approach using built-in typedef from sshash Code quality improvements: - Removed template_parameter helper struct and get_kmer_t alias - Simplified kmer type extraction in lambda expressions Submodule update: - Updated external-libraries/sshash to merge-upstream-master-with-metagraph-compatibility - Includes cityhash namespace wrapping and accessor methods - Includes pthash fix for multiple definition errors
0204128 to
5759f88
Compare
Updates: 1. Bump sshash submodule to include: - Fix for sparse index bit budget calculation - Conditional verbose output (respects build_config.verbose) 2. Clean integration with sshash verbose flag: - Set build_config.verbose = common::get_verbose() - Remove stdout/stderr disabling hack (no longer needed) - Library now respects its own configuration This completes the sshash v5.0.0 integration with all bug fixes. All 150 DBGSSHash tests passing.
- Track only buckets with size > 1 for sparse index encoding - Renamed m_max_buckets_per_size to m_max_sparse_buckets_per_size - Size-1 buckets use direct offset encoding
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upgraded sshash from previous version to v5.0.0 (upstream master). This required significant API adaptation due to breaking changes.
API changes handled:
dictionary now requires two template parameters: dictionary<Kmer, Offsets>
Method renames:
streaming_query template parameter changed:
Use dictionary::kmer_type instead of template_parameter extraction
Code quality improvements:
Submodule update: