首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Biojava或Biopython检索某些生物的全基因组genbank文件

使用Biojava或Biopython检索某些生物的全基因组genbank文件
EN

Stack Overflow用户
提问于 2014-03-14 19:38:44
回答 2查看 781关注 0票数 1

谁知道如何使用BIopython或BioJAVA从FTP ncbi中自动搜索和解析gbk文件。我在BIojava中搜索了实用程序,但没有找到任何实用程序。我也尝试过BioPython,下面是我的代码:

代码语言:javascript
复制
from Bio import Entrez
Entrez.email = "test@yahoo.com"
Entrez.tool = "MyLocalScript"
handle = Entrez.esearch(db="nucleotide", term="Mycobacterium avium[Orgn]")
record = Entrez.read(handle)
print record
print record["Count"]
id_L = record["IdList"]
print id_L
print len(id_L)

然而,只有3种鸟分枝杆菌(全基因组序列和完整的注释),我得到的结果是59897。

谁能告诉我如何在BioJava或BioPython中执行搜索。否则,我将不得不从头开始自动执行此过程。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-03-16 17:15:36

我们这样做的方法是通过使用efetch接口指定id:

代码语言:javascript
复制
Entrez.efetch(db="nucleotide", id=<ACCESSION ID HERE>, rettype="gb", retmode="text")

使用您使用的搜索词会返回太多的匹配项,所有这些都是您正在下载的。在这里查看48个不同的生物项目和你的搜索词:

http://www.ncbi.nlm.nih.gov/bioproject/?term=Mycobacterium+avium

根据经验,获得所需内容的最准确方法是使用ACCESSION。

票数 1
EN

Stack Overflow用户

发布于 2014-03-22 21:35:42

如果您希望以自动的方式在NCBI中动态搜索此信息,则可以使用ESearch接口按照与EFetch相同的方式按名称进行搜索。通过这种方式,您可以获取访问ID,然后使用此列表通过EFetch获取核苷酸信息(或所需的任何信息)。

http://www.ncbi.nlm.nih.gov/books/NBK25499/#_chapter4_ESearch_

Entrez E-Utilities非常灵活,尽管您确实需要过滤结果以仅获得所需的数据。

但是,如果您要对此数据进行进一步的分析,并且您不需要非常及时地了解序列的最新版本,也不需要动态获取不同类型的数据,那么您只需从ftp下载所需的数据并对其进行本地处理/过滤可能会更好。这可能比对Entrez执行查询更快(在我看来,在批量查询时,Entrez有点慢)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22403950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档