如何获得~1000种蛋白质的成对“序列相似性得分”?

时间:2011-06-30 03:34:34

标签: r sequence similarity

我有大量的fasta蛋白质序列。

我希望得到每对蛋白质的成对序列相似性得分。

R中的任何包可用于获得蛋白质序列的爆炸相似性评分吗?

2 个答案:

答案 0 :(得分:11)

根据Chase的建议,bioconductor确实是要走的路,特别是Biostrings包。要安装后者,我建议安装核心bioconductor库:

source("http://bioconductor.org/biocLite.R")
biocLite()

这样您将涵盖所有依赖项。现在,为了对齐2个蛋白质序列或任何两个序列,您需要使用pairwiseAlignment中的Biostrings。给定2个序列的fasta protseq.fasta文件,如下所示:

>protein1
MYRALRLLARSRPLVRAPAAALASAPGLGGAAVPSFWPPNAAR
MASQNSFRIEYDTFGELKVPNDKYYGAQTVRSTMNFKIGGVTE
RMPTPVIKAFGILKRAAAEVNQDYGLDPKIANAIMKAADEVAE
GKLNDHFPLVVWQTGSGTQTNMNVNEVISNRAIEMLGGELGSK
IPVHPNDHVNKSQ
>protein2
MRSRPAGPALLLLLLFLGAAESVRRAQPPRRYTPDWPSLDSRP
LPAWFDEAKFGVFIHWGVFSVPAWGSEWFWWHWQGEGRPYQRF
MRDNYPPGFSYADFGPQFTARFFHPEEWADLFQAAGAKYVVLT
TKHHEGFTNW*

如果你想使用BLOSUM100作为你的替换矩阵来全局对齐这两个序列,那么打开一个缺口会有0的惩罚,而对于扩展一个缺口则为-5:

require("Biostrings")
data(BLOSUM100)
seqs <- readFASTA("~/Desktop/protseq.fasta", strip.descs=TRUE)
alm <- pairwiseAlignment(seqs[[1]]$seq, seqs[[2]]$seq, substitutionMatrix=BLOSUM100, gapOpening=0, gapExtension=-5)

结果是(删除了一些对齐以节省空间):

> alm
Global PairwiseAlignedFixedSubject (1 of 1)
pattern: [1] MYRALRLLARSRPLVRA-PAAALAS....
subject: [1] M-R-------SRP---AGPALLLLL.... 
score: -91

仅提取每个路线的分数:

> score(alm)
[1] -91

鉴于此,您现在可以轻松地使用一些非常简单的循环逻辑进行所有成对比对。为了更好地使用bioconductor暂停成对对齐,我建议您阅读this

另一种方法是进行多序列比对而不是成对比对。您可以使用bio3d并从那里使用seqaln函数来对齐fasta文件中的所有序列。

答案 1 :(得分:0)

6年后,但是:

protr软件包刚刚出来,它具有并行化的成对相似性评分函数parGOsim()。它可以列出蛋白质序列,因此编写循环是不必要的。