[BioC] Targets file, array labels and Limma versions

Gordon Smyth smyth at wehi.edu.au
Fri Dec 16 03:05:04 CET 2005


Dear Jenny,

At 09:12 AM 16/12/2005, Jenny Drnevich wrote:
>Hi,
>
>I have a 3 questions that are somewhat related:
>
>I noticed a discrepancy between the Limma vignette (21 Nov 2005) and 
>readTargets() in Limma 2.4.4 (complete sessionInfo at the end). In the 
>vignette on pg. 12, it says you can put a "Name" column in your 
>Targets.txt file to give a shorter label for output, graphs, etc. However, 
>when I did this and called readTargets(), the rownames of the targets 
>object were the longer file names. Looking at the code for readTargets, it 
>appears the column has to be called "Label", not "Name"?

Yes, you're right. The discprepancy has arisen because limmaGUI uses the 
"Name" column while limma uses the "Label" column. We'll have to make this 
consistent and fix the description in the User's Guide.

>I am also having troubles getting shorter labels for my RGlist. It would 
>be great if read.maimages() could get both the FileNames and Name/Label 
>info from a targets= option, or alternatively have a colnames= option 
>where targets$Label could be plugged in.

As Marcus Davy has explained, read.maimages() already has such an argument 
called 'names'.

BTW, I am thinking of allowing the targets frame to be passed directly to 
read.maimages(), e.g.,

   RG <- read.maimages(files=targets, source="genepix")

If 'targets' is a data.frame, then the Filenames and Labels columns of 
would be used to locate the data files and associated names. Would you find 
this a useful facility?

>  However, I thought it could be done manually using colnames(RG), but I'm 
> getting the following error message:
>
> > colnames(RG) <- targets$Label
>Error in "colnames<-"(`*tmp*`, value = c("a1", "a2", "a3", "a4", "a5",  :
>         'dimnames' applied to non-array
>
>colnames(RG) does give a character vector of the names, so why it doesn't 
>work for assignment?

The assignment behaviour doesn't happen automatically, it needs to be 
implemented. It is a good suggestion and I will do so.

In the meantime, you can set the colnames manually by
   colnames(RG$R) <- colnames(RG$G) <- colnames(RG$Rb) <- colnames(RG$Gb) 
<- targets$Label

>This may or may not have something to do with the version of Limma... 
>which leads me to my last question: Why does the development version of 
>Limma get installed when using biocLite() ? (haven't checked 
>getBioC)  I've seen that Gordon has said he doesn't keep "stable" and 
>"developmental" versions like other maintainers and wants everyone to use 
>the most recent version, so perhaps this is why.

This happens because limma is on CRAN as well as on Bioconductor. 
biocLite() works differently from the older getBioC() script in that it 
searches CRAN as well as the Bioconductor repositories. It installs the 
latest version of each package that it can find for the version of R being 
run. For limma, the latest version will usually be the one on CRAN.

>  However, I keep getting a warning message when I load Limma that it was 
> built under R 2.3.0. Do you anticipate there being any problems with 
> using Limma 2.4.4 under R 2.2.0? I suspect that there won't be any real 
> problems, but I want to point out that these warning messages can be be 
> disconcerting to R novices - I just taught a workshop on R and 
> Bioconductor and had to answer this question many times. If the newest 
> version of Limma is likely to be continually built under the 
> developmental version of R instead of the recommended stable version of 
> R,  perhaps a note explaining the situation could be put in the vignette 
> or somewhere else?

There are no problems with limma 2.4.4 under R 2.2.0. However, if you are 
running R 2.2.0, you should never get limma or any other package built for 
R 2.3.0. I believe the intention is that neither biocLite() nor 
install.packages() should ever install a package built for a version of R 
other than that being run by the user. The only way I know of that the user 
could get limma built for R 2.3.0 would be (i) by actually running R 2.3.0 
or (ii) by manually downloading the Windows build from 
http://www.bioconductor.org/download/bioc1.8/. Doing the latter and then 
installing it in R 2.2.0 would be a user error and would lead to the 
warning message that you mention.

Best wishes
Gordon

>Thanks,
>Jenny
>
>
> > sessionInfo()
>R version 2.2.0, 2005-10-06, i386-pc-mingw32
>
>attached base packages:
>[1] "methods"   "stats"     "graphics"  "grDevices" "utils"     "datasets"
>[7] "base"
>
>other attached packages:
>   limma
>"2.4.4"
>
>Jenny Drnevich, Ph.D.
>
>Functional Genomics Bioinformatics Specialist
>W.M. Keck Center for Comparative and Functional Genomics
>Roy J. Carver Biotechnology Center
>University of Illinois, Urbana-Champaign
>
>330 ERML
>1201 W. Gregory Dr.
>Urbana, IL 61801
>USA
>
>ph: 217-244-7355
>fax: 217-265-5066
>e-mail: drnevich at uiuc.edu



More information about the Bioconductor mailing list