从R中的HGVS格式中分离特定的字符串

时间:2018-06-20 02:18:01

标签: r mutation

我正在尝试从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 个答案:

答案 0 :(得分: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")