1

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

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

uni = UniChem()

然后我收到错误消息:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "P:\Anaconda\lib\site-packages\bioservices\unichem.py", line 84, in __init__
    maxid_service = int(self.get_all_src_ids()[-1]['src_id'])
TypeError: list indices must be integers, not str

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

from bioservices import *
uni = UniChem()

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

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

4

1 回答 1

1

您看到的错误可能与您尝试连接 UniChem 服务时,它因维护而关闭或初始化时间过长有关。结果是该服务未启动,因此您收到了错误消息。

我刚刚尝试过(生物服务 1.2.6)

from bioservices import *
uni = UniChem()

它奏效了。以下请求也有效:

>>> mapping = uni.get_mapping("kegg_ligand", "chembl")
'CHEMBL278315'
于 2014-05-30T09:38:34.440 回答