GEO数据集整合原则及去批次处理方法总结
当数据集样本不够时,我们通常考虑把数据集整合起来扩大样本的数量以便于后续的分析或建模等等。
而在使用多个GEO数据集进行Bulk组织RNAseq数据分析的时候,常常会遇到批次效应的问题,今天分享GEO数据集合并的原则和两个去除Bulk组织中批次效应的方法。
⏩数据集合并原则:
- 主流的测序公司有三家:Affymetrix与Illumina、Agilent,不同平台的基因芯片对probe intensity算法不同,不建议合并。在样本量较少的情况下,仅合并相同平台的数据集,例如,都为GPL570平台的芯片。
- 当找不到一样的芯片,建议找同系列的芯片进行合并。
- 如果上述要求都没有办法满足,那么只合并相同公司的数据集。不建议合并不同公司的数据集。
⏩什么是批次效应?
批次效应(Batch Effect)是指的是在实验过程中引入的非生物学的技术或实验变异,可能源自实验的不同运行批次、不同的实验人员、仪器的不同或者实验条件的变化等。
- 数据不一致性:批次效应导致同样的生物样本在不同批次中产生不一致的测量结果。
- 掩盖生物学信号:批次效应可能掩盖了真实的生物学差异。
- 增加噪声:批次效应增加了数据的噪声,降低了实验的灵敏度和准确性。
- 降低可重复性:如果批次效应没有被适当地控制和校正,那么实验的可重复性和可比性将会降低。
⏩怎么去批次效应?
使用统计方法来校正批次效应。这包括ComBat、SVA、PCA校正等方法,可以在数据分析之前对数据进行批次校正。要明确的是,无论采用何种校正算法,都是以提高假阴性为代价,校正不当,则更甚,提高假阳性。
⏩R语言实现去批次效应整合数据
以GSE68183和GSE80178数据集为例,这两个数据集都是来自GPL16686平台的芯片数据。获取GSE68183和GSE80178数据集的表达矩阵并对其进行基因注释,由于下载的数据标准化方式不一样,所以需要对统一标准化。接下来使用两种常用的方法:sva包的combat算法和limma包的removeBatchEffect函数去除批次效应。
✅combat算法去除批次效应
准备数据:基因表达矩阵,数据集批次信息。
➢首先载入需要的R包,读入需要合并的基因表达数据(行为基因,列为样本),并将数据框转换为矩阵。

➢接着使用limma包的normalizeBerweenArrays函数对GEO数据集进行标准化,先对每一个数据集消除样本与样本之间的误差,使样本与样本之间具有可比较性。

➢获取两个数据集之间的共同基因进行合并,接着获取每个数据集的分组信息,利用分组信息对数据集进行批次矫正。

➢并对去批次效应前后的不同数据集的基因表达分析情况进行可视化:左图为去批次效应之前,右图为去批次效应之后,可见数据集的基因表达分布更加均匀。


图 1 combat算法去批次处理前后
✅Limma包去除批次效应
输入数据:基因表达矩阵,数据集批次信息,样本分组信息。(limma包去除批次效应,除了输入批次信息外,还需要样本分组信息。)
➢与上述步骤一样载入所需要的R包,并进行数据预处理,获取两个数据集的共同基因进行合并,接着获取数据集的批次信息、样本的分组信息对数据集进行批次矫正。

➢绘制箱线图查看其去批次效应的效果,左图为去批次效应之前,右图为去批次效应之后,同样去批次效应之后数据集的基因表达分布更加均匀。


图 2 limma包批次处理前后
最后编辑于 2024-03-28 · 浏览 1869