champ.norm
函數(shù)提供了歸一化的功能怕午,支持下列4種歸一化的算法:
- BMIQ
- PBC
- SWAN
- FunctionalNormalization
其中BMIQ和PBC 算法都是只針對(duì)探針的beta 矩陣進(jìn)行歸一化司志,而SWAN和FunctionalNormalization則需要在數(shù)據(jù)導(dǎo)入階段采用minfi
的算法算行。
函數(shù)用法示例
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.]
對(duì)于這個(gè)函數(shù),有幾個(gè)關(guān)鍵參數(shù)需要調(diào)整
method
method 參數(shù)指定歸一化的算法,可選值包括BMIQ
, PBC
, SWAN
, FunctionalNormalization
, 默認(rèn)值為BMIQ
arraytype
arraytype 指定芯片類型梆砸,可選值包括450K
和EPIC
, 默認(rèn)值為450K
對(duì)于實(shí)際的數(shù)據(jù)凭戴,首先根據(jù)芯片類型設(shè)置arraytype
參數(shù),然后調(diào)整method參數(shù)酪碘,選擇對(duì)應(yīng)的歸一化算法朋譬。
歸一化的本質(zhì),是對(duì)探針的beta 值進(jìn)行校正兴垦,使得重復(fù)樣本之間的beta值分布更加的接近徙赢,減少重復(fù)樣本間的差異。
同一批數(shù)據(jù)用不同的歸一化算法處理的結(jié)果如下
歸一化之前的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
對(duì)比歸一化前后的結(jié)果可以看出探越,beta值發(fā)生了變化狡赐,其中SWAN
和FunctionalNormalization
對(duì)于原始beta值的調(diào)整比較大,可以很明顯的看到歸一化前后的差別钦幔。
BMIQ
和PBC
算法對(duì)beta值調(diào)整的幅度很小枕屉,如果直接看數(shù)字,是看不出差別的鲤氢,可能是小數(shù)點(diǎn)后十幾位有區(qū)別搀擂。總而言之卷玉,歸一化前后哨颂,發(fā)生變化的就是beta 值。
當(dāng)數(shù)據(jù)歸一化之后揍庄,就可以進(jìn)行后續(xù)的差異分析了咆蒿。