R語(yǔ)言繪制進(jìn)化樹(shù)一
接著上期的繼續(xù)說(shuō),本期主要說(shuō)說(shuō)怎么用R語(yǔ)言繪制好看的進(jìn)化樹(shù)。注意,本期所寫(xiě)腳本已經(jīng)經(jīng)過(guò)本人重新編寫(xiě)
首先,需要加載必要的R包
隨后,加載各種文件
nwk_file即為MEGA通過(guò)多重比對(duì)與進(jìn)化樹(shù)構(gòu)建后保存的樹(shù)文件
tree_group_file為每個(gè)節(jié)點(diǎn)的詳細(xì)信息,內(nèi)容如下
其中sample列為每個(gè)樹(shù)節(jié)點(diǎn)的名稱(chēng),Group為每個(gè)樹(shù)節(jié)點(diǎn)歸屬于那個(gè)簇,lenght為環(huán)形的大小,color為所在環(huán)的顏色,shape為樹(shù)節(jié)點(diǎn)的形狀,shape_color為樹(shù)節(jié)點(diǎn)的標(biāo)題顏色。
其中tree_group_circle_file為外圈的詳細(xì)信息,內(nèi)容如下
其中l(wèi)ist_1和list_2分別指代從原始節(jié)點(diǎn)算起,多少節(jié)點(diǎn)為一個(gè)外圈,其中l(wèi)ist_name為外圈的標(biāo)簽,list_angle為外圈標(biāo)簽的旋轉(zhuǎn)角度,而list_color為外圈的顏色。
plot_args_file文件為進(jìn)化樹(shù)整體的參數(shù)信息,內(nèi)容如下
plot_group_color_file文件則為每個(gè)亞家族tiplabel的顏色
最終輸出文件為outputfile
接下來(lái),開(kāi)始讀取文件
輸出圖片的參數(shù)讀取
樹(shù)的形狀(tree_layout)、線(xiàn)條的類(lèi)型(tree_linetype)、樹(shù)的大小(tree_size)、樹(shù)是否為階梯式(tree_ladderize)、樹(shù)的顏色(tree_color)
節(jié)點(diǎn)的大?。?/span>tiplab_size)、節(jié)點(diǎn)的顏色(tiplab_color),節(jié)點(diǎn)的水平位移(tiplab_hjust),節(jié)點(diǎn)標(biāo)志的大小(tippoint_size)
外圈的對(duì)齊(circle_strip_align)、外圈的透明度(circle_strip_alpha)、外圈標(biāo)簽的大?。?/span>circle_strip_fontsize)、不同分組外圈之間間距(circle_strip_offset)、外圈標(biāo)簽的文本大小(circle_strip_offset_text)、外圈標(biāo)簽的水平位移(circle_strip_hjust),外圈色塊的寬度(circle_strip_barsize)、外圈的延展(circle_strip_extend)
設(shè)置圖片保存,并讀取樹(shù)文件
讀入分組文件用于繪制進(jìn)化樹(shù),并按分組添加顏色
這一步確定分組類(lèi)型,后期調(diào)整也是通過(guò)這一步進(jìn)行
讀取分組的顏色
獲取進(jìn)化樹(shù)排序后的列名,并以為為序?qū)?/span>group_file的數(shù)據(jù)進(jìn)行重新排序
獲取進(jìn)化樹(shù)節(jié)點(diǎn)的排序,因?yàn)?/span>tree_phylo自帶group屬性,所以需要將這個(gè)屬性提取出來(lái),用于上色,按照排序后進(jìn)化樹(shù)的節(jié)點(diǎn)分別給“上色”
繪制進(jìn)化樹(shù),值得注意的是label_group_color只是包含分組的顏色即group包含幾個(gè)level,然后依據(jù)順序依次上色。
最后一步,保存圖片
最終生成圖片如下

三 慣例小結(jié)
其實(shí)吧,沒(méi)有一種解決方法是全能的,重要的是什么解決方法最有效,用起來(lái)也最順手。
本公眾號(hào)開(kāi)發(fā)的相關(guān)軟件,Multi-omics Hammer軟件和Multi-omics Visual軟件歡迎大家使用。文末是本公眾號(hào)在其他平臺(tái)的賬戶(hù),也歡迎大家關(guān)注并多提意見(jiàn)。
簡(jiǎn)書(shū):WJ的生信小院(已經(jīng)開(kāi)始更新啦)
博客園:生信小院(還未更新)
最后,也歡迎各位大佬能夠在本平臺(tái)上:1傳播和講解自己發(fā)表的論文;2:發(fā)表對(duì)某一科研領(lǐng)域的看法;3:想要達(dá)成的合作或者相應(yīng)的招聘信息;4:展示自己以尋找博后工作或者博士就讀的機(jī)會(huì);5:博導(dǎo)提供博后工作或者博士攻讀機(jī)會(huì),都可以后臺(tái)給筆者留言。希望本平臺(tái)在進(jìn)行生信知識(shí)分享的同時(shí),能夠成為生信分析者的交流平臺(tái),能夠?qū)崿F(xiàn)相應(yīng)的利益互補(bǔ)和雙贏(不一定能實(shí)現(xiàn),但是夢(mèng)想總得是有的吧)。


