作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有大量 fasta 格式的蛋白质序列。
我想获得每对蛋白质的成对序列相似性得分。
R 中的任何软件包都可以用于获取蛋白质序列的blast相似性得分?
最佳答案
根据 Chase 的建议,bioconductor
确实是可行的方法,特别是 Biostrings
包。要安装后者,我建议安装核心 bioconductor
库,如下所示:
source("http://bioconductor.org/biocLite.R")
biocLite()
这样您将涵盖所有依赖项。现在,要比对 2 个蛋白质序列或任何两个序列,您需要使用 Biostrings
中的 pairwiseAlignment
。给定一个包含 2 个序列的 fasta protseq.fasta
文件,如下所示:
>protein1
MYRALRLLARSRPLVRAPAAALASAPGLGGAAVPSFWPPNAAR
MASQNSFRIEYDTFGELKVPNDKYYGAQTVRSTMNFKIGGVTE
RMPTPVIKAFGILKRAAAEVNQDYGLDPKIANAIMKAADEVAE
GKLNDHFPLVVWQTGSGTQTNMNVNEVISNRAIEMLGGELGSK
IPVHPNDHVNKSQ
>protein2
MRSRPAGPALLLLLLFLGAAESVRRAQPPRRYTPDWPSLDSRP
LPAWFDEAKFGVFIHWGVFSVPAWGSEWFWWHWQGEGRPYQRF
MRDNYPPGFSYADFGPQFTARFFHPEEWADLFQAAGAKYVVLT
TKHHEGFTNW*
如果您想使用 BLOSUM100 作为替换矩阵来全局比对这 2 个序列,则打开一个空位的惩罚为 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 文件中的所有序列。
关于r - 如何获得约 1000 个蛋白质的成对 "sequence similarity score"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6529675/
我是一名优秀的程序员,十分优秀!