Gaaising's Blog

使用MEGA11构建NJ树(Neighbor-Joining Tree,邻接树)

Study
Publish: Update:
1215 words

最近在完成生物信息学课程的作业,初次接触MEGA软件,故写一个笔记记录过程,可能比较潦草且有些无关内容,因为主要方便自己以后查阅,如有疏漏也欢迎大佬们指出,我会及时更正,本站About页有我的联系方式(建议发邮箱)。

作业内容是:“以10个TLR家族蛋白的TIR结构序列为例,使用mega11构建NJ树”。

1. 准备工作

目标序列可以先保存在一个文本文件中(一般为*.fasta文件,本文以此为例),文件内容就像下面这样

>sp|Q9BXR5|HUMAN_TLR10_TIR
CLHFDLPWYLRMLGQCTQTWHRVRKTTQEQLKRNVRFHAFISYSEHDSLWVKNELIPNLE
KEDGSILICLYESYFDPGKSISENIVSFIEKSYKSIFVLSPNFVQNEWCHYEFYFAHHNL
FHENSDHIILILLEPIPFYCIPTRYHKLKALLEKKAYLEWPKDRRKCGLFWANLRAAINV
NVLATREMYELQTFTELNEESRGSTISLMRTDCL
>sp|Q9NR96|HUMAN_TLR9_TIR
GWDLWYCFHLCLAWLPWRGRQSGRDEDALPYDAFVVFDKTQSAVADWVYNELRGQLEECR
GRWALRLCLEERDWLPGKTLFENLWASVYGSRKTLFVLAHTDRVSGLLRASFLLAQQRLL
EDRKDVVVLVILSPDGRRSRYVRLRQRLCRQSVLLWPHQPSGQRSFWAQLGMALTRDNHH
FYNRNFCQGPTAE

...

>sp|Q15399|HUMAN_TLR1_TIR
SYLDLPWYLRMVCQWTQTRRRARNIPLEELQRNLQFHAFISYSGHDSFWVKNELLPNLEK
EGMQICLHERNFVPGKSIVENIITCIEKSYKSIFVLSPNFVQSEWCHYELYFAHHNLFHE
GSNSLILILLEPIPQYSIPSSYHKLKSLMARRTYLEWPKEKSKRGLFWANLRAAINIKLT
EQAKK

怎么下载mega11就不赘述了(官网

因为要做进化树分析,所以请注意mega应为analyze模式,软件主界面右下角会有显示

analyze(分析)模式提供完整的gui,也是mega的默认模式,prototype(原型)模式则会禁用一部分可视化工具,适合cli使用,需要配合一个shell

2. 对齐序列

先在Alignment Explorer中打开目标序列的*.fasta文件

Align → Edit/Build Alignment → Retrieve a sequences from File

导入fasta文件后mega会自动选择数据类型(DNA或Protein),如果有误也可以手动选一下,这里做的是蛋白质序列,所以选Protein sequence

选中需要进行对齐的序列(这里Ctrl+A全选即可,不选也可以,后面会有弹窗询问是否选中全部)

Alignment选项里面提供了两种工具:ClustalWMuscle

ClustalW是先做两两比对再计算两两距离矩阵,是一种经典方法,适用范围较广泛;Muscle则仅限于多序列比对,但速度会快很多。另外,如果是DNA序列建议选Codons方式。

更多区别就不赘述了,网上有很多文章介绍这个

这里我们选Align by Muscle,参数啥的默认即可

然后就可以导出已经完成对其的序列了,为了方便后续构建进化树,需要导出适用于mega的*.meg文件

Data → Export Alignment → MEGA Format

会有弹窗提示输入title of data,可以输入一段对该数据的描述(本文以“miku”为例),或者留空也行

如果我们用一个文本编辑器打开这个*.meg,会得到如下内容:

#mega
!Title miku;
!Format DataType=Protein indel=-;

#sp|Q9NYK1|HUMAN_TLR7_TIR
---HLYFWDVWYIYHFCKAKIKGYQRLI---SPDCCYDAFIVYDTKDPAVTEWVLAELVA
KLEDPRE-K-HFNLCLEERDWLPGQPVLENLS-QSIQLSKKTVFVMTDKYAKTE---NFK
IAFYLSHQRLMDEKVDVIILIFLEKPFQK----SKFLQLRKRLCGSSVLEWPTNPQAHPY
FWQCLKNALAT------------------DNHVAYSQVFKETV---

#sp|Q9Y2C9|HUMAN_TLR6_TIR
--YLDLPWYLRMVCQWTQTRRRARNIPLEELQRNLQFHAFISYSEHDS---AWVKSELVP
YLEKED-----IQICLHERNFVPGKSIVENII-NCIEKSYKSIFVLSPNFVQSE---WCH
YELYFAHHNLFHEGSNNLILILLE-PIPQNSIPNKYHKLKALMTQRTYLQWPKEKSKRGL
FWANIRAAFNM----------------------KLTLVTENNDVKS

...

#sp|Q15399|HUMAN_TLR1_TIR
-SYLDLPWYLRMVCQWTQTRRRARNIPLEELQRNLQFHAFISYSGHDS---FWVKNELLP
NLEKEG-----MQICLHERNFVPGKSIVENII-TCIEKSYKSIFVLSPNFVQSE---WCH
YELYFAHHNLFHEGSNSLILILLE-PIPQYSIPSSYHKLKSLMARRTYLEWPKEKSKRGL
FWANLRAAINI---------------KLTEQAKK------------

根据带#的标识符,可分为两类,分别是mega文件头部#mega和序列数据#sp

翻阅MEGA Format的规范可知:

  • Every data file must contain the key words #MEGA and TITLE.

  • The sequence data must consist of two or more sequences of equal length.

  • Frequently used symbols for identical sites, alignment gaps, and missing-information sites are ’.’, ’-’, and ’?’, respectively.

文件头部:对于上面这个例子,#mega标识符和!Title关键字是不可省略的(即使title内容为空),而!Format DataType关键字则可以省略(但再次导入mega软件时会弹窗要求选择序列格式)。

序列部分:meg格式的序列数据和fasta格式长得很像,但最重要的区别是meg格式要求一个文件中所有的序列数据的字符串都是等长的,而fasta格式则没有这种要求。对比之下,多出来的“-”字符(也允许使用“.”或“?”)就是用作对齐间隙的。所以,这也是为何在构建进化树之前要进行对齐序列操作。

3.构建进化树

回到mega主界面,Phylogeny菜单中有三种方法,分别是最大似然法(Maximum Likelihood)、邻接法(Neighbor-Joining)、最小进化法(Minimum-Evolution)

这里我们选择邻接法(NJ法)

可以直接把文件拖入工作界面,然后选择使用当前数据,也可以在文件选择视图中导入刚才导出的*.meg文件,怎么方便怎么来吧

设置构建参数:

其它保持默认即可

等待进度条跑完,然后就可以保存并导出结果了

可以在File选项中选择导出为Newick文件(*.nwk标准树文件),方便在下游可视化软件中导入 ,也可以在Image选项中选择保存为位图/矢量图或者pdf啥的,看具体需要

4.写在最后

可以参考MEGA的官方文档:MEGAX-Help(感觉还挺详细的,可惜没有中文,不过可以用“沉浸式翻译”之类的浏览器拓展来辅佐阅读)

笔者很懒,所以本文没放具体步骤的截图,不过后面可能会抽空补充一下,就这样