GSE实战

根据表达量筛选探针后,对主成分分析的PCA图有什么影响

2019-11-21  本文已影响0人  小梦游仙境

这个数据集是来自GSE106292.

关于PCA之前都是都是不是零或者是零但是肉眼不可见的矩阵,但是这次的测序数据一眼望去都是0,所以懵圈。但是老大给代码的PCA就是原始的矩阵+log处理做的,并没有做任何去除0的处理,所以我就想着那么不处理肯定没问题,那处理了会对PCA图有什么区别,然后分成了==exprSet1==、==exprSet2==、==exprSet3==

rm(list = ls())
load('step1-getdata.Rdata')
tmp<-pd$sample
rownames(pd)<-1:35
pd1<-pd[c(8:10,18:20,11:13,33:35,27:29),]
pd1$tissue<-rep(c('ligamentocyte','chondrocyte','tenocyte','osteoblast','myoblast'),each=3)
expr1<-expr[,match((pd1$sample),colnames(expr))]
save(expr1,pd1,file = 'expr1_pd1')
exprSet<-expr1
table(apply(exprSet,1, function(x) sum(x>1)))
table(apply(exprSet,1, function(x) sum(x>1)==0))
table(apply(exprSet,1, function(x) sum(x>1) > 5))
#下面是3个exprSet:exprSet1、exprSet2、exprSet3,后面分别用这三个做PCA
exprSet1=apply(exprSet, 2,as.numeric)
rownames(exprSet1)=rownames(exprSet)
exprSet2<-exprSet[apply(exprSet1,1,sum)!=0,]
exprSet3=exprSet[apply(exprSet2,1,function(x) sum(x>1) > 5),]

# exprSet3<-as.data.frame(exprSet2)
# exprSet3=2^exprSet3-1
# dat=log2(edgeR::cpm(exprSet3)+1)
group_list<-rep(c('ligamentocyte','chondrocyte','tenocyte','osteoblast','myoblast'),each=3)
# 过滤有表达的
save(exprSet3,group_list,file = 'step2-checkdata.Rdata')



###PCA
rm(list = ls())
load('step2-checkdata.Rdata')
dat<-exprSet1
dat<-log2(dat+1)
dat[1:4,1:4]

dat<-log2(dat+1)
## 下面是画PCA的必须操作,需要看说明书。
dat=t(dat)#画PCA图时要求是行名时样本名,列名时探针名,因此此时需要转换
dat=as.data.frame(dat)#将matrix转换为data.frame
dat=cbind(dat,group_list) #cbind横向追加,即将分组信息追加到最后一列
#dat<-as.data.frame(dat)
library("FactoMineR")#画主成分分析图需要加载这两个包
library("factoextra") 
# The variable group_list (index = 54676) is removed
# before PCA analysis
dat.pca <- PCA(dat[,-ncol(dat)], graph = FALSE)#现在dat最后一列是group_list,需要重新赋值给一个dat.pca,这个矩阵是不含有分组信息的
fviz_pca_ind(dat.pca,
             geom.ind = "point", # show points only (nbut not "text")
             col.ind = dat$group_list, # color by groups
             palette = c("#7ec0ee", "#ffaeb9", "#7d26d0", "#ff00ff", "#4876ff"),
             addEllipses = TRUE, # Concentration ellipses
             legend.title = "Groups"
)

1.PCA图

image-20191121210426802 image-20191121210450784 image-20191121210459639

PCA得出的初步结论

2.热图

scale前

image-20191121210511794

scale后

image-20191121210518787

加上分组

image-20191121210540581 image-20191121210549654

scale后

image-20191121210557557

加上分组

image-20191121210607390

原文中,和==原文比较==,感觉不是完全的一样,不过也没关系

image-20191121210616899

从上面的两张log和未log的矩阵热图比较,热图是一样的

heatmap得出的初步结论

上一篇下一篇

猜你喜欢

热点阅读