基因家族树构建最常用的方法是 NJ 法和 ML 方法,构建进化树之前,需要进行多序列比对。

欢迎关注Bioinfor 生信云微信公众号!

多序列比对

多序列比对的作用是将核酸或者氨基酸序列对齐,使得相同残基的位点位于同一列,这样以便于发现不同的序列之间的相似部分。

这里使用 muscle 进行多序列比对。

准备文件:构建进化树的蛋白文件

# 使用muscle进行多序列比对
muscle -in pep.fasta -out pep.mfa# 结果转为phylip格式
trimal -in pep.mfa  -out pep.phylip  -phylip_paml# 转mega格式
trimal -in pep.mfa  -out pep.meg  -mega# 还可以对比对结果进行trimal处理
trimal -in pep.mfa  -out pep.trim.phylip  -phylip_paml     -gt 0.6     -cons 60#多序列比对结果图绘制
Rscript ./msa_figure.R    pep.fasta  pep.msa


多序列比对结果有多种软件可以可视化,Jalview、mega等等

构建进化树

可以使用 MEGA 软件在个人电脑上完成多序列比对及构建进化树如果序列条数较多或者使用 ML 方法建树,由于个人电脑的性能限制,MEGA软件可能会停止分析,这时建议使用服务器进行多序列比对及建树操作。
##treebest构建NJ树
treebest 是一款 linux 服务器构建进化树的软件,可以用来构建 NJ 树。

# 使用treebest软件构建NJ树
treebest nj  -W -t jtt -b 1000 ./pep.mfa > treebest.out
## -w 去除根节点;-t 指定模型;-b 进行1000次bootstrap分析

fastatree构建进化树

fasttree 使用 ML 方法构建进化树,默认使用 JJT 模型,运行速度快。

#默认模型为JTT,可以使用 - lg 和 - wag更换氨基酸替代模型
fasttree -out fasttree.nwk  ./pep.mfa

fasttree 的进化树上已经有 SH 检验得到的可信度信息,可以直接使用。
如果需要进行传统的 bootstrap 分析,需要使用 seqboot 生成 bootstrap数据集。

#使用phylip软件包seqboot程序,生成bootstrap数据集
#需要注意的是seqboot软件只接受phylip格式,且基因ID长度要求小于10
# 生成seqboot 配置文件, 其中1000表示生成bootstrap数据集个数
echo -e "pep.phylip_new\nR\n1000\nY\n1\n" > seqboot.cfg# 运行seqboot生成bootstrap数据集
seqboot < seqboot.cfg > seqboot.log
mv outfile  seqboot.phylip# 运行fasttree 对bootstrap数据集建树,其中1000为数据集个数
fasttree -n 1000 -out fasttree.nwk.bootstrap  seqboot.phylip# 运行fasttree 对原始数据集建树
fasttree  -out fasttree.nwk.tmp  pep.phylip_new#整合bootstrap到进化树上
perl ./CompareToBootstrap.pl -tree fasttree.nwk.tmp -boot fasttree.nwk.bootstrap > fasttree.bs.nwk

使用iqtree构建进化树

iqtree 使用 ML 方法构建进化树,可以自动估算替代模型构树。

iqtree -s  ./pep.mfa -m MFP -bb 1000 -nt 4 -pre  pep.iqtree
# -s 输入文件;-m 自动选择模型; -bb bootstrap分析次数; -nt 线程数; -pre 输出文件前缀

最终iqtree建树的结果为pep.iqtree.treefile

#进化树美化
进化树美化可以使用 mega,Figtree 等软件进行,这里介绍 iTOL(Interactive Tree Of Life), 一款在线的进化树美化软件。
首先导入进化树文件
基本设置

control 面板可以调整树的形状(圈图、辐射图或者常见的 normal 格式)、字体大小及颜色、是否显示 bootstrap 值等信息。

添加注释
如果想在图中添加更多的信息,就需要自己准备好配置文件,将每个
dataset 配置信息单独写到文本文件中,注意指定分隔符,准备好文件后,将文件拖拽到进化树美化页面。然后微调这些 dataset,得到最终的进化树图片。

例如:
label颜色调整(写到文本文件中)

#指定dataset的类型
TREE_COLORS
#指定文件分隔符
SEPARATOR TAB
#指定数据,第一列为label
#第二列固定为label
#第三列为颜色
DATA
id1  label  #EE82EE
id2  label  #EE82EE
id3  label  #EE82EE

label背景颜色调整

#指定dataset的类型
TREE_COLORS
#指定文件分隔符
SEPARATOR TAB
#指定数据,第一列为label
#第二列固定为range
#第三列为颜色
#第四列为亚家族分类


在label前面添加形状
在ITOL中不同的数字代表不同的符号

symbol示例文件
第一列为id,第二列为symbol,第三列为大小,第四列为颜色,第五列为是否填充,第六列为位置

效果图

基因家族分析(3)进化树构建及美化相关推荐

  1. 基因家族分析⑤:进化树构建

    在④中,我们已经得到了甘蓝中的几丁质酶基因家族序列,用任意一个序列在NCBI上对拟南芥数据库进行BlastP,在EnsemblPlants数据库中对白菜数据库进行BlastP(Brassica_rap ...

  2. 重测序群体遗传进化分析之进化树构建

    tree 重测序大家都不陌生,它是检测样本基因组变异(SNP,indel,SV,CNV)的主要手段之一,有了这些变异信息,后续可以做很多分析工作,例如: 遗传群体可以进行遗传图谱构建.BSA分析等:大 ...

  3. 基于TBtools做基因家族分析教程 (全)

    基因家族分析笔记-全部开始记录 一. 写在前面 2023年4月中旬自己开始做基因家族的分析,对于这块自己没有接触过,因此也是一个挑战,没事!!!(安慰自己),对于基因家族的分析网上的教程很多,跟着步骤 ...

  4. linux统计单拷贝基因家族,为什么要进行基因家族分析?

    原标题:为什么要进行基因家族分析? 某物种基因组被测序后,大部分课题组都会发表一些基因家族分析的文章,此举常常被误解为"灌水",其实不然,理清基因组内基因家族成员分类组成,是挖掘和 ...

  5. 系统进化树构建及数据分析的简介

    本文引用地址:http://blog.sciencenet.cn/blog-344534-352797.html 1.涉及基本概念 例如,"分子进化与生物进化是不是一个概念",&q ...

  6. GTDB:基因组分类数据库,物种注释和进化树构建工具GTDB-tk

    简介 基因组分类数据库:GENOME TAXONOMY DATABASE 网址:https://gtdb.ecogenomic.org/ 该数据库已经于2018/2020连续发表两篇Nature Bi ...

  7. seqkit根据基因id_基因家族分析保姆级教程(分子进化)-生信小白自学之路

    开始前先熟悉一下我自己 简单介绍一下,我是20级研究生,普通本科和中科院海洋所联培的学生,什么是联培呢,简单来说就是理论课程在学校上,根据学校安排,一般是一年,我们半年就上完了,后面就去海洋所工作了. ...

  8. [基因课学习笔记]一个简单的基因家族分析

    工作背景 探究在芝麻.大豆以及拟南芥中FAD4-like基因家族进化关系,并使其可视化(进化树) 操作环境及软件的准备 虚拟机应用:VMware Workstation pro 17 虚拟机操作系统: ...

  9. vbn中使用的3种流程控制结构是_细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定...

    细菌进化树 • 构 建 细菌进化树构建:从模式种序列下载到构建系统发育树一键搞定 对于细菌新种或者新属的发现,总是那么让人期待,但是当我们批量获得16S序列后,逐一对这些尚不知分类地位的序列进行比对并 ...

最新文章

  1. 技术图文:如何通过挂单刷 BigOne 的贡献值?
  2. Leetcode 860. 柠檬水找零 解题思路及C++实现
  3. Windows Azure Storage浏览器
  4. 川农在线计算机考试,四川农业大学《计算机应用基础(专科)》20年6月作业考核-答案...
  5. 【论文阅读】Universal Domain Adaptation
  6. div中定义局部变量_中高级前端必须要了解的--JS中的内存管理
  7. OA报账规范(出差专用)
  8. 走出软件质量困境的指导性思想
  9. MCGS图库 触摸屏组态图库 触摸屏图库 昆仑通态触摸屏专用CGS
  10. Golang Web框架性能对比
  11. 判断已知顺序的三个点是顺时针还是逆时针
  12. 《智能商业》读后感作文5000字
  13. 游戏编辑器制作(9)
  14. 关于android的广告词,关于android:随心译无广告的专属实时翻译神器
  15. 以下关于python二维数据的描述中错误的是_关于二维数据CSV存储问题,以下选项中描述错误的是‪‪‪‪‪‪‫‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‫:...
  16. 如何群发邮件,5秒帮你搞定
  17. Testudo:Spartan + Groth16 的R1CS ZKP证明系统
  18. Python分析《哈哈哈哈哈》第11期弹幕数据
  19. vs2013中带命令行参数的调试方法
  20. 软考高项论文----风险管理

热门文章

  1. STM32控制LED灯闪烁(NB-IoT专栏—基础篇4)
  2. unity判断设备型号
  3. 网络爬虫-tx滑块验证码
  4. k8s使用StatefulSet部署MongoDB集群
  5. 方案 | 医疗单据OCR识别,为医保零星报销打造安全屏障
  6. 惊人!今早,半个美国互联网瘫痪了
  7. 基于C/C++的椭圆等间距离散方法
  8. GSview5.0安装步骤及问题
  9. arcgis中的wgs84转西安80
  10. 求满足条件的整数个数