1. A method for finding a reference string of tokens in one or more original token strings within a database comprising the steps of: creating one or more original tuples for each of the original token strings in the database by: a. partitioning each original token string into three or more original substrings of contiguous tokens; b. appending together two or more original substrings of the original token string to form one or more original tuples associated with the original token string, at least one of the original tuples being formed by appending together two or more non-contiguous original substrings of the original token string; creating a unique original index for each original tuple created from the original token string by using an index algorithm, the original index being associated with the original token string from which the original tuple was created, each original index associated with information that is used to locate the original token string in the database containing the tuple from which the original index was derived and to determine the position of the matched reference sequence in the original token string; creating one or more reference tuples from the reference string of tokens by: c. partitioning the reference string of tokens into three or more reference substrings of contiguous tokens; d. appending together two or more reference substrings to form one or more reference tuples, at least one of the reference tuples being formed by appending together two or more non-contiguous reference substrings; creating a unique reference index for each reference tuple using the index algorithm; comparing at least one reference index to at least one original index; tracking the matches between the reference index and original index; selecting an original token string in the database based on the number of matches between one or more original indexes and one or more reference indexes.
1. A method for finding a reference string of tokens in one or more original token strings within a database comprising the steps of: creating one or more original tuples for each of the original token strings in the database by: a. partitioning each original token string into three or more original substrings of contiguous tokens; b. appending together two or more original substrings of the original token string to form one or more original tuples associated with the original token string, at least one of the original tuples being formed by appending together two or more non-contiguous original substrings of the original token string; creating a unique original index for each original tuple created from the original token string by using an index algorithm, the original index being associated with the original token string from which the original tuple was created, each original index associated with information that is used to locate the original token string in the database containing the tuple from which the original index was derived and to determine the position of the matched reference sequence in the original token string; creating one or more reference tuples from the reference string of tokens by: c. partitioning the reference string of tokens into three or more reference substrings of contiguous tokens; d. appending together two or more reference substrings to form one or more reference tuples, at least one of the reference tuples being formed by appending together two or more non-contiguous reference substrings; creating a unique reference index for each reference tuple using the index algorithm; comparing at least one reference index to at least one original index; tracking the matches between the reference index and original index; selecting an original token string in the database based on the number of matches between one or more original indexes and one or more reference indexes. 3. A method of finding a reference string of tokens in one or more original token strings within a database, as in claim 1, where the original substrings of tokens are of different lengths.