R 拉动对齐字符位置

R 拉动对齐字符位置,r,bioconductor,protein-database,R,Bioconductor,Protein Database,我使用成对对齐获得以下结果: > alignment <-pairwiseAlignment(pattern = canonical.protein, subject=protein.extracted) > alignment Global PairwiseAlignedFixedSubject (1 of 1) pattern: [448] DDWEIPDGQITVGQRIGSGSFGTVYKGKWHGDVAVKMLNVTAPTPQQLQAFKNEVGV.

我使用成对对齐获得以下结果:

> 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 

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

我相信这些是路线的
起点,所以

start(pattern(alignment))
通过一个完全可复制的示例,您的问题会更清楚,例如:

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

此外,该方法更适合于这些问题;无需订阅。

由于可以通过对齐生成字符串,因此可以使用R的字符串函数。您可以执行substr(toString(pattern(alignment)),448448)来获得第448个字符。我不熟悉那个图书馆,所以可能有一种我不知道的内在方式。有关R中的字符串函数,请参见

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