表达矩阵中的ensembl id总是会带个小数点,小数点后面是版本号。在id转换时需要去掉小数点和后面数字。

    先查看下exp表达矩阵

    1. exp[1,1]
    2. [1] "ENSMUSG00000000001.4"

    然后用stringr包的str_split函数处理

    1. library(stringr)
    2. exp$gene_id=str_split(exp$gene_id,"[.]",simplify = T)[,1]
    3. exp[1,1]
    4. #[1] ""

    纳尼,为啥pattern里面用”.”,最后出来的是空字符串。只好去搜索下,发现原来得用”[.]”才行,也不知道具体原因。

    1. library(stringr)
    2. exp$gene_id=str_split(exp$gene_id,"[.]",simplify = T)[,1]
    3. exp[1,1]
    4. #[1] "ENSMUSG00000000001"