GTEx项目对来自人体多个组合和器官的样本,同时进行了转录组测序和基因分型分析,构建了一个组织特异性的基因表达和调控的数据库:Genotype-Tissue Expression (GTEx)
1. 背景知识
一期
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染色体失活现象。
对于所有的样本,主要进行了以下三种分析
- RNA seq
通过illumina Truseq试剂盒构建polyA+文库,采用Hiseq 2000/2500进行测序,对于下机数据,采用STAR进行比对,参照选择的是gencode V19版本的gtf文件,进行了以下3个level的定量
gene-level:采用RNAseQC软件,对基因的raw count和TPM两种方式进行定量
exon-level:对exon的raw count进行定量
transcript-level:采用RSEM进行转录本水平的定量
- genotype
通过WGS对样本进行分型, 采用的是GATK germline variants calling的流程,步骤如下
bwa-mem alignment
picard markduplicate
BQSR
indel realign
haplotypeCaller
- eQTL
通过FastQTL软件进行cis-eQTL分析,将基因型和基因表达量进行关联。
通过官网可以查看基因表达量和eQTL分析的结果,以TP53为例,每个基因给出了以下3个层级的表达量
Isoform Expression
Exon Expression
Junction Expression
2. 数据库内容介绍和数据下载
通常是直接去 https://gtexportal.org/ 找到可以下载(在)的数据集,如下:
其中,对我们来说最重要的就是 表达矩阵, 可以下载图中 gene read counts 这个496M的文件,表达矩阵里面的样本ID肯定是数据库组织者自定义的,所以我们还需要找到样本ID的注释信息。
3. 数据分析
3.1 读入矩阵
GTEx<-read.table("GTEx_Analysis_2017-06-05_v8_RNASeQCv1.1.9_gene_reads.gct", skip = 2, header = TRUE, sep = "\t")
save(GTEx,file = 'GTEx.Rdata')
GTEx[1:4,1:4] ##行是基因 列是样本
# Name Description GTEX.1117F.0226.SM.5GZZ7 GTEX.1117F.0426.SM.5EGHI
# 1 ENSG00000223972.5 DDX11L1 0 0
# 2 ENSG00000227232.5 WASH7P 187 109
# 3 ENSG00000278267.1 MIR6859-1 0 0
# 4 ENSG00000243485.5 MIR1302-2HG 1 0
colnames(GTEx)
3.2 读入注释信息
SAMPLE:样本名,和GTEx矩阵的列对应
SMTS: Tissue Type, area from which the tissue sample was taken.
SMTSD: Tissue Type, more specific detail of tissue type
a=read.table('GTEx_Analysis_v8_Annotations_SampleAttributesDS.txt',
header = T,sep = '\t',quote = '')
table(a$SMTS)
3.3 提取感兴趣的组织进行分析
以心脏为例
heart_gtex=GTEx[,gsub('[.]','-',colnames(GTEx)) %in% a[a$SMTS=='Heart',1]]
rownames(heart_gtex)=GTEx[,1]
dat=heart_gtex
就是把属于Heart这个组织的样本名挑选出来,在上面的表达矩阵里面取子集即可。
值得注意的是这个时候的表达矩阵基因名不是symbol,需要进行ID转换
ids=GTEx[,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]
heart_gtex=dat
save(heart_gtex,file = 'heart_gtex_counts.Rdata')
这样就得到了正常的心脏组织样本表达矩阵,可以进行的分析。
4. 不同组织的基因表达分析
比较心、肺、血中S100A8的表达
organ_gtex=GTEx[,gsub('[.]','-',colnames(GTEx)) %in% a[a$SMTS %in% c('Heart','Blood','Lung'),1]]
rownames(organ_gtex)=GTEx[,1]
dat=organ_gtex
ids=GTEx[,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]
organ_gtex=dat
#save(organ_gtex,file = 'organ_gtex_counts.Rdata')
b=a[a$SMTS %in% c('Heart','Blood','Bone Marrow','Lung'),c(1,6)]
c <- b[b$SAMPID %in% gsub('[.]','-',colnames(dat)),]
colnames(dat) <- gsub('[.]','-',colnames(dat))
dat <- t(dat)
dat <- as.data.frame(dat)
dat$group <- c$SMTS
library(dplyr)
d <- group_by(dat,group)
summarise(d,median=median(S100A8),n=n())
## A tibble: 3 x 3
# group median n
# <chr> <dbl> <int>
# 1 Blood 52504 929
# 2 Heart 730 861
# 3 Lung 10942. 578
参考