Тест на количество мутаций в цепочках ДНК - PullRequest
1 голос
/ 05 февраля 2020

У меня есть функция, которая принимает две строки, представляющие ДНК (в форме "ACGT"), причем каждая буква представляет различное основание. Я хотел бы проверить количество мутаций, которые должны были произойти, чтобы одна стала другой.

Типы мутаций, которые я хочу рассмотреть:

  • Замена: где одна база заменена другой
  • Вставка: где база вставлена ​​в последовательность
  • Удаление: где база удалена из последовательности

Я могу заставить каждую из этих трех вещей работать индивидуально, но проблема, с которой я сталкиваюсь, заключается в возможности протестировать все три сразу.

Например, код, который я написал для проверки замен, будет учитываться все основания в случае вставки / делеции мутации.

Какой алгоритм мне понадобится, чтобы найти минимальное количество мутаций в go между двумя последовательностями ДНК?

1 Ответ

2 голосов
/ 06 февраля 2020

Этот тип различается как 'edit-distance'

. Он может быть рассчитан с помощью динамического c программирования:

. Подробнее о том, как его реализовать, см.

расстояние редактирования

Это расстояние c расстояние редактирования также известно как Расстояние Левенштейна (Пример кода: здесь )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...