TCGA数据挖掘(一):TCGAbiolinks包介绍

2019-08-27 14:35:23 浏览数 (1)

肿瘤基因组图谱(TCGA)计划是由美国National Cancer Institute(NCI)和National Human Genome Research Institute(NHGRI)于2006年联合启动的项目,研究的癌症类型从最开始的多形性成胶质细胞瘤(GBM)到现在为止共有39种,涉及29种癌症器官,1万多个肿瘤样本,27万多份文件,当然其项目也将于2017年接近尾声。

网址:https://portal.gdc.cancer.gov/

对于肿瘤研究者来说,TCGA数据库就是一个资源宝库,里面有很多有价值的信息可以挖掘,关于TCGA数据挖掘的工具很多,包括在线工具和R包。这里我们主要是通过R语言进行挖掘,所以需要有一点R语言基础。R语言快速入门可参考文章:R语言编程基础第一篇:语法基础。也可以自己找教程自学,网上教程很多,学习了R以后,我们就的真正的去了解TCGA数据库,我们之前的文章:TCGA数据库使用教程对该数据库进行了详细的介绍,不了解该数据库的同学可以先了解网页版的使用。

使用R语言挖掘TCGA数据,可以用的包很多,比如GDCRNATools包,以及之前我们介绍过的TCGA-Assembler包。在这里我们就不推荐使用这些包,我们只推荐本文要介绍的TCGAbiolinks包。这个包的功能很强大,学会了这个包几乎就已经够用,不用在学其他包。今天我们开始

第一讲:TCGAbiolinks包背景知识介绍

TCGAbiolinks -一个用于TCGA数据综合分析的R/BioConductor软件包,能够通过GDC Application Programming Interface (API)访问 National Cancer Institute (NCI) Genomic Data Commons (GDC) ,来搜索、下载和准备相关数据,以便在R中进行分析。

1.TCGAbiolinks包的安装

代码语言:javascript复制
devtools::install_github(repo = "BioinformaticsFMRP/TCGAbiolinks")
代码语言:javascript复制
也可以通过下面代码安装
代码语言:javascript复制
# 当前R的版本是"3.6",对应的TCGAbiolinks版本是"3.7" or "3.8"
if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("TCGAbiolinks", version = "3.8")
代码语言:javascript复制
安装成功后就是加载包了,如果加载还需要某些包,就先安装相应的包:
代码语言:javascript复制
library(TCGAbiolinks)
library(dplyr)
library(DT)
代码语言:javascript复制
2.参考文献

文章中使用了该包,请引用:

Colaprico A, Silva TC, Olsen C, Garofano L, Cava C, Garolini D, Sabedot T, Malta TM, Pagnotta SM, Castiglioni I, Ceccarelli M, Bontempi G and Noushmehr H. "TCGAbiolinks: an R/Bioconductor package for integrative analysis of TCGA data." Nucleic acids research (2015): gkv1507.

此外,如果您使用ELMER分析,请引用:

Yao, L., Shen, H., Laird, P. W., Farnham, P. J., & Berman, B. P. "Inferring regulatory element landscapes and transcription factor networks from cancer methylomes." Genome Biol 16 (2015): 105.

Yao, Lijing, Benjamin P. Berman, and Peggy J. Farnham. "Demystifying the secret mission of enhancers: linking distal regulatory elements to target genes." Critical reviews in biochemistry and molecular biology 50.6 (2015): 550-573.

3.TCGA条码(barcode)

TCGA条码由一组标识符组成。每个都专门标识一个TCGA数据元素。有关元数据标识符如何组成条形码的说明,请参见下图:

更多TCGA barcode信息:

https://docs.gdc.cancer.gov/Encyclopedia/pages/TCGA_Barcode/

接触和分析过TCGA数据的朋友肯定会经常处理TCGA barcode的前15位(有时12位),实际从上图可以看出TCGA的barcode设计总共有28位之多。

每一个短横杠衔接的都是含不同意义的序列,如下图:

另外,将barcode的组成从层次结构(树)来看,是这样的:

可参考:

https://docs.gdc.cancer.gov/Encyclopedia/pages/images/TCGA-TCGAbarcode-080518-1750-4378.pdf

4.TCGAbiolinks可以使用两种方法下载GDC数据:

client:此方法创建MANIFEST文件并使用 GDC Data Transfer Tool下载数据。此方法更可靠,但与api方法相比可能更慢。

api:此方法使用 GDC Application Programming Interface (API)下载数据。这将创建一个MANIFEST文件,并且下载的数据将是一个格式为tar.gz的压缩文件。如果文件的大小和数量太大,这个tar.gz文件会太大导致下载失败的可能性提高。为了解决这个问题,我们将使用files.per.chunk功能将文件拆分成多个小文件,例如,如果chunks.per.download等于10,我们将每个tar.gz分为10个小文件下载。

5.数据准备:SummarizedExperiment对象

使用 SummarizedExperiment package,我们可以从SummarizedExperiment对象中提取三个主要的数据矩阵。

colData(data):获得样本信息的矩阵,包括了从对应TCGA论文中获得的临床数据以及肿瘤亚型信息。

assay(data):获得Assay信息的矩阵,就是每一个样本中基因的表达量。

rowRanges(data):获得特征(一般是指基因)信息的矩阵,包括特征的元数据,例如基因所在基因组范围。

6.Summarized Experiment:注释信息

使用GDCprepare函数时,会调用一个参数SummarizedExperiment,该参数决定了输出类型为Summarized Experiment(默认选项)或数据框。为了创建一个Summarized Experiment对象,我们需要使用最新的基因组注释文件进行数据注释。比如:1)对于legacy数据(与hg19对齐的数据),TCGAbiolinks正在使用GRCh37.p13进行注释;2)对于harmonized数据(与hg38对齐的数据),TCGAbiolinks正在使用GRCh38.p7 (May 2017)进行注释。不幸的是,在GRCh38.p7 这样的注释文件更新后,比如一些基因缩写名称的改变/删除、更改基因坐标等。这可能会导致一些TCGA数据的丢失。例如,如果基因被删除,我们就不能再映射它了,那么在SummarizedExperiment中这些信息会丢失。如果设置SummarizedExperiment为FALSE,您将获得未修改的数据,并需要您自己去注释。此外,DNA甲基化数据并没有更新。但是可以在这里找到最新的元数据:http://zwdzwd.github.io/InfiniumAnnotation

7.GDCquery()参数解析

TCGAbiolinks包的函数很多,但GDCquery()函数是必须要介绍的,其他函数介绍肯文末,我们后续用到也会做详细的讲解。

(1)project

可以使用getGDCprojects()$project_id得到各个癌种的项目id,总共有52个ID值。

(2)data.category

data.category总共有8种

可以使用TCGAbiolinks:::getProjectSummary(project)查看project中有哪些数据类型,如查询"TCGA-LIHC",有7种数据类型,case_count为病人数,file_count为对应的文件数。要下载表达谱,可以设置data.category="Transcriptome Profiling"

(3)data.type

筛选要下载的文件的数据类型。没有命令可以查看data.type里都有哪些数据类型, 但是根据官网连接,查看data.type有12种,但设置参数的时候不代表所有的project和data.category都对应12种。先在官网查看后再设置。

代码语言:javascript复制
#下载rna-seq的counts数据
data.type = "Gene Expression Quantification"
#下载miRNA数据
data.type = "miRNA Expression Quantification"
#下载Copy Number Variation数据
data.type = "Copy Number Segment"

(4)workflow.type

该数据类型有很多种,根据data.type的不同而不同,不同的数据类型,有其对应的参数可供选择。比如Gene Expression Quantification数据类型下workflow.type 有4种类型分别为:

HTSeq - FPKM-UQ:FPKM上四分位数标准化值

HTSeq - FPKM:FPKM值/表达量值

HTSeq - Counts:原始count数

STAR - Counts

具体可在GDC官网查看

(5)legacy

这个参数主要是因为TCGA数据有两个入口可以下载,GDC Legacy Archive 和 GDC Data Portal,区别主要是注释参考基因组版本不同分别是:GDC Legacy Archive(hg19和GDC Data Portal(hg38)。参数默认为FALSE,下载GDC Data Portal(hg38)。这里建议是,下载转录组层面的数据使用hg38,下载DNA层面的数据使用hg19,因为比如做SNP分析的时候很多数据库没有hg38版本的数据,都是hg19的。

(6)access

数据开放和不开放,有两个参数:controlled, open。

(7)platform

这里涉及到的平台种类非常多,可以具体去官网看每种数据都有什么平台的可以下载。这个参数可以省略不设置。

(8)file.type

主要是在GDC Legacy Archive下载数据的时候使用,可以参考官网说明。在GDC Data Portal下载数据,该参数省略不设置。

(9)barcode

A list of barcodes to filter the files to download。可以根据这个参数设置只下载某个样本等。如:

代码语言:javascript复制
barcode = c("TCGA-14-0736-02A-01R-2005-01", "TCGA-06-0211-02A-02R-2005-01")

(10)experimental.strategy

两个下载入口参数选择:

GDC Data Portal:WXS, RNA-Seq, miRNA-Seq, Genotyping Array.

Legacy: WXS, RNA-Seq, miRNA-Seq, Genotyping Array, DNA-Seq, Methylation array, Protein expression array, WXS,CGH array, VALIDATION, Gene expression array,WGS, MSI-Mono-Dinucleotide Assay, miRNA expression array, Mixed strategies, AMPLICON, Exon array, Total RNA-Seq, Capillary sequencing, Bisulfite-Seq

(11)sample.type

A sample type to filter the files to download,可以对样本类型进行过滤下载。这里我要下载所有样本类型数据,不设置。部分值选择如下(全部可以查看官网):如sample.type = "Recurrent Solid Tumor"

关于其他函数及参数介绍可以阅读官方文档:http://www.bioconductor.org/packages/release/bioc/manuals/TCGAbiolinks/man/TCGAbiolinks.pdf

当然,后续教程中我们用到什么函数也会详细的讲解。

下一讲预告:TCGAbiolinks下载TCGA数据

0 人点赞