R语言:热图,火山图

> library(data.table)

> library(tidyverse)

> library(ggsignif)

> library(RColorBrewer)

#install.packages("gplots")

> library(gplots)

> library(limma)

> library(ggplot2)

> library(ggrepel)

> library(Rcpp)

> rt=read.table("diffGeneExp.txt",sep="\t",header=T,check.names=F)

> rt=as.matrix(rt)

复制代码
 id       logFC          logCPM         PValue          adj.P.Val      
CKM    "CKM"    "-8.576279957" " 5.459229724" " 0.000000e+00" " 0.000000e+00"
ACTA1  "ACTA1"  "-7.228533360" " 6.535926507" " 0.000000e+00" " 0.000000e+00"
MYLPF  "MYLPF"  "-7.209575984" " 2.618654657" " 0.000000e+00" " 0.000000e+00"
PYGM   "PYGM"   "-7.202706200" " 4.074830196" " 0.000000e+00" " 0.000000e+00"
SLN    "SLN"    "-6.733717683" " 1.961201804" " 0.000000e+00" " 0.000000e+00"
KLHL41 "KLHL41" "-6.656135657" " 3.030242156" " 0.000000e+00" " 0.000000e+00"

> rownames(rt)=rt[,1]

> exp=rt[,2:ncol(rt)]

> dimnames=list(rownames(exp),colnames(exp))

> data=matrix(as.numeric(as.matrix(exp)),nrow=nrow(exp),dimnames=dimnames)

> diffExpLevel=avereps(data)

> hmExp=log10(diffExpLevel+0.00001)

> hmMat=as.matrix(hmExp)

> pdf(file="heatmap.pdf",height=7,width=7)

> par(oma=c(3,3,3,5))

> heatmap.2(hmMat,col='greenred',trace="none",cexCol=1)

> dev.off()

> rt=read.table("alldiff.txt",sep="\t",header=T,check.names=F)

> rt=as.matrix(rt)

> rownames(rt)=rt[,1]

> exp=rt[,2:ncol(rt)]

> dimnames=list(rownames(exp),colnames(exp))

> data=matrix(as.numeric(as.matrix(exp)),nrow=nrow(exp),dimnames=dimnames)

> allDiff=avereps(data)

> allDiff=as.data.frame(allDiff)

> pdf(file="vol.pdf")

#不太好看。

> xMax=max(-log10(allDiff$adj.P.Val+0.00001))

> yMax=max(abs(allDiff$logFC))

> plot(-log10(allDiffadj.P.Val), allDifflogFC, xlab="-log10(adj.P.Val)",ylab="logFC",main="Volcano", xlim=c(0,xMax),ylim=c(-yMax,yMax),yaxs="i",pch=20, cex=0.4)

> diffSub=subset(allDiff, allDiffadj.P.Val\<0.05 \& abs(allDifflogFC)>1)

> points(-log10(diffSubadj.P.Val), diffSublogFC, pch=20, col="red",cex=0.4)

> abline(h=0,lty=2,lwd=3)

> dev.off()

> data = read.table("alldiff.txt", header=TRUE)

> head(data,10)

复制代码
    id     logFC    logCPM PValue adj.P.Val
1     CKM -8.576280 5.4592297      0         0
2   ACTA1 -7.228533 6.5359265      0         0
3   MYLPF -7.209576 2.6186547      0         0
4    PYGM -7.202706 4.0748302      0         0
5     SLN -6.733718 1.9612018      0         0
6  KLHL41 -6.656136 3.0302422      0         0
7    MYOT -6.612275 0.8828837      0         0
8   TNNC2 -6.600796 3.1647841      0         0
9   ACTN3 -6.583526 0.9872158      0         0
10    NEB -6.500059 5.1964626      0         0

> logFC_cutoff <- with(data,mean(abs(logFC)) + 2*sd(abs(logFC)))

> logFC_cutoff

> datasig = as.factor(ifelse(dataadj.P.Val < 0.05 & abs(datalogFC) \> logFC_cutoff,ifelse(datalogFC > logFC_cutoff ,'UP','DOWN'),'NOT'))

this_tile <- paste0('Cutoff for logFC is ',round(logFC_cutoff,3),'\nThe number of up gene is ',nrow(data[datasig =='UP',\]),'\\nThe number of down gene is ',nrow(data\[datasig =='DOWN',]))

> g = ggplot(data=data, aes(x=logFC, y=-log10(adj.P.Val), color=sig)) +

geom_point(alpha=0.4, size=2.5) +

theme_bw(base_size=15)+

theme(panel.border = element_blank(),

panel.grid.major = element_blank(),

panel.grid.minor = element_blank(),

axis.line = element_line(colour = "black"))+

xlab("logFC") + ylab("-Lgp") +

ggtitle( this_tile ) +

theme(plot.title = element_text(size=15,hjust = 0.5))+

scale_colour_manual(values = c('blue','black','red'))

g

> g2<- g+ geom_hline(yintercept=-log10(0.05),colour="black", linetype="dashed") +

geom_vline(xintercept=c(-1,1),colour="black", linetype="dashed")

> g2

交流学习

相关推荐
itwangyang5207 小时前
在 GitHub 上生成和配置个人访问令牌(PAT),并将其用于 R 环境中的凭证管理和包安装。
开发语言·r语言·github
Biomamba生信基地1 天前
ggplot图片主题 复用与保存
r语言·ggplot2
毒鸡蛋1 天前
绘制火山图 R、python
开发语言·python·r语言
青春不败 177-3266-05203 天前
R-Meta分析核心技术:从热点挖掘到高级模型、助力高效科研与论文发表
人工智能·r语言·生态学·meta分析·统计学·环境科学·农业科学
图灵信徒6 天前
R语言第七章线性回归模型
数据挖掘·数据分析·r语言·线性回归
翰佰尔HiOmics云分析8 天前
转录组分析实战:GO与KEGG富集分析原理及R语言实现
r语言·转录组·krgg
Q一件事8 天前
R语言处理潜在蒸散nc数据
开发语言·r语言
胡侃有料10 天前
【目标检测】two-stage------Mask R-CNN浅析-2018
目标检测·r语言·cnn
饭九钦vlog12 天前
一键配置kali脚本
r语言