MAFFT 进行多序列比对
简介
最经典和广为熟知的多序列比对软件是 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 进行多序列比对的更多相关文章
- muscle 软件进行多序列比对
今天在使用muscle 软件进行多序列比对时,发现输出的结果全部为gap, 而且还没有明显的报错信息 找了很久之后,终于发现了问题 muscle 为了追求速度,对输入序列的个数和长度进行了限制 下面是 ...
- MAFFT多重序列比对--(附比对彩标方法)
[转记]MAFFT多重序列比对图解教程 [絮语] 一提到多重序列比对,很多人禁不住就想到ClustalW(Clustalx为ClustalW的GUI版),其实有一款多重序列比对软件-MAFFT,不论从 ...
- 【夯实PHP基础】UML序列图总结
原文地址 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色 ...
- Windows10-UWP中设备序列显示不同XAML的三种方式[3]
阅读目录: 概述 DeviceFamily-Type文件夹 DeviceFamily-Type扩展 InitializeComponent重载 结论 概述 Windows10-UWP(Universa ...
- 软件工程里的UML序列图的概念和总结
俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习! 软件工程的一般开发过程:愿景分析.业务建模,需求分析,健壮性设计,关键设计,最终设计,实现…… 时序图也叫序列图(交互图),属于软件 ...
- python序列,字典备忘
初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...
- BZOJ 1251: 序列终结者 [splay]
1251: 序列终结者 Time Limit: 20 Sec Memory Limit: 162 MBSubmit: 3778 Solved: 1583[Submit][Status][Discu ...
- 最长不下降序列nlogn算法
显然n方算法在比赛中是没有什么用的(不会这么容易就过的),所以nlogn的算法尤为重要. 分析: 开2个数组,一个a记原数,f[k]表示长度为f的不下降子序列末尾元素的最小值,tot表示当前已知的最长 ...
- [LeetCode] Sequence Reconstruction 序列重建
Check whether the original sequence org can be uniquely reconstructed from the sequences in seqs. Th ...
随机推荐
- 了解 js 堆内存 、栈内存 。
js中的堆内存与栈内存 在js引擎中对变量的存储主要有两种位置,堆内存和栈内存. 和java中对内存的处理类似,栈内存主要用于存储各种基本类型的变量,包括Boolean.Number.String.U ...
- 在浏览器上开发GO和Vue!(基于code-server)
在浏览器上开发GO和Vue!(基于code-server) 曾几何时,开发者们都被安装编程环境苦恼,尽管现在很多语言的开发环境已经不难装了,但是如果我们能有一个运行在云端的编译器,那么我们就可以随时随 ...
- 2021.10.7考试总结[NOIP模拟71]
信心赛,但炸了.T3SB错直接炸飞,T4可以硬算的组合数非要分段打表求阶乘..T2也因为一个细节浪费了大量时间.. 会做难题很好,但首先还是要先把能拿的分都拿到. T1 签到题 结论:总可以做到对每个 ...
- Taylor公式原来可以这么简单
1.Taylor公式 解决:含有高阶导数的中值定理或定积分.极限运算等题目 条件:f(x)在x=x0领域内(n+1)阶可导 结论:f(x)=Pn(x)+Rn(x) 2.x和x0的取值 3.Taylor ...
- 使用jQuery-UI来实现一个Ajax的自动完成功能(自动填充搜索框的下拉值)
首先你要在.net拓展包中去搜索 jquery ui (Combined Libray)安装这么个文件 第二部 在控制器中添加我们根据输入搜索框的值获取符合的记录集的action 第三步 有了 ...
- undefined reference to `recvIpcMsg(int, ipc_msg*)'——#ifdef __cplusplus extern "C" { #endif
最近在弄一个进程间通信,原始测试demon用c语言写的,经过测试ok,然后把接口封装起来了一个send,一个recv. 使用的时候send端是在一个c语言写的http服务端使用,编译ok没有报错,但是 ...
- HDC2021:HMS Core分析服务,数智化营销闭环方案帮助开发者实现精益增长
10.22-10.24华为开发者大会2021(Together)在东莞如期举行.本次大会上,HMS Core华为分析服务作为多平台.跨设备的一站式数据分析平台以数据驱动业务智能决策为理念,带来了数智化 ...
- 如何减小微信小程序代码包大小
原作于:https://captnotes.com/how_to_reduce_package_size_of_weapp 这两天被小程序代码包大小暴涨的问题困扰了挺久.简单说说怎么回事吧,就是之前好 ...
- python基础数据类型语法
#标识符:我们自己在写代码的时候,取的名字.#项目名 project name#包名 package name#模块名 .py ptthon文件名#规范:由字母数字下划线组成,但不能以数字#简明知意: ...
- 大爽Python入门教程 2-1 认识容器
大爽Python入门公开课教案 点击查看教程总目录 1 什么是容器 先思考这样一个场景: 有五个学生,姓名分别为: Alan, Bruce, Carlos, David, Emma. 需要给他们都打一 ...