Вы можете использовать BLAST
и изменить его, чтобы использовать тот факт, что слова в словаре являются дискретными единицами, что делает процесс сопоставления более специфичным в отличие от длинной строки ДНК.
В BLAST уже встроено понятие редактирования расстояний.
В качестве альтернативы вы можете использовать суффиксные деревья (у Дана Гусфельда есть отличная книга по основным алгоритмам сопоставления строк) и встроить идею редактирования расстояний.в.