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

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

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

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

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

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

QQ截图20160727102209

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

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

QQ截图20160727102258

这里提供了非常丰富的检索方式,例如查询基因名,基因组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的突变信息。

QQ截图20160727102344

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

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

QQ截图20160727102739

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

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

QQ截图20160727102838

输出结果:

QQ截图20160727102947

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

 


文章转载自:http://mp.weixin.qq.com/s?__biz=MzAwNjE0MDY3MQ==&mid=2650694170&idx=1&sn=9b8cbf85c65158bcc0e1683afcf81343&scene=1&srcid=0722VtsXeT9Pvk9cHS4HbC6H#wechat_redirect