如何使用Python自动从UniProt获取结果

0 投票
2 回答
3536 浏览
提问于 2025-04-17 19:42

我想用一个基因本体的术语来获取Uniprot中的相关序列。手动操作很简单,但我想用Python来实现。有没有人对此有想法?比如,我有GO:0070337,然后我想把所有搜索结果下载成一个fasta文件。谢谢!

2 个回答

1

我会使用UniProt提供的接口。你只需要根据自己的需求构建一个搜索查询,比如你的GO术语、物种和文件格式。

这个查询会给你所有人类的蛋白质,这些蛋白质的GO术语是“蛋白质结合”,而且还没有经过审核,结果会以fasta格式呈现。 http://www.uniprot.org/uniprot/?query=%28go%3A%22protein+binding+%5B0005515%5D%22+AND+organism%3A%22Homo+sapiens+%5B9606%5D%22%29+AND+reviewed%3Ano&sort=score&format=fasta

更多详细信息可以查看: http://www.uniprot.org/faq/28

4

如果想要完全自动化这个过程,我建议使用 requests 这个库:

import requests
from StringIO import StringIO  # Python 2
from io import StringIO  # Python 3

params = {"query": "GO:0070337", "format": "fasta"}
response = requests.get("http://www.uniprot.org/uniprot/", params)

for record in SeqIO.parse(StringIO(r.text), "fasta"):
    # Do what you need here with your sequences.

撰写回答