Question: Error in Champ for Bioconductor analyzing Methlayion array data
0
6 months ago by
University of Pittsburgh
erinkello0 wrote:

Hello,

I am analyzing EPIC array data using the Champ program in Bioconductor. I have successfully generated DMRs between my 4 groups and an having trouble using the DMR.GUI function to view the DRMs. It looks like the program is unsuccessfully generating the contrast matrix using all 4 groups instead of the 2 groups I specified. My code is below. Any help would be appreciated!

DMR.GUI(myDMR, beta = myNorm, pheno = sampleRightOrder$Sample_Group, runDMP = TRUE, compare.group=c("1ECLP", "3ENC"), arraytype = "EPIC") !!! important !!! Since we just upgrated champ.DMP() function, which is now can support multiple phenotypes. Here in DMR.GUI() function, if you want to use "runDMP" parameter, and your pheno contains more than two groups of phenotypes, you MUST specify compare.group parameter as compare.group=c("A","B") to get DMP value between group A and group B. [ Section 1: Calculate DMP Start ] You pheno is factor type. Your pheno information contains following groups. >> <1ECLP>:7 samples. <3ENC>:8 samples. <4NEC>:8 samples. <2NECLP>:8 samples. Your pheno contains more than 2 phenotypes, please use compare.group to specify only two of them here. Your compare.group is in accord with your pheno, which is good, now we are about to extract information for your compare.group. Calculating DMP [===========================] ## [<<<<< ChAMP.DMP START >>>>>] !!! Important !!! New Modification has been made on champ.DMP(): (1): In this version champ.DMP() if your pheno parameter contains more than two groups of phenotypes, champ.DMP() would do pairewise differential methylated analysis between each pair of them. But you can also specify compare.group to only do comparasion between any two of them. (2): champ.DMP() now support numeric as pheno, and will do linear regression on them. So covariates like age could be inputted in this function. You need to make sure your inputted "pheno" parameter is "numeric" type.  [ Section 1: Check Input Pheno Start ] You pheno is factor type. Your pheno information contains following groups. >> <1ECLP>:7 samples. <3ENC>:8 samples. [The power of statistics analysis on groups contain very few samples may not strong.] pheno contains only 2 phenotypes Your compare.group parameter is in accord with your pheno. Two pheno types has been added into Compare List. 1ECLPto3ENC compare group : 1ECLP, 3ENC [ Section 1: Check Input Pheno Done ] [ Section 2: Find Differential Methylated CpGs Start ] Start to Compare : 1ECLP, 3ENC Contrast Matrix Contrasts Levels p2NECLP-p1ECLP p1ECLP -1 p2NECLP 1 p3ENC 0 p4NEC 0 Coefficients not estimable: p2NECLP p4NEC Error in contrasts.fit(fit, contrast.matrix) : trying to take contrast of non-estimable coefficient In addition: Warning message: Partial NA coefficients for 717600 probe(s) ADD COMMENTlink modified 6 months ago by Yuan Tian110 • written 6 months ago by erinkello0 Answer: Error in Champ for Bioconductor analyzing Methlayion array data 1 6 months ago by Yuan Tian110 University College London Yuan Tian110 wrote: Hi: The error should be caused by NA value in your pheno parameter. Please try to remove them. Best Yuan Tian ADD COMMENTlink written 6 months ago by Yuan Tian110 Upon further analysis, I removed two columns that had na values and then added a column to my sample sheet that sorted my phenotypes by exposure as a workaround so I could have a column that only contained 2 phenotypes. This column had only two groups "exposed" and "not exposed". I ran the full champ pipeline successfully using this. However, I now want to again compare only two phenotypes out the 4 phenotypes that are in my original sample group column. I've checked both my sample sheet and myNorm sheet for NA values and the code returned 0 for both. I did have one sample fail QC, and it was removed successfully. Is there something i'm missing here? DMP1v2<- champ.DMP(beta = myNorm, pheno = sampleRightOrder$Sample_Group, compare.group = c('1ECLP', '3ENC'), adjPVal = 0.05, arraytype = "EPIC")
[===========================]
[<<<<< ChAMP.DMP START >>>>>]
-----------------------------
!!! Important !!! New Modification has been made on champ.DMP():

(1): In this version champ.DMP() if your pheno parameter contains more than two groups of phenotypes, champ.DMP() would do pairewise differential methylated analysis between each pair of them. But you can also specify compare.group to only do comparasion between any two of them.

(2): champ.DMP() now support numeric as pheno, and will do linear regression on them. So covariates like age could be inputted in this function. You need to make sure your inputted "pheno" parameter is "numeric" type.

--------------------------------

[ Section 1:  Check Input Pheno Start ]

You pheno is factor type.
Your pheno information contains following groups. >>
<1ECLP>:7 samples.
<3ENC>:8 samples.
<4NEC>:8 samples.
<2NECLP>:8 samples.
[The power of statistics analysis on groups contain very few samples may not strong.]
pheno contains 4 phenotypes
Your compare.group parameter is in accord with your pheno. Two pheno types has been added into Compare List.
1ECLP_to_3ENC compare group : 1ECLP, 3ENC

[ Section 1:  Check Input Pheno Done ]

[ Section 2:  Find Differential Methylated CpGs Start ]

-----------------------------
Start to Compare : 1ECLP, 3ENC
Contrast Matrix
Contrasts
Levels    p2NECLP-p1ECLP
p1ECLP              -1
p2NECLP              1
p3ENC                0
p4NEC                0
Coefficients not estimable: p2NECLP p4NEC
Error in contrasts.fit(fit, contrast.matrix) :
trying to take contrast of non-estimable coefficient
Partial NA coefficients for 717600 probe(s)


The error seems wired, I never met this, but I slightly suspect the reason could be your name: 1ECLP, 3ENC are both started with number instead of letter, which might be a problem.

I need to do some further check here, will respond to you soon.

Best Yuan Tian

I did some test, but did not see any problem, could you tell me which version of ChAMP are you using ?

I'm using version ChAMP_2.12.2 .

Um... Have you check if of the order of your beta matrix's column name is identical to your phone? And are you using public data set? for example GEO or TCGA? If so I may have a check on the data set as well.

And you may email me to champ450K@gmail.com.