欢迎光临散文网 会员登陆 & 注册

使用R语言完成序列比对及进化树美化

2022-12-12 10:45 作者:尔云间  | 我要投稿


    系统发育树可以描述一组生物之间的系谱关系,如人和黑猩猩的亲缘关系最为接近,而与大猩猩则次之。

    拿血红蛋白举例,人和黑猩猩是从大约700w年由同一祖先进化而来,它们的血红蛋白只有一个氨基酸的差异,和大猩猩的血红蛋白差异则较大。

    香蕉。一种连动物都不是的生物,居然跟人类的基因有50%的相似性。

    我们可以根据生物的基因序列构建,也可以根据蛋白质序列构建。如下图所示,一个有根的系统发育树代表了一种进化历史模型,该模型由树节点之间的祖先-后代关系以及“sister”或“cousin”有机体在不同相关性水平上的聚类所描述。 在传染病研究中,系统发育树通常是根据病原体的基因或基因组序列构建的,以显示哪个病原体样本在遗传上更接近另一个样本,从而深入了解潜在的未观察到的流行病学联系和爆发的潜在来源。

    

    下面小云带大家使用R语言完成序列比对和进化树的绘制:

    序列下载:

    打开NCBI ,选择Nucleotide数据库,输入Coronavirus ,回车,选择你需要的序列,选择send to进行下载,

 

    保存成fasta格式,即以>开头的文件,

   

  下面是R语言实操部分,小云只推荐跑10条左右的短序列,如果太多还是使用mega等软件比较好:

###BiocManager::install("msa")

require(msa)

mySequenceFile <- readAAStringSet(“sequence.txt”)

 

#多序列比对

myFirstAlignment <- msa(mySequenceFile)

 

head(mySequenceFile)

 

library(ggplot2)

 

require(seqinr)

myAlignment <- msaConvert(myFirstAlignment, type="seqinr::alignment")

d <- dist.alignment(myAlignment, "identity")

 

#构建NJ树

require(ape)

tree <- nj(d)

 

#画树并输出到PDF文件ggtree.pdf

require(ggtree)

环形进化树

 

##环状图

p1<-ggtree(tree, layout='circular', ladderize=FALSE, size=0.8, branch.length="none",col="red")+

  geom_tiplab2(hjust=-0.3)+

  geom_tippoint(size=1.5,col="blue")+

  geom_nodepoint(color="black", alpha=1/4, size=2) +

  theme(legend.title=element_text(face="bold"), legend.position="bottom", legend.box="horizontal", legend.text=element_text(size=rel(0.5)))

# 图例位置、文字大小

长方形进化树

###长方形图

p2<- ggtree(tree, layout='rectangular', size=0.8, col="deepskyblue3") +

 

  geom_tiplab(size=3, color="purple4", hjust=-0.05)+

  geom_tippoint(size=1.5, color="deepskyblue3")+

  geom_nodepoint(color="pink", alpha=1/4, size=5)+

  theme_tree2()

ggsave(p1, file="tree_circular.pdf", width=9, height=9)

ggsave(p2, file="tree_rectangular.pdf", width=9, height=9)

 

 

进化树的美化大家可以使用itol或者自己阅读ggtree包的参数了,好了今天小云的分享就到这里了,关注小云,下期会给大家带来给多生信入门实操知识。


使用R语言完成序列比对及进化树美化的评论 (共 条)

分享到微博请遵守国家法律