Packaging bioconductor
2
0
Entering edit mode
@giuseppe-ghibo-1435
Last seen 9.6 years ago
Hi, I would like to build a Bioconducor Linux RPM package (I've already did that for Bioconductor 1.4, but now Bioconductor is at 1.6 and soon will be at 1.7...), so that it can be used for a system-wide installation (which already have a system wide R 2.1.1). The problem is that currently there isn't available a single tarball for downloading all the single bioconductor subpackages in one shot. I've seen that in http://www.bioconductor.org/packages/bioc/stable/src/contrib/html/ the list of package is very long and takes a lot of time do download. One can issue a command: source("getBioC.R") getBioC() and take packages from $HOME/tmp/Rtmpq<randomnumber>/downloaded_packages/ before they are removed by the installation, but also in this way the number of packages downloaded are just a subset of the ones listed on the page above. The second problem is that I need also the complete list of ALL bioconductor subpackages packages in the right order (so to satify the dependencies) so that a set of batch commands like: for i in affy_1.6.7.tar.gz \ affydata_1.4.1.tar.gz \ affyPLM_1.3.3.tar.gz \ ...; do R CMD INSTALL $i -l %{buildroot}%{_libdir}/R/library done can be run to build the RPM package. I can do that by hand looking at the order getBioC() installs the packages, but this is very long, and at every new release of bioconductor it would be hard to redo everything, as new package are added, new versions too, and order might change. Any idea? Thanks Best regards. Giuseppe Ghib?
• 788 views
ADD COMMENT
0
Entering edit mode
Seth Falcon ★ 7.4k
@seth-falcon-992
Last seen 9.6 years ago
Hi Giuseppe, On 22 Sep 2005, ghibo at mandriva.com wrote: > I would like to build a Bioconducor Linux RPM package (I've > already did that for Bioconductor 1.4, but now Bioconductor > is at 1.6 and soon will be at 1.7...), so that it can be used > for a system-wide installation (which already have a system > wide R 2.1.1). Cool. > The problem is that currently there isn't available a single tarball > for downloading all the single bioconductor subpackages in one shot. For a few reasons, you may find the most convenient thing to do is to mirror the Bioconductor package repositories on your local systems. There are some notes on how to access our rsync server here: http://www.bioconductor.org/download/mirrors/mirror-howto.html > The second problem is that I need also the complete list of ALL > bioconductor subpackages packages in the right order (so to satify > the dependencies) install.packages is not smart enough to resolve dependencies (recursively) and determine a correct installation order. As long as every required package is in one of the repositories given in the repos arg, things will Just Work. This is how the getBioC and biocLite functions work. So I would recommend creating local CRAN-style repositories via rsync and then install the packages from inside R using install.packages so that you don't have to worry about the depedencies and such. Hope that helps. + seth
ADD COMMENT
0
Entering edit mode
Seth Falcon wrote: > install.packages is not smart enough to resolve dependencies > (recursively) and determine a correct installation order. As long as > every required package is in one of the repositories given in the > repos arg, things will Just Work. This is how the getBioC and > biocLite functions work. How to call install.packages() in batch mode? i.e. either without X11 as well as without manual interaction. I.e. there shouldn't be opened like the tcl/tk interface window which is opened when calling install.packages() once started R interactively. Furthermore the 'repos' can't be an URL (even local), but at most a path (I can rsync the src dir and then put all the pkg files in a single dir, from which it will install), otherwise the package building won't work. Thanks. Bye. Giuseppe.
ADD REPLY
0
Entering edit mode
Seth Falcon ★ 7.4k
@seth-falcon-992
Last seen 9.6 years ago
On 23 Sep 2005, ghibo at mandriva.com wrote: > How to call install.packages() in batch mode? i.e. either without > X11 as well as without manual interaction. I.e. there shouldn't be > opened like the tcl/tk interface window which is opened when calling > install.packages() once started R interactively. This only happens if you have not specified the repos argument. However, some packages may not install properly without a connection to an X server. On our build system we use something like this: ## Start a virtual X server, used by R for running tests. /usr/X11R6/bin/Xvfb :9 -screen 0 800x600x16& xvfb_pid=$! export DISPLAY=:9.0 > Furthermore the 'repos' can't be an URL (even local), but at most a > path (I can rsync the src dir and then put all the pkg files in a > single dir, from which it will install), otherwise the package > building won't work. Not sure I understand your requirement. Why can't you setup a local dir as a CRAN-style repository and use a file:// type URL? That would be the easiest way. We do have a patch pending that would allow install.packages to print out the installation order and this would give you most of what you'd need to install everything without using a repository. Unfortunately, we haven't had time to make this available. + seth
ADD COMMENT
0
Entering edit mode
Seth Falcon ha scritto: > On 23 Sep 2005, ghibo at mandriva.com wrote: > >>How to call install.packages() in batch mode? i.e. either without >>X11 as well as without manual interaction. I.e. there shouldn't be >>opened like the tcl/tk interface window which is opened when calling >>install.packages() once started R interactively. > > > This only happens if you have not specified the repos argument. > However, some packages may not install properly without a connection > to an X server. On our build system we use something like this: > > ## Start a virtual X server, used by R for running tests. > /usr/X11R6/bin/Xvfb :9 -screen 0 800x600x16& > xvfb_pid=$! > export DISPLAY=:9.0 Yes, I had already used the Xvfb in my current R-bioconductor-1.4 RPM package because one package was needing it. > > >>Furthermore the 'repos' can't be an URL (even local), but at most a >>path (I can rsync the src dir and then put all the pkg files in a >>single dir, from which it will install), otherwise the package >>building won't work. > > > Not sure I understand your requirement. Why can't you setup a local > dir as a CRAN-style repository and use a file:// type URL? That would > be the easiest way. Well, I could use file://`pwd` or file://$RPM_BUILD_DIR, but how to have that in the install.packages(), I mean would a command line like: R CMD install.packages(repos=file://`pwd`) -l %{buildroot}%{_libdir}/R/library produce the installed tree into %{buildroot}%{_libdir}/R/library? > > We do have a patch pending that would allow install.packages to print > out the installation order and this would give you most of what you'd > need to install everything without using a repository. Unfortunately, > we haven't had time to make this available. > > + seth > > _______________________________________________ > Bioconductor mailing list > Bioconductor at stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor
ADD REPLY

Login before adding your answer.

Traffic: 1011 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6