Как объединить две строки на основе их совпадающего префикса / суффикса? - PullRequest
1 голос
/ 22 марта 2020

Я пытаюсь объединить две строки на основе их совпадающего суффикса / префикса. Например, учитывая две строки «a» и «b» ниже, я сначала использую Biostrings::pairwiseAlignement, чтобы получить их общий суффикс / префикс, который в данном случае «cut ie». Затем мне нужно объединить две строки. Объединение не будет полезным, потому что я получу повторения.

Это все, что у меня есть на данный момент:

a= "bahahahallocutie"
b = "cutiepalaohaha"
pairwiseAlignment(a, b, type = "overlap")

Что дает мне:

Overlap PairwiseAlignmentsSingleSubject (1 of 1)
pattern: [12] cutie
subject:  [1] cutie
score: 17.20587 

Что я хочу получить, так это объединение двух строк по шаблону это суффикс одного и префикс другого:

 "bahahahallocutiepalaohaha"

1 Ответ

1 голос
/ 22 марта 2020

Вы можете извлечь шаблон из результата pairwiseAlignment. Затем, используя gsub, чтобы удалить шаблон из строк, вы можете использовать paste0, чтобы получить желаемую объединенную строку. Обратите внимание, что в вашем окончательном коде вам необходимо учитывать порядок исходных строк.

library(Biostrings)
pat <- pairwiseAlignment(a, b, type = "overlap")@pattern
paste0(gsub(pat, "", a), pat, gsub(pat, "", b))
# [1] "bahahahallocutiepalaohaha"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...