
#横轴是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. -0. 0. -3. ENSG00000000419 520. 0. 0. 1. ENSG00000000457 237. 0.0 0. 0. ENSG00000000460 57. -0.0 0. -0. ENSG00000000938 0. -1. 3. -0. ENSG00000000971 5817. 0. 0.0 4. pvalue padj ENSG00000000003 1.e-04 0.00 ENSG00000000419 6.e-02 0. ENSG00000000457 7.e-01 0. ENSG00000000460 7.e-01 0. ENSG00000000938 6.e-01 NA ENSG00000000971 1.e-06 0.0000 > 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)
代码精简
#添加调控信息 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)
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177081.html原文链接:https://javaforall.net
