gpt4 book ai didi

python - Ncbi蛋白质数据库,如何从特定生物项目获取蛋白质序列(python脚本)

转载 作者:行者123 更新时间:2023-12-01 05:32:04 28 4
gpt4 key购买 nike

我正在尝试从特定生物项目的 NCBI 数据库中检索编码蛋白序列。这可以通过使用网络浏览器以某种方式实现。例如,您可以找到您感兴趣的特定生物项目并“单击”相关蛋白质: http://www.ncbi.nlm.nih.gov/genome/proteins/994?project_id=207383它允许您查看生物项目“207383”和基因组“994”的所有蛋白质。我想使用 python 自动获取这些蛋白质序列。

为了做到这一点,我使用了 NCBI 的“电子实用程序”。主要是“elink.fcgi?”它允许获取从数据库的特定 UID(比方说 BioProject UID)链接的数据库的所有 UID(比方说“蛋白质”)。这是我的 entrez URL 请求:
http://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?dbfrom=bioproject&linkname=bioproject_protein&id=207383
然后我获得了蛋白质 UID 列表,这非常好,因为我需要这些,用于我的下一个 efetch.fcgi 请求? “电子实用程序”。这个请求将使我能够得到我需要的一切。

好的,一切都很好,一切都很好,但是,我从“elink.fcgi”获得的蛋白质 UID 数量是多少?请求与基于手动网络浏览器的搜索显示的蛋白质数量不同。更糟糕的是,在询问这些问题的根源时,您会看到缺失的序列或来自更高分类群的序列(它们也与生物计划没有任何联系)。

这里是一个例子:当 python 请求获取 3957 蛋白质 UID 时,本文的第一个链接显示了许多 4014 序列。

我尝试了一些其他方法,例如获取从分类 UID 链接的所有蛋白质 UID。这通常会给你比想要的更多的序列,因为有不同的生物项目(也给你一些具有不同名称和相同法斯塔的 double )。

有没有一种方法可以做到这一点,一种可能有效的方法?

最佳答案

我还发现与 NCBI 合作非常令人沮丧。令我惊讶的是,这样的数据源甚至没有为我们提供清晰的下载方式。相反,它提供了一些糟糕的交叉链接,让用户自己去了解整个事情。

我的解决方案来自这篇文章

How to Download Bacterial Genomes Using the Entrez API

确保将数据库更改为“nuccore”并将 rettype 更改为“fasta_cds_aa”。还要检查下载的 fasta 文件的分类 ID,以确保它正是您所要求的菌株(最后一个让我搞砸了,很难吸取教训)。

关于python - Ncbi蛋白质数据库,如何从特定生物项目获取蛋白质序列(python脚本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19978598/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com