DNA序列的计算
你能告诉我如何使用 Java 使用 Levenshtein 算法计算 DNA 序列吗
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
你能告诉我如何使用 Java 使用 Levenshtein 算法计算 DNA 序列吗
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
由于您没有将其标记为作业,因此我认为没有必要自己写这个。 Apache 的 StringUtils 有它。
Since you did not tag it as homework, I see no need in writing this yourself. Apache's StringUtils has it.
以下是关于编辑距离的维基百科页面的算法:(
我相信你可以)
将你的两个 DNA 序列作为
s
和t
传递,它将以 int 形式返回距离。Here is the algorithm from the Wikipedia page on Levenshtein distances:
(I'm sure you can make java out of that with a little work.)
pass in your two DNA sequences as
s
andt
and it will return the distance as an int.我相信这就是你所追求的。如果您愿意,可以删除 System.out.println 语句。请注意,如果您保留它们,则打印内容中将省略第一行和第一列。
已根据维基百科页面上的结果进行验证。
测试:
I believe this is what you're after. You can remove the
System.out.println
statements if you like. Note that if you leave them in, that the first row and columns are omitted from what is printed.Verified against the results on the wikipedia page.
To test:
Levenshtein 的 wiki 包含算法和结果矩阵的解释。只需将算法实现为方法并返回矩阵中的最后一个元素即可。
The wiki for Levenshtein contains an algorithm and an explanation of the resulting matrix. Simply implement the algorithm as a method and return the last element in the matrix.
复制/粘贴 Levenshtein Distance Algorithm 中的函数并像使用它一样所以:
Copy/Paste the function from the Levenshtein Distance Algorithm and use it like so:
如果您只是对计算两个 DNA 序列之间的变异感兴趣,您应该使用 Damerau –编辑距离不是常规的编辑距离。
维基百科条目包含一些示例代码,您肯定能够将其映射到 java 代码。
If you are just interested in calculating the variation between two DNA sequences you should use the Damerau–Levenshtein distance not the regular Levenshtein distance.
The wikipedia entry contains some sample code which you surely are able to map to java code.