R语言多层桑基图_桑基图的绘制核心微生物组分类学及丰度展示
為什么要用桑基圖
桑基圖 (Sankey diagram)是一種展現數據之間流動和相互關系的圖像,類似于一種網絡圖,通過不同層級節點之間的連接以及連接邊的寬度,展示數據之間的流動關系。
在微生物群落分析中,桑基圖可以用來展示不同分類學水平微生物的豐度及其從屬關系,可以簡單的說是一種包含物種豐度信息的系統發育樹。
在一些時間序列或大規模區域樣本的研究中,研究人員通常都會非常關注核心微生物組,也就是在一系列時間序列樣品或各種不同類型樣品中共有的微生物,這些微生物代表了樣本中最基本也是最重要的功能微生物。
使用桑基圖可以達到同時展示核心微生物組成、系統發育關系以及相對豐度的目的。
桑基圖的繪制
可以使用R語言的“d3Network”包進行桑基圖的繪制,該包是在R環境下基于D3.j繪制桑基圖的專門的包。
還是照例先介紹一下繪圖主函數的各項參數。
d3Sankey(Links, Nodes, Source, Target, Value = NULL, NodeID, height = 600, width = 900, fontsize = 7, nodeWidth = 15, nodePadding = 10, parentElement = "body", standAlone = TRUE, file = NULL,??iframe?=?FALSE,?d3Script?=?"http://d3js.org/d3.v3.min.js")各參數意義:
Links,用于繪圖的數據框,給出了節點及其關聯信息;
Nodes,包含節點ID及相關信息的數據框;
Source,Links文件中指定Source源的向量;
Target,Links文件中指定Target的向量;
Value,Links文件中指定節點關聯邊寬度的向量;
NodeID,Nodes文件中指定節點ID名稱的向量;
height,輸出圖像的高度;
width,輸出圖像的寬度;
fontsize,圖像中節點標簽文字的字號;
nodeWidth,用于指定每一個節點的寬度;
nodePadding,介紹里的英語沒看明白是什么意思;
file,輸出文件的名稱,要輸出html格式。
3dNetwork包繪制桑基圖需要兩個文件,一個是提供節點及其關聯信息的數據框,另一個是提供節點名稱及其性質的數據框。
我們首先要手動制作一個原始的數據文件,結構類似于網絡分析的輸入文件,包含三列信息,第一列為source,內容為節點的名稱,第二列為target,內容為屬于該source的target名稱,第三列為value,及其對應target的相對豐度數據。
我的示例數據格式如下,數據是一套時間序列微生物群落樣本的共有OTU,之后手動計算各物種的豐度及其對應的系統發育層次信息。
3dNetwork輸入的文件要求使用數字來定義source和target的現實順序,再用nodes文件將節點名稱于數字匹配,因此要對輸入文件進行一定的處理。
sankey "sankey.txt",header = TRUE,sep = "\t")nodes as.character(sankey$source),as.character(sankey$target))),stringsAsFactors = FALSE)nodes$ID 0:(nrow(nodes)-1)sankey by.x = "source",by.y = "name")sankey by.x = "target",by.y = "name")colnames(sankey) "X","Y","value","source","target")sankey select = c("source","target","value"))nodes?select?=?c("name"))之后就可以繪制圖像了。
d3Sankey(Links = sankey,Nodes = nodes,fontsize = 20, Source = "source",Target = "target",Value = "value", NodeID = "name",file = "Sankey.html",?????????width?=?1200,height?=?900)打開輸出的html文件,我們會發現部分圖像的元素存在一定的重疊,并且有些節點的順序可能需要修改。
這一步就非常簡單了,輸出的結果是可交互的,直接鼠標拖動節點模塊即可改變其位置。
關注公眾號“紅皇后學術”,后臺回復“桑基圖”獲取本文介紹的繪圖示例文件和完整代碼。
擴展閱讀
- 高通量測序基礎知識
- 轉錄組測序技術和結果解讀
- 紅皇后學術文獻解讀列表
- 基本分子生物學實驗
- PAST:最簡便易用的統計學分析軟件教程目錄
- 每天學習一點R系列
- 微生物群落數據分析系列教程
- 微生物研究相關工具
- 微生物研究投稿期刊簡介
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的R语言多层桑基图_桑基图的绘制核心微生物组分类学及丰度展示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 水凝胶 静电纺丝_北理工赵扬ACS Na
- 下一篇: mpc 安全多方计算协议_BNC公链