阅读 103

差异基因展示之对称散点图

距离上一次写简书已经有两个月了,这两个月我可是过着昏天黑地的分析数据的日子,单细胞数据真TM.....太复杂了!
偶尔看了一下我上一篇文章阅读量已经快过千了,心里很高兴,就想着再写一篇;
偶尔昨天帮师姐分析做的一个图很好看,就想展示一波;
偶尔的偶尔,今天中午有点时间,那就开整:
之前大家展示差异基因最常用的是这个

这已经是比较好看的火山图了

嗯。。。有点老套,缺乏新意
直到看见这种耳目一新的图:

顿时仙气飘飘

想模仿,那就展示:

rm(list=ls())#清除环境变量
setwd("")#设置工作路径

#读取示例数据
express <- read.delim('gene_diff.txt', sep = '\t')#RNA-seq差异分析后的数据,不是表达矩阵

#将基因表达值取个log(1+)转换
express$control <- log(express$control+1)#值不大时可以不取log
express$treat <- log(express$treat+1)

#排序,目的是将显著的基因展示在前方图层,避免被不显著基因的点遮盖
express$diff <- factor(express$diff, levels = c('up', 'down', 'none'))
express <- express[order(express$diff, decreasing = TRUE), ]
#write.csv(express,"anjun.csv")
head(express)  #查看读取并预处理后的数据表格
#绘制散点图,显著上、下调基因以不同颜色区分
library(ggplot2)
library(cowplot)
library(Seurat)
library(dplyr)

p1<- ggplot(express, aes(x = control, y = treat)) +
geom_point(aes(color = diff), size = 1.5) +  #按上下调指定基因点的颜色
scale_color_manual(values = c('red', 'gray', 'green4'), limit = c('up', 'none', 'down')) +  #上下调基因颜色赋值
 theme_bw() +  #背景调整
  labs(x = 'control group', y = 'treat group', color = '') +  #坐标轴标题设置
  geom_abline(intercept = 0.58, slope = 1, col = 'black', linetype = 'dashed', size = 0.5) +  #这3句用于添加 |log2FC|>1 的阈值线
  geom_abline(intercept = -0.58, slope = 1, col = 'black', linetype = 'dashed', size = 0.5) +
  geom_abline(intercept = 0, slope = 1, col = 'black', linetype = 'dashed', size = 0.5)
p1

师姐表示想展示感兴趣的基因,那就安排上

genes.to.label = c("ENSG00000257743",  "ENSG00000043355")#换成你要的基因名
rownames(p1[["data"]])=p1[["data"]]$gene_id
p1 <- LabelPoints(plot = p1, points = genes.to.label, repel = TRUE, size=2.5)
p1

桥豆麻袋,买一送一

#按 p 值数值的渐变色散点图
p2<- ggplot(express, aes(x = control, y = treat)) +
  geom_point(aes(color = pvalue), size = 1.5) +  #按 p 值大小指定基因点的颜色
  scale_color_gradient2(low = 'red', mid = 'darkgoldenrod2', high = 'royalblue2', midpoint = 0.5) +  #渐变色颜色指定
  theme_bw() +  #背景调整
  labs(x = 'control group', y = 'treat group', color = '') +  #坐标轴标题设置
  geom_abline(intercept = 1, slope = 1, col = 'black', linetype = 'dashed', size = 0.5) +  #这3句用于添加 |log2FC|>1 的阈值线
  geom_abline(intercept = -1, slope = 1, col = 'black', linetype = 'dashed', size = 0.5) +
  geom_abline(intercept = 0, slope = 1, col = 'black', linetype = 'dashed', size = 0.5)
p2

图我就不放辣,自己跑一遍就行,
示例数据我放到了网盘,请自取哦
链接:https://pan.baidu.com/s/1tGkw0f8_sDgmQyY0CWB5uA
提取码:khby
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V4的分享

作者:Immugent

原文链接:https://www.jianshu.com/p/47c5a53f1847

文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐