南方医科大学余光创教授(Y叔)所开发的ggtree是一个非常强大的进化树可视化R包,现在Github有一个有趣的shiny App便是基于ggtree开发的, https://github.com/YuLab-SMU/iggtree 。
只需要在Rgui或rstudio中执行几句命令:
install.packages("pacman")
install.packages("shiny")
shiny::runGitHub("iggtree", "yulab-smu")
然后静静的等待它安装完依赖包,浏览器会弹出一个App,这时候就可以享用了。
当然,也可以将这个软件的zip下载到本地解压缩,然后使用runApp()打开这个App。
setwd("directory of your files")
shiny::runApp()
这个App的左下角有个 “output_method” 的选项,renderPlot和renderPlotly可以实现不同的功能。默认是renderPlot。点击左上角的Borwer…可以导入进化树的文件,支持多种格式,我们在 https://github.com/YuLab-SMU/iggtree 的data文件夹下有示例数据。
导入sample.nwk文件后,我们可以对它进行多种操作来探索这棵树。例如调整layout,改变高度,调整树的角度等。
点击左下角的renderPlotly,可以实现更多的功能。如鼠标放置在node上,可以显示这个node的一些属性,鼠标选中某一区域,可以对这块区域进行放大等。图的上方有一些按钮,可以对图进行保存、放大、缩小等操作。
更多的操作可以参考Y叔对ggtree的说明文档: https://github.com/YuLab-SMU/ggtree