生存分析很重要,如何高效地对两万多个基因批量做生存分析?今天,猎豹师兄带领大家,正确姿势做生存分析,快速锁定目标基因。
生存分析(Survival Analysis)是研究生存现象和响应时间数据及其统计规律的一种统计学方法,是关联表型与患者预后的重要手段。大学本科的统计课上,老师就教我们用SPSS做生存分析,现在读到硕士&博士&博士后了,看了很多文献,是不是发现生存分析的出镜率确实挺高的呢。特别是一些队列庞大、随访数据完整的高IF文章,经常能看到下图所示的Kaplan-Meier图。
关于生存分析的重要性,这里就不多赘述了。在前面的教程中,给大家讲解了如何使用cBioportal就基因表达与患者预后进行生存分析(详细内容见:TCGA数据挖掘终结者:cBioPortal),同学们普遍反馈说get了新技能。
根据以往跟同学们的交流,大家一般都是这么操作的:(1)通过其他方法找到的目标基因,只要能验证与患者预后是相关的,那么文章就能锦上添花(个人经验:凡是能跟临床扯上关系,文章IF就能上个台阶);(2)还没有找到目标基因,通过生存分析那么一筛,居然找到一个跟预后显著相关的基因,再往下做功能实验也信心倍增。不管是出于何种目的进行生存分析,找到一个合适的工具是非常重要的。
大家都知道,要比较不同分组患者的生存差异需要有三个数据:
(1)患者分组,比如高危组vs低危组;
(2)随访时间;
(3)随访结局,也就是随访结束时患者的结局
要知道,准备这几个数据还是有点烦的,如果再放到SPSS里面"捣鼓"一下,也要半个小时到一个小时的时间。很多同学会想,既然cBioportal能够做生存分析,而且界面简洁,操作简单,结果漂亮,省时省力,那我也没必要换其他工具了,就cBioportal挺好。其实不然~(此人包不同大叔)。
cBioportal有优势也有缺点,虽然它能够帮我们快速高效地实现生存分析,但是任何网页工具都存在一个非常严重的问题:每次只能做一个基因。如果我要对多个基因批量做生存分析呢?设想一下,我们经常碰到这样的问题:做了差异基因筛选出了上百个基因,但是哪个才更重要呢?如果有几个基因的话,我们可以用cBioportal等在线工具,一个一个分析,然后把结果一个一个存起来,但是如果有上百个上千个甚至上万个基因呢?就按一个3分钟,100个基因就是300分钟,5个小时!terrible吧?
今天,猎豹师兄就带大家开启高能模式,以如下方案为例,开讲!
【研究课题】筛选肺腺癌中和患者预后显著相关的基因
【研究对象】TCGA数据库中肺腺癌患者
【研究方法】通过cBioportal下载肺腺癌患者的转录组数据及临床信息,通过R语言分析全转录组中所有基因的表达与预后的相关性。
在完成这个课题之前,我们先以一个基因为例,给大家讲解一下使用TCGA数据进行生存分析的具体步骤,学会这个,我们再扩展到批量操作中去。结合前面我讲过的,做生存分析的时候用到的数据,我们可以把操作分为一下几个步骤:
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包就可以实现生存分析了。
想想也没几步,是不是很简单?这次的教程先到这里,下次我们一气呵成,再来跟大家讲讲如何在上述分析的基础上实现批量的操作,一下实现上千上万个基因的生存分析。
老规矩,为了方便大家上手,为大家录制了操作视频,快上车吧~
更多科研新鲜资讯、文献精度和生物信息技能,请关注科研猫公众号