R實戰:系統發育樹的數據集成操作及可視化(全彩)

余光創 著

買這商品的人也買了...

商品描述

本書系統地介紹使用treeio、tidytree、ggtree 和ggtreeExtra 等R 軟件包操作系統發育樹的全套流程,
包括對樹文件的解析,以及樹與其相關數據的操作、整合、可視化等內容。
本書由余光創撰寫,旨在為系統發育樹的操作與呈現提供指導。
如果讀者需要進行系統發育樹的相關操作,卻又覺得無從下手,那麼這本書會提供很大的幫助。
關於系統發育樹的大部分問題,都能在本書中找到答案。

作者簡介

余光創
生物信息學教授,在香港大學公共衛生學院獲得博士學位,現任南方醫科大學生物信息學系系主任。
作為一位活躍的R 語言用戶,他編寫了許多R 軟件包,如aplot、badger、ChIPseeker、
clusterProfiler、DOSE、emojifont、enrichplot、ggbreak、ggfun、ggimage、ggplotify、
ggtree、GOSemSim、hexSticker、meme、meshes、nCov2019、plotbb、ReactomePA、
scatterpie、seqmagick、seqcombo、shadowtext、tidytree 及treeio,
同時指導學生開發了一系列R 軟件包,如ggmsa、ggtreeExtra、MicrobiomeProfiler 及MicrobiotaProcess 等。

目錄大綱

目錄
第1篇樹數據的輸入/輸出及操作
第1章導入帶有數據的樹文件.2
1.1 系統發育樹構建概述2
1.2 系統發育樹文件格式4
1.2.1 Newick樹文件4
1.2.2 NEXUS格式.5
1.2.3 NHX格式7
1.2.4 Jplace格式.7
1.2.5 利用軟件輸出文件8
1.3 使用treeio導入樹及相關數據.13
1.3.1 treeio簡介17
1.3.2 treeio解析函數演示18
1.3.3 將其他樹形對象轉換為phylo對像或treedata對象29
1.3.4 從treedata對像中獲取信息.31
1.4 總結34
1.5 本章練習題35
參考文獻.35

第2章操作含有關聯數據的樹.38
2.1 使用tidy接口操作樹數據38
2.1.1 phylo對象38
2.1.2 treedata 對象40
2.1.3 訪問相關節點41
2.2 數據整合43
2.2.1 整合樹數據..43
2.2.2 將外部數據關聯到系統發育樹46
2.2.3 對分類單元進行分組48
2.3 重新設定樹的根節點51
2.4 重新調整分支標尺55
2.5 對包含數據的樹取子集56
2.5.1 刪除系統發育樹中的葉節點56
2.5.2 通過葉節點標籤對樹取子集58
2.5.3 通過內部節點編號對樹取子集60
2.6 操作樹數據以進行可視化62
2.7 總結65
2.8 本章練習題65
參考文獻.65

第3章導出含有數據的樹67
3.1 簡介67
3.2 將樹數據導出為BEAST Nexus 格式的文件.68
3.2.1 軟件輸出文件的導出與轉換68
3.2.2 將樹與外部數據結合71
3.2.3 合併不同來源的樹數據72
3.3 將樹數據導出為jtree 格式的文件.74
3.4 總結77
3.5 本章練習題77
參考文獻.77

第2 篇樹數據的可視化及註釋
第4 章系統發育樹可視化80
4.1 簡介80
4.2 使用ggtree 包對系統發育樹進行可視化81
4.2.1 基本的系統發育樹的可視化82
4.2.2 系統發育樹的佈局83
4.3 繪製樹的構成部分89
4.3.1 繪製樹的標尺89
4.3.2 繪製內/ 外部節點.91
4.3.3 繪製標籤91
4.3.4 繪製根分支93
4.3.5 給樹著色94
4.3.6 調整進化樹標尺98
4.3.7 修改主題組件100
4.4 對樹列表進行可視化100
4.4.1 使用不同變量的值註釋同一棵樹102
4.4.2 密度樹103
4.5 總結104
4.6 本章練習題105
參考文獻.105

第5 章系統發育樹註釋107
5.1 使用圖形語法對樹進行可視化及註釋107
5.2 進化樹註釋圖層109
5.2.1 彩色條帶109
5.2.2 突出顯示進化枝112
5.2.3 連接分類單元114
5.2.4 進化推論的不確定性116
5.3 使用進化軟件輸出結果註釋樹117
5.4 總結120
5.5 本章練習題121
參考文獻.121

第6 章系統發育樹的可視化探索.122
6.1 查看選定的進化枝122
6.2 縮小選定的進化枝124
6.3 折疊及展開進化枝124
6.4 對分類單元進行分組127
6.5 對系統發育樹結構的探索128
6.6 總結133
6.7 本章練習題133
參考文獻.133

第7 章繪製含有數據的樹134
7.1 將外部數據映射到樹結構134
7.2 基於樹的結構將圖與樹對齊136
7.3 對含有關聯矩陣的樹進行可視化138
7.4 對含有多序列比對結果的樹進行可視化142
7.5 複合圖143
7.6 總結145
7.7 本章練習題147
參考文獻.147

第8 章使用輪廓圖和子圖註釋進化樹148
8.1 使用圖像註釋進化樹148
8.2 使用phylopic 註釋進化樹149
8.3 使用子圖註釋進化樹150
8.3.1 使用柱狀圖進行註釋151
8.3.2 使用餅圖進行註釋152
8.3.3 使用多種不同類型的圖表進行註釋152
8.4 玩轉phylomoji .153
8.4.1 在環形佈局或扇形佈局的樹中使用表情符號155
8.4.2 使用表情符號作為進化枝標籤156
8.4.3 Apple 彩色表情符號.157
8.4.4 使用ASCII Art 呈現phylomoji 158
8.5 總結159
8.6 本章練習題159
參考文獻.159

第3 篇ggtree 拓展包
第9 章對其他樹形對象使用ggtree 包.162
9.1 使用ggtree 包繪製系統發育樹對象162
9.1.1 phylo4 對象和phylo4d 對象162
9.1.2 phylog 對象165
9.1.3 phyloseq 對象166
9.2 使用ggtree 包繪製樹狀圖169
9.3 使用ggtree 包繪製樹形網絡圖171
9.4 使用ggtree 包繪製其他樹形結構172
9.5 總結173
9.6 本章練習題174
參考文獻.174

第10 章使用ggtreeExtra 包在環形佈局上呈現數據175
10.1 簡介175
10.2 基於樹的結構將圖與樹對齊175
10.3 在多維數據的可視化中將多個圖與樹對齊178
10.4 群體遺傳學示例183
10.5 總結190
10.6 本章練習題190
參考文獻.191
第11 章其他ggtree 擴展包.192
11.1 使用MicrobiotaProcess 包進行分類學註釋193
11.2 使用tanggle 包可視化系統發育網絡圖.194
11.3 總結195
11.4 本章練習題196
參考文獻.196

第4 篇雜項
第12 章ggtree 包中的實用工具.198
12.1 分面相關實用工具198
12.1.1 facet_widths() 函數198
12.1.2 facet_labeller() 函數200
12.2 幾何對像圖層201
12.3 佈局相關工具202
12.4 標尺相關工具203
12.4.1 擴大指定面板的x 軸範圍203
12.4.2 按一定比例擴大繪圖邊界204
12.5 樹數據相關工具206
12.5.1 篩選樹數據206
12.5.2 展開嵌套的樹數據207
12.6 樹相關工具208
12.6.1 提取葉節點順序208
12.6.2 在分類單元標籤前添加填充字符210
12.7 交互式ggtree 註釋211
12.8 本章練習題211

第13 章可重複示例圖庫213
13.1 繪製系統發育樹與核苷酸序列之間的距離213
13.2 以不同的符號點呈現自舉值217
13.3 突出顯示不同分組219
13.4 含有基因組位點結構信息的系統發育樹222
參考文獻.223

附錄A 常見問題.224
A.1 安裝相關問題.224
A.2 R 語言相關問題225
A.3 美學映射相關問題.225
A.3.1 美學映射的繼承.225
A.3.2 切忌在美學映射中使用“$” .226
A.4 文本和標籤相關問題.226
A.4.1 葉節點標籤被截斷.226
A.4.2 修改葉節點標籤.227
A.4.3 修改葉節點標籤格式.229
A.4.4 避免文本標籤重疊.230
A.4.5 Newick 格式中的自舉值.231
A.5 分支設置.232
A.5.1 繪製與plot.phylo() 函數效果相同的樹232
A.5.2 指定葉節點的順序.233
A.5.3 縮短外群長分支.233
A.5.4 為樹添加新的葉節點.234
A.5.5 更改任意分支的顏色或線條類型.236
A.5.6 在分支的任意位置添加符號點.236
A.6 為不同的分面面板設置不同的x 軸標籤237
A.7 在樹的底部圖層繪製圖形.239
A.8 擴大環形佈局或扇形佈局樹的內部空間.239
A.9 使用離根最遠的葉節點作為時間尺度樹的原點.240
A.10 刪除環形佈局樹的空白邊距.241
A.11 編輯樹圖的細節242
參考文獻.242

附錄B 相關工具.243
B.1 MircrobiotaProcess 包:將物種分類表轉換為treedata 對象.243
B.2 rtol 包:Open Tree API 的R 接口.244
B.3 將ggtree 對象轉換為plotly 對象245
B.4 繪製漫畫風格的系統發育樹(類似xkcd) .246
B.5 繪製ASCII Art 形式的有根樹.247
B.6 放大樹的選定部分249
XVI R 實戰:系統發育樹的數據集成操作及可視化
B.7 在ggtree 包中使用ggimage 包的提示250
B.7.1 示例1:移除圖像背景250
B.7.2 示例2:在背景圖像上繪製樹251
B.8 在Jupyter Notebook 中運行ggtree 包.251
參考文獻.252
附錄C 練習題答案.253