测试 DNA 字符串中的突变数量
Test for the number of mutations in DNA strings
我有一个函数,它接受两个代表 DNA 的字符串(形式为 "ACGT"
),每个字母代表不同的碱基。我想测试一个变成另一个需要发生的突变数量。
我要考虑的突变类型是:
- 替换:一个碱基被另一个替换
- 插入:将一个碱基插入序列
- 删除:从序列中删除一个碱基
我可以让这三件事中的每一个都单独工作,但我面临的问题是能够同时测试所有这三个。
例如,我编写的用于测试替换的代码将在发生 insertion/deletion 突变时计算所有碱基。
我需要什么样的算法才能找到两个 DNA 序列之间的最少突变数?
这种不同叫做'edit-distance'
可以通过动态规划计算:
有关如何实现它的更多详细信息,请参阅:
此特定编辑距离也称为 Levenshtein distance (You can find sample code: here)
我有一个函数,它接受两个代表 DNA 的字符串(形式为 "ACGT"
),每个字母代表不同的碱基。我想测试一个变成另一个需要发生的突变数量。
我要考虑的突变类型是:
- 替换:一个碱基被另一个替换
- 插入:将一个碱基插入序列
- 删除:从序列中删除一个碱基
我可以让这三件事中的每一个都单独工作,但我面临的问题是能够同时测试所有这三个。
例如,我编写的用于测试替换的代码将在发生 insertion/deletion 突变时计算所有碱基。
我需要什么样的算法才能找到两个 DNA 序列之间的最少突变数?
这种不同叫做'edit-distance'
可以通过动态规划计算:
有关如何实现它的更多详细信息,请参阅:
此特定编辑距离也称为 Levenshtein distance (You can find sample code: here)