繁体   English   中英

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

[英]Retrieving whole genome genbank files for some organism using Biojava or Biopython

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

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中执行搜索。 否则,我将不得不从头开始自动执行此过程。

谢谢。

我们的方法是通过使用efetch接口专门指定id:

Entrez.efetch(db="nucleotide", id=<ACCESSION ID HERE>, rettype="gb", retmode="text")

使用搜索词(例如您使用的搜索词)会返回太多匹配项,您正在下载所有这些匹配项。 在这里查看48个不同的生物项目以及您的搜索词:

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM