On 04/28/2015 10:36 AM, Laurent Gatto wrote:
Dear Stefano,
On 28 April 2015 16:50, Berri, Stefano wrote:
Hi.
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
install.packages.
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").
Martin
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 [3] by Gabe Becker et al. might helpful.
[1] https://rstudio.github.io/packrat/
[2] https://github.com/rstudio/packrat
[3] http://arxiv.org/abs/1501.02284
You might also consider rolling out your own docker image.
[4] 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
crucial.
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,
Laurent
Thanks a lot
Stefano
_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
--
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
_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel