Question: DMRcate fails in ChAMP package
0
gravatar for rasmus.rydbirk
2.6 years ago by
rasmus.rydbirk10 wrote:

I get the following errors when running champ.DMR choosing DMRcate as my method. I'm testing on 8 EPIC samples in two groups (4+4). Standard champ.process has been followed so far (BMIQ normalization and impute).


<< Find DMR with DMRcate Method >>
Error in if (nsig == 0) { : missing value where TRUE/FALSE needed
In addition: Warning messages:
1: In if (arraytype == "450K") { :
  the condition has length > 1 and only the first element will be used
2: In if (arraytype == "EPIC") { :
  the condition has length > 1 and only the first element will be used
3: In logit2(assay(object, "Beta")) : NaNs produced
4: In logit2(assay(object, "Beta")) : NaNs produced
5: Partial NA coefficients for 170073 probe(s)

Does anybody know what nsig == 0 means? I can't find any information in the DMRcate manual.

champ • 923 views
ADD COMMENTlink modified 2.6 years ago by Yuan Tian80 • written 2.6 years ago by rasmus.rydbirk10
Answer: DMRcate fails in ChAMP package
2
gravatar for Yuan Tian
2.6 years ago by
Yuan Tian80
London
Yuan Tian80 wrote:
Hello Rasmus: This Error was caused inside DMRcate function, ChAMP used used DMRcate function here. I am about to communicate with the author of DMRcate now since this error already caused my ChAMP paper get rejected... Based on my experience, the bug lines on cpg.annotate.R function, 29 lines. It would happen when your data does not have enough DMP. So for someone have few samples, or not significant comparison groups, it would happen. (Also that's why it's hard for me to debug it out myself because I happen not to have any data set trigger this error......). I tried to debug it once, and I think nsig means number of significant CpGs detected by limma, but sometimes, DMRcate function would return NA for this value. If I solved this problem, I will tell your. Best Yuan Tian
ADD COMMENTlink modified 2.6 years ago • written 2.6 years ago by Yuan Tian80

Thank you for the quick reply!

I was assuming something like that, too few samples --> too few DMPs/DMRs. Also, my test samples are actually from the same group (controls), so it's not that strange that the groups don't differ.

I will test on 16 samples next week (CTRL><case), I will return then with an update on things. Best of luck with your paper!

ADD REPLYlink written 2.6 years ago by rasmus.rydbirk10

Hello Rasmus:

This error would happen sometime if user using cpg.annotate() function in DMRcate() function without assign Data Matrix's type —— "Beta" or "M". It would more likely happen to small datasets. I have fixed this problem in new version package (2.6.1). And author of DMRcate will also make DMRcate more robust.

You may try new version package in 48 hours.

Best

Yuan Tian

ADD REPLYlink written 2.5 years ago by Yuan Tian80

Hello Yuan

Yes, the problem has been resolved, perfect! I'm testing on a Win7x64 machine, I get the error

Error in mclapply(chr.unique, fitParallel, object = object, consec = consec,  : 
  'mc.cores' > 1 is not supported on Windows

when I try to run with more than 1 core. However, using only 1 core gets the job done. I assume no problems will arise on Unix.

Thank you for your help, keep up the good work!

ADD REPLYlink written 2.5 years ago by rasmus.rydbirk10

I encountered the same error. I used few samples (4+6) so I guess that was the reason. However, I can use cpg.annotate to get more DMP by setting the fdr higher (the default value is 0.05).  If I could set the fdr inside DMRcate function when using champ.DMR, I guess the problem could be solved.

ADD REPLYlink written 2.5 years ago by eternalxer0
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 239 users visited in the last hour