基因ID转换的方法

不知道有多少人像我一样很奇怪为何基因的ID没有统一的命名,而且gene symbol也经常五花八门,导致我们经常要将拿到的gene list转换到需要的ID版本。

这样做的方法有很多,思路主要有两种,一种是下载相应的记录各种ID的匹配文件然后自己写脚本进行匹配,另一种是不下载文件,但是是实时访问数据库(API)进行查询。前者速度上有优势,但是下载的文件需要妥善存放,否则不知什么时候就找不到了;后者方便,随用随取,但是当查询量太大的话可能会出现网络方面的问题。

基本上每个这类数据库(NCBI, Ensembl…)都有这类文件的下载入口或者快捷访问的API,我试过很多,这里记录一下我觉得最方便的两个方式。

1. 从HGNC下载对应ID匹配文件

从HGNC的Customs Dowloads可以自定义选择你所需要的内容,一般常用的是NCBI Gene ID和Ensembl gene ID。下载完成之后保存到固定的地方,每次要转换ID时再读取即可。

地址:https://www.genenames.org/download/custom/

2. 使用MyGene API

MyGenehttps://biothings.io/三叉戟中的一个,三叉戟都是很强大的API。

网站中有很详细的API示例: 

如果不会用API也没有关系,MyGene有对应的python包r包,效果和API没有差别。

3. Biomart

最后再说一下介于前面两者之间的biomart,就和它的名字一样,它就是一个超市,你可以在线地选取你需要的数据集,就像是用API下载HGNC里的数据。biomart十分强大,但是在转换ID这件事情上我并不怎么用它,原因就是它太复杂,杀鸡焉用牛刀,而且最近好像连接不上。


我最常用的是第一种。以ensembl ID转gene ID为例,我把从HGNC下载到的文件提取出ensembl ID到gene ID的字典,然后存成pickle,每次需要的时候就可以直接load,转换时用map,省时又省力。


基因ID转换的方法
http://example.com/2020/06/04/基因ID转换的方法/
作者
Wang Jianhua
发布于
2020年6月4日
许可协议