Newick 是最常見(jiàn)的進(jìn)化樹(shù)文件格式,了解這種格式之前,有必要先掌握樹(shù)狀結(jié)構(gòu)的構(gòu)成。首先來(lái)看一個(gè)tree的示例
對(duì)于一棵樹(shù)而言,其節(jié)點(diǎn)可以分成三類
root node
internal nodes
leaf nodes
在上述示例中,一共有A-F共6個(gè)節(jié)點(diǎn)。其中A-D, 通常稱之為葉子節(jié)點(diǎn)leaf nodes
, 葉子節(jié)點(diǎn)往下在沒(méi)有其他的節(jié)點(diǎn)了; E稱之為內(nèi)部節(jié)點(diǎn)internal nodes
,往下還有其他的節(jié)點(diǎn);F
稱之為根節(jié)點(diǎn)root node
, 是整個(gè)樹(shù)中所有節(jié)點(diǎn)的公共祖先。
所有節(jié)點(diǎn)之間存在了層級(jí)關(guān)系,A
,B
,E
這3個(gè)節(jié)點(diǎn)直接和根節(jié)點(diǎn)F
相連,是樹(shù)狀結(jié)構(gòu)中的第一層,C
和D
和E
相連,是樹(shù)狀結(jié)構(gòu)中的第二層。位于同一層級(jí)的節(jié)點(diǎn),互稱為同胞節(jié)點(diǎn)sliding nodes
; 層級(jí)關(guān)系中位于上一層的節(jié)點(diǎn),稱之為父節(jié)點(diǎn)parent node
,比如E
就是C
和D
的父節(jié)點(diǎn); 類似的,C
和D
稱為E
的子節(jié)點(diǎn)child node
。
樹(shù)狀結(jié)構(gòu)中,除了節(jié)點(diǎn)外,還包括了分支 branch, 分支長(zhǎng)度是非常重要的屬性。比對(duì)從根節(jié)點(diǎn)F
到葉子節(jié)點(diǎn)A
的分支長(zhǎng)度為0.1, 到葉子節(jié)點(diǎn)B
的長(zhǎng)度為0.2。
當(dāng)我們表示一個(gè)樹(shù)狀結(jié)構(gòu)時(shí),本質(zhì)上是表示節(jié)點(diǎn)和分支的信息。對(duì)于newick
這種格式,采用圓括號(hào)將同胞節(jié)點(diǎn)括起來(lái),多個(gè)節(jié)點(diǎn)之間用逗號(hào)相連,比如A和B表示為
(A,B)
對(duì)于父節(jié)點(diǎn),直接寫在子節(jié)點(diǎn)圓括號(hào)的外面,比如C,D, E 表示為
(C,D)E
通過(guò)圓括號(hào)的嵌套區(qū)分不同層級(jí),然后就可以表示出一個(gè)完整的樹(shù),上述的tree表示為
(A,B, (C,D)E)F
上述的表示方式缺少了分支的信息,對(duì)于分支的信息,將其當(dāng)做節(jié)點(diǎn)的屬性來(lái)表示,和節(jié)點(diǎn)的名稱之間用冒號(hào):
分割,比如A:0.1
。當(dāng)加上分支信息后,上面的tree表示為
(A:0.1,B:0.2,(C:0.3, D:0.4)E:0.5)F
這種表示方式涵蓋了tree文件中所有的信息,但是在實(shí)際使用中,我們通常更關(guān)注葉子節(jié)點(diǎn),內(nèi)部結(jié)點(diǎn)只是用來(lái)呈現(xiàn)tree的層級(jí)結(jié)構(gòu),其名稱并不是很重要。同時(shí)根節(jié)點(diǎn)也可以忽略不顯示,所以上述tree可以表示為
(A:0.1,B:0.2,(C:0.3, D:0.4):0.5)
·end·
聯(lián)系客服