[Rd] CRAN package with dependencies on Bioconductor

Duncan Murdoch murdoch.duncan at gmail.com
Sat Jun 11 02:02:26 CEST 2011

On 11-06-10 7:04 PM, Kornelius Rohmeyer wrote:
> I'm sorry for sending a wrongly formated mail before. This is the missing text:
> Dear all,
> for a CRAN-package that depends on another Bioconductor-package I find
> two things annoying and would like to know whether there are some
> workarounds:
> 1) Is there some inevitable problem that install.packages does not
> install uninstalled packages (on which the specified package depends)
> also from Bioconductor (in the correct version)?
> 2) In my understanding (please correct me if I'm wrong!) CRAN uses
> bioconductor packages in another version than biocLite would install.
> For example:
> Our package gMCP depends on the package graph that has recently
> switched to the bioconductor repositories. But even the following
> commands will fail (i.e. install incompatible versions) for R 2.12
> under Windows (and most likely MacOS):
> source("http://www.bioconductor.org/biocLite.R")
> biocLite("graph")
> install.packages("gMCP")
> This results in errors like the following:
>> BonferroniHolmGraph(2)
> Error in validObject(.Object) :
>    invalid class "graphMCP" object: superclass "graphBase" not defined
> in the environment of the object's class
> The superclass graphBase is introduced in graph 1.30. In my
> understanding the problem is that our package gMCP is build on CRAN
> for R 2.12 with the package graph in version 1.30. Unfortunately
> biocLite installs graph_1.28.0.zip for R 2.12.
> Are there ways to make dependencies on Bioconductor less complicated?

Users of your package are likely to have issues; make sure you document 
that they need to include the Bioconductor repository as well as CRAN.

You can specify a version in a dependency (or a version range).  I don't 
know if BioC will make old versions available in binary formats, but 
they will probably make source versions available.

Duncan Murdoch

More information about the R-devel mailing list