欢迎关注”生信修炼手册”!
SVA适用于高维数据的批次效应校正,支持以下数据
1. 基因芯片
2. RNA-seq
3. 甲基化表达谱
4. 其他表达量数据
提供了两种方法来处理不同的批次效应
1. 直接校正已知的batch effect, 使用ComBat 函数
2. 识别未知的batch effect,并校正,使用sva函数
需要注意的是,在校正批次效应之前,表达量数据必须经过归一化操作,而且去除了缺失的基因,比如在80%的样本中没有表达量的基因。
除了表达量矩阵外,还要求提供以下两种设计矩阵model matrix
1. null model,只包含adjustment variable, 即需要校正批次效应的变量
2. full model, 包含了adjustment variable + interest variable,包含所有的变量
两个函数的具体用法如下
1. ComBat
ComBat函数提供了基于经验贝叶斯框架的校正模型,具体的原理可以查看对应的文章
https://academic.oup.com/biostatistics/article/8/1/118/252073?login=false
对于该函数的使用,完整代码如下
> library(sva)
> library(bladderbatch)
> data(bladderdata)
> pheno = pData(bladderEset)
> edata = exprs(bladderEset)
> batch = pheno$batch
# 样本的metadata
> head(pheno)
sample outcome batch cancer
GSM71019.CEL 1 Normal 3 Normal
GSM71020.CEL 2 Normal 2 Normal
GSM71021.CEL 3 Normal 2 Normal
GSM71022.CEL 4 Normal 3 Normal
GSM71023.CEL 5 Normal 3 Normal
GSM71024.CEL 6 Normal