转录组分析---step1 counts分布检查

整理分享最近转录组下游分析用到的代码,包括差异基因、GO/KEGG富集、GSEA、GSVA和常用的作图,主要是在生信技能树Jimmy老师代码的基础上根据自己的习惯修改了一些,感谢Jimmy老师的海量资源和无私奉献,我的分享也是希望自己记录的同时能帮助到有需要的小伙伴。
原始counts数据的检查,这一步主要是画各种图检查定量后样本counts分布,通过柱状图、小提琴图、PCA图多角度判断,数据的整体、组间、批次效应的情况。
加载示例数据

library(airway)
data(airway)
exprset <- assay(airway)
group_list <- c(rep(‘tr’,4),rep('cont',4))

数据变形

me <- function(exprset,group){         ####melt expression####
  library(reshape2)
  exprsetl <- log2(exprset+1)          #####取log值归一化####
  exprsetl <- melt(exprsetl)
  colnames(exprsetl) <- c('probe','sample','value')
  exprsetl$group <- rep(group,each=nrow(exprset))
  return(exprsetl)
}
exprsetl <- me(exprset,group_list)

柱状图等

library(ggplot2)
ggplot(exprsetl,aes(x=sample,y=value,fill=group))+geom_boxplot()
#ggplot(exprsetl,aes(x=sample,y=value,fill=group))+geom_violin()
ggplot(exprsetl,aes(value,col=group))+geom_density()
ggplot(exprsetl,aes(value,col=sample))+geom_density()
ggplot(exprsetl,aes(value,col=group))+geom_histogram()

对比组间个别基因表达 如GAPDH等管家基因

gene_boxplot <- function(exprn,gene){
  library(ggpubr)
  library(reshape2)
  exprt <- exprn[grep(gene,exprn$probe),]            ####前面取过log值######
  exprtg <- data.frame(exprt)
  rownames(exprtg) <- rownames(exprt)
  exprtg$group <- pd2$type
  colnames(exprtg)[1] <- gene
  ggboxplot(exprtg, x = "group", y = 'value',fill='group', 
            palette = "jco",color = 'black',
            add = "jitter") +
    stat_compare_means(method = 't.test')  + ggtitle('GAPDH')  ##加p值##
}
gene_boxplot(exprsetl,'GAPDH')  ###GAPDH####
hcplot <- function(expr,group_list){
  exprt <- expr
  colnames(exprt) <- paste0(group_list,seq(1:ncol(exprt)),sep='')
  hc <- hclust(dist(t(exprt)))
  nodePar <- list(lab.cex=0.6,pch=c(NA,19),cex=1,col='blue')
  #plot(as.dendrogram(hc))
  plot(as.dendrogram(hc),nodePar=nodePar,horiz=T)
}
p <- hcplot(exprset,group_list)

PCA 主成分分析,如检查批次或组别
point PCA 简易版

pcap <- function(expr,group_list){
  library(ggfortify)
  df <- as.data.frame(t(exprset))
  df$group <- as.character(group_list)
  autoplot(prcomp(df[,1:(ncol(df)-1)]),data=df,colour='group')
}
pcap(exprset,group_list)

sample PCA 显示分组

pcae <- function(expr,group_list,pdata){
  library("FactoMineR")
  library("factoextra")
  names(group_list) <- rownames(pdata)  ###or pdata$batch####
  df.pca <- PCA(t(exprset),graph = T)
  fviz_pca_ind(df.pca,addEllipses = T,col.ind =group_list)
  #fviz_pca_ind(df.pca,addEllipses = T,col.ind =factor(pdata$batch))
}
pcae(exprset,group_list,pdata)
if(T){
  library(corrplot)
  library(pheatmap)
  corrplot(cor(log2(exprset+1))) 
  c <- cor(log2(exprset+1))                   
  pheatmap(scale(c))
  pheatmap(c,scale = 'none')
}
#######or filter top500 cpm#####
if(T){
  library(pheatmap)
  exprset=exprset[apply(exprset,1, function(x) sum(x>1) > 1),] ##filter####
  dim(exprset)
  exprset=log(edgeR::cpm(exprset)+1)
  dim(exprset)
  exprset=exprset[names(sort(apply(exprset, 1,mad),decreasing = T)[1:500]),]
  dim(exprset)
  M=cor(log2(exprset+1))
  tmp=data.frame(g=group_list)
  rownames(tmp)=colnames(exprset)
  corf=pheatmap(M,annotation_col = tmp)
  exf=pheatmap(scale(cor(log2(exprset+1))))
  pic <- list(corf=corf,exf=exf)
}

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

推荐阅读更多精彩内容