This is a test version of Biostars. For the public version, visit https://www.biostars.org.
DMRcate: extractRanges error

Hello,

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")
dmrcate

0 answers

No answers yet.

Log in to answer this question.