利用perl下载OMIM数据

-回复 -浏览
楼主 2020-04-28 04:28:10
举报 只看此人 收藏本贴 楼主

生信草堂


浙大生信博士团队倾力打造的一个科研人员学习交流的公众微信平台。我们致力于科研社区服务,分享最前沿的科技进展,提供生信分析方法,解读经典分析案例,公众数据库的挖掘和临床数据统计分析。在此我们欢迎各位的加入!戳 这里 的生信草堂公众号原文,请多关注哦~


OMIM简介

OMIM 为“Online Mendelian Inheritance in Man”的简称,是医学遗传学最权威的百科全书。


包括所有已知的遗传病、遗传决定的性状及其基因的相关描述,除了简略描述各种疾病的临床特征、诊断、鉴别诊断、治疗与预防外,还提供已知有关致病基因的连锁关系、染色体定位、组成结构和功能、动物模型等资料,并附有经缜密筛选的相关参考文献。OMIM 制定的各种遗传病、性状、基因的编号,简称MIM号,为全世界所公认。


我们很容易知道OMIM的官网地址为https://omim.org/,我们可以通过检索感兴趣的基因或者疾病表型获得相关的信息。如果我们只是偶尔检索少量的基因或者疾病表型,那么该常规方法完全适用了。


但是作为科研工作者,很多情况下,我们需要批量提取感兴趣的某一方面信息,例如想批量获取一系列相关致病基因的连锁 关系、功能、等某一方面的资料,那么通过常规检索方法一个一个去检索就显得极为低效了,再加上国内访问国外网络的速度限制,可能影响搜索效率。


因此,我们需要一种方便、快速的检索方法来批量的获得或下载OMIM 数据库中的信息。


OMIM 提供了API检索,即通过特定的语法搜索感兴趣疾病或者基因的MIM Number,就可直接获得相关信息。感兴趣的老师同学可以通过以下网页进行了解学习:https://omim.org/help/api


但是相信没多少人愿意花时间学习API检索吧,因此本人就利用perl语言,嵌入OMIM的API检索语法,不需要大家再了解API的知识就能更方便更快速地直接获取OMIM的数据。


接下来本人就详细介绍如何利用perl以及OMIM的API批量获取OMIM的数据。





1、首先这里简单介绍一下OMIM包含的数据内容,每个MIM号检索到的信息不外乎以下内容:



我们以基因EGFR(MIM:131550)为例,在OMIM官网检索,可看到如下结果:



左侧的索引即EGFR基因所收录的信息,我们的目的就是将该基因收录的这些信息全部下载保存到本地。


2、获取API权限

OMIM的API权限是需要申请的,在https://omim.org/api申请,把邮箱、单位和使用目的填写一下提交即可,申请通过率较高。


申请通过后邮箱就会收到API key,这是我们的脚本必须用到的,有了API key才有权限获取OMIM的数据。申请得到的API key会有期限限制,如果过期需要重新申请。


3、获得OMIM所有基因及表型的ID,即MIM numbers

https://omim.org/downloads/下载mim2gene.txt,该文件包含 OMIM数据库中收录的所有基因及疾病表型的MIM number。该文件是可以公开下载的,我们利用该文件获取所有感兴趣基因的MIM number。


值得注意的是该文件虽然收录了所有的基因及疾病表型的MIM number,但是该文件只显示了对应基因型的信息,而并没有表型的信息,因此我们只能通过该文件获取已知基因型对应的MIN number,而疾病表型对应的MIM number则是需要注册后(https://omim.org/downloads)下载morbidmap.txt文件得到。mim2gene.txt文件部分展示如下:



morbidmap.txt文件部分展示如下:



4、Perl脚本使用说明


脚本代码如下:



以windows环境为例,展示脚本运行过程


1. 进入windows 的cmd环境,cd 进入脚本所在的文件夹目录

运行命令行可获得帮助信息:

Command:  perl  Extract_target entry_from_OMIM.pl  -h


2.下载单个目的MIM number信息


以肺癌为例,肺癌在OMIM中的MIM number#211980,我们通过脚本下载肺癌的相关信息,命令如下:

Command:  perl  Extract_target entry_from_OMIM.pl  -e  211980


脚本运行后在该目录生成一个名为Entry_211980.txt的文件,该文件即包含肺癌相关的信息,与通过OMIM官网检索得到的内容是完全一致的。


Entry_211980.txt文件内容如下:



3. 下载批量目的MIM number信息


首先将要下载的所有MIM number保存在一个txt文本中,MIM number可从mim2gene.txt文件中得到,但是如前文所言,该文件只能得到基因型的MIM number,表型的MIM number需注册或者从另外途径得到。


最后格式见样本文件: OMIM_entry_example.txt(该文件第二列为备注信息,可不添加)



运行程序:

Command:  perl  Extract_target entry_from_OMIM.pl  –f  OMIM_entry_example.txt


运行脚本后在目录中会依次生成以MIM number命名的文件,包含各自对应的信息,即OMIM中下载到的数据。



到这里,我们已经基本明白如何利用perl下载OMIM数据,是不是很简单。通过运行简单perl脚本,即可快速、方便地批量获得或下载OMIM信息,然后可建立脱机、本地化的OMIM数据库,并随时更新,也可与其他数据数据库接口关联,获得更多的注释信息。


PS:


文中该脚本的API key已经过期失效,考虑到API key如果公开会被滥用而遭封锁,因此本文不提供API key,需要的话请自己另行注册获得,获得后替换原有代码中的API key即可(脚本中API key定位内容为:apiKey=NxXfhjnoT1GKYAk2wgHe0g)。


如果需要获得脚本,请转发本文至朋友圈,并截图发送给生信草堂公众号不是本公众号!)。如点赞数达到30,便能得到API key,点赞数达到88,更能得到只有注册OMIM才能下载到的数据,如下图文件:





我要推荐
转发到