生存分析,简单粗暴!

生存分析代码的原始版本见:两种方法批量生存分析,这个是R包GDCRNATools给出的简化版。大段代码变成几个函数搞定。

0.R包和数据准备

if(!require(GDCRNATools))BiocManager::install("GDCRNATools")
library(GDCRNATools)
# mRNA 和miRNA的表达矩阵
data(rnaCounts);dim(rnaCounts)
## [1] 1000   45
rnaCounts[1:3,1:3]
##                 TCGA-3X-AAV9-01 TCGA-3X-AAVA-01
## ENSG00000003989            1520             960
## ENSG00000004799            7659             957
## ENSG00000005812            2246            1698
##                 TCGA-3X-AAVB-01
## ENSG00000003989            2177
## ENSG00000004799            2295
## ENSG00000005812            2454
data(mirCounts);dim(mirCounts)
## [1] 2588   45
mirCounts[1:3,1:3]
##                 TCGA-3X-AAV9-01 TCGA-3X-AAVA-01
## hsa-let-7a-5p            165141          132094
## hsa-let-7a-3p               204             169
## hsa-let-7a-2-3p              30              26
##                 TCGA-3X-AAVB-01
## hsa-let-7a-5p            210259
## hsa-let-7a-3p               298
## hsa-let-7a-2-3p              50
#临床信息
metaMatrix.RNA <- gdcParseMetadata(project.id = 'TCGA-CHOL',
                                   data.type  = 'RNAseq',
                                   write.meta = FALSE)
metaMatrix.RNA <- gdcFilterDuplicate(metaMatrix.RNA)
metaMatrix.RNA <- gdcFilterSampleType(metaMatrix.RNA) 
metaMatrix.RNA[1:4,1:4]
##                                                             file_name
## TCGA-3X-AAV9-01A 725eaa94-5221-4c22-bced-0c36c10c2c3b.htseq.counts.gz
## TCGA-3X-AAVA-01A b6a2c03a-c8ad-41e9-8a19-8f5ac53cae9f.htseq.counts.gz
## TCGA-3X-AAVB-01A c2765336-c804-4fd2-b45a-e75af2a91954.htseq.counts.gz
## TCGA-3X-AAVC-01A 8b20cba8-9fd5-4d56-bd02-c6f4a62767e8.htseq.counts.gz
##                                               file_id
## TCGA-3X-AAV9-01A 85bc7f81-51fb-4446-b12d-8741eef4acee
## TCGA-3X-AAVA-01A 42b8d463-6209-4ea0-bb01-8023a1302fa0
## TCGA-3X-AAVB-01A 6e2031e9-df75-48df-b094-8dc6be89bf8b
## TCGA-3X-AAVC-01A 19e8fd21-f6c8-49b0-aa76-109eef46c2e9
##                       patient          sample
## TCGA-3X-AAV9-01A TCGA-3X-AAV9 TCGA-3X-AAV9-01
## TCGA-3X-AAVA-01A TCGA-3X-AAVA TCGA-3X-AAVA-01
## TCGA-3X-AAVB-01A TCGA-3X-AAVB TCGA-3X-AAVB-01
## TCGA-3X-AAVC-01A TCGA-3X-AAVC TCGA-3X-AAVC-01
rnaExpr <- gdcVoomNormalization(counts = rnaCounts, filter = FALSE)
mirExpr <- gdcVoomNormalization(counts = mirCounts, filter = FALSE)

1.差异分析

table(metaMatrix.RNA$sample_type)
## 
##      PrimaryTumor SolidTissueNormal 
##                36                 9
DEGAll <- gdcDEAnalysis(counts     = rnaCounts, 
                        group      = metaMatrix.RNA$sample_type, 
                        comparison = 'PrimaryTumor-SolidTissueNormal', 
                        method     = 'limma');dim(DEGAll)
## [1] 565   8
head(DEGAll)
##                  symbol          group     logFC   AveExpr
## ENSG00000143257   NR1I3 protein_coding -6.916825  7.023129
## ENSG00000205707  ETFRF1 protein_coding -2.492182  9.515997
## ENSG00000134532    SOX5 protein_coding -4.871118  6.228227
## ENSG00000141338   ABCA8 protein_coding -5.653794  7.520581
## ENSG00000066583   ISOC1 protein_coding -2.370131 10.466194
## ENSG00000164188 RANBP3L protein_coding -5.624376  4.356284
##                         t       PValue          FDR        B
## ENSG00000143257 -17.29086 4.244355e-22 2.419282e-19 40.04288
## ENSG00000205707 -16.06753 8.353256e-21 2.380678e-18 37.19751
## ENSG00000134532 -15.03589 1.168746e-19 2.220617e-17 34.49828
## ENSG00000141338 -14.86069 1.851519e-19 2.638414e-17 34.11581
## ENSG00000066583 -14.56532 4.053959e-19 4.621513e-17 33.35640
## ENSG00000164188 -14.22477 1.013592e-18 9.629125e-17 32.25659

可以获取全部差异基因,也可以单独获取mRNA和lncRNA的差异分析结果

deALL <- gdcDEReport(deg = DEGAll, gene.type = 'all');dim(deALL)
## [1] 283   8
deLNC <- gdcDEReport(deg = DEGAll, gene.type = 'long_non_coding');dim(deLNC)
## [1] 47  8
dePC <- gdcDEReport(deg = DEGAll, gene.type = 'protein_coding');dim(dePC)
## [1] 222   8

2.任意两个基因的相关性图

gdcCorPlot(gene1    = 'ENSG00000003989', 
           gene2    = 'ENSG00000004799', 
           rna.expr = rnaExpr, 
           metadata = metaMatrix.RNA)

3.生存分析

支持两种方法:CoxPH和KM,基于survival包,函数是gdcSurvivalAnalysis()

CoxPH analysis

####### CoxPH analysis #######
survOutput <- gdcSurvivalAnalysis(gene     = rownames(deALL), 
                                  method   = 'coxph', 
                                  rna.expr = rnaExpr, 
                                  metadata = metaMatrix.RNA)
table(survOutput$pValue<0.05)

KM analysis

####### KM analysis #######
survOutput <- gdcSurvivalAnalysis(gene     = rownames(deALL), 
                                  method   = 'KM', 
                                  rna.expr = rnaExpr, 
                                  metadata = metaMatrix.RNA, 
                                  sep      = 'median')
table(as.numeric(as.character(survOutput$pValue))<0.05)

KM plot

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