前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >KEGG数据库下载加速攻略!

KEGG数据库下载加速攻略!

作者头像
SYSU星空
发布2022-05-05 11:43:21
发布2022-05-05 11:43:21
3.3K0
举报

在上周的文章KEGG数据库不会下载?了解下API!里,我介绍了基于KEGG API来获得所有基因的id,并通过wget遍历所有id来get基因的序列。对计算机比较了解或已经尝试过的朋友可能会意识到,虽然KEGG数据库整体并不是很大(原核生物大概5G),但是反复访问API地址耗时甚长!基于国内高校网速现状,全部下载可能需要长达数月甚至一年的时间!需要注意这里的耗时主要来源于反复访问KEGG API地址而不是下载数据本身,假如可以减少访问次数,那么就能大大缩短KEGG数据库下载时间。比较幸运的是,API指令中允许多个基因并行检索,如下所示:

$http://rest.kegg.jp/get/aac:Aaci_0001+aac:Aaci_0002/aaseq

不同的基因ID之间以加号“+”分割,具体检索结果如下所示:

如果我们可以将所有基因并联检索,是不是就可以批量下载KEGG蛋白序列了?现实是残酷的,KEGG API只允许不超过9个基因的并联检索,不过只要我们将所有的基因都改成九连组,仍可以大大缩减下载时间,下面我使用一个shell脚本来完成:

$sh split_kegg_genes.sh all_genes.list all_genes_split.list

结果如下所示:

接下来同样使用一个shell脚本进行序列下载:

$sh kegg_genes_wget.sh all_genes_split.list

下载结果为一系列fasta文件,如下所示:

可以合并到一起成为最终的序列文件:

$cat kegg_genes*.fasta > all_genes.fasta

下面汇总一下总的下载流程:

$mkdir -p kegg_download/kegg_genome

$cd kegg_download

$wget -c http://rest.kegg.jp/list/genome

(注意,这里可以根据genome文件中的taxid筛选需要下载的物种列表,例如只下载原核生物,需要借助NCBI Taxonomy中的fullnamelineage.dmp文件)

$cd kegg_genome

$cut -f 2 ../genome | cut -f 1 -d "," | while read id; do wget -c http://rest.kegg.jp/list/$id; done

$cat * | cut -f 1 > ../all_genes.list

$cd ..

$sh split_kegg_genes.sh all_genes.list all_genes_split.list

$sh kegg_genes_wget.sh all_genes_split.list

$cat kegg_genes*.fasta > all_genes.fasta

好了,这样的话乐观估计只需要一两个月就可以下载完。但是如果还是觉得太慢,想急用的话怎么办?这时候可能需要借助开源的第三方数据库。可喜的是,KOBAS(http://kobas.cbi.pku.edu.cn/)为北大维护的一个基于KEGG的基因功能注释数据库,且其数据会随着的KEGG升级而进行更新(虽然更新比较慢,目前最新数据2017年),而且该数据库支持批量数据下载,其数据库的基因组物种名以及gene id与KEGG是一致的,其FTP地址为ftp://ftp.cbi.pku.edu.cn/pub/KOBAS_3.0_DOWNLOAD/,可以在该FTP批量下载蛋白序列:

$wget -c ftp://ftp.cbi.pku.edu.cn/pub/KOBAS_3.0_DOWNLOAD/seq_pep/*

这种方法的缺点是下载的序列只有gene id而并没有基因注释信息,如果只想注释KO的话可以根据该序列比对,然后基于文章KEGG数据库不会下载?了解下API!里获得的KO与gene对照表获得KO号。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微生态与微进化 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档