[Bioc-devel] building R and bioconductor
mtmorgan at fredhutch.org
Tue Apr 28 19:52:02 CEST 2015
On 04/28/2015 10:36 AM, Laurent Gatto wrote:
> Dear Stefano,
> On 28 April 2015 16:50, Berri, Stefano wrote:
>> I need a very reproducible way of creating a R builds with a series of
>> CRAN and Bioconductor packages.
>> I want to be able to download a specific version or R, a specific
>> version of all packages and then install them in the right order (to
>> make sure every package has the dependencies at installation time). I
Downloading a specific version of Bioconductor packages retrospectively is
challenging, unless the version is the final version in a release cycle. This is
because the Bioc repository only contains one version of a package for each
release, and while it is might be possible to dissect the svn logs of individual
packages to identify when a DESCRIPTION file had a particular version, there may
be several svn commits associated with the version (packages are only pushed to
the public repository when a version changes at the time the build starts each
day, so the first svn revision would be a good [but not infallible] bet as to
the revision that was made public).
If you wish to take a snapshot 'now' and have it available in the future, then
the tools Laurent mentions might be appropriate. I think I would rather (but
maybe I'm just perverse in this respect) rsync (
http://bioconductor.org/about/mirrors/mirror-how-to/ and similar for CRAN) or
manually create a 'CRAN-style' repository of source packages, and simply use
this as the 'repos' argument (including pointing to a local file system) in
To manually create a snapshot, I'd use tools::package_dependencies, and
download.packages to get the required package source tar balls, then follow
section 6.6 of RShowDoc("R-admin").
>> do not want to use install.packages or biocLite because they are not
>> very transparent/reproducible I have done it for R-3.0.2, but it has
>> been rather slow and boring (Try installing a package, see the
>> complaint, go into a working installation, load the package an figure
>> out the version of all the related packages).
>> I am wondering if there is an automated way, or a repository, to
>> recursively retrieve all the package versions required in a certain
>> version of R.
> Using biocLite, you will get the specific package versions required for
> your R version. If you want more control, I think packrat [1,2] from
> RStudio or this paper  by Gabe Becker et al. might helpful.
>  https://rstudio.github.io/packrat/
>  https://github.com/rstudio/packrat
>  http://arxiv.org/abs/1501.02284
> You might also consider rolling out your own docker image.
>  http://bioconductor.org/help/docker/
>> I am also looking into easybuild
>> (http://easybuild.readthedocs.org/en/latest/), and, also there,
>> knowing the exact path to all the packages in the right order seem
>> how do install.packages or biocLite know what version is required and
>> where it is located?
> The locations are defined by getOption("repos") and biocinstallRepos()
> respectively. In the latter case, these will also depend on the version
> of R.
> Hope this helps.
> Best wishes,
>> Thanks a lot
>> Bioc-devel at r-project.org mailing list
> Bioc-devel at r-project.org mailing list
Computational Biology / Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N.
PO Box 19024 Seattle, WA 98109
Location: Arnold Building M1 B861
Phone: (206) 667-2793
More information about the Bioc-devel