Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Install issues + missing functions in installed package #97

Closed
AndreaLGardner opened this issue May 16, 2024 · 4 comments
Closed

Install issues + missing functions in installed package #97

AndreaLGardner opened this issue May 16, 2024 · 4 comments

Comments

@AndreaLGardner
Copy link

Installation would not complete. I tried a few things, including setting dependencies=TRUE but I think it was creating a separate prior install of GSVA via BiocManager::install("GSVA") that may have been the major fix for me.

After getting a completed install, I found that the core functions escape.matrix() and runEscape() were missing from the package.

This was true when installed via bioconductor and through devtools.

lsf.str("package:escape")

enrichIt : function (obj, gene.sets = NULL, method = "ssGSEA", groups = 1000, cores = 2, min.size = 5, ssGSEA.norm = FALSE,
...)
enrichmentPlot : function (obj, gene.set, gene.sets, group, colors = c("#0D0887FF", "#7E03A8FF", "#CC4678FF", "#F89441FF",
"#F0F921FF"))
getGeneSets : function (species = "Homo sapiens", library = NULL, subcategory = NULL, gene.sets = NULL)
getSignificance : function (enriched, group = NULL, gene.sets = NULL, fit = NULL)
masterPCAPlot : function (enriched, gene.sets, PCx, PCy, top.contribution = 10)
pcaEnrichment : function (PCAout, PCx, PCy, colors = c("#0D0887FF", "#7E03A8FF", "#CC4678FF", "#F89441FF", "#F0F921FF"), contours = TRUE,
facet = NULL)
performPCA : function (enriched, gene.sets = NULL, groups)
ridgeEnrichment : function (enriched, group = "cluster", gene.set = NULL, scale.bracket = NULL, facet = NULL, add.rug = FALSE,
colors = c("#0D0887FF", "#7E03A8FF", "#CC4678FF", "#F89441FF", "#F0F921FF"))
splitEnrichment : function (enriched, x.axis = NULL, scale.bracket = NULL, split = NULL, gene.set = NULL, colors = c("#0D0887FF",
"#7E03A8FF", "#CC4678FF", "#F89441FF", "#F0F921FF"))

This seems like such a neat tool, I look forward to using it. Please let me know if I am doing something wrong here or if code needs to be updated on the back end. Thank you!

@ncborcherding
Copy link
Member

Hey Andrea,

It looks like you have installed a prior version of escape - specifically one with enrichIt() as the major method for calculation. This has been supplanted by escape.matrix() and runEscape() in escape >= v2. An added complexity is that the newest version of GSVA have broken all v1 escape.

How are you calling the install? For the bioconductor version, are you using the 3.19 release?

Sorry for the trouble, hope we can find a fix.

Nick

@AndreaLGardner
Copy link
Author

I did not specify a version during install, just BiocManager::install("escape")

Upon specifying version with BiocManager::install("escape", version = "3.19"), I received this error message:

Error: Bioconductor version '3.19' requires R version '4.4'; use version = '3.18' with R version 4.3; see
https://bioconductor.org/install

I have updated bioconductor to 3.18, but working on a shared server without admin access means I can't update base R to 4.4 without launching a container and escape will not install properly in this configuration.

On my local machine, upgrading to R 4.4.0 and bioconductor 3.19 allowed proper install and use of escape! But this does mean that the brand new version of R is requisite to install escape in its current build.

All together, I assume this means that my version of bioconductor originally tried to match my R version (4.3.1) to an older version of escape without informing me that it was doing that, leading to issues. An error should be returned during install and a note should be included in the setup docs if >= 4.4.0 is required.

Thanks for helping me troubleshoot! I will work on building a Docker container to move my analysis to the server now that we have found the issue.

@AndreaLGardner
Copy link
Author

Update: I must have installed it locally using devtools after failing at bioconductor. I learned this in trying set up a docker container to run this on a server. Details below.

My first attempt at building my image with escape through bioconductor was not successful. The image completed the build, but when I opened the container, escape was not installed. To troubleshoot, I tried to install escape inside the container through bioconductor (v3.19, R version 4.4.0) and received these error messages:

Warning messages:
1: In install.packages(...) :
installation of package ‘SpatialExperiment’ had non-zero exit status
2: In install.packages(...) :
installation of package ‘GSVA’ had non-zero exit status
3: In install.packages(...) :
installation of package ‘escape’ had non-zero exit status

With the same container opened, I then tried installing via devtools and found success!

Given that devtools seemed to work, I changed my dockerfile and rebuilt the image installing just from devtools. But the new container also did not have escape installed. Hmmmmm.

The way in which I was able to get it to work was to attempt and fail the bioconductor install and then do the devtools install. I assume this means that bioconductor is installing some necessary packages (before failing at SpatialExperiment and GVSA) that might be missing from the devtools call.

So my conclusions are that in its current state this is the order of operations to get a working install:

  1. Make sure R is version 4.4
  2. Run BiocManager::install('escape')
  3. Run devtools::install_github("ncborcherding/escape")

Hopefully these details assist others with their installs and help y'all fix what needs to be fixed to streamline installation.

And thanks again for building this tool, it is exactly what I have been looking for!

@ncborcherding
Copy link
Member

Thank you so much for the excellent rundown and follow-up. Neither GSVA nor escape requires R v4.4 - that is a requirement of BiocManager. Users should be able to get around that by installing directly from the github repo.

Again thanks a lot and please let me know if you have any other issues.

Nick

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants