【生信技能树】2020-01-14作业:生存分析(2)

题目来源:https://mp.weixin.qq.com/s/jzDD05M5AuhCkiavkoLiHg

  1. 对GSE20685的所有基因做生存分析(表达量中位值分组),获取统计学显著差异的基因列表。

2.1 批量生存分析,获取统计学显著差异的基因列表。

rm(list=ls())
options(stringsAsFactors = F)
options(warn = -1)

library(AnnoProbe)
gset<-geoChina("GSE20685")
eSet <- exprs(gset[[1]])
pheno <- pData(gset[[1]])
dim(eSet)
#[1] 54627   327
dim(pheno)
#[1] 327  63
eSet[1:4,1:4]
#          GSM519117 GSM519118 GSM519119 GSM519120
#1007_s_at 11.995510 12.042242 11.903921 11.905713
#1053_at    9.440330  9.329414  8.893978  9.577525
#117_at     7.907728  7.991689  8.163261  9.160542
#121_at     9.007045  8.976325  8.728571  8.665711
##表达矩阵行名是探针名,需要转换为基因名。

checkGPL(gset[[1]]@annotation)
#[1] TRUE
e2g <- idmap(gset[[1]]@annotation)
eSet <- filterEM(eSet,e2g)
eSet[1:4,1:4]
#       GSM519117 GSM519118 GSM519119 GSM519120
#ZZZ3   10.562788  10.68748 10.209871  10.48307
#ZZEF1   9.856933  10.46540  9.873843  10.07197
#ZYX    10.672518  10.48420 11.005133  10.59319
#ZYG11B 11.059366  11.29188 11.039351  11.49405

查看临床信息

image.png

characteristics_ch1.3 是存活情况
characteristics_ch1.4 是存活时间(存疑)

dat <- pheno[,c("characteristics_ch1.3","characteristics_ch1.4")]
library(stringr)
colnames(dat) <- c("status","OS.time")
dat$status <- as.numeric(unlist(lapply(str_split(dat$status,":"),function(x) {return(x[2])})))
dat$OS.time <- as.numeric(unlist(lapply(str_split(dat$OS.time,":"),function(x) {return(x[2])})))
table(dat$status)
#  0   1 
#244  83 
boxplot(dat$OS.time~dat$status)
boxplot.png

死亡病例对应的持续回访时间更低。

library(survival)

cg <- array(dim = nrow(eSet))

survdata <- dat
my.surv <- Surv(survdata$OS.time,survdata$status==0)
#library("survminer")
dim(eSet)

for (i in 1:nrow(eSet)) {
#  i <- 1
#  print(i)
  gene_exprs <- eSet[i,]
  gene_exprs <- as.data.frame(t(gene_exprs))
  gene_exprs[,1] <- as.numeric(gene_exprs[,1])
  gene_exprs$g <- 
  ifelse(gene_exprs[,1]>=median(gene_exprs[,1]),'high','low')
#  print(table(gene_exprs$g))
  gene_exprs$sample_name <- rownames(gene_exprs)
  gene_surv <- survdata
  gene_surv$sample_name <- rownames(gene_surv)
  gene_surv <- merge(gene_surv,gene_exprs,by='sample_name')
#  kmfit <- survfit(my.surv~gene_surv$g,data = gene_surv)
  kmdif <- survdiff(my.surv~gene_surv$g,data = gene_surv)
#  ggsurvplot(kmfit,conf.int = F,pval = T)
  p.value <- 1 - pchisq(kmdif$chisq, length(kmdif$n) -1)
  cg[i] <- (p.value < 0.05)
}
table(cg)
#cg
#FALSE  TRUE 
#18386  1802
##有1802个基因统计学差异显著。
surv_diff_genes <- rownames(eSet)[cg]
save(surv_diff_genes,file = "surv_diff_genes.rdata")

2.2 对生存分析显著的基因列表做富集分析
1)获取列表基因的ENTREZID

rm(list=ls())
load("surv_diff_genes.rdata")
surv.diff.genes <- as.data.frame(surv_diff_genes)
colnames(surv.diff.genes) <- c("SYMBOL")
library(clusterProfiler)
library(org.Hs.eg.db)
df <- bitr(surv.diff.genes$SYMBOL,
           fromType = "SYMBOL",
           toType = c("ENTREZID"),
           OrgDb = org.Hs.eg.db)
genelist <- df$ENTREZID
length(genelist)
#[1] 1762

1)GO分析

go_enrich_results <- lapply( c('BP','MF','CC') , function(ont) {
    cat(paste('Now process ',ont ))
    ego <- enrichGO(gene          = genelist,
                    OrgDb         = org.Hs.eg.db,
                    ont           = ont ,
                    pAdjustMethod = "BH",
                    pvalueCutoff  = 0.99,
                    qvalueCutoff  = 0.99,
                    readable      = TRUE)
    
    print( head(ego) )
    dotplot(ego,title=paste0('dotplot_',ont)) %>% print()
    return(ego)
})
save(go_enrich_results,file = 'go_enrich_results.Rdata')
dotplot_BP.png

dotplot_MF.png

dotplot_CC.png

2)KEGG分析

library(clusterProfiler)
kk <- enrichKEGG(gene = genelist,
             organism = 'hsa',
         pvalueCutoff = 0.9,
         qvalueCutoff = 0.9)
head(kk)[,1:6]
#               ID                           Description GeneRatio  BgRatio       pvalue  p.adjust
#hsa04145 hsa04145                             Phagosome    25/658 152/7978 0.0006218799 0.1940265
#hsa04974 hsa04974      Protein digestion and absorption    16/658  95/7978 0.0044579625 0.6954421
#hsa04657 hsa04657               IL-17 signaling pathway    15/658  94/7978 0.0095703403 0.8056927
#hsa00650 hsa00650                  Butanoate metabolism     6/658  28/7978 0.0241405319 0.8056927
#hsa05130 hsa05130 Pathogenic Escherichia coli infection    25/658 202/7978 0.0259336441 0.8056927
#hsa03010 hsa03010                              Ribosome    20/658 153/7978 0.0260288000 0.8056927
enrichKK=DOSE::setReadable(kk, OrgDb='org.Hs.eg.db',keyType='ENTREZID')

可视化

dotplot(enrichKK,color = "pvalue")
barplot(enrichKK,showCategory=20,color = "pvalue")
cnetplot(enrichKK, categorySize="pvalue", colorEdge = TRUE)
emapplot(enrichKK,color = "pvalue")
heatplot(enrichKK,showCategory = 20)
KEGG_dotplot.png

KEGG_barplot.png

KEGG_cnetplot.png

KEGG_emapplot.png

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

推荐阅读更多精彩内容