表达矩阵中的ensembl id总是会带个小数点,小数点后面是版本号。在id转换时需要去掉小数点和后面数字。
先查看下exp表达矩阵
exp[1,1]
[1] "ENSMUSG00000000001.4"
然后用stringr包的str_split函数处理
library(stringr)
exp$gene_id=str_split(exp$gene_id,"[.]",simplify = T)[,1]
exp[1,1]
#[1] ""
纳尼,为啥pattern里面用”.”,最后出来的是空字符串。只好去搜索下,发现原来得用”[.]”才行,也不知道具体原因。
library(stringr)
exp$gene_id=str_split(exp$gene_id,"[.]",simplify = T)[,1]
exp[1,1]
#[1] "ENSMUSG00000000001"