- 论坛徽章:
- 8
|
本帖最后由 xiumu2280 于 2014-09-18 09:51 编辑
这个帖子所引发的 Newick tree format
http://bbs.chinaunix.net/thread-4154324-1-1.html
这个问题之前被人问到过,因为当时有事,最后不了了之。自己对这个问题也是很感兴趣,所以贴出来,大家娱乐一下。
首先,程序要将括号树读进来,然后,依次输出树的分支。比如一个树包括A,B,C,D四个基因,那么我们要先读进树,然后按照年轻到古老依次输出,基因间距离越大,两基因分开越早,意味着他们分开的越古老。对于基因A来说按照年轻到古老,依次成对输出,对于B来说按照年轻到古老依次输出........直到将树中包含的所有基因都这样循环输出,注意每个基因输出一行,一行中就是一对一对的基因,一对基因就是一个分支。
这是对这个概念的详细解释 : http://marvin.cs.uidaho.edu/Teaching/CS515/newickFormat.html
这个问题的大概意思就是这样。
举个例子:
(B,(A,C,E),D);
读成进化树为
又一个例子:
(Bovine:0.69395,(Gibbon:0.36079,(Orang:0.33636,(Gorilla:0.17147,(Chimp:0.19268, Human:0.11927):0.08386):0.06124):0.15057):0.54939,Mouse:1.21460)
图上最左边的是最古老的,依次进化,所以是进化树。
关于程序正确与否可以用http://www.trex.uqam.ca/index.php?action=newick 这个网站进行验证
命题即为第二个例子如何
(Bovine:0.69395,(Gibbon:0.36079,(Orang:0.33636,(Gorilla:0.17147,(Chimp:0.19268, Human:0.11927):0.08386):0.06124):0.15057):0.54939,Mouse:1.21460)
|
|