[BioC] Fwd: Unable to install packages

James W. MacDonald jmacdon at med.umich.edu
Fri Jul 8 21:23:04 CEST 2011

Hi Michael,

On 7/8/2011 1:36 PM, Michael Bauer wrote:
> I'm one of the system administrators at Heather's site. I have a message
> to the list languishing in the moderation queue, which asks the simple
> question: given R, Bioconductor, the data set, and that error message,
> how do I extract what additional package(s) it needs to install so that
> I can install them for the system-wide R and Bioconductor?
> We have the most recent version of R (2.13) and Bioconductor (2.8).
> However, we do not have all the assorted packages that Bioconductor
> includes, as when I installed Bioconductor I followed the install
> instructions, and got what seemed to be the recommended set of packages.
> I am happy to install more, but I need to know which ones. The error
> message is not forthcoming with an actual package name, nor do I see
> anything in the data sets that suggests a package name. It seems
> excessive to set R_LIBS_USER and install everything it wants just to
> find out the list of package names; surely there must be an easier way.

You are correct that the error message isn't forthcoming, as the actual 
package name is masked by the variable it is assigned to. But this 
brings us to the reason for using R_LIBS_USER and a local library.

The package that needs to be installed is a cdf package that is 
particular to whatever microarray Heather is analyzing. There are 
literally hundreds of packages that we provide that are designed to be 
used in conjunction with particular microarrays. For example, whatever 
microarray Heather is trying to analyze will have at least one cdf 
package, an annotation package, and perhaps one or more probe packages. 
So if she is only going to be analyzing one particular type of 
microarray, then you could simply have her do


and the output will give you the name of the cdf package that needs to 
be installed. While you are at it, you could install the probe package 
(just replace cdf with probe in the package name), and the annotation 
package (just replace cdf with .db in the package name). So as an example,

 > dat <- ReadAffy()
 > cleancdfname(cdfName(dat))
[1] "hgfocuscdf"



would get me all the packages I will likely need for this particular chip.

Now back to R_LIBS_USER. Since these packages are not meant for anything 
but analyzing a particular microarray (and there are so many of them), 
and (to the chagrin of some) they are automagically tested for, and 
downloaded on an as-needed basis, it is simpler to just have a local 
directory where R can put them. Otherwise, every time Heather or another 
of your end users tries to analyze a different microarray, they will 
error out and have to come to you for a system-wide install.

But then I am not a fan of system-wide installs of R. Even on boxes for 
which I have root access I never do more than compile in my home 
directory and run from there. With a 6-month release cycle, R and BioC 
are too transitory to do any more than that.



> Thanks,
> You wrote:
> Hi Heather,
> You set an environment variable by
> Going to your home directory and creating a new directory, say Rlib.
> Opening your .bashrc file (found in your home directory) and adding a line
> export R_LIBS_USER=/path/to/home/Rlib
> where /path/to/home is your home directory path. Then type
> source/path/to/home/.bashrc
> to re-load that file, and you should then be able to get packages installed.

James W. MacDonald, M.S.
Douglas Lab
University of Michigan
Department of Human Genetics
5912 Buhl
1241 E. Catherine St.
Ann Arbor MI 48109-5618
Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues 

More information about the Bioconductor mailing list