From mtmorgan at fhcrc.org  Sat Jun 11 01:37:03 2011
From: mtmorgan at fhcrc.org (Martin Morgan)
Date: Fri, 10 Jun 2011 16:37:03 -0700
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: <4DF2AA9F.60907@fhcrc.org>

On 06/10/2011 04: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)?

I don't understand what you are asking; a previously installed but then 
uninstalled package will not influence the ability of R to reinstall it.

> 2) In my understanding (please correct me if I'm wrong!) CRAN uses
> bioconductor packages in another version than biocLite would install.
> For example:

Usually, if you

   setRepositories()

and choose BioCsoft, then you will have chosen the correct (i.e., 'same 
as biocLite') bioc repository for your version of R (this can be 
scripted by inspecting

   read.table(file.path(R.home("etc"), "repositories"),
              header=TRUE, sep="\t")

and using appropriate row indexes as the 'ind' argument to setRepositories).

> 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.

biocLite is returning the correct package -- graph 1.28.0. graph 1.30 
did not come in to existence until the most recent release, 2011-04-13, 
approximately when R-2.13 became the current release version.

CRAN is building packages with the current release, R-2.13, for which 
biocLite and install.packages both (correctly) return graph 1.30.

> Are there ways to make dependencies on Bioconductor less complicated?

Use the current version of R.

FWIW, part of the motivation for hosting graph only on Bioconductor 
(previously it was dual-hosted) is to simplify version problems -- prior 
to the change, the CRAN version was several releases out of date!

Martin

>
> Thanks and best regards, Kornelius
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel


-- 
Computational Biology
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109

Location: M1-B861
Telephone: 206 667-2793



[Rd] CRAN package with dependencies on Bioconductor
Martin Morgan