前几天做序列比对,试了MUCSLE和MAFFT,但是程序总是被kill。刚开始以为是序列格式不对,但是检查到最后发现是序列太长了。以前没注意过这些比对算法对长度的要求,此文记录一下。
MUSCLE再linux上的使用之前介绍过:
MUSCLE对序列长度没有明确的限制,但是使用32位软件的时候,能够出结果的最大长度约为10,000。
在MUSCLE官网还有文章讨论了多条序列的比对是否有意义。作者认为对于多序列比对,几乎不可能得到一个良好的比对结果。多重比对隐含的假定为唯一重要的突变是置换、短随机序列的插入和删除。这对于少数密切相关的序列来说是一种合理的简化,但是随着序列散度或序列数量的增加,这种简化越来越不准确。
作者提出一种减少数据集的方法,即先用UCLUST 95%或90%进行聚类,得到较少的保守区序列,再进行比对。
MAFFT最多可比对∼20,000 sequences × ∼30,000 sites。这种方法需要一个参考序列。
较少的序列可以有多种算法选择,如
200条序列以下,多个保守位点选择E-INS-i;
单个保守位点和长gap选L-INS-i;
具有全局同源性选G-INS-i。
大于2000条序列,可选FFT-NS-1。
Reference
http://www.drive5.com/muscle/manual/bigalignments.html
https://mafft.cbrc.jp/alignment/server/
END