前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >ChAMP 分析甲基化芯片数据-归一化篇

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

作者头像
生信修炼手册
发布2020-05-10 10:42:05
发布2020-05-10 10:42:05
1.2K0
举报
文章被收录于专栏:生信修炼手册生信修炼手册

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 值。

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • method
  • arraytype
  • 归一化之前的beta 值
  • SWAN归一化之后的beta 值
  • FunctionalNormalization归一化之后的beta 值
  • PBC 归一化之后的beta值
  • BMIQ 归一化之后的beta值
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档