与Ensembl的比较基因组学信息检索

布拉德查普曼生物照片 经过 布拉德查普曼 评论

Ensembl. 网站提供来自各种真核生物的基因组数据的强大前端。此外,这是 比较基因组学 倡议提供自动化系统发育分析,用于全面检查基因家族。该帖子描述了使用验证和真实方法检索对人类基因的比较蛋白细节 筛选刮,呈现准备好通过A呈现的方法中的数据 休息 interface.

其他几个人对检索Ensembl数据具有类似的概念。 佩德罗 描述一个例子 OpenKapow., 和 安德鲁 用途 d.

在这里,我们处理Ensembl网页使用 美丽的汤,一个简化Web页面检索工作的Python Web解析器。该想法是生成一个可以容易地向一组REST网页抽象的接口。这将极大地简化信息检索从集团的信息;检索一组用于基因ID的Orthologs将涉及这样的工作流程:

  • 准备一个URL:
    http://example.ensembl.org/REST/Compara_Ortholog/Homo_sapiens/ENSG00000173894
  • 在CSV中解析一个简单的文本结果:
    Cavia_porcellus,ENSCPOG00000005599
    Danio_rerio,ENSDARG00000044938
    Dasypus_novemcinctus,ENSDNOG00000002668
    

对于可以用少数输入和易于理解的输出表示的查询,这将为没有安装Perl API的开销提供对Ensembl数据的程序化访问。下面是一个检索页面的函数,将它们与美丽的汤解析,并返回简化的信息。要将其包装到上述REST接口中,需要使用Python Web框架在顶部添加一层 塔架.

[Sourcecode语言=“Python”]
def Orthologs(自我,生物,gene_id):
“”“检索给定基因ID的正交结果列表。
"""
orthologs = []
使用self._get_open_handle(“Gene”,“Compara_ortholog”,
有机体,gene_id)作为in_handle:
汤= leyendsoup(in_handle)
Orth_table =汤.Find(“表”,“正轨”)
orth_links = Orth_table.findall(“A”,
href = re.compile(“基因/摘要”)))
对于Orth_Links的Orth_Link:
href_parts = [x在orth_link ['href']中的x。拆分('/')如果x]
orthologs.append((href_parts [0],orth_link.string))
return orthologs
[/源代码]

完整的示例脚本 将生物体和基因ID作为输入,在Ensembl中显示同源物以及距初始生物,蛋白质结构域和蛋白质的特征的距离。脚本使用 BIOPYTHON., 这 纽克树解析器 解析系统发育树,和 networkx. 从树上计算系统发育距离。

> python2.5 ensembl_remote_rest.py Homo_sapiens ENSG00000173894
Homo_sapiens 0 [u'IPR016197', u'IPR000953'] 38.0
Pan_troglodytes 0.009 [u'IPR016197', u'IPR000637', u'IPR000953'] 38.0
Gorilla_gorilla 0.0169 [u'IPR016197', u'IPR000637', u'IPR000953'] 
Macaca_mulatta 0.0538 [u'IPR000637', u'IPR000953'] 36.0
Tarsius_syrichta 0.1622 [u'IPR000637'] 
Microcebus_murinus 0.1848 [u'IPR000637', u'IPR000953'] 33.5

This demonstrates using the framework to look at the change in domains and protein charge across a gene family. The general idea of the Ensembl.ComparaRest< class could be applied to other information of interest available from Ensembl web pages.

评论支持 反驳