TCGA的28篇教程-GTEx数据库-TCGA数据挖掘的好帮手

长期更新列表:

使用R语言的cgdsr包获取TCGA数据(cBioPortal)TCGA的28篇教程- 使用R语言的RTCGA包获取TCGA数据 (离线打包版本)TCGA的28篇教程- 使用R语言的RTCGAToolbox包获取TCGA数据 (FireBrowse portal)TCGA的28篇教程-  批量下载TCGA所有数据 ( UCSC的 XENA)TCGA的28篇教程- 数据下载就到此为止吧TCGA的28篇教程- 指定癌症查看感兴趣基因的表达量TCGA的28篇教程- 对TCGA数据库的任意癌症中任意基因做生存分析TCGA的28篇教程-整理GDC下载的xml格式的临床资料
TCGA的28篇教程-风险因子关联图-一个价值1000但是迟到的答案
TCGA的28篇教程-数据挖掘三板斧之ceRNA
TCGA的28篇教程-所有癌症的突变全景图
TCGA的28篇教程-早期泛癌研究
TCGA的28篇教程-CNV全攻略

通常我们在挖掘TCGA数据库的时候,会发现该项目纳入的正常组织测序结果是非常少的,也就是说很多病人都不会有他的正常组织的转录组测序结果,比如说乳腺癌吧,1200个左右的转录组数据,其中1100左右都是肿瘤组织的测序数据,只有区区100个左右的正常对照。

这个时候我们就需要想办法加大正常组织测序样本量,既然TCGA数据库没有,我们就从其他数据库着手。

这里值得大力推荐的是GTEx数据库 ,Genotype-Tissue Expression (GTEx)

背景知识

一期

2015年,GTEx发布了第一个阶段性成果,一次性在Science杂志上发表三篇研究成果,该成果还被选为封面文章。GTEx的研究从175名死者身上采集到了1641个尸检样本,这些样本来自54个不同的身体部位,对几乎所有转录基因的基因表达模式进行了观察,从而够确定基因组中影响基因表达的特定区域。另外两篇文章之一从人所有组织中的基因表达谱进行了描述,证明了组织特异性的某些基因往往决定了组织特异性基因的表达调控;另一篇解释了截短的蛋白变异体如何影响组织中的基因表达。

  • The Genotype-Tissue Expression (GTEx) pilot analysis: Multitissue gene regulation in humans

  • The human transcriptome across tissues and individuals

  • Effect of predicted protein-truncating genetic variants on the human transcriptome

二期

在2017年,一次性在nature发表4篇研究成果,GTEx研究联盟的研究收集并研究了来自449名生前健康的人类捐献者的7000多份尸检样本,涵盖44个组织(42种不同的组织类型),包括31个实体器官组织、10个脑分区、全血、两个来自捐献者血液和皮肤的细胞系,作者利用这些样本研究基因表达在不同组织和个体中有何差异。题为“Landscape of X chromosome inactivation across human tissues”和“Dynamic landscape and regulation of RNA editing in mammals”的论文,采用GTEx数据探讨了与基因表达相关联的基因变异如何能够调节RNA编辑和X染色体失活现象。

数据库内容介绍

通常是直接去 https://gtexportal.org/ 找到可以下载的数据集,如下:

其中,对我们来说最重要的就是 表达矩阵, 可以下载图中 gene read counts 这个496M的文件,表达矩阵里面的样本ID肯定是数据库组织者自定义的,所以我们还需要找到样本ID的注释信息。

更多的是关于这个数据库的网页使用介绍,我们生信工程师通常不需要,就不赘述了。

注意一下 数据库的版本信息:

The current release is V7 including 11,688 samples, 53 tissues and 714 donors

首先看数据库的注释信息

重点是:

  # SMTS    Tissue Type, area from which the tissue sample was taken.   
  # SMTSD    Tissue Type, more specific detail of tissue type

可以看到每个样本属于哪一种组织,这样就方便提取他们的信息来辅助自己的研究。

把 gene read counts 这个496M的表达矩阵导入R:

if(F){
  options(stringsAsFactors = F)
  GTEx=read.table('~/Downloads/GTEx_Analysis_2016-01-15_v7_RNASeQCv1.1.8_gene_reads.gct.gz'
                  ,header = T,sep = '\t',skip = 2)
  GTEx[1:4,1:4]
  h=head(GTEx)
  save(h,file = 'GTEx_head.Rdata')
}

挑选感兴趣的组织的表达矩阵

上面我们详细了解了不同样本注释到的组织,所以代码很简单:

 load('~/Desktop/GTEx_all.Rdata')
 a[1:4,1:4]
  colnames(a)
  # SMTS    Tissue Type, area from which the tissue sample was taken.   
  # SMTSD    Tissue Type, more specific detail of tissue type
  b=read.table('GTEx_v7_Annotations_SampleAttributesDS.txt',
               header = T,sep = '\t',quote = '')
  table(b$SMTS) 
  breat_gtex=a[,gsub('[.]','-',colnames(a)) %in% b[b$SMTS=='Breast',1]]
  rownames(breat_gtex)=a[,1]
  dat=breat_gtex

就是把属于breast这个组织的样本名挑选出来,在上面的表达矩阵里面取子集即可。

值得注意的是这个时候的表达矩阵基因名不是symbol,是需要进行ID转换的,代码如下:

dat=breat_gtex
  ids=a[,1:2]
  head(ids)
  colnames(ids)=c('probe_id','symbol')
  dat=dat[ids$probe_id,]
  dat[1:4,1:4] 
  ids$median=apply(dat,1,median)
  ids=ids[order(ids$symbol,ids$median,decreasing = T),]
  ids=ids[!duplicated(ids$symbol),]
  dat=dat[ids$probe_id,]
  rownames(dat)=ids$symbol
  dat[1:4,1:4]  
  breat_gtex=dat
  save(breat_gtex,file = 'breat_gtex_counts.Rdata')

表达矩阵如下所示:

正常乳腺组织样本表达矩阵可以进行的分析

通常情况下应该是去和肿瘤数据进行分析,那样的分析就多元化了,这里来个简单点的,可以进行pam50分类:

if(T){
  ddata=t(dat)
  ddata[1:4,1:4]
  s=colnames(ddata);head(s)
  library(org.Hs.eg.db)
  s2g=toTable(org.Hs.egSYMBOL)
  g=s2g[match(s,s2g$symbol),1];head(g)
  #  probe Gene.symbol Gene.ID
  dannot=data.frame(probe=s,
                    "Gene.Symbol" =s, 
                    "EntrezGene.ID"=g)
  ddata=ddata[,!is.na(dannot$EntrezGene.ID)]
  dannot=dannot[!is.na(dannot$EntrezGene.ID),] 
  head(dannot)
  library(genefu)
  # c("scmgene", "scmod1", "scmod2","pam50", "ssp2006", "ssp2003", "intClust", "AIMS","claudinLow")

s<-molecular.subtyping(sbt.model = "pam50",data=ddata,
                         annot=dannot,do.mapping=TRUE)
  table(s$subtype)
  tmp=as.data.frame(s$subtype)
  subtypes=as.character(s$subtype)
}

library(genefu)
pam50genes=pam50$centroids.map[c(1,3)]
pam50genes[pam50genes$probe=='CDCA1',1]='NUF2'
pam50genes[pam50genes$probe=='KNTC2',1]='NDC80'
pam50genes[pam50genes$probe=='ORC6L',1]='ORC6'
x=dat
x=x[pam50genes$probe[pam50genes$probe %in% rownames(x)] ,]
tmp=data.frame(subtypes=subtypes)
rownames(tmp)=colnames(x)
library(pheatmap)

pheatmap(x,show_rownames = T,show_colnames = F,
         annotation_col = tmp,
         filename = 'ht_by_pam50_raw.png')

x=t(scale(t(x)))
x[x>1.6]=1.6
x[x< -1.6]= -1.6

pheatmap(x,show_rownames = T,show_colnames = F,
         annotation_col = tmp,
         filename = 'ht_by_pam50_scale.png') 

单独取出pam50包含的50个基因的表达矩阵进行热图聚类:

由上图可以看到不同基因的表达量是 差异很大的,通常我们不会去比较不同基因的表达量,而只是比较同一个基因在不同样本的表达量差异的。

所以我们没有必要去看不同基因的表达量高低,那么就可以进行一定程度的归一化,重新绘图如下:

可以很明显的看到哪怕是对正常组织的转录组测序结果走pam50的分类也是可以拿到各种各样的分类结果的。

但是pam50的分类是在乳腺癌患者的芯片表达矩阵进行训练的模型,是因为我们用错了地方,可以看看在METEBRIC里面的分类结果:

上面的分类是pam50算法的结果,下面的分类是临床信息。

可以看到basal的结果还是很统一的,而且都比较符合TNBC的定义,就是PGR,ESR1,ERBB2都表达量都很低。

如果真的要把GTEx数据库的转录组表达矩阵和TCGA的进行比较,还需要一定程度的去除批次效应。

我以前在生信技能树多次讲解,这里也不再赘述。

■   ■   ■

(0)

相关推荐

  • TCGA、ICGC、GTEx 数据库都是啥?

     我们在进行数据库介绍,尤其是肿瘤相关数据库的时候,经常会提到说这个使用了 TCGA/GTEx 数据库的数据,那么这两个数据库到底是什么呢?为什么会有用这两个数据库呢?另外呢,由于最近ICGC提的也比 ...

  • 又一个肿瘤免疫浸润分析利器

    关于TCGA表达数据的分析.之前我们我们介绍过.目前可能用的最多的也就是GEPIA了.之前在GEPIA2发表的时候(GEPIA I, GEPIA II),我们对这个数据库进行了介绍.最近.GEPIA的 ...

  • GEO+TCGA数据挖掘+收集临床样本的思路

    研究背景: 肺腺癌(LAD)是最普遍的肺癌类型.据报道,UDP-N-乙酰氨基葡糖焦磷酸化酶1(UAP1)的异常表达与癌细胞的许多生物学过程有关,但尚不清楚LAD中UAP1的表达. 研究方法: 生物信息 ...

  • 泛癌全基因数据分析工具推荐:UCSC XENA

    前两天我们介绍了一下刚刚发表的泛癌的全基因组在线数据工具汇总的文章.同时也介绍了一下关于ICGC的使用,在那个文章里面提到了五个在线分析PCAWG的工具,今天就来介绍另外一个:UCSC XENA. 1 ...

  • 零代码、无实验复现最新8+SCI,傻瓜式剩下高招!(附详细操作教程)

    解螺旋公众号·陪伴你科研的第2590天 无代码生信复现 大家好,我是Jerry,今天我给大家分享一篇最新的单基因泛癌生信文章,该文章是发表于Frontiers in Immunology杂志上,最新影 ...

  • 单基因泛癌表达(TCGA+GTEx)

    之前我们发布了单基因泛癌分析相关的文章,包括 TCGA单基因免疫相关泛癌分析 TCGA单基因免疫相关泛癌分析-进阶版本 TCGA单基因泛癌分析:富集分析结果答疑 这里有单基因在每种肿瘤中的表达图,仅限 ...

  • PAM50的概念及分子分型算法原理

    众所周知,癌症具有异质性,在乳腺癌领域,不同亚型的癌症比不同器官来源癌症的差异要大很多.最简单癌症分类,当然是一个基因,比如ER阳性或者ER阴性的乳腺癌患者,并不是说人类有2万多个蛋白编码基因就可以有 ...

  • 生信工具 | TCGA数据分析工具GEPIA最新更新,用于免疫细胞浸润分析

    GEPIA(http://gepia.cancer-pku.cn/index.html)这个工具可以说是分析TCGA数据库数据分析工具中比较简单好用的工具了,包括生存分析,表达差异分析,相关性分析等, ...

  • TCGAG多组学联合分析数据库

    之前我们在介绍GEPIA的时候,说这个数据库只能用于TCGA表达数据的一些分析.但是对于TCGA数据而言,里面包括相同样本的表达.突变.拷贝数.甲基化以及临床信息等数据,所以我们其实可以利用TCGA数 ...

  • 点进来,免费帮你做单基因泛癌表达分析(TCGA+GETx)

    相信绝大多数研究肿瘤的科研工作者的工作都离不开某个特定的基因,现在绝大部分的单基因的生信文章也都有这么一个图,我就随便列举一些文章的Figure1 比如 再比如 再比如 再比如 再比如 再比如 再比如 ...

  • 生信新思路:正常组织的选择性多聚腺苷酸化数据库

    昨天介绍的TC3A是基于TCGA肿瘤数据来进行分析的,而这次的这个APA atlas (https://hanlab.uth.edu/apa/)则是基于GTEx的数据来分析的.如果不清楚TCGA和GT ...