写在前面——之前写的RNA-seq(一到四)是根据别人文章中提到的数据进行一系列分析的,但是找公司做的单细胞测序,一般不需要自己进行数据清洗之类的操作,公司会直接给个clean_data,以及所有的你需要的文件,或者一个云系统的账号。所以我们最终要做的就是根据这些数据,来绘制达到文章发表级别的图,来说明我们实验想表达的事情。
注:本文虽然是RNA-seq——五,但与前几个使用的并不是同一个数据集,本文数据集是私有数据集。
参考:
给火山图上标记基因名字
火山图|给你geneList,帮我标到火山图上
多种方法在火山图上标记感兴趣基因(差异基因,或者通路)
1. 设置阈值来显示对应的基因名
library(readxl)
library(ggrepel)
# 读取差异基因数据集
exprSet <- read_xlsx("allgene.xlsx")
colnames(exprSet) <- c("Gene ID", "Gene Symbol", "Type", "log2FC", "Pvalue", "Qvalue")
# 设置阈值,整理数据
# 阈值不同,结果不同
cut_off_qvalue = 0.01
cut_off_logFC = 2
exprSet$Sig <- ifelse(exprSet$Qvalue < cut_off_qvalue &
abs(exprSet$log2FC) >= cut_off_logFC,
ifelse(exprSet$log2FC > cut_off_logFC ,'Up','Down'),'no-DEGs')
exprSet <- data.frame(exprSet)
# tmp <- tmp %>% drop_na(Sig)
table(exprSet$Sig)
ggplot(exprSet, aes(x = log2FC, y = -log10(Qvalue), colour=Sig)