• 简介

最经典和广为熟知的多序列比对软件是 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. OO第三单元——JML规格化设计

    OO第三单元--JML规格化设计 JML语言的理论基础以及应用工具链情况 理论基础 JML是对JAVA程序进行规格化设计的一种表示语言,是一种行为接口规格语言.JML整合了Java和JAVAdoc,并 ...

  2. 2021.10.11考试总结[NOIP模拟74]

    T1 自然数 发现\(mex\)是单调不降的,很自然地想到用线段树维护区间端点的贡献. 枚举左端点,用线段树维护每个右端点形成区间的\(mex\)值.每次左端点右移相当于删去一个数. 记\(a_i\) ...

  3. Linux线程互斥学习笔记--详细分析

    一.互斥锁 为啥要有互斥? 多个进程/线程执行的先后顺序不确定,何时切出CPU也不确定. 多个进程/线程访问变量的动作往往不是原子的. 1. 操作步骤 (1)创建锁 // 创建互斥锁mutex pth ...

  4. 通过两个位置的经纬度坐标计算距离(C#版本)

    /// <summary> /// 通过地图上的两个坐标计算距离(C#版本) /// Add by 成长的小猪(Jason.Song) on 2017/11/01 /// http://b ...

  5. hdu 1158 Employment Planning(DP)

    题意: 有一个工程需要N个月才能完成.(n<=12) 给出雇佣一个工人的费用.每个工人每个月的工资.解雇一个工人的费用. 然后给出N个月所需的最少工人人数. 问完成这个项目最少需要花多少钱. 思 ...

  6. hdu 5100 Chessboard (额,,,,,就叫它趣味数学题吧)

    题意: 用K*1的砖块去覆盖N*N的大矩形,问最多能覆盖多少块. 详细证明:(转载自matrix67) Matrix67: The Aha Moments 趣题:用 k × 1 的矩形覆盖 n × n ...

  7. oracle 数据库修改端口号1521

    1.关闭监听 2.修改配置文件,port=1933 #vi $ORACLE_HOME/network/admin/listener.ora 3.登录并查看local_listener参数,因为使用的是 ...

  8. Redis网络库源码分析(2)之启动服务器

    一.从main开始 main函数定义在server.c中,它的内容如下: //server.c int main() { signal(SIGPIPE, SIG_IGN); //忽略SIGPIPE信号 ...

  9. 深入探索 Linux listen() 函数 backlog 的含义

    1:listen()回顾以及问题引入 2:正确的解释 3:实验验证 1:listen()回顾以及问题引入 listen()函数是网络编程中用来使服务器端开始监听端口的系统调用,首先来回顾下listen ...

  10. C++ 入门到进阶 学习路线

    前言 学习这件事不在乎有没有人教你,最重要的是在于你自己有没有觉悟和恒心. -- 法布尔 简介 随着互联网及互联网+深入蓬勃的发展,经过40余年的时间洗礼,C/C++俨然已成为一门贵族语言,出色的性能 ...