my bad,
I looked at the DESCRIPTIOn fiel again. I assumed that Cluster was a Bioconductor package. I also didn�t see that DeSeq2 was in Suggests. I will follow your advice and try using Bioconductor packages without a conditional function. Sergej ________________________________ Von: Duncan Murdoch <murdoch.dun...@gmail.com> Gesendet: Mittwoch, 3. Mai 2023 17:25:15 An: Ruff, Sergej; Ivan Krylov Cc: r-package-devel@r-project.org Betreff: Re: AW: AW: [R-pkg-devel] How to declare Bioconductor Dependencies in the Description File of my R Package On 03/05/2023 9:50 a.m., Ruff, Sergej wrote: > I took the Seurat package as an example, because it both lists the > Bioconductor Dependencies under Imports in the DESCRIPTION-File Which packages are you talking about? I don't see any BioConductor dependencies in the Imports list for the current Seurat version. Duncan Murdoch > > and it uses conditional functions to check if those dependencies are > pre-installed. > > > "No, it is a requirement if the package is used but is not listed in > Depends or Imports. > > If the package is in Depends or Imports it is a waste of time to make > the check: it will always succeed." > > > that's what I also thought but I am confused why a package like Seurat > then lists the dependencies in the DESCRIPTION-File and on top of that uses > > conditional functions to check if the package is pre-installed or not. > Wouldn't that make the packagecheck function used by Seurat redundant? > > Sergej Ruff > > ------------------------------------------------------------------------ > *Von:* Duncan Murdoch <murdoch.dun...@gmail.com> > *Gesendet:* Mittwoch, 3. Mai 2023 15:29:34 > *An:* Ruff, Sergej; Ivan Krylov > *Cc:* r-package-devel@r-project.org > *Betreff:* Re: AW: [R-pkg-devel] How to declare Bioconductor > Dependencies in the Description File of my R Package > On 03/05/2023 9:17 a.m., Ruff, Sergej wrote: >> Thanks, >> >> >> So is it just necessary for suggested packages. > > Those and "Enhances" packages, but hardly anyone uses "Enhances". >> >> >> So, is it just good practice to make a conditional check? > > No, it is a requirement if the package is used but is not listed in > Depends or Imports. > > If the package is in Depends or Imports it is a waste of time to make > the check: it will always succeed. > >> I saw some packages still include it. >> >> >> For example the Seurat package. >> > I don't understand your question here. > > Duncan Murdoch > >> >> Under Utils.R (line 349-379) of the SeuratObject-Package >> (https://cran.r-project.org/src/contrib/Archive/SeuratObject/ >> <https://cran.r-project.org/src/contrib/Archive/SeuratObject/ > <https://cran.r-project.org/src/contrib/Archive/SeuratObject/>>) you will >> find the PackageCheck-function >> >> which used by the Seurat-Package >> (https://cran.r-project.org/src/contrib/Archive/Seurat/ >> <https://cran.r-project.org/src/contrib/Archive/Seurat/ > <https://cran.r-project.org/src/contrib/Archive/Seurat/>>) to check if >> packages are alredy installed. >> >> >> You can find examples for DEseq2 under differential_expression.R >> (starting line 1314 or you cntr+f for packagecheck) in >> the Seurat.package >> (https://cran.r-project.org/src/contrib/Archive/Seurat/ >> <https://cran.r-project.org/src/contrib/Archive/Seurat/ > <https://cran.r-project.org/src/contrib/Archive/Seurat/>>) >> >> or for limma (starting line 2292). >> >> >> >> ------------------------------------------------------------------------ >> *Von:* Duncan Murdoch <murdoch.dun...@gmail.com> >> *Gesendet:* Mittwoch, 3. Mai 2023 14:25:56 >> *An:* Ruff, Sergej; Ivan Krylov >> *Cc:* r-package-devel@r-project.org >> *Betreff:* Re: [R-pkg-devel] How to declare Bioconductor Dependencies in >> the Description File of my R Package >> >> >> On 03/05/2023 8:00 a.m., Ruff, Sergej wrote: >> ... [ lines about current solution deleted ] >> >>> Also for the future - how Do i provide Bioconductor dependencies as >>> "Imports" for a package that I want to submit to CRAN? >> >> Just list it as you would a CRAN package. The CRAN docs talk about >> "mainstream repositories"; I forget what the definition is of that >> (maybe repositories listed in `file.path(R.home(), >> "etc/repositories")`?), but definitely BioConductor is included. >> >>> Do I need to make that also conditional? I know I should provide >>> Installation description in a readme fiel but how do I make sure >> >> No, you don't need to check. If any imported package is not available, >> your package will not load, so errors will happen before you ever get to >> running examples. >> >>> that the Bioconductor dependencies dont cause a rejection from CRAN? >> >> Just make sure they exist on BioC and your code works with them. >> >> Duncan Murdoch >> > [[alternative HTML version deleted]]
______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel