TCGA和GTEx的泛癌数据分析也是生信数据挖掘的必备技能,目前最好用的泛癌数据肯定是XENA网站上整理好的啦。我们直接下载用即可。而且XENA的数据估计短时间不会更新的,所以基本上是一次整理永久使用!

我把整理泛癌数据的代码也写成了一个函数getpancancer_xena(),并放到了easyTCGA包中,大家安装即可使用。

安装

首先安装依赖包:

# 安装bioconductor上面的R包
options(BioC_mirror="https://mirrors.tuna.tsinghua.edu.cn/bioconductor")
if(!require("BiocManager")) install.packages("BiocManager")
if(!require("TCGAbiolinks")) BiocManager::install("TCGAbiolinks")
if(!require("SummarizedExperiment")) BiocManager::install("SummarizedExperiment")
if(!require("DESeq2")) BiocManager::install("DESeq2")
if(!require("edgeR")) BiocManager::install("edgeR")
if(!require("limma")) BiocManager::install("limma")

# 安装cran上面的R包
if(!require("survival")) install.packages("survival")
if(!require("broom")) install.packages("broom")
if(!require("devtools")) install.packages("devtools")
if(!require("cli")) install.packages("cli")
if(!require("reshape2")) install.packages("reshape2")
if(!require("data.table")) install.packages("data.table")
if(!require("ggplot2")) install.packages("ggplot2")
if(!require("ggpubr")) install.packages("ggpubr")

再安装easyTCGA包:

devtools::install_github("ayueme/easyTCGA")

主要功能

直接获取

如果不想自己跑一遍,或者电脑配置太低(需要至少16GB运行内存)总是失败,也可以在公众号后台回复pancancer,即可获取整理好的rdata文件以及从XENA下载的4个文件

一共是14个文件,各个文件的详情请继续往下看:

TCGA pan-cancer

如果只是单纯的想要TCGA pan-cancer,我们只要下载TCGA的表达矩阵即可,下载网址是:

  • https://toil-xena-hub.s3.us-east-1.amazonaws.com/download/tcga_RSEM_gene_tpm.gz

但通常我们可能还需要对应的临床信息,所以还需要下载临床信息文件,下载网址是:

  • https://tcga-pancan-atlas-hub.s3.us-east-1.amazonaws.com/download/Survival_SupplementalTable_S1_20171025_xena_sp

下载完成后,我们只要用getpancancer_xena()函数即可完成整理:

# 首先是指定下载的文件
tcga_expr_file <- "download_from_xena/tcga_RSEM_gene_tpm.gz"
tcga_clin_file <- "download_from_xena/Survival_SupplementalTable_S1_20171025_xena_sp.gz"

# 然后1行代码即可
getpancancer_xena(tcga_expr_file = tcga_expr_file,
                  tcga_clin_file = tcga_clin_file,
                  type = "tcga")

大概5分钟左右即可整理好(根据电脑配置不同时间也会不一样),可以得到以下4个rdata文件,存放在当前工作目录下的output_pancancer_xena文件夹下:

  • TCGA_pancancer_expr.rdata:TCGA的表达矩阵,行是基因,列是样本
  • TCGA_pancancer_clin.rdata:TCGA样本的临床信息,样本数量和顺序和上面的表达矩阵的样本数量和顺序完全一致
  • TCGA_pancancer_lncrna_clin.rdata:lncRNA和样本信息整合到一起的数据,行是样本,列是基因,前34列是临床信息,包含生存数据
  • TCGA_pancancer_mrna_clin.rdata:mRNA和样本信息整合到一起的数据,行是样本,列是基因,前34列是临床信息,包含生存数据。

有了这个数据你就可以做各种泛癌的数据分析了!

GTEx pan-cancer

GTEx的泛癌数据也是一样整理,首先下载表达矩阵文件和样本信息文件

  • https://toil-xena-hub.s3.us-east-1.amazonaws.com/download/gtex_RSEM_gene_tpm.gz
  • https://toil-xena-hub.s3.us-east-1.amazonaws.com/download/GTEX_phenotype.gz

然后也是一样的用法:

# 首先是指定下载的文件
gtex_expr_file <- "download_from_xena/gtex_RSEM_gene_tpm.gz"
gtex_pheno_file <- "download_from_xena/GTEX_phenotype.gz"

# 然后1行代码即可
getpancancer_xena(gtex_expr_file = gtex_expr_file,
                  gtex_pheno_file = gtex_pheno_file,
                  type = "gtex")

整理结束后也会得到4个文件,存放在当前工作目录下的output_pancancer_xena下:

  • GTEx_pancancer_expr.rdata:GTEx的表达矩阵,行是基因,列是样本
  • GTEx_pancancer_pheno.rdata:GTEx的样本信息,样本数量和顺序和上面的表达矩阵的样本数量和顺序完全一致
  • GTEx_pancancer_lncrna_pheno.rdata:lncRNA和样本信息整合到一起的数据,行是样本,列是基因,前2列是sample_id和sample_type
  • GTEx_pancancer_mrna_pheno.rdata:mRNA和样本信息整合到一起的数据,行是样本,列是基因,前2列是sample_id和sample_type

TCGA+GTEx pan-cancer

TCGA和GTEx并不是一对一的关系,如下图所示(这个对应关系表可以在GEPIA网站免费下载),TCGA的很多project在GTEx里是没有对应的样本的,并且GTEx和TCGA是1对多的关系哦~

如果是需要TCGA+GTEx的泛癌数据,那就需要同时提供4个文件,但是整理也是1行代码即可:

tcga_expr_file <- "download_from_xena/tcga_RSEM_gene_tpm.gz"
tcga_clin_file <- "download_from_xena/Survival_SupplementalTable_S1_20171025_xena_sp.gz"
gtex_expr_file <- "download_from_xena/gtex_RSEM_gene_tpm.gz"
gtex_pheno_file <- "download_from_xena/GTEX_phenotype.gz"

getpancancer_xena(tcga_expr_file = tcga_expr_file,
                  tcga_clin_file = tcga_clin_file,
                  gtex_expr_file = gtex_expr_file,
                  gtex_pheno_file = gtex_pheno_file,
                  type = "tcga+gtex")

除了会得到以上的8个rdata文件外,还会得到另外2个整合好的TCGA+GTEx数据

  • TCGA_GTEx_pancancer_lncRNA_pheno.rdata:TCGA和GTEx整合到一起的lncRNA表达矩阵和样本信息,注意:行是样本!前4列是样本信息,后面的列是lncRNA
  • TCGA_GTEx_pancancer_mRNA_pheno.rdata:TCGA和GTEx整合到一起的mRNA表达矩阵和样本信息,注意:行是样本!前4列是样本信息,后面的列是mRNA

后续分析

有了数据就可以在进行各种分析了,前提是你的R语言基础够好,比如可以试着学习果子老师这几篇推文里的图:

又或者是这种各种花里胡哨的单基因泛癌的表达量展示:

如果你不会也没关系,上面这这些分析果子老师已经开发了专门的网站实现,点点点即可:

  • http://guotosky.vip:13838/GTBA/
  • http://guotosky.vip:13838/GPSA/

后续可能会把一些常用的分析和展示写成函数,加入到easyTCGA包里,但肯定没有鼠标点点点简单了~

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐