氣泡圖展示富集結果-Ingenuity Pathway Analysis(IPA)結果展示之一

近期在看文獻找圖的時候竹海,看到一篇文章斋配,一個詞走進我的眼簾灌闺,Ingenuity Pathway Analysis(IPA),很熟悉甩卓,又很陌生逾柿。熟悉是因為我知道有這么個東西宅此,我也利用它做過數據分析并進行過結果可視化;陌生是因為分析部分并不是我親自做的毡熏,而是委托別人做的。2年前就有小伙伴問我可不可以出IPA分析的教程狱窘,我的回答是不能蘸炸。IPA是一個付費軟件,我沒有那么大本事搭儒,這也就是我所說的“陌生‘提茁,大樹底下好乘涼馁菜,之前是因為合作的課題組購買了,才能幫做峭火。大概率你會在文獻中見過這樣的圖智嚷,就是IPA的杰作:

(reference:Kawano, Y., Tanaka, M., Satoh, Y. et al. Acanthopanax senticosus ameliorates steatohepatitis through HNF4 alpha pathway activation in mice. Sci Rep 14, 110 (2024). https://doi.org/10.1038/s41598-023-50625-z)

However,IPA的應用很廣泛稍浆,功能強大(普通轉錄組猜嘱,miRNA等小RNA泉坐,蛋白組,藥物分析等等)孤钦,很可能你的分析會用得上偏形,而且這就有點高級了觉鼻。分析的內容也是平常我們非常想解決的坠陈,一下子思路打開:
經典通路富集分析,差異基因富集情況
非定向相互作用網絡分析(Networks)
上游調控分析庸蔼,即基因上游調控因子預測
下游效應分析贮匕,即預測分子變化對疾病和生物學功能等的影響
調控效應分析,即下游疾病或者功能如何收到上游分子調控
比較分析,與相似數據匹配進行多組學掏膏、多時間點等比較分析
特定基因-分子-疾病網絡調控構建
參考資料:
https://mp.weixin.qq.com/s/yu8hz2BZPePO22OMAPp6xQ
https://mp.weixin.qq.com/s/y0dS_8S7tOWKKzuHp_DCkA

我們是從一篇NC文章(Single-cell analysis identifies conserved features of immune dysfunction in simulated microgravity and spaceflight)上看到的劳翰,不過這篇文章中做了富集分析,這個不是重點馒疹,重點是這個文章提供了代碼(https://github.com/FEI38750/Immune_Dysfunction_in_Microgravity/blob/main/7_IPA_comparison_dotplot.r)⌒斜可視化這個富集結果的代碼我認為值得分享,雖然很簡單悼做,但是涉及到我們每次做富集可視化的過程疯特,算是一個集成,所以我們詳細注釋了代碼進行學習肛走,注釋代碼已上傳群!

復現圖如下:

文章中提供了作圖的數據朽色,我們直接使用邻吞,處理一下:

setwd('D:\\KS項目\\公眾號文章\\學習SCI論文代碼-富集氣泡圖展示')

library(stringi)
library(tidyr)
library(colorspace)
library(ggplot2)
library(stringr)

#read data
IPA_Z <- read_excel("ipa.xls",skip=1, sheet = 1, col_names=F)
IPA_P <- read_excel("ipa.xls",skip=1, sheet = 2, col_names=F)

# 替換字符:replace Greek symbols,把希臘字母換成英文
#其實替換與否都不重要,主要是學習一下代碼
Greek <- c("α","β","γ","κ","θ")
English <- c("a","b","r","k","th")
IPA_Z$Canonical.Pathways <- stri_replace_all_regex(IPA_Z$Canonical.Pathways,
                                                     pattern=Greek,
                                                     replacement = English,
                                                     vectorize=F)
IPA_P$Canonical.Pathways <- stri_replace_all_regex(IPA_P$Canonical.Pathways,
                                                     pattern=Greek,
                                                     replacement = English,
                                                     vectorize=F)

下面就是很多人總是問的問題了葫男,例如調整通路,細胞順序了梢褐,字符處理了旺遮,數據替換過濾等等問題:

IPA_P<-IPA_P[match(IPA_Z$Canonical.Pathways,IPA_P$Canonical.Pathways),]

IPA_Z <- pivot_longer(IPA_Z, cols= 2:21,names_to = "Cell_types",values_to = "Zscore")
IPA_P <- pivot_longer(IPA_P, cols= 2:21,names_to = "Cell_types",values_to = "-log(P)")
IPA_Z <- cbind(IPA_Z,`-log(P)`=IPA_P$`-log(P)`)

#字符處理
# trim the name of cell types
IPA_Z$Cell_types<- gsub("_uGvs1G.*","",IPA_Z$Cell_types)
IPA_Z$Cell_types<-factor(IPA_Z$Cell_types, levels = unique(IPA_Z$Cell_types)) # order the x axis
# Replacing character values with NA in a data frame
IPA_Z[ IPA_Z == "N/A" ] <- NA
IPA_Z$Zscore <- as.numeric(IPA_Z$Zscore)
data  = IPA_Z %>%  filter(`-log(P)`>1.3)

ggplot作圖耿眉,ggsave保存圖片:


#plot
ggplot(data=data, aes(x=Cell_types, y = Canonical.Pathways, 
                      color = Zscore, size = `-log(P)`)) + 
  geom_point() + 
  scale_y_discrete(labels=function(y) str_wrap(y, width=80)) +
  ylab('Canonical Pathways') +
  cowplot::theme_cowplot() +
  theme(axis.text.x = element_text(size=9.5, angle=45, vjust = 1, hjust = 1),
        axis.text.y = element_text(size=7.5))
  theme(axis.line  = element_blank()) + 
  theme(axis.ticks = element_blank()) +
  scale_color_continuous_divergingx('RdBu',rev=T,limits = c(-3,3), 
                                    oob = scales::squish, name = 'z-score',
                                    na.value="transparent")+
  labs(size="-log10(adj.P)") 



#最后保存圖片丈积,設置長寬
ggsave("IPA.pdf", width = 10, height = 9,limitsize = FALSE)
image.png

覺得我們分享有些用的筐骇,點個贊再走唄!

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末牙寞,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌间雀,老刑警劉巖悔详,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異惹挟,居然都是意外死亡茄螃,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門连锯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來归苍,“玉大人,你說我怎么就攤上這事运怖∑雌” “怎么了?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵摇展,是天一觀的道長吻氧。 經常有香客問我,道長咏连,這世上最難降的妖魔是什么盯孙? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮祟滴,結果婚禮上振惰,老公的妹妹穿的比我還像新娘。我一直安慰自己垄懂,他們只是感情好报账,可當我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著埠偿,像睡著了一般透罢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上冠蒋,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天羽圃,我揣著相機與錄音,去河邊找鬼抖剿。 笑死朽寞,一個胖子當著我的面吹牛,可吹牛的內容都是我干的斩郎。 我是一名探鬼主播脑融,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼缩宜!你這毒婦竟也來了肘迎?” 一聲冷哼從身側響起甥温,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎妓布,沒想到半個月后姻蚓,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡匣沼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年狰挡,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片释涛。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡加叁,死狀恐怖,靈堂內的尸體忽然破棺而出唇撬,到底是詐尸還是另有隱情它匕,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布局荚,位于F島的核電站超凳,受9級特大地震影響,放射性物質發(fā)生泄漏耀态。R本人自食惡果不足惜轮傍,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望首装。 院中可真熱鬧创夜,春花似錦、人聲如沸仙逻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽系奉。三九已至檬贰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間缺亮,已是汗流浹背翁涤。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留萌踱,地道東北人葵礼。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像并鸵,于是被迫代替她去往敵國和親鸳粉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內容