测试 DNA 字符串中的突变数量

Test for the number of mutations in DNA strings

我有一个函数,它接受两个代表 DNA 的字符串(形式为 "ACGT"),每个字母代表不同的碱基。我想测试一个变成另一个需要发生的突变数量。

我要考虑的突变类型是:

我可以让这三件事中的每一个都单独工作,但我面临的问题是能够同时测试所有这三个。

例如,我编写的用于测试替换的代码将在发生 insertion/deletion 突变时计算所有碱基。

我需要什么样的算法才能找到两个 DNA 序列之间的最少突变数?

这种不同叫做'edit-distance'

可以通过动态规划计算:

有关如何实现它的更多详细信息,请参阅:

edit distance

此特定编辑距离也称为 Levenshtein distance (You can find sample code: here)