[R-pkg-devel] How to declare Bioconductor Dependencies in the Description File of my R Package
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Wed May 3 15:29:34 CEST 2023
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/>) 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/>) 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/>)
>
> or for limma (starting line 2292).
>
>
>
> ------------------------------------------------------------------------
> *Von:* Duncan Murdoch <murdoch.duncan using gmail.com>
> *Gesendet:* Mittwoch, 3. Mai 2023 14:25:56
> *An:* Ruff, Sergej; Ivan Krylov
> *Cc:* r-package-devel using 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
>
More information about the R-package-devel
mailing list