ksahlin / strobealign

Aligns short reads using dynamic seed size with strobemers
MIT License
141 stars 17 forks source link

Removing parameter q and bitcount? #352

Open ksahlin opened 1 year ago

ksahlin commented 1 year ago

Posting from discussion in https://github.com/ksahlin/strobealign/pull/350#issuecomment-1742579627

Should we remove q and Bitcount() in the randstrobe linking function? Bitcount() uses popcount which seems computationally expensive compared to other link methods (I can show you some results from another study offline). q and Bitcount() were initially introduced to skew the sampling towards shorter seeds, which positively affected the shortest reads (=< 100ish), but with above settings, read lengths 50-100 does not even need this computation.

Note: For read lengths were a proper window is used (150 and up) this may affect the recent parameter optimisations.

marcelm commented 12 months ago

The std::bitset<64>::count() method compiles down to a single POPCNT machine instruction, so it should be quite fast (with the proper compiler options). I can measure it, though.