更新NCBI中taxdmp数据

NCBI中的taxonomy信息可以通过FTP进行批量下载,获取的txt文档可以导入DB中,并用sql语言的递归查询工具筛选出所有蜘蛛目的taxa,并单独存储成SIG_TAXDMP_NAMES和SIG_TAXDMP_NODES两张表。以供调用。具体做法是:

1.从NCBI的FTP中下载最新的taxdmp.zip文件,其中/pub/taxonomy目录下有此文件。其中names.dmp和nodes.dmp分别有taxa和taxa之间从属关系的信息。

2.将names.dmp和nodes.dmp改为txt文件,然后导入DB。注意:由于这两个表有上百万条记录,不可能每次都重新完全导入。幸运的是ncbi的taxid是顺序编码,因此记下上次的最大taxid,然后只本次文件中之后的新taxid导入即可了。导入nodes.txt时注意,是否所有列都对齐了。

3.使用ORACLE递归查询功能,将蜘蛛目6893下所有的tax_id筛选出来存在SIG_TAXDMP_NAMES和SIG_TAXDMP_NODES中。注意:ftp中dmp文件导入时,会在每一字段的前或后加上空格,即十六进制字符0x09的文本字符,在查询时需要用replace函数将其全部去掉,否则递归查询会出错。在ncbi_node中,tax_id列后面有一个0x09,parent_tax_id前后都有0x09. 使用递归语句查询所有蜘蛛目taxa并生成mv的代码是

create materialized view SIG2_TAXDMP_NODES as
SELECT
replace(tax_id,chr(to_number('09')),'') as tax_id,
replace(parent_tax_id,chr(to_number('09')),'') as parent_tax_id,

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值