物种间基因互换
近期碰到一个很奇怪的需要,希望将单细胞矩阵里小鼠的基因转换为human的基因。
经过追问是因为想做scMetabolism分析,而这个方法中给出的gmt文件都是human的,其实我的第一想法是应该去把gmt的改成小鼠对应的,不过这个显然对方无法自己做到,而且还涉及到修改函数源码的问题,因此,只能将seuratobject里的小鼠的symbol改成human的。
有两种方案,其一是超级偷懒版。由于小鼠和human同源的基因本质上只是大小写不一样,那么我们可以直接将小鼠的基因列表使用upper函数直接全转成大写就当完成。
第二种,利用ensembl来转换,这个教程很多,但是网络访问问题嘛…….
1 | library(biomaRt) |
反正我自己是没跑出来,不是404就是502…….
第三种,使用homologene这个R包,这种最简单,而且这个包针对human和mouse还专门写了一个函数mouse2human
1 | library(homologene) |
这样就太简单了,当然,转换完之后得传回seuratobject里,一共有三个地方需要改动,两个dimnames和一个var.features(高变基因列表)
1 | seuratobject@assays$RNA@data@Dimnames[[1]] <- genes_trans |