我有一组520个流感序列,我已经做了多个序列比对,并计算了成对的身份矩阵。如果我想加入另一个序列,我必须重新排列所有的元素,并重新计算整个PWI矩阵。有没有什么程序我可以用来“附加”这个序列到对齐,并且只计算每隔一个序列的PWI w.r.t?
一个简单的例子如下。我有一个2x2校准,有以下分数。
SeqA SeqB
SeqA 1.00 0.98
SeqB 0.98 1.00
不需要重新运行完全对齐,但只对所有其他序列运行“SeqC”,我想得到以下矩阵:
^{pr2}$我使用的是BioPython包,Python是我的首选语言,但如果需要,我也可以使用Java。
[我在这里否认我是从BioStars交叉发布的,以防有专家不在BioStars上。BioStars的帖子是:http://www.biostars.org/p/77607/,但内容完全相同。]
如果您的主要问题是重新运行对齐所需的时间(重新计算PWI矩阵在计算上应该很便宜),那么MUSCLE有能力做您想要的,一个通常称为"profile-profile alignment"的过程。在
Profile-profile对齐
当传递
-profile
标志时,对齐将“彼此重新对齐,保持输入列的完整性,并在需要的地方插入空白列。”:在生物圈中实施
Biopython有一个wrapper around MUSCLE,但我发现使用} :
subprocess
调用MUSCLE,然后将结果解析回一个^{相关问题 更多 >
编程相关推荐