PCA分析和相关性分析

library(ggplot2)
library(reshape2)
library(scatterplot3d)
library(openxlsx)
library(corrplot) 
library(ggrepel) 

读入数据:

exp_data_chongyi <- read.table(paste(path_in,file="exp_matrix_chongyi.txt",sep="/"),sep='\t',header=T,row.names=1)
exp_data_shanghai <- read.table(paste(path_in,file="exp_matrix_shanghai.txt",sep="/"),sep='\t',header=T,row.names=1)

exp_matrix_chongyi <- exp_data_chongyi[,c(2:19)]
exp_matrix_shanghai <- exp_data_shanghai[,c(2:19)]

sample_id <- colnames(exp_matrix_chongyi)
sample_pheno <- data.frame(sample_id = sample_id,sample = rep(c("A1","A2","A3","A4","A5","A6"),each=3),group = rep(c("control","OE"),each=9))
表达数据的质量检测
#par(cex = 0.7)
n_sample <- ncol(exp_data)
cols <- rainbow(n_sample*1.2)
png(file=paste(out_path,"plot_QC.png",sep='/'),width = 1000, height = 1000) 
boxplot(exp_data, col = cols, main="expression value",las=2)
dev.off()
绘制表达量的密度分布图
PlotExpDensity <- function(exp.data,path.out){
    exp.data <- log(exp.data,10)
    form <- melt(exp.data)
    plot <- ggplot(form,aes(value,color=variable)) + xlab("Expression level") + geom_density(alpha = 0.6) +geom_rug() + theme_bw()
    ggsave("density.pdf",plot,path=path.out)
}

PlotExpDensity(exp.data=exp_matrix_chongyi,path.out=path_out_chongyi)
PlotExpDensity(exp.data=exp_matrix_shanghai,path.out=path_out_shanghai)
PCA分析
PlotPCA <- function(exp.data,sample.pheno,path.out) {
    exp.data <- scale(exp.data, center=T, scale=T) 
    #PCA分析
    pca <- prcomp(t(exp.data),scale=F)

    sample.pheno <- data.frame(sample.pheno)
    pca_result <- as.data.frame(pca$x)[,c(1,2)]
    pca_result <- cbind(pca_result,sample.pheno)
    pca_result$sample_id <- as.factor(pca_result$sample_id)
    print(head(pca_result))
    #利用ggplot2画图
    plot <- ggplot(pca_result)+
    geom_point(aes(x=pca_result[,1],y=pca_result[,2],color=sample.pheno$sample_id,shape=sample.pheno$group),size=5)+
    theme(legend.title =element_blank())+
    labs(x="PCA1",y="PCA2")
    ggsave("plot_pca.pdf",plot,path=path.out)
}

PlotPCA(exp.data=countData,sample.pheno=sample_pheno,path.out=path_out)


三维PCA
pdf(file=paste(path_out,"PCA_3D.pdf",sep='/'),width = 15, height = 15) 
s3d <- scatterplot3d(pca_result[,1:3],
                     pch = 16,       # 点形状
                     color=c(rep("#66C2A5FF",7),rep("#FC8D62FF",7)),   # 点颜色
                     cex.symbols = 4 # 点大小
                     )
# 设置图例
legend("topright",title="Sample",
       legend = unique(sample_pheno$sample_id),
       col =  c(rep("#66C2A5FF",7),rep("#FC8D62FF",7)),
       pch = 16,
       inset = -0.1,
       xpd = TRUE,
       horiz = TRUE)
# 设置文字标注
text(s3d$xyz.convert(pca_result[,1:3] + 2),
     labels = sample_pheno$sample_id,
     cex = 1.8,col = "black")
dev.off()
表达相关性分析
PlorCor <- function(exp.data,path.out) {
    corr <- cor(exp.data, method = 'spearman')#输入为RPKM
    pdf(paste(path.out,"plot_sample_cor.pdf",sep="/"),width=13,height=10)
    corrplot(corr, type = 'upper', tl.col = 'black', order = 'hclust', tl.srt = 45, addrect=2,tl.pos="tp",col.lim=c(0.7,1),is.corr = FALSE) #addrect=2人为分成两组
    corrplot(corr,add=TRUE, type="lower", method="number",order="hclust", col="black",diag=FALSE,tl.pos="n", cl.pos="n")
    dev.off()
}

PlorCor(exp.data=exp_matrix_chongyi,path.out=path_out_chongyi)
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容