我正在寻找一种编程方式来获取给定物种的所有 Uniprot id (Swiss-Prot + TrEMBL)(例如以 _MOUSE
结尾的所有 Uniprot id)。
一种方法是解压缩并解析uniprot处的流。
此类文件仅适用于 Uniprot DB 中代表的所有物种中的一小部分。因此,该解决方案不是通用的。
我的问题是:有没有一种通用的、希望更有效的方法来做到这一点? (我所说的“更高效”基本上是指它不需要这样的解压缩和解析。)
基本上我想知道 uniprot.org 是否支持基于 url 的查询,我可以在其中指定一些物种标识符(例如 MOUSE
或 10090
),也许还可以指定一些字段名称,如 UniprotID
,其响应将是该物种的所有 Uniprot ID 的列表。
最佳答案
我还没有查看您正在使用的 idmapping 文件。但我使用以下文件来获取给定物种的 ID:ftp://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/docs/speindex.txt
然后我像这样解析它:
#!/usr/bin/env perl
use strict;
use warnings;
my $spec = shift;
my $re = quotemeta $spec;
my @ids =();
while (<>) {
if (/$re/../^$/) {
chomp;
next if ($_ eq $spec); # skip species line
s/^\s+//; # remove trailing spaces
push @ids, split(/, ?/, $_);
}
}
print $_."\n" foreach @ids;
使用“Mus musculus(鼠标)”命令行:
script.pl "Mus musculus (Mouse)" speindex.txt
我希望这有帮助......保罗
关于bioinformatics - 如何查询 uniprot.org 以获取给定物种的所有 Uniprot ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23443505/