Lis*_*ann 19 regex string r extract bioinformatics
我有一个关于提取字符串的一部分的问题.例如,我有一个这样的字符串:
a <- "DP=26;AN=2;DB=1;AC=1;MQ=56;MZ=0;ST=5:10,7:2;CQ=SYNONYMOUS_CODING;GN=NOC2L;PA=1^1:0.720&2^1:0"
Run Code Online (Sandbox Code Playgroud)
我需要在GN=和之间提取所有内容;.所以它会在这里NOC2L.
那可能吗?
注意:这是INFO列形式的VCF文件格式.GN是基因名称,因此我们想从INFO列中提取基因名称.
koh*_*ske 33
试试这个:
sub(".*?GN=(.*?);.*", "\\1", a)
# [1] "NOC2L"
Run Code Online (Sandbox Code Playgroud)
jba*_*ums 14
假设分号将元素分开,并且等号仅在键/值对之间出现,则非严格正则表达式方法将为:
bits <- unlist(strsplit(a, ';'))
do.call(rbind, strsplit(bits, '='))
[,1] [,2]
[1,] "DP" "26"
[2,] "AN" "2"
[3,] "DB" "1"
[4,] "AC" "1"
[5,] "MQ" "56"
[6,] "MZ" "0"
[7,] "ST" "5:10,7:2"
[8,] "CQ" "SYNONYMOUS_CODING"
[9,] "GN" "NOC2L"
[10,] "PA" "1^1:0.720&2^1:0"
Run Code Online (Sandbox Code Playgroud)
那么只需选择合适的元素即可.
| 归档时间: |
|
| 查看次数: |
31758 次 |
| 最近记录: |