本文为R包microbiomeViz作者李陈浩原创,博文链接见文末。作者授权发布于本平台,刘永鑫对本文进行测试,有修改。
平日经常会分析shotgun宏基因组的数据,我们的pipeline使用MetaPhlAn,Kraken等profiler。这种数据经常会产生一个表格,如下
download.file("https://bitbucket.org/biobakery/biobakery/raw/tip/demos/biobakery_demos/data/metaphlan2/output/SRS014459-Stool_profile.txt", 'SRS014459-Stool_profile.txt') knitr::kable(head(read.table('SRS014459-Stool_profile.txt'))) V1V2k__Bacteria100.00000k__Bacteria|p__Firmicutes64.91753k__Bacteria|p__Bacteroidetes35.08247k__Bacteria|p__Firmicutes|c__Clostridia64.91753k__Bacteria|p__Bacteroidetes|c__Bacteroidia35.08247k__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales64.91753第一列是分类信息注释,第二列是相对丰度(百分比)。在做这种图可视化方面,目前个人见过最强大的是GraPhlAn:
官网上相关的教程很详细,但是问题是,这个完全封闭的python程序,想要hack,还真的是挺难得。Krona可能是另一个选择,但是同样还是会有同样的问题。最近发布的R包Metacoder,画出的图个人真心不是很喜欢:
跟Y叔讨论了一下用ggtree实现像GraPhlAn那样图的可能性,得到了肯定的答复,于是开始自己造轮子。
MicrobiomeViz–千里之行,始于足下 其实可以写一个简单的函数,但是还是想做一个拓展性更强的东西,所以就有了这个包(不断完善中): https://github.com/lch14forever/microbiomeViz
让我们产生lefse调用graphlan绘制的物种树标记差异物种的Cladogram
输入数据为metaphlan2结果合并的矩阵。如何生成详见:MetaPhlAn2一条命令获得宏基因组物种组成
ID BM_SRS013506 BM_SRS015374 BM_SRS015646 BM_SRS017687 BM_SRS019221 BM_SRS019329 BM_SRS020336 BM_SRS022145 BM_SRS022532 k__Bacteria 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 k__Bacteria|p__Actinobacteria 1.33609 2.90435 0.45117 6.7964 14.08966 2.30709 7.30108 0.53534 3.57207 8.47622 7.07037 17.30722 30.62601 k__Bacteria|p__Actinobacteria|c__Actinobacteria 1.33609 2.90435 0.45117 6.7964 14.08966 2.30709 7.30108 0.53534 3.57207 8.47622 7.07037 17.30722简单几行代码,美图大功告成。
http://lchblogs.netlify.com/post/2018-01-18-r-metagenomeviz/
http://lchblogs.netlify.com/post/2018-04-20-r-microbiomeviz_example/
为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外1500+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。
学习扩增子、宏基因组科研思路和分析实战,关注“宏基因组” 点击阅读原文,跳转最新文章目录阅读 https://mp.weixin.qq.com/s/5jQspEvH5_4Xmart22gjMA
