TCGA数据挖掘生信分析工具包生物信息学R语言源码

TCGA数据分析流程梳理总结(含目录)

2020-02-12  本文已影响0人  小洁忘了怎么分身

细数下来,写了17篇TCGA相关的笔记,现对其进行完整梳理,一篇年度精品推文横空出世。再次重申:本系列是我的TCGA学习记录,跟着生信技能树B站课程学的,已获得授权。课程链接:https://www.bilibili.com/video/av49363776

一.数据下载

有三种下载方式,他们的目的是一样的,就是整理出表达矩阵和临床信息两个表格,使用体验各有不同。
形如:

expr[1:4,1:4]
#>              TCGA-A3-3307-01A-01T-0860-13 TCGA-A3-3308-01A-02R-1324-13
#> hsa-let-7a-1                         5056                        14503
#> hsa-let-7a-2                        10323                        29238
#> hsa-let-7a-3                         5429                        14738
#> hsa-let-7b                          17908                        37062
#>              TCGA-A3-3311-01A-02R-1324-13 TCGA-A3-3313-01A-02R-1324-13
#> hsa-let-7a-1                         8147                         7138
#> hsa-let-7a-2                        16325                        14356
#> hsa-let-7a-3                         8249                         7002
#> hsa-let-7b                          28984                         6909
clinical[1:4,1:4]
#>              patient.vital_status patient.days_to_death
#> TCGA-3Z-A93Z                alive                  <NA>
#> TCGA-6D-AA2E                alive                  <NA>
#> TCGA-A3-3306                alive                  <NA>
#> TCGA-A3-3307                alive                  <NA>
#>              patient.days_to_last_followup              patient.race
#> TCGA-3Z-A93Z                             4 black or african american
#> TCGA-6D-AA2E                           135 black or african american
#> TCGA-A3-3306                          1120                     white
#> TCGA-A3-3307                          1436                      <NA>

1.官方工具GDC

需要去官网下载对应系统版本的GDC软件,存放在工作目录下。
关于这个工具前后写了三篇:
(1)GDC数据下载
(2)GDC数据整理
(3)GDC数据整理续集
这个方法需要扎实的的linux命令行和R语言基础,仅仅是理解代码,也是需要花费一些时间的。

2.R包TCGA-biolinks

R包TCGAbiolinks下载数据
这是一个完全基于R语言的流程,下载的是最新的数据,其实还是基于GDC,更加集成化,操作简单很多,除了参数研究比较费时间,没有发现什么缺点。

3.R包RTCGA

使用RTCGA包获取数据
这是一个数据库式的包,把所有数据都包装进去了,导致包很大,不是最新的数据,但最简单。

总结一下这三种方法,都是分别下载表达矩阵和meta信息,但由于有的病人既有肿瘤样本,又有正常样本,导致他们并非是一一对应的关系,需要一定的R语言技巧。

二.差异分析

TCGA(转录组)差异分析三大R包及其结果对比
使用转录组三大R包deseq2,limma和edgeR分别进行差异分析,他们的差异基因可视化如下。

下面这张图是表达矩阵的主成分分析图、差异基因表达量热图以及三个R包得到的差异基因韦恩图。



跨界拼图不简单呦。

三.生存分析

两种方法批量做TCGA生存分析
单个基因的生存分析可视化是很简单的,有非常好的R包可用,画出来的图要颜值有颜值,要内涵有内涵。


由于拿到的数据是几百个甚至几万个基因的表达矩阵,可以先进行初步筛选,批量生存分析走起。
cox回归和log-rank方法均可用于批量生存分析,会对每个基因计算p值。

四.生存模型构建

课程中共使用了四种算法构建模型:

不管用了那种算法,核心都只是几句代码而已。一听就高大上的机器学习,开发很难,应用不难。得到的生存模型可用于另一数据集的预测,即根据构建模型所使用的基因表达量,预测对应的病人生死。如果只有一个数据集,可使用机器学习包caret进行切割,一半是训练集,用于构建模型;另一半是测试集,用于验证模型。

使用了两种评估指标对模型进行评估

还有一个风险因子关联图
TCGA风险因子关联,那天讲直播课讲到晚上11点,在豆豆的逼迫下完成这篇推文,到最后一刻23:59慌忙发出去,又忘了改标题。


从上向下三个图分别表示:
1.每个病人的预测值,按照从小到大排序
2.每个病人的生存时间,颜色区分生死
3.热图,挑出的基因在每个样本中的表达量

五.突变数据

首先是数据下载。
TCGA突变数据的下载、整理和可视化
突变数据在TCGA数据库中存储为maf格式,需要将其读入R语言,有很好的R包可以一键展示数据特征,形如:

有哪些基因在较多样本中发生了突变,哪个样本突变的基因较多,所占的比例等等都可以一目了然。

还可以进行mutation signafiture分析
TCGA突变数据分析-mutation signafiture
得到如下的图:

展示了30个signafiture 在所有样本中的分布。

我们还可以根据某个基因是否突变对样本进行分组,比较指定的基因在两组之间的表达量:


任意基因的任意分组比较(标题忘记改了)
也可以比较指定的两个基因在任意分组下的相关性:
表达矩阵任意两个基因的相关性分析和绘图

如果有幸发现两个基因本身表达量是相关的,但在根据突变分组后发现这种相关性被打破了,就有可能得到一个新故事,几率很小,可以用循环来筛选。

只要R语言基础牢固,想要根据什么分组都只是改改代码的问题,包括但不局限于是否突变、人种、性别等等。
如果需要提问,请先看生信星球答疑公告

又一个系列完结,接下来我打算学习甲基化芯片了。如果本篇推文对你有用,再看转发赞赏,友谊三连走起呀!


上一篇下一篇

猜你喜欢

热点阅读