首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得约1000种蛋白质的成对“序列相似性分数”?

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

Stack Overflow用户
提问于 2011-06-30 11:34:34
回答 2查看 4.9K关注 0票数 7

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

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

R中的任何包都可以用来获得蛋白质序列的blast相似性分数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-30 13:57:47

根据Chase的建议,bioconductor确实是可行的方法,尤其是Biostrings包。要安装后者,我建议按如下方式安装核心bioconductor库:

代码语言:javascript
复制
source("http://bioconductor.org/biocLite.R")
biocLite()

这样你就可以覆盖所有的依赖项了。现在,要比对2个蛋白质序列或任何两个序列,您将需要使用BiostringspairwiseAlignment。给定一个包含2个序列的fasta protseq.fasta文件,如下所示:

代码语言:javascript
复制
>protein1
MYRALRLLARSRPLVRAPAAALASAPGLGGAAVPSFWPPNAAR
MASQNSFRIEYDTFGELKVPNDKYYGAQTVRSTMNFKIGGVTE
RMPTPVIKAFGILKRAAAEVNQDYGLDPKIANAIMKAADEVAE
GKLNDHFPLVVWQTGSGTQTNMNVNEVISNRAIEMLGGELGSK
IPVHPNDHVNKSQ
>protein2
MRSRPAGPALLLLLLFLGAAESVRRAQPPRRYTPDWPSLDSRP
LPAWFDEAKFGVFIHWGVFSVPAWGSEWFWWHWQGEGRPYQRF
MRDNYPPGFSYADFGPQFTARFFHPEEWADLFQAAGAKYVVLT
TKHHEGFTNW*

如果你想将这两个序列全局比对,假设使用BLOSUM100作为你的替换矩阵,0表示打开一个空位,-5表示扩展空位,那么:

代码语言:javascript
复制
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)

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

代码语言:javascript
复制
> alm
Global PairwiseAlignedFixedSubject (1 of 1)
pattern: [1] MYRALRLLARSRPLVRA-PAAALAS....
subject: [1] M-R-------SRP---AGPALLLLL.... 
score: -91

要仅提取每个对齐的分数,请执行以下操作:

代码语言:javascript
复制
> score(alm)
[1] -91

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

另一种方法是进行多序列比对,而不是成对比对。您可以使用bio3dseqaln函数对fasta文件中的所有序列进行比对。

票数 14
EN

Stack Overflow用户

发布于 2017-07-16 11:50:57

6年后,但是:

protr包刚刚问世,它有一个并行化的成对相似性评分函数parGOsim()。它可以获取蛋白质序列的列表,因此不需要编写循环。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6529675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档