Entering edit mode
Initially, I have pre-downloaded all the raw files for meta-analysis from GEO in the wd. Then, I run the following code:
> library(crossmeta)
> # specify where data will be downloaded
> data_dir <- file.path(getwd())
> # gather all GSEs
> gse_names <- c("GSE88", "GSE89", "GSE3167")
> get_raw(gse_names, data_dir)
> esets <- load_raw(gse_names, data_dir)
After get_raw
, the .cel files are successfully extracted from .tar raw files. But, after load_raw
I get the following error message:
https://ftp.ncbi.nlm.nih.gov/geo/series/GSEnnn/GSE88/matrix/
Error in function (type, msg, asError = TRUE) :
error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘annotation’ for signature ‘"character"’
My sessionInfo()
are:
R version 4.0.3 (2020-10-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19041)
crossmeta_1.16.1 GEOquery_2.58.0 Biobase_2.50.0
The traceback()
information are:
8: stop(gettextf("unable to find an inherited method for function %s for signature %s",
sQuote(fdef@generic), sQuote(cnames)), domain = NA)
7: (function (classes, fdef, mtable)
{
methods <- .findInheritedMethods(classes, fdef, mtable)
if (length(methods) == 1L)
return(methods[[1L]])
else if (length(methods) == 0L) {
cnames <- paste0("\"", vapply(classes, as.character,
""), "\"", collapse = ", ")
stop(gettextf("unable to find an inherited method for function %s for signature %s",
sQuote(fdef@generic), sQuote(cnames)), domain = NA)
}
else stop("Internal error in finding inherited methods; didn't return a unique method",
domain = NA)
})(list("character"), new("standardGeneric", .Data = function (object,
...)
standardGeneric("annotation"), generic = structure("annotation", package = "BiocGenerics"),
package = "BiocGenerics", group = list(), valueClass = character(0),
signature = "object", default = NULL, skeleton = (function (object,
...)
stop("invalid call in method dispatch to 'annotation' (no default method)",
domain = NA))(object, ...)), <environment>)
6: FUN(X[[i]], ...)
5: lapply(X = X, FUN = FUN, ...)
4: sapply(eset, Biobase::annotation)
3: paste0(sapply(eset, Biobase::annotation), ".soft", collapse = "|")
2: load_plat(gse_name, data_dir, gpl_dir, ensql)
1: load_raw(gse_names, data_dir)
Cross-posted: https://www.biostars.org/p/489655/
The error is reported a lot on other forums but in relation to other issues, usually Git. Have you tried to re-install crossmeta and verify that it completes with no warnings?
Thank you for the response. I uninstall the package and install it again with no warnings. The same problem appears.
Please try the latest dev version from github and let me know if the issue persists:
install.packages('remotes'); remotes::install_github('alexvpickering/crossmeta')
. I have also uploaded the saved esets here.Alex thank you for the reply. I 've installed the dev version (1.17.14). I downloaded the .rds files and put them in the appropriate folders and the issue resolved. The esets are created successfully. What are the .rds files? The .cel files are not enough? I see that the problem was that the .rds files were not created.
THE
.rds
files are a binary R file format that is being used in this case to persist the loadedExpressionSet
's to disk for subsequent calls toload_raw
. I am not able to reproduce the issue you have but my guess is that it is related to networking (SSL). I would delete the existing GSE* folders and re-run the commands incase of a incompletely downloaded file. You could also try settingoptions(timeout=120)
to allow longer for downloads oroptions("download.file.method.GEOquery" = method)
where method is one of themethod
argument options from?download.file
. If that doesn't fix the issue I would try to run it in another environment (e.g. an AWS EC2 instance). You could also try the above with just onegse_name
at a time in order to figure out if it is a particular series or all of them that is causing the issue.When I delete the existing GSE folders and re-run the commands, I get this error:
I also tried
options("download.file.method.GEOquery" = method)
using"internal"
,"wininet"
,"libcurl"
,"wget"
and"curl"
with no success. It seems that now (that I deleted the files) I have this kind of problem: https://www.biostars.org/p/451168/ https://www.biostars.org/p/438641/. I tried these on RStudio cloud and all worked fine. So, there is an issue withdownload.file
on Windows.I would like to mention that
get_raw()
function gives the above mentioned error, but when I use GEOquery packagetrying URL https://ftp.ncbi.nlm.nih.gov/geo/series/GSEnnn/GSE88/suppl//GSE88_RAW.tar?tool=geoquery
the .tar files are downloaded normally.