• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      TCGA数据挖掘

      • 首页
      • 博客
      • TCGA数据挖掘
      • 【RNA-seq数据分析】常用图表一键收走

      【RNA-seq数据分析】常用图表一键收走

      • 发布者 weinfoeditor
      • 分类 TCGA数据挖掘
      • 日期 2021年9月3日
      • 评论 0评论
      测试开头

      感谢生信星球花花的无私分享,tinyarray是一个神奇的包可以解决掉样本分组分析的好多问题。请大家查看自取~~~~

       

      最近抽空整理了以前写的函数,规范tinyarray包,反复检查和优化,调整了好久,终于得到下面的check结果宝藏R包tinyarray:常用图表一键收走

      今天把他提交到CRAN了(是提交不是接收哈,没有那么快),期待可以直接install.packages的那一天呐。

      重新整理了一下安装方式和里面的画图函数供大家参考。

      1.安装方式

      if(!require(tinyarray))devtools::install_github("xjsun1221/tinyarray")
      library(tinyarray)

      1.1在线安装

      if(!require(devtools))install.packages("devtools")
      if(!require(tinyarray))devtools::install_github("xjsun1221/tinyarray",upgrade = F)

      1.2.本地安装

      https://github.com/xjsun1221/tinyarray

      点击这个页面的绿色按键code然后点击Download ZIP,下载到你的工作目录下,用devtools::install_local("tinyarray-master.zip",upgrade = F,dependencies = T)安装。

      1.3.安装R包过程中可能出现的问题及解决办法

      如果报错说xx包找不到,那就安装它。如果报错信息中出现http,404,internet,url等关键词,说明是网络问题,一般来说本地安装即可解决。

      2. 常用图表

      动辄十几二十行的代码,每次复制还要改动,做多了实在是很麻烦,所以我写了一些画图函数,一开始是写着玩,后来发现还挺有用,逐步完善中。今天找到了一个非常漂亮的热图配色,虽然是红黄蓝这么简单,但是越看越好看,越看越顺眼呐,就它了,设为默认,可能很久都不会动这个配色了。

      2.1热图、PCA、t-SNE、箱线图

      先编一个示例数据

      exp <-  matrix(rnorm(3000,sd = 3),nrow = 100)
      colnames(exp) <- paste0("sample",1:30)
      rownames(exp) <- paste0("gene",1:100)
      exp[1:4,1:4]#>         sample1   sample2    sample3    sample4
      #> gene1 -2.026503 7.1928419 -6.5887243  1.0267023
      #> gene2  1.098031 1.2868180  1.6771063  0.2968982
      #> gene3 -2.768686 1.0838888 -0.6214766 -1.6120365
      #> gene4  2.113145 0.6692397 -1.3044274 -3.3225924
      exp[,1:10] = exp[,1:10]-runif(10,0,7)
      exp[,21:30] = exp[,21:30]+ runif(10,0,7)
      group_list <- factor(rep(c("A","B","C"),each = 10))
      exp[1:4,1:4]#>          sample1   sample2    sample3   sample4
      #> gene1 -6.0031975  3.216147 -10.565419 -2.949992
      #> gene2 -1.7947459 -1.605959  -1.215670 -2.595878
      #> gene3 -5.3604331 -1.507859  -3.213224 -4.203784
      #> gene4 -0.4283194 -1.872225  -3.845892 -5.864057
      table(group_list)
      #> group_list
      #>  A  B  C 
      #> 10 10 10

      下面几个图的输入数据都是表达矩阵exp和分组信息group_list(因子),group_list的每个元素需要和表达矩阵的每一列对应。画图代码,已经简单到无以复加啦。

      draw_heatmap(exp,group_list)
      宝藏R包tinyarray:常用图表一键收走
      draw_pca(exp,group_list)
      宝藏R包tinyarray:常用图表一键收走
      draw_tsne(exp,group_list,perplexity = 5)
      宝藏R包tinyarray:常用图表一键收走
      ggheat(t(exp),group_list,show_colnames = F,show_rownames = F)
      宝藏R包tinyarray:常用图表一键收走
      draw_boxplot(exp[1:6,],group_list)
      宝藏R包tinyarray:常用图表一键收走

      2.2.火山图

      这里的deseq_data是包里的内置数据,是DESeq2差异分析的结果表格。三大R包的差异分析结果绘制火山图,这个函数是都支持的,用pkg参数指定即可。

      head(deseq_data)
      #>                  baseMean log2FoldChange      lfcSE      stat        pvalue
      #> hsa-mir-210    8477.61756       2.999675 0.12351512  24.28589 2.763408e-130
      #> hsa-mir-122      66.55815       6.533945 0.27575590  23.69467 4.091886e-124
      #> hsa-mir-155    1676.87858       3.490095 0.15302583  22.80723 3.887416e-115
      #> hsa-mir-106b    863.34927       1.170438 0.05143452  22.75589 1.254723e-114
      #> hsa-mir-508     128.07750      -4.514783 0.19906028 -22.68048 6.982192e-114
      #> hsa-mir-21   482523.17286       2.168263 0.09914140  21.87041 4.970741e-106
      #>                       padj
      #> hsa-mir-210  1.525401e-127
      #> hsa-mir-122  1.129361e-121
      #> hsa-mir-155  7.152846e-113
      #> hsa-mir-106b 1.731517e-112
      #> hsa-mir-508  7.708340e-112
      #> hsa-mir-21   4.573082e-104
      draw_volcano(deseq_data)
      宝藏R包tinyarray:常用图表一键收走

      2.3 韦恩图

      输入数据是一个带有元素名字的列表,这几个元素名字会出现在韦恩图里。

      x = list(Deseq2=sample(1:100,30),edgeR = sample(1:100,30),limma = sample(1:100,30))
      draw_venn(x,"test")

      宝藏R包tinyarray:常用图表一键收走

      2.4 KM-plot

      KM-plot的代码也简化了,需要病人的生存信息,和用于分组的列。其他的参数看帮助文档咯。

      x = survival::lung
      draw_KM(meta = x,group_list = factor(x$sex),event_col = "status")
      宝藏R包tinyarray:常用图表一键收走

      还有一些用于GEO和TCGA分析的函数,我正在系统整理。且听下回分解吧~

      今天搞到的这个配色赏心悦目,心情甚好~

      如果因为代码看不懂,而跟不上正文的节奏,可以来找我,系统学习。
      以下课程都是循环开课。下一期的时间,点进去咨询微信咯
      生信零基础入门学习小组
      生信入门班(四周线上直播课)
      数据挖掘班(医生/医学生首选)
      测试结尾

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      weinfoeditor

      上一篇文章

      数据分析-工欲善其事
      2021年9月3日

      下一篇文章

      R语言学习:字符串替换、tidy系列包、Bland-Altman图、RODBC包、UMAP降维
      2021年9月9日

      你可能也喜欢

      articleheader
      【R数据挖掘】TCGA的拷贝数变异
      15 9月, 2021
      articleheader
      【RNA-seq数据分析】让你的差异基因分析变“花”
      14 9月, 2021
      articleheader
      【RNA-Seq数据转化小技巧】使用countToFPKM包轻松完成counts到FPKM转化
      13 9月, 2021

      留言 取消回复

      要发表评论,您必须先登录。

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      301月2023
      如何快速批量修改 Git 提交记录中的用户信息
      261月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?