Entering edit mode
3.8 years ago
macsuejacques
•
0
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")