app开发者平台在数字化时代的重要性与发展趋势解析
1368
2022-11-25
ChAMP 分析甲基化芯片数据-归一化篇
champ.norm 函数提供了归一化的功能,支持下列4种归一化的算法:
BMIQPBCSWANFunctionalNormalization
其中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 指定芯片类型,可选值包括450K和EPIC, 默认值为450K对于实际的数据,首先根据芯片类型设置arraytype 参数,然后调整method参数,选择对应的归一化算法。
归一化的本质,是对探针的beta 值进行校正,使得重复样本之间的beta值分布更加的接近,减少重复样本间的差异。
同一批数据用不同的归一化算法处理的结果如下
归一化之前的beta 值
> head(myLoad$beta[,1:2]) NA17105-M_Rep1 A431_Rep1cg00000957 0.83336578 0.89863953cg00001349 0.89693013 0.91727435cg00001583 0.31668180 0.89555041cg00002028 0.03069992 0.07360386cg00002719 0.04955457 0.96706172cg00003202 0.01592223 0.02398773
SWAN归一化之后的beta 值
> myNorm <- champ.norm(method=”SWAN”)> head(myNorm[,1:2]) NA17105-M_Rep1 A431_Rep1cg00000957 0.78674711 0.85207202cg00001349 0.85706454 0.87576751cg00001583 0.30066157 0.85079557cg00002028 0.03740574 0.07020499cg00002719 0.05894663 0.95375422cg00003202 0.01998307 0.02665266
FunctionalNormalization归一化之后的beta 值
> myNorm <- champ.norm(method=”FunctionalNormalization”)> head(myNorm[,1:2]) NA17105-M_Rep1 A431_Rep1cg00000957 0.90190549 0.878153237cg00001349 0.94130604 0.903431781cg00001583 0.43190955 0.884323706cg00002028 0.10881798 0.036831578cg00002719 0.19784471 0.943513834cg00003202 0.05519015 0.008457334
PBC 归一化之后的beta值
> myNorm <- champ.norm(method=”PBC”)> head(myNorm[,1:2]) NA17105-M_Rep1 A431_Rep1cg00000957 0.83336578 0.89863953cg00001349 0.89693013 0.91727435cg00001583 0.31668180 0.89555041cg00002028 0.03069992 0.07360386cg00002719 0.04955457 0.96706172cg00003202 0.01592223 0.02398773
BMIQ 归一化之后的beta值
> myNorm <- champ.norm(method=”BMIQ”)> head(myNorm[,1:2]) NA17105-M_Rep1 A431_Rep1cg00000957 0.83336578 0.89863953cg00001349 0.89693013 0.91727435cg00001583 0.31668180 0.89555041cg00002028 0.03069992 0.07360386cg00002719 0.04955457 0.96706172cg00003202 0.01592223 0.02398773
对比归一化前后的结果可以看出,beta值发生了变化,其中SWAN和FunctionalNormalization对于原始beta值的调整比较大,可以很明显的看到归一化前后的差别。
BMIQ和PBC 算法对beta值调整的幅度很小,如果直接看数字,是看不出差别的,可能是小数点后十几位有区别。总而言之,归一化前后,发生变化的就是beta 值。
当数据归一化之后,就可以进行后续的差异分析了。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~