We may maintain an extra data structure - a hash table that will hold all possible short sequences as keys and two pointers to FM-index. If a particular sequence (a key) cannot be found in fm-index we may store 'not-found' instead of two pointers.
This may speed up the process of seed finding at least 2x.
This extra data structure can be created during the runtime. The process looks like we cash the most common sequences in a special table and use them instead of computing them again and again.
We may maintain an extra data structure - a hash table that will hold all possible short sequences as keys and two pointers to FM-index. If a particular sequence (a key) cannot be found in fm-index we may store 'not-found' instead of two pointers.
This may speed up the process of seed finding at least 2x.
This extra data structure can be created during the runtime. The process looks like we cash the most common sequences in a special table and use them instead of computing them again and again.