Выровнять положение символа выравнивания
Я использую попарное выравнивание, чтобы получить следующее:
> 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.