尔云间 一个专门做科研的团队
原创 小果 生信果
系统发育树可以描述一组生物之间的系谱关系,如人和黑猩猩的亲缘关系最为接近,而与大猩猩则次之。
拿血红蛋白举例,人和黑猩猩是从大约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包的参数了,好了今天小果的分享就到这里了,关注小果,下期会给大家带来给多生信入门实操知识。
推荐阅读
- GEO数据库之GPL文件学习
- 风险比看不懂?小果带你弄明白单因素COX回归结果
- 你不知道的PCA及在R中的实现
- LAASO的非癌症形态,LASSO的诊断分析
- 一步到位?R代码构建列线图