我们在进行公共数据挖掘的时候,经常会碰到要对多个数据集联合分析的时候,如果想要把这些数据放到一起进行分析的话,那么首先还是需要先去除批次效应才能进行分析的。之前我们的介绍的数据库的时候,也提到了两个和批次效应有关的数据库。所以今天就来简单的介绍一下这两个数据库。
如果想要了解更多的关于批次效应的内容。可以参考[[批次效应]]
Batch Server
Batch Server(https://lifeinfor.shinyapps.io/batchserver/) 是一个基于R语言构建的在线分析批次效应和去除工具。这个工具除了基本的批次效应矫正,还可以对数据之间的批次影响的情况进行检测。
在这个数据库当中,主要是通过PVCA算法来评估批次对于分组的影响。通过UMAP来可视化批次效应的影响,然后通过SVA包当中的Combat算法来去除批次效应。同时通过fitdistrplus,extraDistr来进行去除后评价
数据准备
既然是在线分析,第一步还是要上传我们准备好的数据。在这个工具当中,主要是上传两个文件:
1. 表达数据: 这个数据当中包括了每个样本的不同的表达量 2. 样本信息数据: 在这个里面包括了每个样本属于哪个批次以及其他样本的信息。
数据评估
在数据上传完之后,我们可以点击Evaluatation 来对上传的数据进行评估。在这里我们可以选择PCVA算法来数据来评估各个批次效应的影响程度。也可以选择UMAP 来计算可视化批次效应的影响。
需要注意的是,PCVA根据作者的介绍这个是用来评价芯片数据的批次效应的。如果是RNA-seq的话。可以酌情使用
批次去除
在评估完之后,点击Correction-ComBat就可以去除批次效应了。在去除完之后,一方面会显示去除后的数据评估。同时点击getResult 就可以获得相关的结果了。
Rank-In
Rank-in(http://www.badd-cao.net/rank-in/index.html)是一个最近刚刚发表的用来去除批次效应的工具 。根据作者的介绍,这个工具可以整合芯片和RNA-seq的数据来进行批次效应去除。
同时作者也评估了这个算法和ComBat这些算法的结果。通过比较,那当然也是说明自己算法好的。
和上面的Batch Server不同。这个工具主要还是用来去除批次的。至于前期的评估就没有设计到里面了。下面,我们就来介绍一下这个工具如何使用吧。
数据上传
在数据的上传方面,这个数据库必须上传的是两个数据集
- 表达数据集: 由于是可以对芯片和RNA-seq联合去除批次的。这个上传的数据,就是把芯片和RNA-seq基于基因名融合到一起的数据。同时,对于RNA-seq而言,使用的需要是FPKM/TPM/TMM这样的数据。而不是Count数据。
- 样本分组数据。在这个部分上传的想要分组的分组数据。而不是说批次数据。比如定义的每个样本是癌还是正常组织的信息。 至于对于每个样本所在的批次数据,在Rank-In当中则是非必须的。我们可以选择上传也可以选择不上传。
结果下载
在数据上传之后,点击提交就可以得到相关的结果。结果主要是包括三个内容
- 批次去除之后的热图
- 批次效应去除后的表达数据
- 批次效应去除后,差异表达分析的结果。这里计算的差异结果是基于Wilcoxon Rank Sum检验来计算相关的P值,进一步再计算相关的FDR。
以上就是Rank-In这个数据库的主要使用方法。有一点需要注意的是,在这个Rank-In发表的文章当中。其题目是对于肿瘤数据的的批次效应去除。这个应该主要还是因为作者在算法评估的时候,是使用的肿瘤的数据,同时也在自己样本验证这个算法的结果的时候也是基于肿瘤数据然后才这么定义的吧。按说应该是其他疾病也可以用的。至于是不是这个原因只是笔者的个人猜想。要是其他疾病想用就酌情使用的哈。
总的来说
以上就是两个用来去除批次效应的工具。其中
- Batch Server使用的是经典的算法。除了基本的批次效应去除还可以在前期检测批次效应和后期检测去除后的结果。
- 而Rank-In则是一个新的算法,这个只是可以用来去除批次以及进行简单的差异分析。
大家可以根据自己的需要选择合适的工具哈。