• 简介

最经典和广为熟知的多序列比对软件是 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. Vue项目搭建常用的配置文件,request.js和vue.config.js

    request.js用来请求数据,封装的代码如下: import axios from 'axios' const request = axios.create({ timeout: 5000 }) ...

  2. 高斯消元de小板几

    感觉就是模拟解方程,还比手动解方程笨一些.... 但是大数据的话,他毕竟比我解得快多了.... 1 inline int Gauss(int n){ 2 int cnt=1;//真实到达的行列式行数 ...

  3. Jquery取值方法汇总

    一.下拉框 1.jquery获取当前选中select的text值 var a = $("#ShareMoneyType").find("option:selected&q ...

  4. Ubuntu mysql安装与使用

    Ubuntu 下安装 mysql 运行下面的shell代码 #安装mysql sudo apt-get -y install mysql-server sudo apt-get -y install ...

  5. hdu 4288 Coder (线段树+离线)

    题意: 刚开始有一个空集合.有三种操作: 1.往集合中加入一个集合中不存在的数 x 2.从集合中删除一个已经存在的数 x 3.计算集合的digest sum并输出.       digest sum求 ...

  6. 就因为把int改成Integer,第2天被辞了

    本文节选自<设计模式就该这样学>之享元模式(Flyweight Pattern) 1 故事背景 一个程序员就因为改了生产环境上的一个方法参数,把int型改成了Integer类型,因为涉及到 ...

  7. httprunner3源码解读(1)简单介绍源码模块内容

    前言 最近想着搭建一个API测试平台,基础的注册登录功能已经完成,就差测试框架的选型,最后还是选择了httprunner,github上已经有很多开源的httprunner测试平台,但是看了下都是基于 ...

  8. pycharm基本使用与破解

    一.pycharm基本使用 pycharm这款ide软件虽然功能强大,但正因为他的强大,所以小白在刚使用这款软件时上手会有点难度,今天我们就来介绍一下ptcharm的基本使用. 1.基本配置 我们安装 ...

  9. 用C++实现俄罗斯方块(Tetris)游戏

    我是一个C++初学者,控制台实现了一个俄罗斯方块游戏. 代码如下: //"俄罗斯方块"V1.0 //李国良于2017年1月20日编写完成 #include <iostream ...

  10. go微服务框架Kratos笔记(一)入门教程

    kratos简介 Kratos 一套轻量级 Go 微服务框架,包含大量微服务相关功能及工具 本文基于kratos v2.0.3,windows平台,其他系统平台均可借鉴参考 环境搭建 Golang开发 ...