发布网友 发布时间:2024-10-23 22:37
共1个回答
热心网友 时间:2024-10-25 03:32
从TCGA下载数据的方式主流的主要有三种:
1、用TCGA官方工具gdc-client下载:这个方法可以保证下载的是实时的最新文件,但是步骤稍微繁琐,要自己 merge单个文件,不利于新手操作
2、用R语言中的TCGA biolinks包下载:首推这个方法,尤其是在在官网用gdc-client下载卡顿下载不成功的时候,这个包很快就会下好,提供merge功能
3、UCSC xena浏览器下载:这是最简单最傻瓜的方法,初学者推荐用这个方法来探索TCGA
(条条大路通罗马,下载个数据还不简单?)
在上一篇推文: 生信专栏 | TCGA数据库悄悄更新后怎么下载数据?,老熊介绍了利用TCGA官方工具gdc-client下载及清洗数据的步骤:
有同学留言想了解Xena的操作步骤,那我们这一篇推文就来介绍一下这个适合新手的下载方式——UCSC xena浏览器下载
先来简单介绍一下UCSC xena浏览器
通过网址: xenabrowser.net/datapag... 进入UCSC xena数据存储中心,可以看到各种各样的数据:
而UCSC xena里TCGA的数据有两个来源,一个是TCGA hub的数据,另一个是GDC TCGA的数据:
推荐使用GDC TCGA下载表达谱,因为TCGA hub的数据是经过处理后的数据,能否直接用 limma等分析网上众说纷纭,log2(x+1) RSEM normalized count:这个值究竟是如何得出来的比较复杂,UCSC xena本身也没有给出一个明确的说法
而GDC TCGA它对小白友好的地方就在于它的数据是log2(count+1)转化值,数据已经进行了merge,可以直接进行注释,进行后续分析可视化,是不是非常方便
我们随便点进去一个GDC TCGA表达谱数据,可以看到上面的数据的更新日期是2019年7月份,根据官网的介绍,用这个方式下载等同于在 2019年7月使用 api方法从官网下载了数据
在上一篇推文我已经讲了,到目前为止,TCGA更新从Data release 18.0已经更到了 Data release 33.0,Release Notes - GDC Docs ( cancer.gov),当然未来还会持续更新,那么这是不是意味着我们的表达谱数据就不能用了呢?并不是。
可以看到,这些更新中跟我们自己要研究的肿瘤的TCGA RNAseq数据无关,这些数据就算TCGA数据库更新,它也不会变。那更新了什么呢?根据每次更新的介绍,我们可以了解到GDC添加了很多新数据,比如下面添加了New project——Exceptional Responders Initiative,我们需要留心的是哪些更新数据与我们有关:临床数据!比如说随访数据,我们做预后分析用到的生存资料,这些也是在不断更新的
如果同学已经越过小白阶段,需要整合临床信息的话,还是首先推荐用文首提到的方法去下载 TCGA数据的最新的数据,现在我们一起用UCSC xena来run一下
开始实操
首先我依然以样本量少的胆管癌为例下载GDC TCGA Bile Duct Cancer (CHOL)
下载表达谱Counts数据
下载样本信息
这样在我们的文件夹里就准备好了两个数据:
① 病人的表达谱
② 病人的样本信息
如果样本数很多需要分类时,可以参考这个代码教程,把相应亚型摘出来: 送你一篇TCGA数据挖掘文章 (qq.com)
接下来就可以开始处理数据了,跟前一节推文一样,我们的目的是清洗数据,得到能够进行下游分析的表达矩阵。
现在这个矩阵行名不是我们想要的基因名,还需要进一步处理,用注释文件把Ensembl ID转换为gene ID,注释文件去哪里搞呢?其实XENA整理表达矩阵的同时给了我们注释文件:
如果同学不需要把mRNA、lncRNA等挑出来,想要分析总的转录本,那你就直接下载这个注释文件就好了。但这里我的目标是只想得到protein coding的mRNA表达矩阵,所以这个注释文件无法满足我,我想要的注释文件又哪里搞呢?
encodeproject.org/files... 在ENCODE数据库下载(如果同学想学习ENCODE数据库的话私信我,我会考虑后面写篇推文讲讲,这里埋个坑)
我这里下载的是v22版,同学也可以根据需要下载最新版(不过我觉得其实都差不多)。下载好了后,读到R里,这里我选择安装rtracklayer这个包,通过BiocManager第一次安装这个包时,你要考虑自己的R版本和Bioconductor是否匹配,比如我现在的R版本是4.2,但是我的Bioconductor是3.12,本应匹配的是4.0版本的R,所以下载R包的时候就报错了:
小问题别慌,我先升级一下Bioconductor来匹配我最新版的R
还没完,这里面基因名是有重复的:
可以看到去重后,还剩19712个基因,到这里我们就得到了可以用于下游分析的表达矩阵了。别忘了,这里的数据是经过log2(count+1)的,如果有同学接下来要做差异分析的话,别忘了去掉log2
提取lncRNA、miRNA等也是类似的操作,我在这里就不展示了,就当给大家留作业了,好了就讲这么多,我会在后面的推文中继续分享表达谱下游分析,记得关注!