String 序列比对
关于序列比对,我有以下问题: 我们知道,当您想要强制两个序列在其整个长度上对齐时,全局对齐算法非常有用,局部对齐查找两个序列之间最相似的区域,并从那里向外构建对齐String 序列比对,string,algorithm,data-structures,sequence-alignment,String,Algorithm,Data Structures,Sequence Alignment,关于序列比对,我有以下问题: 我们知道,当您想要强制两个序列在其整个长度上对齐时,全局对齐算法非常有用,局部对齐查找两个序列之间最相似的区域,并从那里向外构建对齐 当我们有一个很长的序列和一个小序列库时,在一个库中找到小序列串联的最佳算法是什么?一种简单的方法是尝试每一种排列。如果S是库中每个小序列的排列集,则可以逐个将大序列与S中的每个序列对齐,并查看哪一个具有最小对齐成本。不幸的是,这对CPU不友好,因为S的大小与小序列的数量成指数关系∑ 是字母表(例如,{A,C,g,T})。让我⊆ ∑*
当我们有一个很长的序列和一个小序列库时,在一个库中找到小序列串联的最佳算法是什么?一种简单的方法是尝试每一种排列。如果
S
是库中每个小序列的排列集,则可以逐个将大序列与S
中的每个序列对齐,并查看哪一个具有最小对齐成本。不幸的是,这对CPU不友好,因为S
的大小与小序列的数量成指数关系∑ 是字母表(例如,{A,C,g,T})。让我⊆ ∑* 是一组短库序列。计算最小状态DFA(Q,∑, ∂, q0,F)表示L*
我们扫描长序列x∈ ∑* 一次一封信。设x'为已使用的x的前缀。我们保持,对于每个状态q∈ Q、 [每个序列y]上的最小cq(x')∈ ∑* 以致∂(q0,y)=x'和y之间Levenshtein距离的q]
对于空前缀ε,对于每个状态q∈ Q、 它认为cq(ε)=min{y}:y∈ ∑*, ∂(q0,y)=q},因为y和ε之间的距离是y的长度。使用转换图上的宽度优先搜索计算初始表
给定x'和字母s的表格,我们计算cq(x)作为y的几种可能性的最小值,其中x=x's