作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想对齐一个小序列 S1
到另一个更大的核苷酸序列 S2
例如:
S1: acgtgt
S2: ttcgtgacagt...
cgtg
和
acgt
与 s2 中的差距 2。我想使用 smith waterman 算法,但我的问题是:如果 2 个对齐有 2 个不同的分数,即一个 4 和另一个 3 如何从动态 programimg 矩阵中获取 2 个对齐?是否有任何工具或库可以做到这一点?我尝试了 biopython 中的 paorwise2,它只给出了在 tje 矩阵中得分高的比对
最佳答案
成对对齐算法(例如 Smith-Waterman)只会提供一种最佳对齐方式。更糟糕的对齐将具有不同的回溯遍历,史密斯-沃特曼使用的动态规划算法不会遵循该算法。
如果有多个具有相同最佳分数的对齐方式,S-W 将仅选择这些对齐方式中的一种(哪个是特定于实现的,因为它们具有相同的分数并不重要)。
如果您真的希望返回多个比对并使用类似 Smith-Waterman 的方法,则每次以不同方式配置间隙惩罚时,您都必须多次重新比对序列。我不推荐这个,因为它会非常昂贵。
你可能想尝试像 BLAST 这样的东西,而不是使用 Smith-Waterman,它会给你多次点击
关于python-2.7 - 史密斯沃特曼算法选择多个对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20394879/
我是一名优秀的程序员,十分优秀!