Отделение отдельных строк от формата 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")