使用Biopython访问NCBI's Entrez数据库

本文详细介绍了如何使用Biopython库访问NCBI的Entrez数据库,包括遵循的访问指南,使用EInfo获取数据库信息,通过ESearch进行搜索,EPost上传标识符列表,ESummary获取摘要,以及EFetch下载完整记录。特别是针对大量数据访问,建议使用WebEnv session以提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Entrez Guidelines

  •   对于超过100次的访问,请在周末时间或者错开USA的高峰时间,这是你需要去遵守的。

  • Biopython使用的是 https://eutils.ncbi.nlm.nih.gov 这个网址,并不是标准的NCBI网址。

  • 如果你使用API访问时,你最多能在一分钟访问10次,否则只能在一分钟访问3次。

  • 使用可选参数email以至于NCBI知道你是谁,并且可以在NCBI有问题时与你取得联系。

  •  如果在一些大型的软件中使用Biopython,请使用tool参数去明确的定义。例如:

    from Bio import Entrez
    Entrez.tool = "MyLocalScript"
  • 对于大量的访问,Biopython也推荐使用WebEnv session cookie string进行访问,稍见之后的章节介绍。

2.EInfo:Obtaining information about the Entrez databases

   你可以使用EInfo去获得数据库名称列表,最新的更新情况和NCBI的可用数据库链接。

from Bio import Entrez
Entrez.email = "[email protected]"  ##always tell NCBI who you are
Info = Entrez.einfo()
result = Info.read() ##The variable result now contain a list of databases of XMLformat.
print(result)