如何解析Uniprot Dat文件以在python中检索GO?

时间:2017-07-31 16:14:26

标签: python parsing biopython bioservices

我尝试过BioPython SeqIO和其他解析器但是找不到任何解析DAT文件的好工具。

https://omics.pnl.gov/software/uniprot-dat-file-parser

我尝试了这个,但他们没有提供任何基因注释

http://biopython.org/wiki/SeqIO

他们主要讨论接受FASTA而非DAT文件的输入。

from Bio import SeqIO
   for record in SeqIO.parse("Fasta/f002", "fasta"):
...     print("%s %i" % (record.id, len(record)))

2 个答案:

答案 0 :(得分:1)

这些看起来像Biopython所称的"swiss"格式,即SwissProt在被称为UniProt之前使用的纯文本格式。尝试:

from Bio import SeqIO
   for record in SeqIO.parse("example.dat", "swiss"):
       print("%s %i" % (record.id, len(record)))

另见http://biopython.org/wiki/SeqIO

格式表

答案 1 :(得分:0)

亲爱的Muhammad Zeeshan,

你可以使用python库pyuniprot的查询函数来获取序列(或其他很多东西)

安装(使用pip或git clone)并更新。找出适合您的生物的分类标识符。这里的例子(人,小鼠,大鼠)。不要对所有生物进行全面更新(需要很长时间)。

pyuniprot.update(taxids=[9606, 10090, 10116])

使用以下python代码解决您的问题:

假设 1433E_HUMAN A4_HUMAN 是感兴趣的标识符:

Python代码:

import pyuniprot
query = pyuniprot.query() 
entries = query.entry(name=('1433E_HUMAN', 'A4_HUMAN'))  
seqs = [x.sequence.sequence for x in entries]