ggplot2繪制物種組成圖

本節(jié)我們來繪制微生物的物種組成圖牍汹;先通過phyloseq包整合數(shù)據(jù)垛贤,之后利用MicrobiotaProcess包繪制門水平物種組成圖,最后通過ggplot2自定義繪制物種組成圖,喜歡的小伙伴可以關(guān)注我的公眾號(hào)R語言數(shù)據(jù)分析指南逸嘀,后臺(tái)回復(fù)關(guān)鍵詞物種組成圖獲取全部數(shù)據(jù)及代碼。

加載必須R包

rm(list=ls())
library(pacman)
library(magrittr)
library(reshape2)
pacman::p_load(tidyverse,phyloseq,MicrobiotaProcess,ape)

整合數(shù)據(jù)

otu_mat <- read.delim2("otu_table.tsv",header=T,
                       sep="\t",check.names = F,row.names = 1) %>%
  as.matrix()

tax_mat <- read.delim("taxa.xls",header=T,row.names = 1,
                      sep="\t",check.names = F) %>% as.matrix()
samples_df <- read.delim("group.xls",header = T,row.names = 1,
                         sep="\t",check.names = F)
tree <- read.tree("rooted_tree.tre")

OTU = otu_table(otu_mat,taxa_are_rows =T)
TAX = tax_table(tax_mat)
samples = sample_data(samples_df)

ps <- phyloseq(OTU,TAX,samples,tree)
ps
> ps
phyloseq-class experiment-level object
otu_table()   OTU Table:         [ 3761 taxa and 12 samples ]
sample_data() Sample Data:       [ 12 samples by 1 sample variables ]
tax_table()   Taxonomy Table:    [ 3761 taxa by 7 taxonomic ranks ]
phy_tree()    Phylogenetic Tree: [ 3761 tips and 3760 internal nodes ]

MicrobiotaProcess包進(jìn)行數(shù)據(jù)可視化

phytax <- get_taxadf(obj=ps, taxlevel=2)

phybar <- ggbartax(obj=phytax,facetNames="group", count=FALSE) +
  xlab(NULL) + ylab("relative abundance (%)")+
  theme(axis.text.x=element_text(face="plain",
                                 color="black",hjust=0.8,vjust=0.6,
                                 size=9, angle=90))+
  theme(strip.text.x = element_text(size=8, color="black",
                                    face="plain"))+
  theme(legend.position="right")
phybar

ggplot2自定義繪圖

定義顏色

colors <-c("#E41A1C","#1E90FF","#FF8C00","#4DAF4A","#984EA3",
           "#40E0D0","#FFC0CB","#00BFFF","#FFDEAD","#90EE90",
           "#EE82EE","#00FFFF","#F0A3FF", "#0075DC", 
           "#993F00","#4C005C","#2BCE48","#FFCC99",
           "#808080","#94FFB5","#8F7C00","#9DCC00",
           "#C20088","#003380","#FFA405","#FFA8BB",
           "#426600","#FF0010","#5EF1F2","#00998F",
           "#740AFF","#990000","#FFFF00")

導(dǎo)出門水平物種數(shù)據(jù)

p <- phyloseq::otu_table(phytax) %>% as.data.frame()
write.table (p,file ="phylumt.xls", sep ="\t",col.names = NA)

將豐度小于1%的歸類于others

computed_persent <- function(path) {
  data <- path %>%
    read.delim(check.names = FALSE, row.names = 1)
  data2 <- data %>%
    mutate(sum = rowSums(.), persent = sum / sum(sum) * 100, 
sum = NULL,) %>%
    rbind(filter(., persent < 1) %>% colSums()) %>%
    mutate(OTU_ID = c(data %>% rownames(), "others"))
  filter(data2[1:(nrow(data2) - 1),], persent > 1) %>%
    rbind(data2[nrow(data2),]) %>%
    select(ncol(.), 1:(ncol(.) - 2)) %>%
    set_rownames(seq_len(nrow(.))) %>%
    return()
}

path <- "phylumt.xls"

數(shù)據(jù)整合

a1 <- computed_persent(path) %>% melt()
a2 <- "group.xls" %>% read.delim()
a4 <- NULL

for (i in seq_len(nrow(a1))) { 
  a4[i] <- a2[which(a2[, 1] == a1[i, 2]), 2] }

a1[, 4] <- a4
a1

數(shù)據(jù)可視化

ggplot(a1,aes(variable,value,fill=OTU_ID))+
  geom_bar(stat="identity",position = "fill")+
  facet_grid(. ~ V4,scales = "free",space="free_x")+
  labs(x="",y="Proportions")+
  scale_fill_manual(values = colors)+labs(fill="")+
  theme(legend.title=element_blank())+
  scale_y_continuous(expand=c(0,0))+theme_bw()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末碰纬,一起剝皮案震驚了整個(gè)濱河市产还,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嘀趟,老刑警劉巖脐区,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異她按,居然都是意外死亡牛隅,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門酌泰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來媒佣,“玉大人,你說我怎么就攤上這事陵刹∧椋” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵衰琐,是天一觀的道長(zhǎng)也糊。 經(jīng)常有香客問我,道長(zhǎng)羡宙,這世上最難降的妖魔是什么狸剃? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮狗热,結(jié)果婚禮上钞馁,老公的妹妹穿的比我還像新娘。我一直安慰自己匿刮,他們只是感情好僧凰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著熟丸,像睡著了一般训措。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上虑啤,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天隙弛,我揣著相機(jī)與錄音,去河邊找鬼狞山。 笑死全闷,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的萍启。 我是一名探鬼主播总珠,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼屏鳍,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了局服?” 一聲冷哼從身側(cè)響起钓瞭,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎淫奔,沒想到半個(gè)月后山涡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡唆迁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年鸭丛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唐责。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鳞溉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鼠哥,到底是詐尸還是另有隱情熟菲,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布朴恳,位于F島的核電站抄罕,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏菜皂。R本人自食惡果不足惜贞绵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一厉萝、第九天 我趴在偏房一處隱蔽的房頂上張望恍飘。 院中可真熱鬧,春花似錦谴垫、人聲如沸章母。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乳怎。三九已至,卻和暖如春前弯,著一層夾襖步出監(jiān)牢的瞬間蚪缀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工恕出, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留询枚,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓浙巫,卻偏偏與公主長(zhǎng)得像金蜀,于是被迫代替她去往敵國(guó)和親刷后。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容