I need help getting the RnBeads pipeline to complete on my data. My data is located in my dirs$data directory (defined below) and has a file named "betas.txt" and "sample_annotation.txt". Betas.txt has rownames (probe names) as the first column, and sample IDs as the first row (with the first element of that row blank). In terms of quality control, I have no p-values - just the methylation / (methylation+unmethylated) Beta scores, which to my understanding doesn't trip up the analysis pipeline.
data450k <- read.table("rawDataAll.txt", header=TRUE)
dirs <- list(data="~/Downloads/450K/raw.data/",
annotation="~/Downloads/450K/raw.data/sample_annotation.txt",
analysis="~/Downloads/450K/results/",
reports="~/Downloads/450K/results/reports")
rnb.getOption("import.table.separator")
rnb.options(filtering.sex.chromosomes.removal=TRUE,
import.table.separator="\t", identifiers.column="Sample_ID")
pheno <- read.table(dirs$annotation, sep="\t", header=TRUE)
data.source <- RnBeadSet(pheno=pheno, betas=as.matrix(data450k), probes = rownames(data450k))
unlink(dirs$reports, recursive=TRUE) # to avoid the "directory cannot already exist" error message
result <- rnb.run.analysis(dir.reports=dirs$reports,
data.source=data.source,
data.type="rnb.set")
The RnBeads pipeline proceeds almost entirely to the end, but I error on the below, which I'm finding online to be a common issue in the past month. I tried to manually change the data.frame2GRanges() method, but I don't think I'm deleting the right line. Can you help me get around this bug?
Error in DataFrame(..., check.names = FALSE) :
formal argument "check.names" matched by multiple actual arguments
My traceback is pasted below, with "..." in between very long seqnames and strand character vectors:
DataFrame(..., check.names = FALSE)
is(mcols, "DataFrame")
newGRanges("GRanges", seqnames = seqnames, ranges = ranges, strand = strand,
mcols = DataFrame(..., check.names = FALSE), seqlengths = seqlengths,
seqinfo = seqinfo)
(function (seqnames = Rle(), ranges = NULL, strand = NULL, ...,
seqlengths = NULL, seqinfo = NULL)
{
newGRanges("GRanges", seqnames = seqnames, ranges = ranges,
strand = strand, mcols = DataFrame(..., check.names = FALSE),
seqlengths = seqlengths, seqinfo = seqinfo)
})(seqnames = c("chr1", ... , "chr22"), ranges = <S4 object of class "IRanges">,
strand = c(1L, ... 1L), check.names = FALSE)
do.call(GRanges, param.list)
data.frame2GRanges(anno.sites, ids = NULL, chrom.column = "Chromosome",
start.column = "Start", end.column = "End", strand.column = "Strand",
assembly = assembly(rnb.set), sort.result = FALSE)
rnb.RnBSet.to.GRangesList(rnb.set, reg.type = reg.type, return.regular.list = TRUE)
rnb.RnBSet.to.bed(rnb.set, bed.dir, reg.type = reg.type, names.quant.meth = TRUE)
rnb.export.to.trackhub(rnb.set, out.dir.cur, reg.type = rr, ana.name = paste("RnBeads Analysis -- ",
rr, ",bigBed", sep = ""), ana.desc = paste(rr, "methylation (bigBed)"),
data.type = "bigBed", ...)
rnb.execute.tnt(rnb.set, rnb.get.directory(report, "data", absolute = TRUE),
exp.bed = rnb.getOption("export.to.bed"), exp.trackhub = rnb.getOption("export.to.trackhub"),
email = provided.email)
rnb.run.tnt(rnb.set, dir.reports)
rnb.run.analysis(dir.reports = dirs$reports, data.source = data.source,
data.type = "rnb.set")