Hi, I am trying to upload a rds file as resource into a DataSHIELD project in order to perform DGE analysis on it. (All of the following was run as system administrator). I tried using the airway pre-defined R object (RangedSummarizedExperiment). On dataSHIELD, I created a project named AIRWAY and then uploaded the file with:
saveRDS(airway, "airway.rds")
opal.file_upload(o, "./airway.rds", "/projects/AIRWAY")
opal.resource_create(o, "AIRWAY", "airway", url = "opal+https://127.0.0.1:443/ws/files/projects/AIRWAY/airway.rds")
opal.resource_perm_add(o, "AIRWAY", "airway", subject = “administrator”, type = "user", permission = "view")
However when trying to retrieve and use this object in R using
builder <- newDSLoginBuilder()
builder$append(server = "server1", url = "https://127.0.0.1:443",
user = "administrator", password = “P@ssw0rd”,
driver = "OpalDriver",
options='list(ssl_verifyhost=0, ssl_verifypeer=0)')
logindata <- builder$build()
conns <- datashield.login(logins = logindata, assign = TRUE, symbol = "res")
datashield.resources(conns)
datashield.assign.resource(conns, "rse", "RSRC.prova")
datashield.assign.expr(conns, "res", quote(as.resource.object(rse, strict = TRUE)))
I get
datashield.errors()
✖ server1: Command 'org.obiba.opal.web.datashield.DataShieldSymbolResourceImpl$DataShieldROperation@79ab4556'
failed on 'server1': Error while evaluating 'is.null(base::assign('rse',
resourcer::newResourceClient(resourcer::newResource(name='airway.rds',
url='opal+https://127.0.0.1:443/ws/files/projects/AIRWAY/airway.rds', identity=NULL, secret=NULL,
format=NULL))))' -> Error in resolveResource(x) : No resolver could be found for resource:
opal+https://127.0.0.1:443/ws/files/projects/AIRWAY/airway.rds
Is this the correct procedure to upload and use an rds file as resource into DataSHIELD? If not, can you please indicate the correct way of doing so?
Francesco