欢迎光临散文网 会员登陆 & 注册

科研代码分享|基于python脚本抓取dbSNP数据库中的突变信息

2022-06-06 15:35 作者:尔云间  | 我要投稿

科研有捷径,输入代码,一键获取科研成果!就是这么省事,来具体看下有多方便!

搜索http://985.so/a9kb查看全部代码(目前共计50+持续新增中),也可以点击右侧【目录】,可以看到更多有趣的代码

真香提示:文末可以知道如何获取代码~ 

SNPs(单核苷酸多态性)作为新一代遗传标记具有数量多、分布范围广、密度大等特点,已广泛应用于遗传学的研究中。

SNPs的检测一直是遗传学研究的一个热点,传统的方法有SSCP(单链构象多态)、DGGE(变性梯度凝胶电泳)、RFLP(限制性酶切片段多态)。

后期发展起来的技术主要包括DHPLC(变性高效液相色谱)、DNA芯片、大规模测序等。这些技术(特别是后者)为dbSNP数据库提供了大量的相关信息。

如何最大限度地使用dbSNP数据库,以期降低研究成本提高研究效率已成为了广大研究者们共同关注的课题。

尽管dbSNP数据库为用户提供了非常丰富的基因突变信息,但是我们往往很难同时考虑多个层面的突变信息来分析和解决问题。

因此更多的情况下我们可能只是想单一的考虑某一个层面的突变,例如只考虑missense错义突变,而synonymous同义突变,或其他突变类型如缺失,插入等我们可能就不考虑了。

那么问题就是如何从海量突变数据中筛选出我们想要的突变信息呢。今天我们就为大家介绍一下如何通过python语言抓取dbSNP数据库中任意类型的基因突变信息。

首先我们从主界面输入任意基因的ID,跳转到基因的突变信息界面。

这里提供了非常丰富的检索方式,例如查询基因名,基因组project,Mesh,探针名,OMIM ID等等。这里我们以最简单最常规的基因名为例,输入solute carrier family 12 (potassium/chloride transporters)对应的基因ID 6560.

注意:由于dbSNP只能识别ENTREZ_GENE_ID,所以在检索基因例如是来自uniprot数据库或使用其他平台ID时需经过ID conversion转换为dbSNP数据库可识别的Gene ID。

之后我们就可以获得基因ID为6560的突变信息。

如图上方红框内为我们要跳转到当前页面所需的URL域名地址,可以看到基因ID 6560在URL后面,因此只要知道基因ID,就可以获得URL,然后用脚本跳转到当前页面。

下一步就是如何从众多突变类型中筛选出我们想要的错义突变missense突变类型了。通过查看源代码可以看到

可以看到红线标注部分,rs372333519为dbSNP参考ref的聚类ID,

也就是我们最后要抓取的结果,后面用missense标记,说明这个突变属于错义突变。所以我们基于正则表达式,就可以在网页中将所有错义突变的dbSNP cluster ID下载下来。

 

Python实现上述抓取过程的脚本代码如下

输出结果:

输出结果包括三列,第一列为染色体定位,第二列为mRNA pos,第三列为dbSNP cluster id。


科研代码分享|基于python脚本抓取dbSNP数据库中的突变信息的评论 (共 条)

分享到微博请遵守国家法律