Hi, the reason for the problem is due to a slight bug in the package
'marray',
specifically in the function read.marrayRaw.
> packageDescription("marray", fields="Version")
[1] "1.5.14"
The function read.marrayRaw in 'marray' uses read.table whereas
the function version of read.marrayRaw in 'marrayInput' uses scan to
upload the data.
Reproducing the problem using the example from the marray vignette
example:
library(marray)
datadir <- system.file("swirldata", package = "marray")
dir(datadir)
swirl.layout <- read.marrayLayout(fname =
file.path(datadir,"fish.gal"), ngr = 4, ngc = 4, nsr = 22, nsc = 24,
skip = 21, ctl.col = 4)
ctl <- rep("Control", maNspots(swirl.layout))
ctl[maControls(swirl.layout) != "control"] <- "N"
maControls(swirl.layout) <- factor(ctl)
swirl.layout
swirl.samples <- read.marrayInfo(file.path(datadir,
"SwirlSample.txt"))
swirl.gnames <- read.marrayInfo(file.path(datadir, "fish.gal"),
info.id = 4:5, labels = 5, skip = 21)
fnames <- dir(path = datadir, pattern = paste("*", "spot", sep = "."))
swirl.raw <- read.marrayRaw(fnames, path = datadir, name.Gf = "Gmean",
name.Gb = "morphG",
name.Rf = "Rmean", name.Rb = "morphR", layout = swirl.layout, gnames =
swirl.gnames, targets = swirl.samples)
maRf(swirl.raw)
/usr/local/lib/R/library/marray/swirldata/swirl.1.spot
[1,] 19538.47
/usr/local/lib/R/library/marray/swirldata/swirl.2.spot
[1,] 16138.72
/usr/local/lib/R/library/marray/swirldata/swirl.3.spot
[1,] 2895.16
/usr/local/lib/R/library/marray/swirldata/swirl.4.spot
[1,] 14054.54
Only the first line of each spot file has been loaded in using
read.marrayRaw. When the swirl.layout object is
defined, the slot maSub is TRUE of length 1,
> maSub(swirl.layout)
[1] TRUE
In read.marrayRaw, read.table uses this slot to define the number of
spots for nrows, which is the number of rows to read in.
Inside read.marrayRaw...
nspots <- sum(layout@maSub) # of length 1
...
dat <- read.table(f, skip = skip2, header = TRUE, sep = sep,
as.is = TRUE, quote = quote, check.names = FALSE,
comment.char = "", nrows = nspots, ...) # data of length
1
Quick work around is to define the layout *after* reading in the data.
library(marray)
datadir <- system.file("swirldata", package = "marray")
dir(datadir)
swirl.samples <- read.marrayInfo(file.path(datadir,
"SwirlSample.txt"))
swirl.gnames <- read.marrayInfo(file.path(datadir, "fish.gal"),
info.id = 4:5, labels = 5, skip = 21)
fnames <- dir(path = datadir, pattern = paste("*", "spot", sep = "."))
swirl.raw <- read.marrayRaw(fnames, path = datadir, name.Gf = "Gmean",
name.Gb = "morphG", name.Rf = "Rmean", name.Rb = "morphR", gnames =
swirl.gnames, targets = swirl.samples)
swirl.layout <- read.marrayLayout(fname =
file.path(datadir,"fish.gal"), ngr = 4, ngc = 4, nsr = 22, nsc = 24,
skip = 21, ctl.col = 4)
ctl <- rep("Control", maNspots(swirl.layout))
ctl[maControls(swirl.layout) != "control"] <- "N"
maControls(swirl.layout) <- factor(ctl)
swirl.layout
maLayout(swirl.raw) <- swirl.layout
dim(maRf(swirl.raw))
[1] 8448 4
Now all the data is uploaded.
marcus
>>> Ren Na <na@uthscsa.edu> 5/10/2004 3:51:09 AM >>>
Gustavo Henrique Esteves wrote:
>Hello Ren,
>
>Try to set the maSub in your marrayLayout object to a vector of TRUEs
>with length equal to the number of spots you have in your files. I
>have had the same problem and doing this resolved to me.
>
>Well hapened to me in R-1.9.1 with the last marray package. In the
>previous versions I didn't have this problem. What version of R /
>marray are you using?
>
>Gustavo
>
>
>
>
>On Fri, 01 Oct 2004 16:46:03 -0500, Ren Na <na@uthscsa.edu> wrote:
>
>
>>I try to create a marrayRaw object. The problem I am having is that
only
>>the first line of my every .spot file has been read by the function
>>read.marrayRaw. The following is what I did,
>>xpd.layout <- read.marrayLayout(fname="Mouse24052004.txt", ngr=8,
ngc=4,
>>nsr=23, nsc=23, skip=0, ctl.col=6)
>>xpd.samples<- read.marrayInfo("sample.txt")
>>xpd.gnames<-read.marrayInfo("Mouse24052004.txt", info.id=6,
labels=10,
>>skip=0)
>>targets <- readTargets("Targets.txt")
>>fnames<-targets$FileName
>>xpd.raw<-read.marrayRaw(fnames, name.Gf="Gmedian", name.Gb="morphG",
>>name.Rf="Rmedian", name.Rb="morphR", layout=xpd.layout,
>>gnames=xpd.gnames, targets=xpd.samples)
>> > xpd.raw
>>An object of class "marrayRaw"
>>@maRf
>> ./1391.spot ./1392.spot ./1348.spot ./1349.spot ./1373.spot
./1374.spot
>>[1,] 621 217 639 539 329
290
>> ./1393.spot ./1394.spot ./1358.spot ./1359.spot ./1371.spot
./1372.spot
>>[1,] 1704 198 606 563 562
1052
>> ./1387.spot ./1388.spot ./1397.spot ./1398.spot ./1399.spot
./1390.spot
>>[1,] 817 101 297 433 1926
650
>>
>>@maGf
>> ./1391.spot ./1392.spot ./1348.spot ./1349.spot ./1373.spot
./1374.spot
>>[1,] 380 657 555 554 638
346
>> ./1393.spot ./1394.spot ./1358.spot ./1359.spot ./1371.spot
./1372.spot
>>[1,] 3267 349 503 635 844
1596
>> ./1387.spot ./1388.spot ./1397.spot ./1398.spot ./1399.spot
./1390.spot
>>[1,] 1078 90 334 549 2118
1093
>>
>>@maRb
>>....................................................................
...........
>>....................................................................
...........
>>I couldn't figure out what I did wrong. Thanks for any help.
>>
>>Ren
>>
>>_______________________________________________
>>Bioconductor mailing list
>>Bioconductor@stat.math.ethz.ch
>>
https://stat.ethz.ch/mailman/listinfo/bioconductor
>>
>>
>>
>
>
>
>
>
Hi, Gustavo,
Thank you very much, it works with your suggestion.
I had exactly same experience like you. I am using R(1.9.1) and the
last
marray package(1.5.14). And I didn't have this problem before.
Ren
_______________________________________________
Bioconductor mailing list
Bioconductor@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/bioconductor
______________________________________________________
The contents of this e-mail are privileged and/or
confidenti...{{dropped}}