I would not follow the instructions in RTIGER�s README for installing Bioconductor packages.
BiocManager::install(�RTIGER�) would install both CRAN and Bioconductor dependencies of RTIGER, and would be my preferred instruction in a README or INSTALL file. A complete instruction might be to install your package as if it were on Bioconductor � If (!requireNamepace(�BiocManager�, quietly = TRUE)) install.packages(�BiocManager�) BiocManager::install(�<your package>�) It does not make sense to me to have instructions in .onAttach / .onLoad or in each function for the user to install a �Suggests:� package, when actually the package is required for use and belongs in Imports: or perhaps Depends:. The instruction to use �version = �3.14�� of Bioconductor in the RTIGER document is not universally correct, since different Bioconductor versions are tied to specific R versions (see https://bioconductor.org/about/release-announcements/ ). On one version of R I am currently using, I get > BiocManager::install(version = "3.14") Error: Bioconductor version '3.14' requires R version '4.1'; use `BiocManager::install(version = '3.17')` with R version 4.3; see https://bioconductor.org/install The instruction to install a vector of Bioconductor packages is also unnecessary for Bioconductor packages in the Imports: or Depends: field of <your package>, or if one were to pass the argument `dependencies = TRUE` to either BiocManager::install() or install.packages() (to get the Suggests: packages of <your package> to be installed, as well as Depends:, Imports: and LinkingTo:). Briefly, installation requires R to know the correct repositories. The command BiocManager::repositories() Returns a vector of Bioconductor and CRAN repositories relevant to your version of R. If one is averse to using BiocManager::install(�RTIGER�), a reasonable alternative, though still requiring that the BiocManager package is installed, is install.packages(�RTIGER�, repos = BiocManager::repositories()) Base R also provides a mechanism for specifying Bioconductor repositories, via `setRepositories()` called before install.packages(). However, this is not recommended because, as can be seen on the web page mentioned above, there are two versions of Bioconductor for each version of R � one always gets the �old� Bioconductor version, even when a newer version is available. From: R-package-devel <r-package-devel-boun...@r-project.org> on behalf of Ivan Krylov <krylov.r...@gmail.com> Date: Thursday, March 16, 2023 at 2:15 PM To: Ruff, Sergej <sergej.r...@tiho-hannover.de> Cc: r-package-devel@r-project.org <r-package-devel@r-project.org> Subject: Re: [R-pkg-devel] How to declare Bioconductor Dependencies in the Description File of my R Package On Thu, 16 Mar 2023 17:01:55 +0000 "Ruff, Sergej" <sergej.r...@tiho-hannover.de> wrote: > Last question: How does CRAN work with Bioconductor Dependencies? > Will CRAN accept limma as a dependency or will my submission be > rejected? It's not explicitly spelled out in the CRAN policy <https://cran.r-project.org/web/packages/policies.html>, but Bioconductor and CRAN are the "mainstream repositories" for the purposes of the following rule: >> Packages on which a CRAN package depends should be available from a >> mainstream repository (Even non-mainstream repositories are allowed for optional dependencies if you follow a few additional rules.) Here's an example of a CRAN package with a strong dependency on a Bioconductor package: <https://CRAN.R-project.org/package=RTIGER>. You can see the extra instructions for installing the Bioconductor dependencies in its README. -- Best regards, Ivan ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel [[alternative HTML version deleted]]
______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel