ggplot2繪制KEGG富集散點圖

散點圖是 KEGG 富集分析結果的圖形化展示方式。在此圖中,KEGG 富集程度通過 rich factor, qvalue 和富集到此通路上的基因個數來衡量。其中 rich factor 指差異表達的基因中位于該 pathway 條目的基因數目與所有有注釋基因中位于該 pathway 條目的基因總數的比值。Rich factor越大,表示富集的程度越大。qvalue 是做過多重假設檢驗校正之后的 pvalue, qvalue 的取值范圍為[0,1],越接近于零,表示富集越顯著。

1.數據的讀取與處理
這里讀取的是用KOBAS網頁工具分析的KEGG結果

pathway<-read.table("SFTSV_24vscontrol_DE_mRNA_kegg.txt",header = T,sep = "\t",stringsAsFactors = F)
View(pathway)

image.png

KOBAS網頁工具分析的條目里沒有Rich factor這一項,所以我們需要在數據框里面加入Rich factor這一列,Rich Factor的計算方式為差異表達的基因中位于該 pathway 條目的基因數目與所有有注釋基因中位于該 pathway 條目的基因總數的比值。

pathwayrichFactor<-pathwayInput.number/pathway$Background.number #添加richFactor列
kegg<-pathway[1:20,]  #這里選擇top20的KEGG terms來作圖,由于數據框已經是按照Corrected.P.Value項從小到大排序過了,所以這里直接選擇了前20項就行
2.ggplot2作圖
1.將richFactor和Term映射到x軸和y軸
library(ggplot2)
colnames(kegg)
p<-ggplot(kegg,aes(x=richFactor,y=Term))

image.png

2.繪制散點圖
p+geom_point() #繪制散點圖
p+geom_point(aes(size=Input.number,color=Corrected.P.Value)) #將點的大小映射到Input.number,將顏色映射到Corrected.P.Value

image.png

3.修改Rstudio的默認顏色
p+geom_point(aes(size=Input.number,color=Corrected.P.Value))+scale_color_gradient(low="red",high="green")

image.png

如果想修改x軸和y軸的label,比如將x軸的richFactor改成Rich factor,將y軸的Term去掉,再加上標題“Statistics of Pathway Enrichment",將Input.number改成Gene_number,將Corrected.P.Value改成qvalue,主題改成theme_bw,我們可以這樣操作

p+geom_point(aes(size=Input.number,color=Corrected.P.Value))+scale_color_gradient(low="red",high="green")+labs(title="Statistics of Pathway Enrichment",x="Rich factor",y="",color="qvalue",size="Gene_number")+theme_bw()

image.png

ggplot2繪制KEGG富集散點圖

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容