使用Linux版的MEGA构建某一基因家族的基因进化树

使用Linux版的MEGA构建某一基因家族的基因进化树,第1张

最近碰到了个需求,让我构建某一基因家族的进化树,并根据进化关系进行相应的分类。这让我想起了之前上课的时候,一个做进化的老师给我们讲过,如果不是纯做进化方向的课题,MEGA完全够用了。由于windows的内存等有限,做几十个基因还凑合,要是上百个基因就吃不消了,于是就想到了用Linux下的MEGA来做。

https://www.megasoftware.net/

由于是二进制文件,直接解压缩,添加到环境变量就可以用了。

具体请看我这篇文章。 https://www.jianshu.com/p/5fd60c818651

上一步我得到了该基因家族的所有基因家族的蛋白序列,然后我用windows下的MEGA的 muscle 算法进行了比较,【align-build alignment-上一步的基因家族蛋白序列-muscle比对-data-export-FASTA format】

最终我得到了比对后的 multiproteins.fasta 文件。

首先进行参数的解读,相比于其他软件,我觉得这款软件比较好理解,也容易上手。

这里的 .mao 文件尤为重要,较为简单的方法是拿到windows下去设置,具体请看组学大讲堂的这篇推送。

https://www.omicsclass.com/article/568

版本信息

MEGA version 10.1.8

For 64-bit Linux

Build 10200331

参数解读

EXAMPLES

This example performs a multiple sequence alignment on codons (it assumes that you have created the file "Clustal_Codon_Alignment.mao" using the prototyper (megaproto). A fasta file with coding data is used as input and the resulting alignment is output in the MEGA format:

This example shows how to construct a neighbor-joining phylogeny for each of a list of sequence data files.

The analysis will be performed for each file listed in "listOfDataFiles.txt" and all results will be written to

the ~/Documents/outputDirectory/ directory:

megacc -a ~/Documents/NJ_Tree_Settings.mao -l ~/Documents/listOfDataFiles.txt -o ~/Documents/outputDirectory/

LIST FORMAT

When using the -l option, each file to be analyzed must be on its own line. For example:

~/Documents/myData/seqData1.fas

~/Documents/myData/seqData2.fas

~/Documents/myData/seqData3.fas

If the analyses are to use a user-provided Newick tree file, then the tree files are given on the same line as the data files, following two pipe characters. For example:

~/Documents/myData/seqData1.fas || ~/Documents/myData/treeFile1.nwk

~/Documents/myData/seqData2.fas || ~/Documents/myData/treeFile2.nwk

~/Documents/myData/seqData3.fas || ~/Documents/myData/treeFile3.nwk

我的最终使用:

下一步我打算用 ggtree 来美化,具体学习情况,我再更新。

最近杂事真的非常的满,终于找到时间更新一下。。。。

通过上一篇文章的介绍, 系统发育树的基本概念 大家已经了解清楚,那到底怎么获得一棵可信的进化树呢?

对于群体遗传学分析,一般都会以群体SNPs位点数据构建系统发育树,因此,接下来我主要以SNPs数据为例,介绍系统进化树的构建方法。

序列比对->建树方法选择->计算最佳替代模型->进化树建立->进化树美化

常见的序列比对软件包括:Clustal和Muscle等。

Clustal 除了有自己独立的软件外(多种 *** 作系统都支持),也常被整合到一些常见的软件中,如:Bioedit、MEGA等。

Muscle 同样支持多种 *** 作系统。

两个软件的引用频率都很高,没有绝对的谁好谁坏,哪个顺手就用哪个即可。

1、Distance-based methods 距离法:

基于距离的方法:首先通过各个物种之间的比较,根据一定的假设(进化距离模型)推导得出分类群之间的进化距离,构建一个进化距离矩阵。进化树的构建则是基于这个矩阵中的进化距离关系。

2、Character-based methods 特征法:

基于特征的方法:不计算序列间的距离,而是将序列中有差异的位点作为单独的特征,并根据这些特征来建树。

模型选择的依据如下图:

UPGMA法已经较少使用。一般来讲,如果模型合适,ML的效果较好。对近缘序列,有人喜欢MP,因为用的假设最少。MP一般不用在远缘序列上,这时一般用NJ或ML。对相似度很低的序列,NJ往往会出现Long-branch attraction(LBA,长枝吸引现象),有时严重干扰进化树的构建。贝叶斯方法则太慢。对于各种方法构建分子进化树的准确性,有一篇综述 (Hall BG, 2005) 认为贝叶斯的方法最好,其次是ML,然后是MP。其实如果序列的相似性较高,各种方法都会得到不错的结果,模型间的差别也不大。不过现在文章普遍使用的是NJ是ML模型。

系统发育分析中,最大似然法(ML)和贝叶斯法(BI)是对替代模型非常敏感的两种算法,因此,利用ML法或BI法重建系统发育树前,替代模型的选择是必不可少的过程。

Win *** 作系统下jModeltest的使用方法参考这篇文章: 图解核苷酸替代模型的选择 - jModelTest 篇(By Raindy) 。

ProTest的使用方法可以参考这篇文章: 使用 ProtTest 来选择最优氨基酸替代模型 。

我自己基本都用的是Linux版本的jModelTest,使用及其简单,命令如下:

参数说明:

-d:输入文件。注意!这个软件需要输入的是.phy格式文件,不是.fasta格式。

-f:include models with unequals base frecuencies

-g:include models with rate variation among sites and number of categories

-i: include models with a proportion invariable sites

-s:number of substitution schemes

-v:do model averaging and parameter importances

-a:estimate model-averaged phylogeny for each active criterion

-BIC:calculate the Bayesian Information Criterion

-AIC:calculate the Akaike Information Criterion

结果的最下方,有如图所示的列举,也就是得分最高的模型。

计算完最佳模型,我们就要开始建树了。对于ML树的构建,推荐大家使用新一代RAxML——raxml-ng。

RAxML一直是ML建树的经典工具,其由来自德国海德堡理论科学研究所(Heidelberg Institute for Theoretical Studies)的Alexandros Stamatakis开发。近年来,其江湖地位也受到来自其他软件,尤其是IQ-Tree的挑战。Zhou等人的文章 Evaluating Fast Maximum Likelihood-Based Phylogenetic Programs Using Empirical Phylogenomic Data set 对RAxML,IQ-TREE,FastTree,Phyml四个最大似然法建树软件的实际效果和表现进行了系统比较,其中一个结论是IQTREE在准确性方面要略胜一筹。

近日,RAxML的升级版, raxml-ng 发布!

相较于上一代,raxml-ng有如下优势:

话不多说,直接建树:

参数说明:

--all:Perform an all-in-one analysis (ML tree search + non-parametric bootstrap)

--msa:对其后的序列文件

--model:直接输入上一步产生的最佳模型

--bs-trees:检查树的鲁棒性(robustness)进行自展(bootstrap)检验,进行1000次bootstrapping抽样

--threads:给定线程

运行后结果如下图所示,其中.bestTree就是我们要的树文件,导入树可视化工具即可(我比较常用MEGA和 iTOL ),下次再写一下如何美化进化树吧。

做进化分析的工友们可能都有个感觉,很多分析一等就是好几天,特别是建树(做过的都知道其中的痛苦),有时候忽然加入一个样品又要从头来。因此,一台给力的服务器是必要的工具。比如,上文提到了SNP进化树,我做的还仅仅只是相近物种,而且基因组很小(9M),SNP位点就有4万个,如果要用我MEGA这些软件调用我电脑8核的CPU,1000自展值可能要跑到毕业。

生物学背景出身的我,抄着那一点可怜的计算机常识,在我们课题组购买服务器时,我做了非常多的功课。当然,主要还是听取公司技术人员的建议,通过我非常非常非常长时间的测试,多次使用常见的生物信息分析软件(我主要从事寄生虫基因组、宿主转录组、16S宏基因组等研究),最终,找到了一个性价比超高的服务器配置,具体配置如下:

真心感谢一下烽伟的技术小哥哥们,乐死不疲的回答我各种低级的问题,如果有啥需要可以联系一下他们的技术,感觉蛮靠谱哒,官网: 烽伟科技 。

上一个他们的LOGO,以表感谢。

本文为本人的学习笔记,希望对大家有所帮助。本文大量参考网络文章,文章来源列举于全文末尾。

参考:

一文读懂进化树

使用 ProtTest 来选择最优氨基酸替代模型

RAxML进化树构建的新一代——raxml-ng

你买不到第一个原因是海思销售额约80%-90%的芯片是不外售的。

外售的部分无非就是三四个领域的芯片,安防摄像头,机顶盒,电视,电表。而且也都是2B市场销售的,2C市场从来都不是嵌入式芯片的主要销售对象。

电视和机顶盒行业海思现在是扮演行业霸主 AMlogic 和 Mstars 挑战者的角色,现在接近三分天下有其一的水平。这类芯片单价不高,毛利也偏低,但单论发货量是九位数的数量级。

安防摄像头是海思深耕多年的领域,这个领域海思是后来居上者,主要竞争对手是安霸、TI和marvell。受惠于国内安防设备商(大华,海康,...)的强势,现在海思国内市占率大概七八成,全球范围市占率一半以上。

电表芯片我没了解过不说了。

以上领域皆有每年份的公开数据可查。

我划个重点,这些都是高集成度芯片。

第二个原因是你不是半导体从业者,你列举的网站,是给单片机爱好者和学生买电阻电容、电源、memory和flash、I/O这些module,而甚至连卖开发板的网站都不是,更不用说高集成度的芯片了。换句话说,就是你列举的那些网站,都应该算元器件采购网,一般都不会涉及上面列举的几个领域内的高集成度,综合性的芯片。不信你可以试着搜一下你那些网站能不能买到tegra。

事实上芯片要到哪里买?鉴于99.99%的个人开发者和学生都不可能有能力去手工做一个2美金左右的机顶盒芯片对应的 mother board,所以能卖的无非就是集成了芯片和 mother board 的开发单板。偏向于嵌入式应用的个人开发者倾向于使用树莓派或者 Arduino 这些社区活跃度高的开发板,ARM 的信徒们玩儿 mbed,追求原滋原味 linux 的玩家们一般在 linaro 钦定的 96 Boards 消费,而真正的硬核玩家show muscle的方式是给 RISC-V 写驱动和适配。

事实上高集成度的芯片行业基本上就没什么 2C 领域这一说,主要销售对象都是 2B 的。个人开发者芯片的消耗量,相对于设备厂商完全没有可比性。而每个芯片应用到不同的设备上,基本都要进行可靠性测试、客制化,包括了AE、FAE的全程跟踪,technical support 才是无尽的地狱。没有芯片厂商愿意花时间人力来处理个人开发者插面包板时遇到的 issue 。工业上实际大规模应用到的元器件,有的应该比你列举到的领先一些,有的可能和你列举的差不多共代,但是共同点就是,采购的成本,大部分在你列举网站的10%-20%之间。

事实上华为的芯片也是能买到的。上面提到的 linaro 的生态链商店96 boards 上,就能搜索到HiKey 960和HiKey 970,对应的啥芯片自己看名字猜。还有Poplar事实上是海思电视芯片的马甲。这些开发板包含了对应的SDK包,但是对开发者支持都非常有限。(淘宝有售)

海思把这批开发板放出来,主要是基于与 linaro 的合作关系,和作为对 Linux 社区的贡献。事实上96 Boards 上多数的单板,厂商都希望你们都别去买别去提 issue 。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7229797.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存