美文网首页
气泡图展示富集结果-Ingenuity Pathway Anal

气泡图展示富集结果-Ingenuity Pathway Anal

作者: KS科研分享与服务 | 来源:发表于2024-09-11 12:52 被阅读0次

    近期在看文献找图的时候,看到一篇文章,一个词走进我的眼帘,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

    觉得我们分享有些用的,点个赞再走呗!

    相关文章

      网友评论

          本文标题:气泡图展示富集结果-Ingenuity Pathway Anal

          本文链接:https://www.haomeiwen.com/subject/ifgjljtx.html