物种树是展示各物种进化关系的遗传发育树,phd(Plant Homolog Database)的物种树信息来源于NCBI的ncbi_taxonomy.xml。名为:species_tree_rio.Plants_complete.xml,下面是具体制作过程。
Demo地址: http://pan.baidu.com/s/1c011YgC 密码: xjrj
使用支持phyloxml格式的遗传发育树可视化软件打开ncbi_taxonomy.xml,找到你想添加的物种在这里我以Oryza punctata为例。
a. 打开Archaeopteryx (我这里用的可视化软件是Archaeopteryx)java -Xmx2048m -cp forester_1036.jar org.forester.archaeopteryx.Archaeopteryx
b. 找到Oryza punctata,并记住他的分类信息:这里是 ……->Oryzeae(科)->Oryza(属)->Oryza punctata(种)(如图1),所以我们把这个物种添加到species_tree_rio.Plants_complete.xml的对应的Oryza属的下面(如图2)即可,另外,如果species_tree_rio.Plants_complete.xml没有对应的科,属,种信息,我们就得自己找到共同的上一级,一级一级往下填,直至有完善的界门岗目科属种信息。添加的物种信息如code,scientific name等能在specieslist.txt 中找到。
由于在进行GSDI预测的时候需要二叉树,目前没有找到程序自动将phyloxml 格式的树文件改成二叉树,所以也只能手动修改。下面是手动修改流程:
1. 多叉树转二叉树原理(远离有很多种,我这里只介绍我所用的方法),我用的方法原理就是通过增加额外节点,迫使多叉树显示成二叉树,原理图如下:
多叉树: 多叉树祖先节点A下有 G,F,E,D,C,B这6个子节点
+—G
|
+—F
|
+—E
|
A
|
+—D
|
+—C
|
+—B
二叉树:通过增加额外子节点得到的二叉树如下,额外子节点用X表示
+—X
|
+—X
| |
| +—X
|
+—X
| |
| | +—G
| | |
| +—X
| |
| +—F
A
| +—E
| |
| +—X
| | |
| | +—D
| |
+—X
|
| +—C
| |
+—X
|
+—B
2. 手工多叉转二叉树
a: 检测物种树中为多叉的节点:species_tree_force_binary.pl,如下所示:
[shell][/shell]
yangls-Mac:yangl$ perl species_tree_force_binary.pl -species species_tree_rio.Plants_complete.xml Brassicaceae Oryza Triticeae Trebouxiophyceae
由结果可看出有Brassicaceae,Oryza,Triticeae, Ostreococcus,Trebouxiophyceae,这5个节点为多叉节点,我们可以根据上面所说的原理并结合phyloxml文件的特点进行多叉树到二叉树的转换。
b: 根据上面所说的原理并结合phyloxml文件的特点进行多叉树到二叉树的转换。由于原文件不便于演示,此处我举个例子:
尊重他人劳动成果,转载请注明出处:Bluesky's blog » 物种树构建(species tree build)