bioinformatics - 如何查询 uniprot.org 以获取给定物种的所有 Uniprot ID?

标签 bioinformatics

我正在寻找一种编程方式来获取给定物种的所有 Uniprot id (Swiss-Prot + TrEMBL)(例如以 _MOUSE 结尾的所有 Uniprot id)。

一种方法是解压缩并解析uniprot处的流。

此类文件仅适用于 Uniprot DB 中代表的所有物种中的一小部分。因此,该解决方案不是通用的。

我的问题是:有没有一种通用的、希望更有效的方法来做到这一点? (我所说的“更高效”基本上是指它不需要这样的解压缩和解析。)

基本上我想知道 uniprot.org 是否支持基于 url 的查询,我可以在其中指定一些物种标识符(例如 MOUSE10090),也许还可以指定一些字段名称,如 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/

相关文章:

r - 如何根据分位数截止值过滤矩阵中的基因?

r - 如何使用 GEOquery 包提取示例标题(名称)?

r - 结合一个函数和 for 循环

r - 使用公式转换数据框

algorithm - 用于解决给定硬币输出的 HMM

regex - 如何匹配两个 .csv 文件并写入第三个文件,用文件 1 中的数据替换文件 2 中的数据

python - Biopython 比对的无间隙索引

r - R-Shiny 中的自动多文件下载

r - 当 any(is.na(counts)) = FALSE 时,DESeq2 "NA values are not allowed"错误

python - 将 Fasta 序列与多播文件的子字符串进行比较并更改 ID 名称