1. A computer-implemented method comprising: a) receiving, via a data processing system, genomic data comprising a plurality of reference sequences; b) constructing, via the data processing system, a forward lookup table and at least one reverse lookup table which relates reference sequence segments stored therein to reference sequences stored in the forward lookup table, wherein the reference sequence segments each comprise a first string of contiguous characters having a string length equal to a preselected positive integer k and each reference sequence comprises a second string of contiguous characters having a string length equal to a positive integer Y, wherein constructing the forward lookup table comprises transforming the genomic data into a plurality of records in the forward lookup table, wherein transforming comprises parsing the genomic data to create a reference sequence record in the forward lookup table for each reference sequence in the genomic data, wherein constructing the at least one reverse lookup table comprises: i) transforming each reference sequence record in the forward lookup table into a set of Y−k+1 consecutive overlapping reference sequence segments; and ii) storing each reference sequence segment thus transformed in a record in the at least one reverse lookup table; and c) storing, via the data processing system, the forward lookup table and the at least one reverse lookup table in a computer database environment maintained in a non-transitory computer readable storage medium and accessible by the data processing system.