• 简介

最经典和广为熟知的多序列比对软件是 clustalw 。 但是现有的多序列比对软件较多,有文献报道:比对速度(Muscle>MAFFT>ClustalW>T-Coffee),比对准确性(MAFFT>Muscle>T-Coffee>ClustalW)。因此,推荐使用 MAFFT 软件进行多序列比对。

  • 安装

 1 $ wget http://mafft.cbrc.jp/alignment/software/mafft-7.158-without-extensions-src.tgz
2 $ tar zxf mafft-7.158-without-extensions-src.tgz
3 $ cd mafft-7.158-without-extensions/core
4 $ perl -p -i -e 's#PREFIX =.*#PREFIX = /opt/biosoft/mafft#' Makefile
5 $ perl -p -i -e 's#BINDIR =.*#BINDIR = /opt/biosoft/mafft/bin/#' Makefile
6 $ make
7 $ make install
8 $ echo 'PATH=$PATH:/opt/biosoft/mafft/bin/' >> ~/.bashrc
9 $ source ~/.bashrc
10
11 检测软件是否正确安装
12 $ cd ../test
13 $ rehash # if necessary
14 $ mafft sample > test.fftns2 # FFT-NS-2
15 $ mafft --maxiterate 100 sample > test.fftnsi # FFT-NS-i
16 $ mafft --globalpair sample > test.gins1 # G-INS-1
17 $ mafft --globalpair --maxiterate 100 sample > test.ginsi # G-INS-i
18 $ mafft --localpair sample > test.lins1 # L-INS-1
19 $ mafft --localpair --maxiterate 100 sample > test.linsi # L-INS-i
20 $ diff test.fftns2 sample.fftns2
21 $ diff test.fftnsi sample.fftnsi
22 $ diff test.gins1 sample.gins1
23 $ diff test.ginsi sample.ginsi
24 $ diff test.lins1 sample.lins1
25 若 diff 的结果不换回异常,则正确安装。
  • 使用

输入文件为fasta 的aa/nt

1 较为精确方法

(1)最准确的方法。适合于 <200 条序列,且序列长度 <~2000 aa/nt 的比对

1 mafft --maxiterate 1000 --localpair ex1.txt >ex1.mfa

ex1.txt 输入文件, ex1.mfa 输出文件

(2)适合于序列长度相似的多序列比对。序列条数 <200, 序列长度 <~2000 aa/nt

1 mafft --maxiterate 1000 --globalpair --clustalout ex2.txt >ext2.clw

--clustalout 输出文件格式为clusw,否则为fasta

(3)  适合序列中包含较大的非匹配区域。序列条数 <200, 序列长度 <~2000 aa/nt

1 mafft --maxiterate 1000 --ep 0 --genafpair ex1.txt >ex1.mfa

2 节约速度的方法

(1)减少迭代次数,最大迭代次数减为 2

1 mafft --retree 2 --maxiterate 2 ex1.txt >ex1.mfa

(2)最大迭代次数减为 0

1 mafft --retree 2 --maxiterate 0 ex1.txt >ex1.mfa

(3)此方法非常快速,适合 >2000 条序列的多序列比对。

1 mafft --retree 1 --maxiterate 0 ex1.txt >ex1.mfa

(4)迭代过程中不进行 FFT aproximation

1 mafft --retree 2 --maxiterate 2 --nofft ex1.txt >ex1.mfa

1 mafft --retree 2 --maxiterate 0 --nofft ex1.txt >ex1.mfa

(5)3 个参数都设置为最不消耗时间的类型,适合于 ~10,000 到 ~50,000 条序列的比对

1 mafft --retree 1 --maxiterate 0 --nofft --parttree ex1.txt >ex1.mfa

关注下方公众号可获得更多精彩

参考

陈连福的生信博客

MAFFT 进行多序列比对的更多相关文章

  1. muscle 软件进行多序列比对

    今天在使用muscle 软件进行多序列比对时,发现输出的结果全部为gap, 而且还没有明显的报错信息 找了很久之后,终于发现了问题 muscle 为了追求速度,对输入序列的个数和长度进行了限制 下面是 ...

  2. MAFFT多重序列比对--(附比对彩标方法)

    [转记]MAFFT多重序列比对图解教程 [絮语] 一提到多重序列比对,很多人禁不住就想到ClustalW(Clustalx为ClustalW的GUI版),其实有一款多重序列比对软件-MAFFT,不论从 ...

  3. 【夯实PHP基础】UML序列图总结

    原文地址 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色 ...

  4. Windows10-UWP中设备序列显示不同XAML的三种方式[3]

    阅读目录: 概述 DeviceFamily-Type文件夹 DeviceFamily-Type扩展 InitializeComponent重载 结论 概述 Windows10-UWP(Universa ...

  5. 软件工程里的UML序列图的概念和总结

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习! 软件工程的一般开发过程:愿景分析.业务建模,需求分析,健壮性设计,关键设计,最终设计,实现…… 时序图也叫序列图(交互图),属于软件 ...

  6. python序列,字典备忘

    初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...

  7. BZOJ 1251: 序列终结者 [splay]

    1251: 序列终结者 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 3778  Solved: 1583[Submit][Status][Discu ...

  8. 最长不下降序列nlogn算法

    显然n方算法在比赛中是没有什么用的(不会这么容易就过的),所以nlogn的算法尤为重要. 分析: 开2个数组,一个a记原数,f[k]表示长度为f的不下降子序列末尾元素的最小值,tot表示当前已知的最长 ...

  9. [LeetCode] Sequence Reconstruction 序列重建

    Check whether the original sequence org can be uniquely reconstructed from the sequences in seqs. Th ...

随机推荐

  1. Coursera Deep Learning笔记 深度卷积网络

    参考 1. Why look at case studies 介绍几个典型的CNN案例: LeNet-5 AlexNet VGG Residual Network(ResNet): 特点是可以构建很深 ...

  2. LeetCode:BFS/DFS

    BFS/DFS 在树专题和回溯算法中其实已经涉及到了BFS和DFS算法,这里单独提出再进一步学习一下 BFS 广度优先遍历 Breadth-First-Search 这部分的内容也主要是学习了labu ...

  3. Java:NIO 学习笔记-1

    Java:NIO 学习笔记-1 说明:本笔记是根据bilibili上 尚硅谷 的课程 NIO视频 而做的笔记 主要内容 Java NIO 简介 Java NIO 与 IO 的主要区别 缓冲区(Buff ...

  4. 第七次Scrum Metting

    日期:2021年5月5日 会议主要内容概述:前后端对接,以及接下来的测试优化等工作. 一.进度情况 组员 负责 两日内已完成的工作 后两日计划完成的工作 工作中遇到的困难 徐宇龙 后端 测试数据模块和 ...

  5. Flutter的环境配置以及一些常见问题

    flutter & AndroidStudio flutter的下载与配置 flutter是Google推出的基于Dart语言开发的跨平台开源UI框架,能够支持安卓与iOS. flutter框 ...

  6. 启动Dubbo项目注册Zookeeper时提示zookeeper not connected异常原理解析

    文/朱季谦 遇到一个很诡异的问题,我在启动多个配置相同zookeeper的Dubbo项目时,其他项目都是正常启动,唯独有一个项目在启动过程中,Dubbo注册zookeeper协议时,竟然出现了这样的异 ...

  7. Gitflow branch与Docker image tag命名冲突怎么办?

    谷歌还是比必应要好用一点. 在前公司,我根据主流的git flow 给团队搭建了一套devops流程,运行在 docker & k8s上. 在现代devops流程中,一般推荐使用git分支名或 ...

  8. STM32中按键中断分析

    在按键学习中,我们有用到查询的方法来判断按键事件是否发生,这种查询按键事件适用于程序工作量较少的情况下,一旦程序中工作量较大较多,则势必影响程序运行的效率,为了简化程序中控制的功能模块的执行时间,引入 ...

  9. JAVA笔记__窗体类/Panel类/Toolkit类

    /** * 窗体类 */ public class Main { public static void main(String[] args) { MyFrame m1 = new MyFrame() ...

  10. 学习JS的第四天

    一.循环 1.循环嵌套 1.一个循环内包含完整的另一个循环语句. 2.被包含的循环语句叫内循环,包含别的循环的循环语句叫外循环. 3.外循环每执行一次循环,内循环都会完全执行所有循环次数. 4.循环嵌 ...