rm(list = ls()) library(RColorBrewer) library(circlize) library(gplots) library(viridis) library(oompaBase) library(tidyverse) Sys.setenv(LANGUAGE = "en") options(stringsAsFactors = FALSE) standarize.fun <- function(indata=NULL, halfwidth=NULL, centerFlag=T, scaleFlag=T) { outdata=t(scale(t(indata), center=centerFlag, scale=scaleFlag)) if (!is.null(halfwidth)) { outdata[outdata>halfwidth]=halfwidth outdata[outdata<(-halfwidth)]= -halfwidth } return(outdata) } load("merge.RDATA") dataa=outTab colnames(dataa)=str_replace_all(colnames(dataa),"TCGA_","") colnames(dataa)=str_replace_all(colnames(dataa),"GSE17538_","") colnames(dataa)=str_replace_all(colnames(dataa),"GSE39582_","") aaa=read.csv("Cytokine.csv",header = T,sep = ",") genename1=intersect(aaa$ID,rownames(dataa)) dataa=dataa[genename1,] aaa=dplyr::filter(aaa,ID %in% genename1) risk=read.table("score.group.txt",header = T,sep = "\t",row.names = 1) sameid=intersect(colnames(dataa),rownames(risk)) dataa=dataa[,sameid] risk=risk[sameid,] hmdat=as.data.frame(t(dataa)) type=data.frame(Type =aaa$Type) row.names(type)=aaa$ID Typeid <- type$Type annCol <- data.frame(score = scale(risk$score), RiskType = risk$group, row.names = rownames(risk), stringsAsFactors = F) bbb=annCol[rownames(hmdat),] sampleType=bbb$RiskType sigVec=c() for(i in colnames(hmdat)){ test=wilcox.test(hmdat[,i] ~ sampleType) pvalue=test$p.value Sig=ifelse(pvalue<0.001,"***",ifelse(pvalue<0.01,"**",ifelse(pvalue<0.05,"*",""))) sigVec=c(sigVec, paste0(i, Sig)) } colnames(hmdat)=sigVec library(pheatmap) Type.col <- brewer.pal(n = length(unique(Typeid)),name = "Paired") annRow <- data.frame(Type = factor(Typeid,levels = unique(Typeid)), row.names = colnames(hmdat), stringsAsFactors = F) unique(annRow$Type) annColors <- list(Type = c("Chemokines and receptors" = Type.col[1], "Interieukines and receptors" = Type.col[2], "Interferons and receptors" = Type.col[3], "Other cytokines" = Type.col[4]), "score" = greenred(64), "RiskType" = c("High" = "red","Low" = "blue")) samorder <- rownames(risk[order(risk$score),]) indata <- t(hmdat) indata <- indata[,colSums(indata) > 0] plotdata <- standarize.fun(indata,halfwidth = 2) pheatmap::pheatmap(mat = as.matrix(plotdata[,samorder]), border_color = NA, color = bluered(64), cluster_rows = F, cluster_cols = F, show_rownames = T, show_colnames = F, annotation_col = annCol[samorder,,drop = F], annotation_row = annRow, annotation_colors = annColors, gaps_col = table(annCol$RiskType)[2], gaps_row = cumsum(table(annRow$Type)), cellwidth = 0.8, cellheight = 10, filename = "immune heatmap by pheatmap_score.pdf") ccc=hmdat[rownames(annCol)[annCol$RiskType=="High"],] ddd=hmdat[rownames(annCol)[annCol$RiskType=="Low"],] ccc1=colMeans(ccc) ddd1=colMeans(ddd) mewdata=data.frame(High=ccc1,Low=ddd1) plotdata1 <- mewdata annCol1=data.frame(RiskType=c("High","Low")) row.names(annCol1)=c("High","Low") pheatmap::pheatmap(mat = as.matrix(mewdata[,row.names(annCol1)]), border_color = "grey", color = bluered(64), cluster_rows = F, cluster_cols = F, show_rownames = T, show_colnames = F, annotation_col = annCol1, annotation_row = annRow, annotation_colors = annColors, gaps_row = cumsum(table(annRow$Type)), cellwidth = 20, cellheight = 10, filename = "immune heatmap by pheatmap_score_mean.pdf")