TCGA 数据分析实战 —— 差异基因
转录组分析
上一节,我们简单介绍了 CNV
数据的处理以及突变数据可视化。下面我们简单介绍一下转录组数据分析中必不可少的差异基因分析,以及通路富集分析
1. 数据准备
我们来分析 LGG
和 GBM
之间的转录组差异,首先从 GDC
中获取原位癌 read count
数据
get_count <- function(cancer) {
query <- GDCquery(
project = cancer,
data.category = "Transcriptome Profiling",
data.type = "Gene Expression Quantification",
workflow.type = "STAR - Counts",
sample.type = c("Primary Tumor"),
)
# 选择 20 个样本
query$results[[1]] <- query$results[[1]][1:20,]
GDCdownload(query)
# 获取 read count
exp.count <- GDCprepare(
query,
summarizedExperiment = TRUE,
)
return(exp.count)
}
gbm.exp <- get_count("TCGA-GBM")
lgg.exp <- get_count("TCGA-LGG")
dataPrep_GBM <- TCGAanalyze_Preprocessing(
object = gbm.exp,
cor.cut = 0.6,
datatype = "unstranded"
)
dataPrep_LGG <- TCGAanalyze_Preprocessing(
object = lgg.exp,
cor.cut = 0.6,
datatype = "unstranded"
)
# 合并数据并使用 gcContent 方法进行标准化
dataNorm <- TCGAanalyze_Normalization(
tabDF = cbind(dataPrep_LGG, dataPrep_GBM),
geneInfo = TCGAbiolinks::geneInfoHT,
method = "gcContent"
)
# 分位数过滤
dataFilt <- TCGAanalyze_Filtering(
tabDF = dataNorm,
method = "quantile",
qnt.cut = 0.25
)
# 将数据拆分
dataLGG <- subset(dataFilt, select = gbm.exp$barcode)
dataGBM <- subset(dataFilt, select = lgg.exp$barcode)
2. edgeR
edgeR
可以对 RNA-seq
、SAGE
或 ChIP-Seq
等数据进行差异表达分析,任何从基因组特征上产生的 read count
都可以分析
该算法既可以用于多组实验的统计分析,也可以使用广义线性模型(glm
)方法来对多因子实验数据进行统计分析
不仅可以应用在基因水平,也可以在外显子、转录本水平进行差异分析,我们以基因水平为例
使用 TCGAbiolinks
提供的差异表达分析方法,可以很容易地获取差异基因列表
DEGs.edgeR