Отделение отдельных строк от формата HGVS в R

Я пытаюсь отделить определенные строки, которые идут до и после знака ">", от короткого мутационного формата HGVS, например:

"p.1258_1259EE>E"       "p.286_287RR>R"         "p.57_58KK>K"           "p.287_288AA>A"

Чего я хочу добиться, так это сказать из первой строки "p.1258_1259EE>E", я могу получить следующее:

starting_position    end_position    initial_aa    mutant_aa
1258                 1259            EE            E
286                  287             RR            R
57                   58              KK            K

Кажется, немного сложнее, чем я изначально думал. Надеюсь, кто-то здесь может помочь. Спасибо, Тонгтонг

1 ответ

Решение

Если шаблоны одинаковы, base R вариант будет отформатировать строку с sub ввести общее sep и использовать его в read.csv

df1 <- read.csv(text= sub("^[^0-9]+([0-9]+)_([0-9]+)([A-Z]+)>([A-Z]+)", 
    "\\1,\\2,\\3,\\4", v1), header = FALSE, stringsAsFactors = FALSE, 
    col.names = c('starting_position', 'end_position', 'initial_aa', 'mutant_aa'))
df1
#   starting_position end_position initial_aa mutant_aa
#1              1258         1259         EE         E
#2               286          287         RR         R
#3                57           58         KK         K
#4               287          288         AA         A

данные

v1 <- c("p.1258_1259EE>E", "p.286_287RR>R", "p.57_58KK>K",  "p.287_288AA>A")
Другие вопросы по тегам