R语言做生信生信图可视化大全R语言

画图

2019-06-30  本文已影响31人  e3617f9991e1

刚好RNA-seq有很多图可以画啊,然后就想整理一下(主要是要做汇报了)要做很多很多图,以后来抄代码就好了
首先整体表达量的箱型图:
数据是gene-count的矩阵:

library(reShape2)
library(DESeq2)
library(ggplot)
library(pheatmap)
library(vennDiagram)
#工作路径什么的就不说了
data <- read.csv("gene_count.csv",header = T,row.names = 1,quote="")
data <- as.matrix(data)
#转换为长数据格式
data_m <- melt(data = data,value.name = "counts")
#筛选掉reads数为0的基因
expres.melt <- subset(data_m,counts >1)
#对counts数进行标准化
expres.melt$counts = log2(expres.melt$counts)
#绘图
ggplot(expres.melt, aes(x=variable,y=counts)) + geom_boxplot(aes(fill=variable))+labs(title = "expression levels in different    samples",x="samples", y = "log2Counts", fill = "samples")
+theme(axis.text.x =element_text(angle=90))   #将横坐标翻转90°
箱线图.png

绘制样本相关性热图
#这是将样本进行过滤,对于我的十二个样本,过滤掉在三个样本中表达量均为0d 的基因

exprSet=data[apply(data,1,function(x)sum(x>1)>9),]
exprSet <- log2(exprSet+1)
M=cor(exprSet,method = "pearson")
pheatmap::pheatmap(M)
相关性.png

进行PCA分析之前不要用DESeq函数,看到前面加载了DESeq的包,都知道 DESeq会构建dds对象,那么构建了dds对象之后,先不使用DESeq函数,然后对其进行PCA分析聚类,看看三个重复是否能够聚到一起,也是能够查看样本之间的相关性

rld <- rlog(dds)
dta <- plotPCA(rld, returnData=TRUE)
percentVar <- round(100 * attr(dta, "percentVar"))

p<- ggplot(dta, aes(PC1, PC2, color=condition)) 
+ geom_point(size=3) +xlab(paste0("PC1: ",percentVar[1],"% variance"))     +ylab(paste0("PC2: ",percentVar[2],"% variance"))
pca.png

看出来红色和紫色没有聚到一起,相关性分析发现他们也没有聚到一起。
上面还有venn图,主要是多组比较得到了差异基因以后,每一组比较得到一列差异基因,组成矩阵
五维的venn图(四位,三维,二维都可以,list减少就行)

DEGs <- read.csv("DEGs.csv",header = F,sep = ",")
p <- venn.diagram(list(A= DEGs$v1,B  =  DEGs$v2,
C = DEGs$v3, D = DEGs$v4,E = DEGs$v5)
,filename = "out.pdf",col = "transparent",
fill = c("dodgerblue", "goldenrod1", "darkorange1", "seagreen3", "orchid3"),alpha = 0.60)

图:


venn.png

还有什么火山图等等一系列。。。

上一篇下一篇

猜你喜欢

热点阅读