首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

批量从NCBI下载基因序列

上一篇文章

中介绍用的来批量下载序列,那篇文章只是这一篇的一个引子,起到抛砖引玉的作用。那种方法确实很方便,但是那种方法需要我们先通过NCBI网页端下载得到的列表,然后用列表来批量下载序列。如果我只有一个基因,那么这样下载起来还算方便,但是如果我有n个基因然后想下载n个基因在m个不同物种当中的序列,那么用这种方法我起码要先在NCBI中搜索n次,但是我不想搜索n次,我只想一步到位,即利用一个关键词就得到所有我需要的结果。

除了之前介绍的之外,还有另外一个比较好用的api工具Entrez Programming Utilities[1],这个工具主要依托于,安装方法可参考[2]但是今天我在上面尝试了一下,总是报错,恰好我在里面也有这个api的模块[3],于是干脆用。

经过一番研究后,我发现可以这么做:

确认搜索语法

先在NCBI中搜索下,确认下搜索语法,比方说我想在NCBI的数据库中搜索鸟类中的VAPA基因,那么我先在NCBI的搜索框中输入,然后可以看见在NCBI的右侧有搜索语法显示

用获得符合条件的数据列表

于是我们可以先用来搜索得到所有的id列表

的功能是通过特定关键词在数据库中进行检索,返回符合条件的条目的列表。我们需要修改的地方是, Entrez.esearch里的。

利用和的结果来下载序列

在这里先解释一下,为什么要先通过来获得序列的编号列表,然后再通过来下载序列呢?首先只有搜索关键词并返回结果的id的功能,没有下载的功能,而只有根据来下载序列的功能没有根据关键词来下载序列的功能。

的主要参数有如下几个

主要参数有如下几个

运行以上代码后,就可以下载nucleotide数据库中所有鸟类的基因的序列,我检查了一下,用这个脚本下载下来的序列数量和序列与直接从NCBI网页端下载下来的相同。

剩下的具体参数和细节各位自己去探索吧,另外我根据上面的代码写了一个脚本,现在已经上传到github[5]。

参考资料

1.https://www.ncbi.nlm.nih.gov/books/NBK25501/

3.http://biopython.org/DIST/docs/tutorial/Tutorial.html#htoc120

4.https://www.ncbi.nlm.nih.gov/books/NBK25499/#chapter4.EFetch

5.https://github.com/xieduo7/my_script/blob/master/ncbi/ncbi_download.py

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180906G0R5VO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券