#横轴是log2FoldChange,纵轴是-log10(Qvalue/padjust)#
#RNA-seq中看表达差异主要看两个方面:1,表达量大于2,即log2FoldChange>1,Qvalue/padjust<0.05或0.01,即-log10(0.01)=2.#
> m <- read.csv("Deseq2.csv",header = T,row.names = 1)
> head(m)
baseMean log2FoldChange lfcSE stat
ENSG00000000003 708.6021697 -0.38125397 0.10065597 -3.7876937
ENSG00000000419 520.2979006 0.20681259 0.11222180 1.8428915
ENSG00000000457 237.1630368 0.03792034 0.14345322 0.2643394
ENSG00000000460 57.9326331 -0.08816367 0.28716771 -0.3070111
ENSG00000000938 0.3180984 -1.37822703 3.49987280 -0.3937935
ENSG00000000971 5817.3528677 0.42640216 0.08831006 4.8284666
pvalue padj
ENSG00000000003 1.520521e-04 0.0012815112
ENSG00000000419 6.534485e-02 0.1962308610
ENSG00000000457 7.915184e-01 0.9112208706
ENSG00000000460 7.588349e-01 0.8946714454
ENSG00000000938 6.937335e-01 NA
ENSG00000000971 1.375884e-06 0.0000181641
> m <- na.omit(m)#去除含NA的行#
> plot(m$log2FoldChange,m$padj)
> plot(m$log2FoldChange,-1*log10(m$padj))
> plot(m$log2FoldChange,-1*log10(m$padj),xlim = c(-10,10),ylim = c(0,100))
> m <- transform(m,padj=-1*log10(m$padj))#对数据框的列进行修改#
> down <- m[m$log2FoldChange <=- 1,]
> up <- m[m$log2FoldChange >= 1,]
> no <- m[m$log2FoldChange > -1&m$log2FoldChange < 1,]
> plot(no$log2FoldChange,no$padj,xlim = c(-10,10),ylim = c(0,100),col = "blue",pch=16,cex=0.8,main = "Gene Expression",xlab = "log2FoldChange",ylab = "-log10(padjust)")
#Pch=16表示使用实心的圆点,默认是空心的圆点#
#添加低级绘图命令#
> points(up$log2FoldChange,up$padj,col="red",pch=16,cex=0.8)
> points(down$log2FoldChange,down$padj,col="green",pch=16,cex=0.8)
只判断log2FC是否大于1
> down <- m[m$log2FoldChange <=- 1&m$padj>= -1*log10(0.05),]
> up <- m[m$log2FoldChange >= 1&m$padj>= -1*log10(0.05),]
> no <- m[(m$log2FoldChange > -1&m$log2FoldChange < 1)|(m$padj< -1*log10(0.05)),]
> plot(no$log2FoldChange,no$padj,xlim = c(-10,10),ylim = c(0,100),col = "blue",pch=16,cex=0.8,main = "Gene Expression",xlab = "log2FoldChange",ylab = "-log10(padjust)")
> points(up$log2FoldChange,up$padj,col="red",pch=16,cex=0.8)
> points(down$log2FoldChange,down$padj,col="green",pch=16,cex=0.8)
判断log2FC是否大于1和-log10(padjust)是否小于-log10(0.05)
链接:https://pan.baidu.com/s/1HjYWOz9H2qX4EftxMsU-Eg
提取码:h2k0
复制这段内容后打开百度网盘手机App,操作更方便哦
代码精简
#添加调控信息
res %>%
mutate(regulate = case_when(log2FoldChange>1&padj<0.05 ~ "Up",
log2FoldChange<(-1)&padj<0.05 ~ "Down",
TRUE ~ "None")) -> res
#统计个数
table(res$regulate)
#绘图
library(ggplot2)
ggplot(res,aes(log2FoldChange,-log10(padj),color = regulate))+
geom_point()+
scale_color_manual(values = c("blue", "gray", "red"))+
xlim(-10,10)