一、引言
GENBANK是目前最大而权威的分子序列数据库,调用其中数据可以进行分子系统发育树的构建。
1、序列数据获取(以皿蛛系统发育树为例)
在GenBank中,每一个物种或阶元都有一个taxid,他是taxa的ID。而且taxa之间存在父子关系。我们的研究对象是蜘蛛目(Aranaea),其taxaid为6893,其父级阶元是蛛形纲(Arachnida),taxaid为6854。按照递归查询的原则,只要有自6893以下所有taxa的父子关系对照表,就能查询到目前在GenBank中记录的所有蜘蛛的名录。事实上,这个想法已经可以实现了!NCBI有一个public的ftp(ftp.ncbi.nlm.nih.gov),从中的/pub/taxonomy/taxdmp.zip压缩包中可以下载到相应的信息。taxadmp.zip含有9个文件,其中比较重要的是其中的names.dmp和nodes.dmp。通过查看readme.txt文档,得知其中names.dmp为genbank中所有taxaid的基本信息,nodes.dmp为taxaid有关父子关系的信息。将两个文件通过NCBI_TAXDMP_NAMES.nopi和NCBI_TAXDMP_NODES.nopi导入文件导入到DB中,再递归查询并筛选出属于6893以下阶元的文件,便可得到GenBank中有记录的所有spider的名录。在我的DB中,导入的这两个表称为NCBI_TAXDMP_NAMES和NCBI_TAXDMP_NODES。为了和DB中其他表格协同,特新建了MV_SIG_TAXDMP_NAMES和MV_SIG_TAXDMP_NAMES_ID两个物化视图。
在Gen其每一条序列数据都有唯一的GI号,它就是序列的身份证。在得知TaxaID后,建立GI、Gene和TaxaID的对应关系就十分重要。在DB中,这个表称为SIG_NUCL,它有4个字段,分别是tax_id,GI,Gene和Flag。其中,Gene的外键是SIG_Gene表中值。由于同一个taxa的某一个基因可能有多个序列,且长短不一,最终要选哪个必须由研究者手动来定,所以表中增设了Flag开关,1代表选取某序列,0代表暂存但在计算中不使用。
以上说得元数据在更新时一定要小心,以免造成破化。建议采用自动手动结合的方式进行更新。
实战:Linyphiidae分析系统发育树构建。