搜索
查看: 11267|回复: 96

[R语言] R语言ggplot2画图教程之——Pathway富集分析气泡图

  [复制链接]
  • TA的每日心情

    2016.5.20 11:23
  • 签到天数: 21 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    版主

    Rank: 10Rank: 10Rank: 10

    主题
    5
    奥币
    1640
    积分
    367
    注册时间
    2015.12.21
    在线时间
    56 小时

    突出贡献论坛元老


    发表于 2016.1.15 14:57:22 | 显示全部楼层 |阅读模式
    # 安装包
    install.packages("ggplot2")

    # 导入包
    # 帮助文档链接:http://docs.ggplot2.org/current/
    library(ggplot2)

    # 设置工作路径到数据存放的文件夹下
    # 读数据
    pathway = read.table("R0-vs-R3.path.richFactor.head20.tsv",header=T,sep="\t")

    # 画图
    pp = ggplot(pathway,aes(richFactor,Pathway))
    pp + geom_point()

    # 改变点的大小
    pp + geom_point(aes(size=R0vsR3))

    # 四维数据的展示
    pbubble = pp + geom_point(aes(size=R0vsR3,color=-1*log10(Qvalue)))
    # 自定义渐变颜色
    pbubble + scale_colour_gradient(low="green",high="red")

    # 绘制pathway富集散点图
    pr = pbubble + scale_colour_gradient(low="green",high="red") + labs(color=expression(-log[10](Qvalue)),size="Gene number",x="Rich factor",y="Pathway name",title="Top20 of pathway enrichment")
    # 改变图片的样式(主题)
    pr + theme_bw()
    ## 保存图片
    ggsave("out.pdf")   # 保存为pdf格式,支持 pdf,png,svg多重格式
    ggsave("out.png")  # 保存为png格式
    ggsave("out2.png",width=4,height=4)   # 设定图片大小
      

    备注,绘图数据的说明:
    (1)绘图数据来自我们公司KEGG富集分析的结果,相应文件是结题报告中存在的,略作调整即可;
    (2)绘图数据每一列的意思:
    1)Pathway      : 通路的名称        
    2)R0vsR3            :差异表达基因中,属于这个通路的基因的数量
    3)All_Unigene        :所有基因中属于这个通路的基因的数量  
    4)Pvalue            :富集分析p值
    5)Qvalue                :富集分析的Q值
    6)richFactor        :在我们分析报告中,没有提供这一列,但很容易计算。是 第二列 除以 第三列得到;
    7)Pathway ID        :通路ID  
    8)Genes                :通路中基因的ID
    9)KOs                  :通路中基因的KO号
    补充一点:绘图仅仅用到4类,分布是第1,2,5,6列
    再补充一点(来源25,26,28楼的讨论)
    (1)在pathway名称中如有重名,这会导致错误。在表中每个pathway只能出现一次;
    (2)文本中,出现了引号会导致错误。例如,  Alzheimer's disease, Huntington's disease这样的名称。
          这两个pathway 名称中的引号需要删除。引号的出现,会导致R无法识别两个引号间的其他符号(退格符,换行符等),导致文件读取错误。
          如果一定要保留引号,则引号的内容再用引号囊括起来,例如:
           "Alzheimer's disease","Huntington's disease",从而避免单个出现的引号对其他字符的影响 。





    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

    点评

    旧代码:pp = ggplot(pathway,aes(richFactor,Pathway)) 少了右括号,已修正。  发表于 2016.1.20 00:25
    回复

    使用道具 举报

  • TA的每日心情
    忙~
    3 天前
  • 签到天数: 586 天

    连续签到: 3 天

    [LV.9]以坛为家II

    迅猛龙

    Rank: 8Rank: 8

    主题
    0
    奥币
    2260
    积分
    1042
    注册时间
    2016.1.15
    在线时间
    227 小时

    活跃会员


    发表于 2016.1.15 16:32:26 | 显示全部楼层
    好帖,谢谢
    回复

    使用道具 举报

  • TA的每日心情
    no
    昨天 18:33
  • 签到天数: 301 天

    连续签到: 1 天

    [LV.8]以坛为家I

    中华鲟

    Rank: 5Rank: 5

    主题
    14
    奥币
    1258
    积分
    667
    注册时间
    2016.1.8
    在线时间
    162 小时

    发表于 2016.1.15 16:46:19 | 显示全部楼层
    老师 怎么修改气泡圆点的边缘呢 看起来不太圆?谢谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2018.3.26 11:08
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]常住居民I

    钵水母

    Rank: 3Rank: 3

    主题
    12
    奥币
    944
    积分
    149
    注册时间
    2015.11.12
    在线时间
    25 小时

    发表于 2016.1.15 17:42:10 | 显示全部楼层
    我是来膜拜楼主的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016.5.20 11:23
  • 签到天数: 21 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    版主

    Rank: 10Rank: 10Rank: 10

    主题
    5
    奥币
    1640
    积分
    367
    注册时间
    2015.12.21
    在线时间
    56 小时

    突出贡献论坛元老


     楼主| 发表于 2016.1.15 17:42:55 | 显示全部楼层
    platove 发表于 2016.1.15 16:46
    老师 怎么修改气泡圆点的边缘呢 看起来不太圆?谢谢

    分辨率问题,其实是圆的,这个我真帮不了你
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    no
    昨天 18:33
  • 签到天数: 301 天

    连续签到: 1 天

    [LV.8]以坛为家I

    中华鲟

    Rank: 5Rank: 5

    主题
    14
    奥币
    1258
    积分
    667
    注册时间
    2016.1.8
    在线时间
    162 小时

    发表于 2016.1.15 17:44:01 | 显示全部楼层
    生物信息学 发表于 2016.1.15 17:42
    分辨率问题,其实是圆的,这个我真帮不了你

    好吧 在pDF看就是圆的 一般图片就不圆 谢谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016.8.31 15:44
  • 签到天数: 19 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    钵水母

    Rank: 3Rank: 3

    主题
    0
    奥币
    491
    积分
    158
    注册时间
    2015.12.30
    在线时间
    5 小时

    发表于 2016.1.16 14:46:32 | 显示全部楼层
    这帖子我喜欢!!!!哈哈哈,神帖,正好我需要。抱走
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    害羞
    5 天前
  • 签到天数: 84 天

    连续签到: 1 天

    [LV.6]常住居民II

    钵水母

    Rank: 3Rank: 3

    主题
    5
    奥币
    1017
    积分
    138
    注册时间
    2015.12.29
    在线时间
    44 小时

    发表于 2016.1.18 17:07:52 | 显示全部楼层
       牛
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    害羞
    前天 21:50
  • 签到天数: 362 天

    连续签到: 1 天

    [LV.8]以坛为家I

    迅猛龙

    Rank: 8Rank: 8

    主题
    45
    奥币
    3067
    积分
    1629
    注册时间
    2016.1.6
    在线时间
    159 小时

    活跃会员


    发表于 2016.1.18 20:34:08 | 显示全部楼层
    喜欢这个帖子
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017.5.13 14:16
  • 签到天数: 28 天

    连续签到: 5 天

    [LV.4]偶尔看看III

    钵水母

    Rank: 3Rank: 3

    主题
    3
    奥币
    815
    积分
    91
    注册时间
    2016.1.8
    在线时间
    25 小时

    发表于 2016.1.19 16:07:22 | 显示全部楼层
    我想问下数据里面每一个PATHWAY的rich factor是怎么算出来的,有什么统计学意义吗?谢谢@生物信息学
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    忙~
    昨天 09:30
  • 签到天数: 96 天

    连续签到: 1 天

    [LV.6]常住居民II

    管理员

    Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

    主题
    44
    奥币
    3261
    积分
    4600
    注册时间
    2015.12.5
    在线时间
    451 小时

    活跃会员论坛元老


    发表于 2016.1.19 16:23:01 | 显示全部楼层
    qh2012 发表于 2016.1.19 16:07
    我想问下数据里面每一个PATHWAY的rich factor是怎么算出来的,有什么统计学意义吗?谢谢@生物信息学 ...

    Rich Factor是 这个  差异表达基因中属于这个pathway的基因数量/ pathway中基因的总数;
    统计学上的意义谈不上,就是一个统计量吧。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016.10.21 09:23
  • 签到天数: 87 天

    连续签到: 1 天

    [LV.6]常住居民II

    版主

    Rank: 10Rank: 10Rank: 10

    主题
    17
    奥币
    3042
    积分
    1128
    注册时间
    2015.12.7
    在线时间
    140 小时

    优秀版主


    发表于 2016.1.19 16:26:22 | 显示全部楼层
    qh2012 发表于 2016.1.19 16:07
    我想问下数据里面每一个PATHWAY的rich factor是怎么算出来的,有什么统计学意义吗?谢谢@生物信息学 ...

    rich factor指差异表达的基因中位于该pathway条目的基因数目与所有基因中位于该pathway条目的基因总数的比值。RichFactor越大,表示富集的程度越高。这就是它的统计学意义了吧!

    评分

    参与人数 1奥币 +6 收起 理由
    基迪奥-周煌凯 + 6 赞一个!

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017.5.13 14:16
  • 签到天数: 28 天

    连续签到: 5 天

    [LV.4]偶尔看看III

    钵水母

    Rank: 3Rank: 3

    主题
    3
    奥币
    815
    积分
    91
    注册时间
    2016.1.8
    在线时间
    25 小时

    发表于 2016.1.19 17:25:57 | 显示全部楼层
    谢谢基迪奥-小师妹

    点评

    这个是基迪奥艾鹏整理的哦  发表于 2016.1.20 13:48
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    yes!
    4 天前
  • 签到天数: 41 天

    连续签到: 1 天

    [LV.5]常住居民I

    帝王蝶

    Rank: 4

    主题
    1
    奥币
    659
    积分
    278
    注册时间
    2015.12.29
    在线时间
    19 小时

    发表于 2016.1.19 17:56:23 | 显示全部楼层
    太好了,正想学这个图怎么做的十分感谢分享!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017.11.11 17:37
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    草履虫

    Rank: 2

    主题
    0
    奥币
    381
    积分
    23
    注册时间
    2016.3.1
    在线时间
    3 小时

    发表于 2016.3.7 10:18:34 | 显示全部楼层
    等了好久,终于 有了教程,非常感谢!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017.11.11 17:37
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    草履虫

    Rank: 2

    主题
    0
    奥币
    381
    积分
    23
    注册时间
    2016.3.1
    在线时间
    3 小时

    发表于 2016.3.7 10:20:21 | 显示全部楼层
    等了好久,终于 有了教程,非常感谢!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016.8.26 10:01
  • 签到天数: 69 天

    连续签到: 1 天

    [LV.6]常住居民II

    钵水母

    Rank: 3Rank: 3

    主题
    0
    奥币
    1163
    积分
    74
    注册时间
    2015.12.8
    在线时间
    18 小时

    发表于 2016.3.8 09:08:07 | 显示全部楼层
    留个记号,以备后用。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017.10.10 09:05
  • 签到天数: 17 天

    连续签到: 3 天

    [LV.4]偶尔看看III

    钵水母

    Rank: 3Rank: 3

    主题
    4
    奥币
    292
    积分
    131
    注册时间
    2016.3.16
    在线时间
    46 小时

    发表于 2016.3.31 08:30:10 | 显示全部楼层
    周老师,没有怎么保存图片的代码啊。网上搜的可是保存完pdf后打不开
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017.10.10 09:05
  • 签到天数: 17 天

    连续签到: 3 天

    [LV.4]偶尔看看III

    钵水母

    Rank: 3Rank: 3

    主题
    4
    奥币
    292
    积分
    131
    注册时间
    2016.3.16
    在线时间
    46 小时

    发表于 2016.3.31 08:30:44 | 显示全部楼层
    再留个保存成各种图片格式的代码就完美了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    忙~
    昨天 09:30
  • 签到天数: 96 天

    连续签到: 1 天

    [LV.6]常住居民II

    管理员

    Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

    主题
    44
    奥币
    3261
    积分
    4600
    注册时间
    2015.12.5
    在线时间
    451 小时

    活跃会员论坛元老


    发表于 2016.3.31 09:19:04 | 显示全部楼层
    张蒙 发表于 2016.3.31 08:30
    周老师,没有怎么保存图片的代码啊。网上搜的可是保存完pdf后打不开

    已经补充 保存的代码(ggsave)
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表