Skip to content

Move seeding-related code into a new "seeding" module#570

Merged
marcelm merged 7 commits intomainfrom
seeding-module
Mar 12, 2026
Merged

Move seeding-related code into a new "seeding" module#570
marcelm merged 7 commits intomainfrom
seeding-module

Conversation

@marcelm
Copy link
Collaborator

@marcelm marcelm commented Mar 12, 2026

  • Rename IndexParameters to SeedingParameters: This reflects better that the parameters are used both when processing the reference and the query sequences.
  • Create a new seeding module and move this code into it:
    • Syncmer generation (including hash computation from hash.rs)
    • Randstrobe generation
    • SeedingParameters (and the seeding parameter profiles, i.e. things related to canonical read length). This makes index.rs a bit shorter and with the rename from IndexParameters to SeedingParameters, it makes it even clearer than before that this code shouldn’t be in that file.
    • randstrobes_query. This reduces the size of mapper.rs a little bit.

I am usually in favor of flat hierarchies, but just having everything be a top module is a bit unwieldy. I think this "seeding" subcategory is a nice, well-contained part the project.

There is now only one project-internal use statement within the seeding module that refers to something outside the module, which is REF_RANDSTROBE_HASH_MASK. I think this is fine because it shows that there is a dependency between the index and how we choose to compute the hash for the randstrobes.

@marcelm marcelm merged commit 841e1cc into main Mar 12, 2026
10 checks passed
@marcelm marcelm deleted the seeding-module branch March 12, 2026 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant