专栏首页生信修炼手册背景校正,芯片预处理的第一步!

背景校正,芯片预处理的第一步!

对于芯片数据而言,在分析之前,需要先进行背景校正background correct。所谓背景校正,其本质上都是一个减法,将总体信号看做由探针特异性的结合信号(真实信号)和非特异性结合(噪声信号)两部分组成,背景校正的工作就是从总体信号中减去噪声信号,从而得到真实信号。

具体到应用层面,有多种算法可供选择,在limma包中,通过backgroundCorrect函数提供了各种算法的接口,具体如下

1. substract

将E看做总体信号,将Eb看做背景信号,substract算法如下

E <- E - Eb

直接用总体信号减去背景信号

2. half

half 算法如下

E <- pmax(E - Eb, 0.5)

substract算法校正后的intensity可能为负数,为了避免负值的问题,half算法设置了一个阈值0.5, 当校正后的intensity小于0.5时,直接用0.5作为校正后的intensity。

3. minimum

minimum算法如下

E <- E - Eb
for (slide in 1:ncol(E)) {
    i <- E[, slide] < 1e-18
    if (any(i, na.rm = TRUE)) {
        m <- min(E[!i, slide], na.rm = TRUE)
        E[i, slide] <- m/2
    }
}

和half算法类似,也是为了避免负值问题,对于校正后的每一列,以1e-18作为阈值,小于该阈值的intensity替换为这一列大于该阈值的最小intensity的1/2。

4. movingmin

movingmin算法如下

E <- E - ma3x3.matrix(Eb, FUN = min, na.rm = TRUE)

5. edwards

edwards算法如下

one <- matrix(1, nrow(E), 1)
delta.vec <- function(d, f = 0.1) {
                quantile(d, mean(d < 1e-16, na.rm = TRUE) * (1 +
                        f), na.rm = TRUE)
             }
sub <- E - Eb
delta <- one %*% apply(sub, 2, delta.vec)
E <- ifelse(sub < delta, delta * exp(1 - (Eb + delta)/E), sub)

和half算法类似,也是为了避免负值问题,不同点在于使用一个函数来设置最小intensity。

6. normexp

normexp算法如下

if (!is.null(Eb)) E <- E - Eb
for (j in 1:ncol(E)) {
    if (verbose) cat("Array", j)
        x <- E[, j]
        out <- normexp.fit(x, method = normexp.method)
        E[, j] <- normexp.signal(out$par, x)
        if (verbose) cat(" corrected\n")
    }
})

可以通过官方自带的示例来看下normexp算法的效果

> x <- c(2,3,1,10,3,20,5,6)
> out <- normexp.fit(x)
> normexp.signal(out$par, x=x)
[1] 1.000000e+00 2.000000e+00 4.930469e-07 9.000000e+00 2.000000e+00
[6] 1.900000e+01 4.000000e+00 5.000000e+00

如果对于算法的细节和效果感兴趣,可以详细阅读以下文献

>https://academic.oup.com/bioinformatics/article/23/20/2700/230165

在该文献中,推荐使用normexp算法来处理绝大多数的双通道芯片。

·end·

文章分享自微信公众号:
生信修炼手册

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

作者:lzyg
原始发表时间:2022-04-08
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 手把手教你处理illumina beadchip芯片数据

    在NAD+代谢相关的文献中,使用了两批illumina beadchip的芯片数据进行分析,本文以其中一篇数据为例,详细展示该平台的数据处理流程。

    生信修炼手册
  • 图像背景校正操作错误,结果千差万别......

    在进行图像定量分析之前,必须首先对图像背景进行校正。如果不作此操作,有时可能会出现极大或极小值,批量分析后得到的数据是不可信的。

    Mark Chen
  • cel格式的表达谱芯片数据如何读取?

    后缀为cel的芯片文件,对应的芯片平台为Affymetrix, 针对这一平台的数据,可以通过R包affy来读取,读取时我们需要以下两种文件

    生信修炼手册
  • 基因芯片数据挖掘分析表达差异基因

    基因芯片(genechip)(又称DNA芯片、生物芯片)的原型是80年代中期提出的。基因芯片的测序原理是杂交测序方法,即通过与一组已知序列的核酸探针杂交进行核酸...

    DoubleHelix
  • 教你分析后缀为gpr的芯片数据

    分析芯片数据,我们首先需要确定芯片平台。不同的芯片平台技术不同,既有单通道,也有双通道,而且输出文件的格式也不同。

    生信修炼手册
  • gpr格式的芯片原始数据处理(神技能)

    我在生信技能树和生信菜鸟团都系统性总结过常见GEO数据库的芯片处理技巧,但是也有一些小众芯片我懒得去研发它的流程。但是我们生信技能树R语言之统计可视化讲师小洁却...

    生信技能树
  • 不编程就能完成差异表达分析

    上几周,生信技能树的元老级人物果子发了一篇重量级文章数据库一网打尽:不会编程又怎样,还不照样拿课题发文章! 阅读量逼近4000,还超过了Jimmy的署名文一个全...

    生信技能树
  • aglient芯片原始数据处理

    我多次在学徒作业强调了 3大基因芯片产商里面,就Agilent公司的芯片比较难搞,比如Agilent芯片表达矩阵处理(学徒作业) 以及 oligo包可以处理ag...

    生信技能树
  • 专注于Agilent microRNA 芯片数据的处理R包-AgiMicroRna

    R包作者:Pedro Lopez-Romero 最后一次更新:October 27,2020

    生信技能树
  • 干湿结合发6.68分,这样的套路给我来一打

    目前,纯生信分析发文依然是如火如荼,但随着审稿人的审美疲劳,其口味也越来越挑。纯生信文章不再那么容易满足审稿人的味蕾了,所以,“生信分析+实验验证”也是目前生信...

    百味科研芝士
  • 基因芯片数据分析(二):读取芯片数据

    在microarray的处理中,第一步就是读取数据。无论是自己的保存在本地的数据,还是在线保存的数据,对于不同公司的芯片可以使用不同的软件包读取。在这里,我们说...

    DoubleHelix
  • 文献翻译Complex integrated analysis of lncRNAs-miRNAs-mRNAs in oral squamous cell carcinoma(2)材料和方法

    (HNSCC)从Cancer Genome Atlas下载(TCGA)数据库(https://gdc-portal.nci.nih.gov/)。根据口腔的解剖学...

    用户1359560
  • minfi 分析甲基化芯片数据 - 预处理篇

    在芯片分析中,使用探针的信号强度来衡量表达量,但是探针的信号强度会受到噪声的干扰,所以需要去除背景噪声。

    生信修炼手册
  • B站课程《三阴性乳腺癌表达矩阵探索》笔记之文献解读

    本次文献解读涉及到三篇文章。这里要解读的第一篇是创建数据集的文章,后面的两篇文章在第一篇文章的数据集基础上进行了探索。

    生信技能树
  • 基因芯片数据分析(四):获取差异表达基因

    然而对于大多数生物学工作者而言,学习和使用一种或者多种统计分析手段并不一定非常容易,这需要付出时间和努力。Bioconductor的很多软件包很好的避免了人们为...

    DoubleHelix
  • 使用GenomeStudio 鉴定差异甲基化位点

    在对甲基化芯片进行差异分析之前,必须经过一个数据预处理的环节,预处理包括了归一化和背景降噪两个步骤,接下来看下GenomeStudio中进行差异分析下详细步骤。

    生信修炼手册
  • 续:FPGA设计基本原则及设计思想

    乒乓操作的处理流程为:输入数据流通过“输入数据选择单元”将数据流等时分配到两个数据缓冲区,数据缓冲模块可以为任何存储模块,比较常用的存储单元为双口 RAM(D...

    FPGA技术江湖

扫码关注腾讯云开发者

领取腾讯云代金券