From murdoch.duncan at gmail.com  Sat Jun 11 02:02:26 2011
From: murdoch.duncan at gmail.com (Duncan Murdoch)
Date: Fri, 10 Jun 2011 20:02:26 -0400
Subject: [Rd] CRAN package with dependencies on Bioconductor
In-Reply-To: <BANLkTi=aOE4hPt9YRw=PqXkpk2Jcv8rRqA@mail.gmail.com>
References: <BANLkTinzAC44xnkHzVk+=BK3qaPYPQqtkA@mail.gmail.com>
	<BANLkTi=aOE4hPt9YRw=PqXkpk2Jcv8rRqA@mail.gmail.com>
Message-ID: <4DF2B092.4080402@gmail.com>

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



[Rd] CRAN package with dependencies on Bioconductor
Duncan Murdoch