多序列比对(或多序列联配,multiple sequence alignment,MSA),是指把多条(3 条或以上)有系统进化关系的蛋白质或核酸序列进行比对,尽可能地把相同的碱基或氨基酸残基排在同一列上。这样做的意义是,对齐的碱基或氨基酸残基在进化上是同源的,即来自共同祖先(common ancestor)。下图是一个 MSA 的例子。

多序列比对大家一定不陌生了吧,但是用R直接绘制多序列比对大家一定没见过吧,今天小云就用最简单的代码和数据给大家演示一遍:
文件准备:
多系列比对文件/序列文件;准备成fasta格式(以“>”开头,加基因名,第二行是序列)

###加载R包,如果没有安装则自动安装
if(!require(ggmsa))install.packages("ggmsa")
####读取数据:
fai<-"t.fa"
###画图并保存图片,如图不清晰或字体重叠,需要调整长宽,可输入序列比对数据
pdf(file = "aligned_fasta.pdf",width = 30,height = 3)
ggmsa(fai,char_width = 0.5, seq_name = TRUE)+
geom_seqlogo() + geom_msaBar()
dev.off()
结果图:

网友评论