ixxmu / mp_duty

抓取网络文章到github issues保存
https://archives.duty-machine.now.sh/
122 stars 30 forks source link

把基因在pancancer和GTEx中的表达量画成box plot,显著性标*** #3228

Closed ixxmu closed 1 year ago

ixxmu commented 1 year ago

https://mp.weixin.qq.com/s/dZrjsVuHMcqOTFKWajeHQg

ixxmu commented 1 year ago

把基因在pancancer和GTEx中的表达量画成box plot,显著性标*** by 小丫画图

小伙伴问:感谢小丫带我们打开xena魔盒,有一个问题,FigureYa55pancancer_violin的图能不能画成box plot?

小丫答:可参考FigureYa12box的画法,能让R水平上一个台阶。


问:懒,能不能用它的输出文件easy_input.csv作为输入,直接画出boxplot?想要无缝对接。

答:能。感谢Chris Lou帮忙更新,今天分享ggpubr版,下次分享纯ggplot2的解决方案。


用ggpubr画带***的box plot

【优点】打包了,用法简单

【缺点】打包了,徒增学习成本,修改细节不便

library(ggpubr)# 读入FigureYa55pancancer_violin的输出文件easy_input.csv# 包含某一基因在TCGA的33种癌症和GTEx正常组织里的表达量tcga_gtex <- read.csv("easy_input.csv", row.names = 1, header = T, as.is = F)
# 设置纵坐标titleylabname <- paste0("TP53", "expression")# 修改列名,更易理解,便于套用colnames(tcga_gtex) <- c("Tissues", "Groups", "Gene")
# 开始画图p2 <- ggboxplot(tcga_gtex, x = "Tissues", y = "Gene", fill = 'Groups', ylab = ylabname, #纵坐标title color = "Groups", #两组用不同颜色 palette = "jco", #用JCO的配色方案 #add = "jitter", #画散点 #shape = "Groups", #两组散点用不同形状 ggtheme = theme_minimal())# 计算p value# 方法可选"holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr"anno_df <- compare_means(Gene ~ Groups, group.by = "Tissues", data = tcga_gtex,                         p.adjust.method = "holm")
# 标注p valuep3 <- p2 + stat_pvalue_manual(anno_df, x = "Tissues", y.position = 15, label = "p.signif", position = position_dodge(0.8))p3
# 保存到pdf文件,矢量图ggsave("pancancer_ggpubr.pdf", width = 14, height = 5)

画出的box plot

用add = "jitter"加散点的效果

图中p value 转 * 规则:

  • ns: p > 0.05

  • *: p <= 0.05

  • **: p <= 0.01

  • ***: p <= 0.001

  • ****: p <= 0.0001


怎样获得easy_input.csv文件?

点击左下角“阅读原文”,付款,留邮箱。

带你从xena下载数据开始,到提取基因在33种癌症中的表达量,不怕TCGA的normal太少,用GTEx的正常组织作为对照,输出easy_input.csv文件。


一个问题一种解法一篇推文,轻松更,如果你喜欢这种方式,就请点个“在看”鼓励小丫这样更新吧~