Improving hash-q exact string matching algorithm with perfect hashing for DNA sequences


COMPUTERS IN BIOLOGY AND MEDICINE, vol.131, 2021 (Journal Indexed in SCI) identifier identifier

  • Publication Type: Article / Article
  • Volume: 131
  • Publication Date: 2021
  • Doi Number: 10.1016/j.compbiomed.2021.104292


Exact string matching algorithms involve finding all occurrences of a pattern Pin a text T. These algorithms have been extensively studied in computer science, primarily because of their applications in various fields such as text search and computational biology. The main goal of exact string matching algorithms is to find all pattern matches correctly within the shortest possible time frame. Although hash-based string matching algorithms run fast, there are shortcomings, such as hash collisions. In this study, a novel hash function has been proposed that eliminates hash collisions for DNA sequences. It provides us perfect hashing and produces hash values in a time efficient manner. We have proposed two exact string matching algorithms based on the proposed hash function. In the first approach, we replace the traditional Hash-q algorithm's hash function with the proposed one. In the second approach, we improved the first approach by utilizing the shift size indicated at the (m - 1)th entry in the good suffix shift table when an exact matching is found. In these approaches, we eliminate the need to compare the last q characters of the pattern and text. We have included six algorithms from the literature in our evaluations. E. Coli and Human Chromosome1 datasets from the literature and a synthetic dataset produced randomly are utilized for comparisons. The results show that the proposed approaches achieve better performance metrics in terms of the average runtime, the average number of character comparisons, and the average number of hash comparisons.