I am trying to conduct a DMR analyses using the DMRcate package, and all seems to work well until the point where I attempt to extract the results. The error says:
snapshotDate(): 2020-04-27 see ?DMRcatedata and browseVignettes('DMRcatedata') for documentation loading from cache Error in h(simpleError(msg, call)) : error in evaluating the argument 'x' in selecting a method for function 'as.data.frame': object 'NCList_find_overlaps_in_groups' not found
I have tried to look on github what it means and my DMR results look fine (1300 regions) I just can't figure it out why this error keeps on showing.
The code for my analyses is bellow:
library(DMRcate) library(IRanges) fit1 <- lmFit(object = Combined_First_Second_M, design = design) #run with lm() fit2 <- eBayes(fit1) #do not worry about this -- in stats we trust fdr=1 #you want the full table results_zscorefull=topTable(fit2, coef = "zscore", number = nrow(Combined_First_Second_M), adjust.method = "BH", p.value = fdr) fit1beta <- lmFit(object = Combined_First_Second_beta, design = design) #run with lm() fit2beta <- eBayes(fit1) #do not worry about this -- in stats we trust fdr=1 #you want the full table results_zscorefullbeta=topTable(fit2beta, coef = "zscore", number = nrow(Combined_First_Second_beta), adjust.method = "BH", p.value = fdr) CpGs <- rownames(results_zscorefull) rownames(results_zscorefull)=as.character(CpGs) annotation_overlap_only=annotation[is.element(annotation$probeID,intersect(annotation$probeID,CpGs)),] annotation_overlap_only_2=arrange(annotation_overlap_only,probeID) annotated <- GRanges(as.character(annotation_overlap_only_2[CpGs,"CpG_chrm" ]), #chromosome IRanges(start=c(annotation_overlap_only_2[CpGs,"CpG_beg"]),end=c(annotation_overlap_only_2[CpGs,"CpG_end"])), #add location #put the same location twice so it recognises as a region stat = results_zscorefull[CpGs,"t"], #t-statistic diff = results_zscorefullbeta[CpGs,"logFC"], #effect size ind.fdr = results_zscorefull$adj.P.Val, #adjusted p-value is.sig = results_zscorefull$adj.P.Val < 0.005) #p-value threshold #logical operator TRUE of FALSE so it recognises later on names(annotated) <- annotation_overlap_only_2$probeID #name each line with the CpG annotated <- sort(annotated) #sorting the CpGs by position on the DNA annotated <- new("CpGannotated", ranges = annotated) #create a "CpGannotated" object DMR <- dmrcate(annotated, lambda=1000, C=2, min.cpgs = 2) #C is an statistical factor, optimal at 2 #minimal number of CpGs that wou would consider to have a DMR default=2 DMR #obtain results resultsRanges <- extractRanges(DMR, genome = "hg38")