美文网首页
PCA/热图

PCA/热图

作者: 小胡同学ime | 来源:发表于2021-10-30 11:47 被阅读0次
截屏2021-08-11 下午10.02.47的副本.png

PCA样本聚类图

rm(list = ls())  
load(file = "step1output.Rdata")
load(file = "step2output.Rdata")
#输入数据:exp和Group
#Principal Component Analysis
#http://www.sthda.com/english/articles/31-principal-component-methods-in-r-practical-guide/112-pca-principal-component-analysis-essentials

1.PCA 图----

dat=as.data.frame(t(exp))
library(FactoMineR)
library(factoextra) 
dat.pca <- PCA(dat, graph = FALSE)      #进行pca分析
pca_plot <- fviz_pca_ind(dat.pca,       #经pca分析后得到的数据
                         geom.ind = "point", # show points only (nbut not "text")
                         col.ind = Group, # color by groups跟据分组区分颜色
                         palette = c("#00AFBB", "#E7B800"),
                         addEllipses = TRUE, # Concentration ellipses
                         legend.title = "Groups"
)
pca_plot
#处理数据时需要提供的:数据本身,及分组数据
ggsave(plot = pca_plot,filename = paste0(gse_number,"_PCA.png"))
save(pca_plot,file = "pca_plot.Rdata")

2.top 1000 sd 热图----

cg=names(tail(sort(apply(exp,1,sd)),1000))  #从exp数据集中挑出来变化大的1000个基因
n=exp[cg,]   #根据1000个挑选基因的名字选子集,获得矩阵

直接画热图,对比不鲜明(同一样本不同基因进行比较)
library(pheatmap)
annotation_col=data.frame(group=Group)
rownames(annotation_col)=colnames(n) 
pheatmap(n,
         show_colnames =F,
         show_rownames = F,
         annotation_col=annotation_col
)

用标准化的数据画热图,两种方法的比较:https://mp.weixin.qq.com/s/jW59ujbmsKcZ2_CM5qRuAg
1.使用热图参数
pheatmap(n,
         show_colnames =F,
         show_rownames = F,
         annotation_col=annotation_col,
         scale = "row",            #把矩阵按“row”进行标准化,行与行之间不对比(基因与基因之间),对比同一基因不同分组表达差异
         breaks = seq(-3,3,length.out = 100)  #设置颜色分配范围,小与-3与-3颜色相同,反之成立,使颜色更加鲜明
         ) #breaks 参数解读在上面链接
dev.off()

2.自行标准化再画热图
n2 = t(scale(t(n)))  #scale只能按列进行标准化,需要对表达矩阵进行转化,基因名转置到列上,然后再转换为表达矩阵
pheatmap(n2,
         show_colnames =F,
         show_rownames = F,
         annotation_col=annotation_col,
         breaks = seq(-3,3,length.out = 100)
)
dev.off()

#对于颜色设置范围,可在进行标准化之后boxplot(矩阵)看数值分布范围,根据需要进行取值。避免离群值占比颜色鲜艳导致中间数据区别不大

关于scale的进一步探索:zz.scale.R

3.相关性热图----

pheatmap::pheatmap(cor(exp),#原始数据
                   annotation_col = annotation_col)

pheatmap::pheatmap(cor(n),#1000个表达差异高的基因
                   annotation_col = annotation_col)

pheatmap::pheatmap(cor(n2),#标准化后的表达矩阵
                   annotation_col = annotation_col
                   )

dev.off()

关于相关性背后的故事:https://mp.weixin.qq.com/s/IqMW6Qjf64dn30F4RQg5kQ

相关文章

  • PCA/热图

    PCA样本聚类图 1.PCA 图---- 2.top 1000 sd 热图---- 关于scale的进一步探索:z...

  • 11-28-1代码流程

    03 PCA和热图 04差异分析、增加探针名列,探针ID转换 05 火山图和热图

  • 2020-04-03 R学习2

    绘图 常见图:散点图、气泡图、小提琴图、热图、PCA图等 选择正确的绘图 折线图:直观热图:美观且本身带聚类效果盒...

  • 转录组分析5——差异表达分析

    差异表达分析内容:• 基因表达量的标准化方法及可视化➢ counts,RPKM,FPKM,TPM➢ PCA图、热图...

  • 可视化

    可视化 cpm 去除文库大小的影响 pca图 画热图 火山图 拼图 patchwork包只能用来拼ggplot2画...

  • 一个不咋成功的3d

    从芯片文件读取,RMA处理后,主要绘制两个图,pca3d和热图。 文章来源: 《Integrated Analys...

  • 在线作图|如何绘制一张变量相关图(PCA)

    变量相关图(PCA) 变量相关图(Variables - PCA)将PCA主成分分析与变量相结合,通过在同一坐标轴...

  • Deeptools使用

    安装 计算覆盖度,生成npz文件 相关性散点图 相关性热图 PCA图 指纹图 把bam文件转化为bw文件,标准化产...

  • 主成分分析-PCA图的优化(R语言)

    R语言的主成分分析(PCA)详解和带聚类的PCA图绘制 最近有个老师在整理文章数据,由于分组较多,想展示PCA图,...

  • GEO总结-解读篇

    0.准备工作-下载R包(待修改) 1.数据下载 2.Group(实验分组)和ids(探针注释) 3.PCA图和热图...

网友评论

      本文标题:PCA/热图

      本文链接:https://www.haomeiwen.com/subject/rxutbltx.html