Multi-positional hash tables. A. Reads are indexed in a multi-positional hash table. For each k-mer, a multi-positional hash table entry stores the index of the read containing the k-mer, and the offset within the read at which the k-mer occurs. In this example, at k-mers K1-K4 are present in read I1, at offsets o1-o4, in read I2 at offsets o'1 and o'2, and in read I3 at offsets o''1 and o''2. B. A sliding fixed size genomic window is used; in this example the window contains the k-mers K1-K4. C. The multi-positional hash table entries for read I1 are used to perform k-mer-level alignment.