问题标签 [bioservices]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
589 浏览

python - 如何以编程方式将 GI 编号直接映射到 HGNC 基因名称?

我收集了大约 2000 个 GI 编号,我需要将其映射到 HGNC(又名 HUGO)基因名称。

作为数据分析管道的一部分,将来我将不得不重复进行类似的映射,因此我希望以编程方式进行此映射(而不是通过在某些交互式工具的界面上剪切和粘贴 2K GI 数字) .

此外,我只能使用自由软件。我对 Python 和 Perl 最满意,尽管我可以使用 R 和 Java,并且作为最后的手段,可以使用其他任何东西(Ruby、MATLAB、Tcl 等)。


(这篇文章的其余部分对这个问题并不重要。在其中我提供了额外的背景信息,FWIW。它在最后变得越来越技术化;这个内容只对那些熟悉 NCBIeutils界面的人有意义。)

一种可能性是从网页中为每个 GI 编号(示例)抓取 HGNC id,但这些页面使用 JavaScript 加载其内容,这超出了我的网页抓取能力。

即使我可以进行这样的网络抓取,结果的质量也必然低于从适当的网络服务 API 获得的结果。

不幸的是,我还没有找到任何“官方”服务以编程方式将 GI 编号直接映射到 HGNC/HUGO 基因名称。我对此的最大希望是 NCBI 的eutils界面,但我无法找到一种方法来执行我所追求的直接映射。(如果我错了,请纠正我!)

我能想到的最好的方法是 2-hop 映射:使用eutils(或者更确切地说, Python 模块eutils提供的接口bioservices.eutils)将 GI 编号映射到 Entrez 基因 ID,然后使用从 HGNC下载的综合表来映射这些 Entrez HGNC/HUGO 基因名称的基因 ID。

像往常一样,这种多跳映射的“损耗率”非常糟糕:大约 25% 的 GI 数字被映射到某个HGNC/HUGO 基因名称。(我还没有估计这些映射中有多少实际上是正确的。)

我尝试使用 Python 的库进行此映射的第一跳,bioservices.eutils但通过这种方式只能获得大约四分之一的 2K GI 数字的 Entrez 基因 ID。更具体地说,这就是我使用的,本质上是:

调用会s.ELink产生如下形式的 HTTP 请求:

如果有eutils比这更好的将 GI 编号映射到 Entrez 基因 id 的命令,请告诉我。更好的是,如果有更好的eutils命令将 GI 编号直接映射到 HGNC/HUGO 基因名称,请告诉我。

0 投票
1 回答
90 浏览

python - Python 包:Bioservices,使用 UniChem() 命令时出错

我正在关注网页上的教程:http: //pythonhosted.org/bioservices/compound_tutorial.html

在我到达以下命令之前,一切都运行良好:

然后我收到错误消息:

作为最低限度的工作示例:

然后我收到错误。我理解错误(大部分),但我不知道如何修复它。所以我的问题是如何修复该功能或解决它?

总体目标是将 1000 个药物名称列表(希望在不久的将来更多)映射到 Chembl ID。

0 投票
1 回答
868 浏览

python - Python 3.4 Bioservices installation

I'm trying to install the bioservices : 1.2.5 on my Windows 7 with Python 3.4 installed. The path has the scripts included but I still continue to have the syntax error when trying to use 'pip install'.

I tried to install 'bioservices' using:

Till now nothing worked.

Edit:* Now gives me another error:

After running pip install bioservices, on Windows powershell this error appears

Command python setup.py egg_info failed with error code 1 in C:\User\Raquel\AppData\Local\Temp\pip_build_Raquel\SOAPpy

Storing debug log for failure in C:\User\Raquel\pip\pip.log

0 投票
1 回答
1359 浏览

python - 定义类时如何避免 NameError?

我正在写一堂课:

但是当我运行它时,我得到一个 NameError:

有人能告诉我哪里出错了吗?

0 投票
1 回答
217 浏览

python - GO 术语的生物信息学检索并与用户指定的术语进行比较

我有以下功能(属于一个类):

问题是,尽管提供了一个包含已知常见基因术语的基因列表,但该函数的输出始终是相同的基因名称。例如,'TGFB1'两者'COL9A2'都有一个 GO 术语'proteinaceous extracellular matrix',但输出是一个列表,['COL9A2','COL9A2']应该是['COL9A2','TGFB1']. 有人对如何修复此程序有任何建议吗?我想我已经接近了,但我找不到解决方案。

0 投票
1 回答
233 浏览

python - 异常处理并在 python 中继续 for 循环

我有以下代码:

使用(自定义方法)获取 uniprot IDShugo2uniprot

搜索 GO 术语(使用bioservices' QuickGO)并存储为字典

我拥有的一些大型基因名称列表没有返回任何命中。这些导致AttributeError我想要处理然后移动到列表中的下一个项目。当前代码返回错误:

AttributeError:“int”对象没有属性“split”。

错误源于bioservices模块内(所以当我打电话时q.Annotation

有没有人有任何建议让异常处理工作,以便完成对指定列表的迭代而不是停止脚本?

0 投票
2 回答
119 浏览

python - 来自 bioservices uniprot 的 PTM 数据

我想通过 Uniprot 检索翻译后修改 (PTM) 数据bioservices,我正在使用以下脚本:

并获得以下结果:

我想要的是“修饰残基(2)”的详细信息,即这些修饰是什么类型,位置是什么,(可选)引用也是如此。

0 投票
1 回答
309 浏览

python - 如何在不使用生物服务指定生物体的情况下访问 KEGG 条目?

我尝试通过生物服务访问KEGG ,以获取有关基因列表的某些信息。问题是我事先不知道各个基因属于哪个生物体;在我的列表中可能有很多基因都属于不同的生物。我的问题是我不知道如何在不指定生物体的情况下检索有关基因的所需信息。

举个例子:

一个基因属于酵母,而第二个基因属于大肠杆菌。

如果我现在尝试:

我最终得到了TypeError一个

不返回字典,而只返回一个数字(因为我没有指定它所属的有机体)。但是,当我指定有机体时(这里它eco代表大肠杆菌),这是有效的:

返回

这是正确的,可以在这里看到:

在此处输入图像描述

然后我尝试使用find获取有关相关生物的信息。这适用于YMR293C但失败b3640

返回

u'sce:YMR293C\tHER2, GEP6, QRS1, RRG6; 谷氨酰-tRNA(Gln) 氨基转移酶亚基 HER2 (EC:6.3.5.7);K02433 天冬氨酰-tRNA(Asn)/谷氨酰-tRNA(Gln) 氨基转移酶亚基 A [EC:6.3.5.6 6.3.5.7]\ncal:CaO19.11438\tlikely amidase类似于 S. cerevisiae YMR293C 线粒体推定的谷氨酰-tRNA氨基转移酶\ncal :CaO19.3956\tlikely amidase类似于S. cerevisiae YMR293C线粒体推定的谷氨酰-tRNA氨基转移酶;K02433 天冬氨酰-tRNA(Asn)/谷氨酰-tRNA(Gln) 氨基转移酶亚基 A [EC:6.3.5.6 6.3.5.7]\n'

我可以从中轻松提取所需的信息(在这种情况下:)sce:YMR293C,但是,当我运行

我明白了

u'cnb:CNBB3640\假设蛋白;K06316 寡糖易位蛋白 RFT1\ncgi:CGB_B3640C\假设蛋白\neco:b3640\tdut;脱氧尿苷三磷酸酶(EC:3.6.1.23);K01520 dUTP 焦磷酸酶 [EC:3.6.1.23]\nsea:SeAg_B3640\tbfd; 细菌铁蛋白相关的铁氧还蛋白;K02192 细菌铁蛋白相关铁氧还蛋白\nyps:YPTB3640\t 保守假设蛋白\nreu:Reut_B3640\t 保守假设蛋白\nbbr:BB3640\t 噬菌体相关输出蛋白\nmag:amb3640\假设蛋白\nbcg:BCG9842_B3640\tflagellar 钩相关蛋白;K02407 鞭毛钩相关蛋白 2\ncbi:CLJ_B3640\t 保守假设蛋白;K09963 未表征蛋白质\nmmo:MMOB3640\假设蛋白质\nmbo:Mb3640c\tftsH; 膜结合蛋白酶 FTSH (细胞分裂蛋白) (EC:3.4.24.-);

它不提供有关大肠杆菌的信息。

因此,我的问题是:

1)有没有办法让我可以仅根据基因 ID 访问有关基因的信息,而无需指定它所属的生物体?

2) 检索基因所属生物体信息的最佳方法是什么?为什么find我搜索大肠杆菌基因时会失败?

0 投票
1 回答
52 浏览

python - 使用 Python 多处理模块从 BioModels 数据库下载模型

我正在尝试使用 python 多处理模块来加速一些计算。第一步是从 BioModels 数据库中获取一些模型。有一个称为 BioServices 的 API,可以使用pip install bioservices. 我已经设法以串行方式做到这一点,但这需要时间并且会从并行中受益。

目前这只是初始化 bio 类并崩溃(或至少什么都不做)。有人可以建议如何修复我的代码吗?

谢谢

0 投票
1 回答
41 浏览

python - 如果语句和写入文件

我正在使用 KEGG API 下载基因组数据并将其写入文件。共有 26 个文件,其中一些包含字典'COMPOUND'。我想将它们分配给CompData并将它们写入输出文件。我试着把它写成一个if True声明,但这不起作用。