vlambda博客
学习文章列表

R语言实现生物序列的降维比对

系统发育树分析大家应该很熟悉,很多软件都可以实现可视化的操作。今天给大家介绍一个通过“SpacedWords Projection” 方法实现的氨基酸序列系统发育树构建,该方法主要是基于无对齐技术实现,能够在保持序列间可比性的前提下,用相对较小的向量表示生物序列。再详细的算法那就需要各位直接看此包的原文了,我们不在此展开。首先,我们看下包的安装:

BiocManager::install("Biostrings")BiocManager::install("rSWeeP")

 

在此包中只有两个功能:

1. orthBase主要是用来生成正交矩阵的函数,此矩阵就是后面SWeeP算法的投影矩阵。我们直接看下实例:

 

##生成16000行10列矩阵library(rSWeeP)baseMatrix <- orthBase(160000,10)

 

2. sWeeP 比对氨基酸序列的核心算法。主要参数就是序列文件和正交矩阵。我们直接看下实例:

##数据包含200个氨基酸序列path <- system.file(package ="rSWeeP", "extdata", "exdna.fas")return <- sWeeP(path,baseMatrix)distancia <- dist(return, method ="euclidean")tree <- hclust(distancia,method="ward.D")plot(tree, hang = -1, cex = 1)

R语言实现生物序列的降维比对

如果想生成漂亮的树状图还需要用进行美化。当然,在这个包中有一个限制,他的坐标索引设置是160000,是一个常量不可以改变。但是矩阵列数是可以变化的,但是原则上是远小于160000。


欢迎大家学习交流!