-
Notifications
You must be signed in to change notification settings - Fork 63
Document best way to handle BioConductor package dependencies for CRAN packages. #210
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
Comments
would you like to make a PR for that @noamross? :-) |
@noamross how does this work?! I can't find the related code via https://github.com/wch/r-source/search?utf8=%E2%9C%93&q=biocViews&type= and I only know of the |
For https://cran.r-project.org/web/packages/aroma.core/ (where Bioconductor packages have correct links), the DESCRIPTION file as a DependsNote. |
Oh wow I have no idea and now I am very curious. |
Relevant |
It seems to be that there's no need to add anything to DESCRIPTION, i.e. one can handle Bioc dependencies like CRAN dependencies. |
The user needs |
Now I'm not sure installing Bioc packages like that is recommended?! (e.g. now I can do |
https://www.bioconductor.org/install/index.html#why-biocmanagerinstall is interesting too. |
OK, so my original note above is wrong, I think. Perhaps the recommendation should just be that README and other documentation indicate the preferred way to install bioC dependencies - e.g., add Since CRAN and BioC have different release models, should best practice be to note the Bioconductor release version in DependsNote or something similar? @gmbecker or @HenrikBengtsson, perhaps you could advise? |
So it appears from this issue that Indeed adding a devtools::install_github("llrs/BaseSet", dependencies = T, build_vignettes = T) and my fork with added devtools::install_github("annakrystalli/BaseSet", dependencies = T, build_vignettes = T) However, it does not work for Bioconductor packages with no binaries available. For example, it does not install
I get:
It also prompts me to upgrade the just installed
Indeed the In the end I managed to successfully install BiocManager::install("org.Hs.eg.db", type = "source") So it seems that |
BiocViews is required by Bioconductor to classify the packages for easier finding of packages (now they are also experimenting with BioSchema). This allows to search for similar packages according to what they do, like this. I also have used in the past to indicate that there are some dependencies on Bioconductor. But I think it is not needed because there are some packages, like WGCNA, that depend on Bioconductor packages (GO.db) that don't have it on the DESCRIPTION file. The recommended and official way to install the Bioconductor packages is using The latest version of Bioconductor is not granted in any case. (Note that BiocManager import also remotes and you can install from github directly with |
Thank you so much for commenting @llrs ! It really helped clarify things for me. POSTING RESPONSE FROM REVIEW ISSUE HERE FOR rOpenSci policy discussion
|
A further issue might be opened if the current text can be improved for CI aspects. Thanks everyone for your input! |
Packages on CRAN can have BioConductor dependencies but they need the empty fieldbiocViews:
in their DESCRIPTION for installation to work properly. This is under-documented around the web so it will be useful to put it in the packaging guide as another way to find it.https://bioinformatics.stackexchange.com/questions/3365/r-package-development-how-does-one-automatically-install-bioconductor-packagesThe above is wrong but we should note the best way for packages to rely on BioConductor pacakges.
The text was updated successfully, but these errors were encountered: