[BioC] limma: read.maimages possibility to warn the user?
Björn Usadel
usadel at mpimp-golm.mpg.de
Thu Aug 3 16:54:58 CEST 2006
Dear Gordon,
thanks for you reply. Using your fix flush =TRUE did the trick.
Having it by default or adding a second warning in the help, would -at
least for me- be good, since when reading a batch of arrays with one
being broken can have some strange side-effects.
Apart from that, for my own purposes I added a perl script to validate
the files, before using.
Kind regards,
Björn
Gordon Smyth wrote:
> Dear Bjoern,
>
>> Date: Mon, 31 Jul 2006 12:43:00 +0200
>> From: Bj?rn Usadel <usadel at mpimp-golm.mpg.de>
>> Subject: [BioC] limma: read.maimages possibility to warn the user?
>> To: bioconductor at stat.math.ethz.ch
>>
>> Dear list,
>>
>> when using read.maimages from limma with a "broken" file (tabs replaced
>> by ":", two extra tabs added at the end of row e)
>> limma reads the table fine
>>
>> table:
>> :R:G:RB:GB
>> a:1:2:0.5:0.5
>> b:2:4:1:1
>> c:3:6:1.5:1.5
>> d:4:8:2:2
>> e:5:10:2.5:2.5::
>> f:6:12:3:3
>> g:7:14:3.5:3.5
>>
>> code:
>> RG<-read.maimages(files="test.txt",
>> path="C://cpan//",columns=list(Gf="G",
>> Rf="R",
>> Gb="GB",
>> Rb="RB"
>> ))
>>
>> But I get NA values added in all columns thus changing the order of
>> probes in this particular arrayfile
>> $G
>> test
>> [1,] 2
>> [2,] 4
>> [3,] 6
>> [4,] 8
>> [5,] 10
>> [6,] NA <-
>> [7,] 12
>> [8,] 14
>
> This unfortunate behaviour is due to (what I believe to be) a bug in the
> R function read.table. (I've sent a post to R-devel today to discuss
> it.) You can prevent it simply by adding the argument flush=TRUE to your
> read.maimages() call. This will result in the spurious delimiters at the
> of the end of the lines being ignored.
>
> Perhaps I will add flush=TRUE to the limma read by default.
>
>> Marray on the other hand, complains using the following syntax and
>> refuses to read in the offending file.
>> RG2<-read.marrayRaw(fnames="test.txt",path="C://cpan//", name.Gf="G",
>> name.Rf="R",
>> name.Gb="GB",
>> name.Rb="RB"
>> )
>>
>> "Error in scan(file = file, what = what, sep = sep, quote = quote, dec =
>> dec, : line 5 did not have 5 elements"
>
> This is something of an accident. If there had been five extra tab
> characters at the end of the line instead of two, then marray would have
> done exactly the same as limma. The difference between the two packages
> is that limma is using fill=TRUE in the read while marray is not. This
> allows limma to read incomplete lines.
>
> Best wishes
> Gordon
>
>> Even though I appreciate, that limma reads the data fine without the
>> usual read.table hazzle and realize that the data should have been
>> checked before reading it in anyway, I think at least a little warning
>> could greatly help.
>> But maybe I missed something important (not being a two color type
>> anyway)?
>>
>> (The broken files result from an MS Excel export and this happens on
>> R2.2 with limma 2.4.13 and on R 2.3.1 with limma 2.6.2)
>>
>>
>> Cheers,
>> Bj?rn
>>
>>
>> --
>> -+-+-+-+-+-+-+-+-+-+-+-
>> Bj?rn Usadel, PhD
>>
>> Max Planck Institute of Molecular Plant Physiology
>> System Regulation Group
>>
>> Am M?hlenberg 1
>> D-14476 Golm
>> Germany
>>
>> Tel (+49 331) 567-8114
>>
>> Email usadel at mpimp-golm.mpg.de
>> WWW mapman.mpimp-golm.mpg.de
>
--
-+-+-+-+-+-+-+-+-+-+-+-
Björn Usadel, PhD
Max Planck Institute of Molecular Plant Physiology
System Regulation Group
Am Mühlenberg 1
D-14476 Golm
Germany
Tel (+49 331) 567-8114
Email usadel at mpimp-golm.mpg.de
WWW mapman.mpimp-golm.mpg.de
More information about the Bioconductor
mailing list