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

时间:2022-07-25
本文章向大家介绍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)

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

欢迎大家学习交流!