首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取给定肽序列列表的蛋白质名称及其ID (使用Python)

获取给定肽序列列表的蛋白质名称及其ID (使用Python)
EN

Stack Overflow用户
提问于 2022-11-10 10:54:58
回答 1查看 36关注 0票数 -3

我有一个肽序列列表,我想把它映射到任何开放数据库中的正确的蛋白质名称,比如Uniprot,也就是属于蛋白质的肽。能否有人指导如何找到蛋白质名称并绘制它们的地图,谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-10 11:11:12

我想说,你最好的选择是使用请求模块,并加入Uniprot在其网站上的API。肽序列搜索的API是这里,它的文档从同一个页面链接。这样,您应该能够形成一个包含搜索参数的dict,并向API发送一个请求,该API将返回您要查找的结果。requests模块允许您以json格式检索结果,您可以非常容易地将其解析为列表/dicts等,以便以任何您希望的方式使用。

编辑:我有密码!

为了好玩,我尝试了第一部分:利用肽来查找蛋白质。这行得通!您可以看到请求模块制作这种东西是多么容易:)

有另一个API用于检索数据库条目,一旦您从第一步中获得了“访问”列表。所有的API端点和文档都可以访问这里。我想你想要一号。

代码语言:javascript
复制
import requests
from time import sleep

url = 'https://research.bioinformatics.udel.edu/peptidematchws/asyncrest'

#peps can be a comma separated list for multiple peptide sequences
data={'peps':'MKTLLLTLVVVTIVCLDLGYT','lEQi':'off','spOnly':'off'}
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
response = requests.post(url,params=data,headers=headers)
if response.status_code == 202:
    print(f"Search accepted. Results at {response.headers['Location']}")
    search_job = requests.get(response.headers['Location'])
    while search_job.status_code == 303:
        sleep(30)
        search_job = requests.get(response.headers['Location'])
    if search_job.status_code == 200:
        results = search_job.text.split(',')
        print('Results found:')
        print(results)
    else:
        print('No matches found')
else:
    print('Error Search not accepted')
    print(response.status_code, response.reason)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74387827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档