美文网首页Bioinformatics甲基化芯片DNA甲基化
ChAMP 分析甲基化芯片数据-归一化篇

ChAMP 分析甲基化芯片数据-归一化篇

作者: 生信修炼手册 | 来源:发表于2018-05-23 12:28 被阅读22次

    champ.norm 函数提供了归一化的功能,支持下列4种归一化的算法:

    1. BMIQ
    2. PBC
    3. SWAN
    4. FunctionalNormalization

    其中BMIQ和PBC 算法都是只针对探针的beta 矩阵进行归一化,而SWAN和FunctionalNormalization则需要在数据导入阶段采用minfi的算法。
    函数用法示例

    myNorm <- champ.norm()
    [===========================]
    [>>>>> ChAMP.NORM START <<<<<<]
    champ.norm Results will be saved in ./CHAMP_Normalization/
    [ SWAN method call for BOTH rgSet and mset input, FunctionalNormalization call for rgset only , while PBC and BMIQ only needs beta value. Please set parameter correctly. ]
    << Normalizing data with BMIQ Method >>
    Note that,BMIQ function may fail for bad quality samples (Samples did not even show beta distribution).
    3 cores will be used to do parallel BMIQ computing.
    [>>>>> ChAMP.NORM END <<<<<<]
    [===========================]
    [You may want to process champ.SVD() next.]

    对于这个函数,有几个关键参数需要调整

    method

    method 参数指定归一化的算法,可选值包括BMIQ, PBC, SWAN, FunctionalNormalization, 默认值为BMIQ

    arraytype

    arraytype 指定芯片类型,可选值包括450KEPIC, 默认值为450K
    对于实际的数据,首先根据芯片类型设置arraytype 参数,然后调整method参数,选择对应的归一化算法。

    归一化的本质,是对探针的beta 值进行校正,使得重复样本之间的beta值分布更加的接近,减少重复样本间的差异。

    同一批数据用不同的归一化算法处理的结果如下

    归一化之前的beta 值

    > head(myLoad$beta[,1:2])
              NA17105-M_Rep1  A431_Rep1
    cg00000957     0.83336578 0.89863953
    cg00001349     0.89693013 0.91727435
    cg00001583     0.31668180 0.89555041
    cg00002028     0.03069992 0.07360386
    cg00002719     0.04955457 0.96706172
    cg00003202     0.01592223 0.02398773

    SWAN归一化之后的beta 值

    > myNorm <- champ.norm(method=”SWAN”)
    > head(myNorm[,1:2])
              NA17105-M_Rep1  A431_Rep1
    cg00000957     0.78674711 0.85207202
    cg00001349     0.85706454 0.87576751
    cg00001583     0.30066157 0.85079557
    cg00002028     0.03740574 0.07020499
    cg00002719     0.05894663 0.95375422
    cg00003202     0.01998307 0.02665266

    FunctionalNormalization归一化之后的beta 值

    > myNorm <- champ.norm(method=”FunctionalNormalization”)
    > head(myNorm[,1:2])
              NA17105-M_Rep1   A431_Rep1
    cg00000957     0.90190549 0.878153237
    cg00001349     0.94130604 0.903431781
    cg00001583     0.43190955 0.884323706
    cg00002028     0.10881798 0.036831578
    cg00002719     0.19784471 0.943513834
    cg00003202     0.05519015 0.008457334

    PBC 归一化之后的beta值

    > myNorm <- champ.norm(method=”PBC”)
    > head(myNorm[,1:2])
              NA17105-M_Rep1  A431_Rep1
    cg00000957     0.83336578 0.89863953
    cg00001349     0.89693013 0.91727435
    cg00001583     0.31668180 0.89555041
    cg00002028     0.03069992 0.07360386
    cg00002719     0.04955457 0.96706172
    cg00003202     0.01592223 0.02398773

    BMIQ 归一化之后的beta值

    > myNorm <- champ.norm(method=”BMIQ”)
    > head(myNorm[,1:2])
              NA17105-M_Rep1  A431_Rep1
    cg00000957     0.83336578 0.89863953
    cg00001349     0.89693013 0.91727435
    cg00001583     0.31668180 0.89555041
    cg00002028     0.03069992 0.07360386
    cg00002719     0.04955457 0.96706172
    cg00003202     0.01592223 0.02398773

    对比归一化前后的结果可以看出,beta值发生了变化,其中SWANFunctionalNormalization对于原始beta值的调整比较大,可以很明显的看到归一化前后的差别。

    BMIQPBC 算法对beta值调整的幅度很小,如果直接看数字,是看不出差别的,可能是小数点后十几位有区别。总而言之,归一化前后,发生变化的就是beta 值。

    当数据归一化之后,就可以进行后续的差异分析了。

    相关文章

      网友评论

        本文标题:ChAMP 分析甲基化芯片数据-归一化篇

        本文链接:https://www.haomeiwen.com/subject/uzkrjftx.html