0

我使用成对对齐来获得以下信息:

> alignment <-pairwiseAlignment(pattern = canonical.protein, subject=protein.extracted)
> alignment
Global PairwiseAlignedFixedSubject (1 of 1)
pattern: [448]          DDWEIPDGQITVGQRIGSGSFGTVYKGKWHGDVAVKMLNVTAPTPQQLQAFKNEVGV...FMVGRGYLSPDLSKVRSNCPKAMKRLMAE  CLKKKRDERPLFPQILASIELLARSLPK 
subject:   [1]     DDWEIPDGQITVGQRIGSGSFGTVYKGKWHGDVAVKMLNVTAPTPQQLQAFKNEVGV...FMVGRGYLSPDLSKVRSNCPKAMKRLMAECLKKKRDERPLFPQILASIELLARSLPK 
score: -912.3752 

然后我可以使用:

toString(pattern(alignment))
toString(subject(alignment)) 

获取模式和主题的完整字符串序列。但是,如何从对象中获取数字 448 和 1 作为整数?我需要使用这些数字,但似乎没有办法得到它们。

4

2 回答 2

1

我相信这些是start对齐的 s,所以

start(pattern(alignment))

通过完全可重现的示例,您的问题会更清楚,例如,

library(Biostrings)
example(pairwiseAlignment)
aln <- pairwiseAlignment(AAString("PAWHEAE"), AAString("HEAGAWGHEE"),
    substitutionMatrix = "BLOSUM50", gapOpening = 0, gapExtension = -8)

然后

> aln
Global PairwiseAlignedFixedSubject (1 of 1)
pattern: [1] PA--W-HEAE
subject: [2] EAGAWGHE-E
score: 1
> start(subject(aln))
[1] 2

此外,Bioconductor 邮件列表更适合这些问题;无需订阅。

于 2012-06-03T18:38:53.513 回答
0

由于您可以从对齐中创建一个字符串,因此您可以使用 R 的字符串函数。您可以执行 substr(toString(pattern(alignment)), 448, 448) 来获取第 448 个字符。我不熟悉那个库,所以可能有一种我不知道的内置方式。有关R 中的字符串函数,请参见http://www.statmethods.net/management/functions.html 。

于 2012-06-03T20:03:29.730 回答