【科研猫】基因表达与肿瘤预后:生存分析(1)代码+视频分享

2019-11-07 16:34:32 浏览数 (1)

生存分析(Survival Analysis)是研究生存现象响应时间数据及其统计规律的一种统计学方法,是关联表型与患者预后的重要手段。今天,我们带领大家,看看如何用R语言做生存分析,快速锁定目标基因。

大学本科的统计课上,老师就教我们用SPSS做生存分析,现在看了这么多文献,是不是发现生存分析的出镜率确实挺高的呢。特别是一些队列庞大、随访数据完整的高IF文章,经常能看到下图所示的Kaplan-Meier图。

关于生存分析的重要性,这里就不多赘述了。大家都知道,要比较不同分组患者的生存差异需要有三个数据:

  1. 患者分组,比如高危组vs低危组;
  2. 随访时间;
  3. 随访结局,也就是随访结束时患者的结局

要知道,准备这几个数据还是有点烦的,如果再放到SPSS里面"捣鼓"一下,也要半个小时到一个小时的时间。很多同学会想,SPSS不行,那GraphPad也能够做生存分析,而且界面简洁,操作简单,那我也没必要换其他工具了,其实不然~。

不管SPSS或者GraphPad,虽然它能够帮我们快速高效地实现生存分析,但是这些现有的工具都存在一个非常严重的问题:每次只能做一组样本。如果我要对多个组别批量做生存分析呢?设想一下,我们经常碰到这样的问题:做了差异基因筛选出了上百个基因,但是哪个才更重要呢,我们这个时候可以将基因表达和患者预后进行生存分析,当然预后有差异的基因更为重要。如果有几个基因的话,我们可以用现成工具,一个一个分析,然后把结果一个一个存起来,但是如果有上百个上千个甚至上万个基因呢?就按一个3分钟,100个基因就是300分钟,5个小时!

这个时候,我们就要求助于一种更为高级的方式,那就是R语言。前面我们就说过,R语言可以帮我们实现任何一种统计分析,这其中当然也包括Survival Analysis.

我们先以“NRAS表达与肺癌患者预后”为例,给大家讲解一下使用R语言进行生存分析的具体步骤,学会这个,我们再举一反三,扩展到批量操作中去。

1

下载原始数据

从哪里获取TCGA中肺癌样本的表达值呢?答案是cBioportal,具体链接如下:

  • http://www.cbioportal.org/datasets

找到自己感兴趣的数据集(dataset),点击下载的箭头就能下载。下载下来是一个名叫luad_tcga.tar.gz 的压缩包。

2

提取样本分组信息

为了能够对样本进行分组,我们首先要提取基因表达值,按照基因的表达值对样本进行分组(高表达组 vs 低表达组)。那么样本的表达值存储在什么地方呢?解压前面的压缩包,里面会出现密密麻麻的文件,这其中一个有个文件是我们想要的:

data_RNS_Seq_v2_mRNA_median_Zscore.txt

里面存储了所有基因的表达值,有了表达值就可以按照表达值的高低,对样本进行分组啦~想要哪个基因的表达值,直接查找即可。

3

提取生存数据

有了患者的分组信息,将overall survival date和overall survival status从表型信息中提取出来。那么患者的临床信息存储在哪个文件当中呢?就是压缩包中的data_bcr_clinical_data_patient.txt 文件。这个文件里面有两列:OS_STATUS 和OS_MONTHS 就是我们想要的数据。

4

整理数据,分析绘图

将患者分组、生存数据放到一个表格中,使用R语言的survival包就可以实现生存分析了。

想想也没几步,是不是很简单?这次的教程先到这里,本期第二我们一气呵成,再来跟大家讲讲如何在上述分析的基础上实现批量的操作,一下实现上千上万个基因的生存分析。

未经许可请勿随意转载,

版权事宜由上海辰明律师事务所提供法务支持

0 人点赞