Выровнять положение символа выравнивания

Я использую попарное выравнивание, чтобы получить следующее:

> 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 из объекта в виде целого числа? Мне нужно использовать эти цифры, но, кажется, нет способа добраться до них.

2 ответа

Решение

Я считаю, что это startс выравнивания, так

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 больше подходит для этих вопросов; подписка не требуется.

Поскольку вы можете сделать строку из выравнивания, вы можете использовать строковые функции R. Вы можете сделать substr(toString(pattern(alignment)), 448, 448), чтобы получить 448-й символ. Я не знаком с этой библиотекой, так что может быть встроенный способ, о котором я не знаю. См. http://www.statmethods.net/management/functions.html для строковых функций в R.

Другие вопросы по тегам