代码如下:

API_URL = "https://rest.uniprot.org"

def submit_id_mapping(from_db, to_db, ids):
    request = requests.get(
        f"{API_URL}/idmapping/run",
        data={"from": from_db, "to": to_db, "ids": ",".join(ids)},
    )
    #request.raise_for_status()
    return request.json()

submit_id_mapping(from_db="UniProtKB_AC-ID", to_db="ChEMBL", ids=["P05067", "P12345"])

直接取自官方example

并返回以下404客户端错误.我自己try 访问url,但似乎不起作用.鉴于这是官方文件,我真的不知道该怎么办.欢迎提出任何建议.

{'url': 'http://rest.uniprot.org/idmapping/run',
 'messages': ['Internal server error']}

我也有另一个脚本,但它不再工作!我不知道为什么:(

in_f = open("filename")
url = 'https://www.uniprot.org/uploadlists/'

ids=in_f.read().splitlines()
ids_s=" ".join(ids)

params = {
'from': 'PDB_ID',
'to': 'ACC',
'format': 'tab',
'query': ids_s
}

data = urllib.parse.urlencode(params)
data = data.encode('utf-8')
req = urllib.request.Request(url, data)
with urllib.request.urlopen(req) as f:
    response = f.read()
print(response.decode('utf-8'))

错误:

urllib.error.HTTP错误: HTTP Error 405: Not Allowed

推荐答案

try 将.get更改为.post:

import requests

API_URL = "https://rest.uniprot.org"


def submit_id_mapping(from_db, to_db, ids):
    data = {"from": from_db, "to": to_db, "ids": ids}
    request = requests.post(f"{API_URL}/idmapping/run", data=data)
    return request.json()


result = submit_id_mapping(
    from_db="UniProtKB_AC-ID", to_db="ChEMBL", ids=["P05067", "P12345"]
)
print(result)

打印:

{'jobId': 'da05fa39cf0fc3fb3ea1c4718ba094b8ddb64461'}

Python-3.x相关问答推荐

类型注释:pathlib. Path vs importlib. resources. abc. Traversable

确定字符串的长度并提取前15或14个字符

以编程方式关闭jupyterlab内核

类变量的Python子类被视为类方法

为什么 get_form 方法中小部件的更改没有反映 Django 管理站点中的更改

Python (pandas) - 判断一个 df 中的值是否在另一个(不相等)df 中的任何对之间

pip install saxonche v 12.1.0 产生 FileNotFoundError

将数据框中的值与另一个数据框中的多列进行比较,以获取条目以有效方式匹配的列表列表

在 python pandas 中设置条件和分配新值

当我判断另一个 checkButton 时,如何判断两个 python tkinter checkButtons?

如何将元组列表拆分为两个单独的列表?

在判断列表变量时如何判断特定列的值并分配加权整数值

你如何表达一个没有参数的 Python Callable?

如何从字典中打印特定键值?

Visual Studio Code 中的 Python 3.x 类型提示

Python 3.5:async with导致 SyntaxError.为什么?

在 ubuntu 20.04 中安装 libpq-dev 时出现问题

如何在继承的数据类中创建可选字段?

python - Pandas - Dataframe.set_index - 如何保留旧的索引列

如何从 seaborn / matplotlib 图中删除或隐藏 x 轴标签