[BioC] Limma normalization error and loess.R segmentation type fault (windows)

Gordon K Smyth smyth at wehi.EDU.AU
Tue Sep 4 12:09:43 CEST 2012


Hi Marcus,

I haven't seen this problem myself.  I've just tried running the Weaver 
case study in the limma User's Guide, and it still runs correctly for me, 
using either R 2.15.1 or R-devel on Windows.

There weren't any changes to that part of the limma code between R 2.14.1 
and R 2.15.1, so the change you are seeing may be in the stats package.

Best wishes
Gordon

---------------- original message ---------------
[BioC] Limma normalization error and loess.R segmentation type fault (windows)
Marcus Davy mdavy86 at gmail.com
Tue Sep 4 07:11:43 CEST 2012

Is anyone having recent problems after upgrading to R-2.15.1 on windows 
with limma or other bioconductor packages that use loess functions in the 
stats core package.?

The normalization function normalizeWithinArrays(...,
method=printtiploess) is crashing on two independent windows machines
since upgrading R from 2.14.1 to 2.15.1 using the stable release packages
on bioconductor. I have a segmentation type fault of Rgui.exe running this
code snippet;

system.time(MA <- normalizeWithinArrays(RG, method="printtiploess",
bc.method="none"))

Process R exited abnormally with code 148 at Tue Sep 04 14:42:30 2012

I can get a more meaningful error if I install the development release of
limma;

useDevel()
biocLite("limma")

system.time(MA <- normalizeWithinArrays(RG, method="printtiploess",
bc.method="none"))

Error in stats:::simpleLoess(y = yobs, x = xobs, weights = wobs, span =
span,  :

   NA/NaN/Inf in foreign function call (arg 1)

Timing stopped at: 12.34 2.11 14.5

The number of NAs and weights in the offending array are;

> sum(is.na(tmp$M))
[1] 717
> sum(is.na(tmp$A))
[1] 717
> table(tmp$weights)
     0     1
  8362 10070


The error appears to be caused in R core->stats:::simpleLoess (not limma)
when interfacing C code, and I can see there have been recent commits to
the stats/loess.R file in the R core subversion repository. In the stable
release, limma calls normalizeWithinArrays() -> loessFit() >
.vsimpleLoess(), which appear to have modified to

normalizeWithinArrays() -> loessFit() > stats:::simpleLoess in the
development release of limma, which explains the error I get with the
development release of limma.

A colleague independently tested normalizing the one offending microarray 
slide I identified causing the same segmentation type fault on his 
machine, Sorry I have not provided a reproducible example but I can 
provide an RSave to load just that array of data, and the code snippets to 
reproduce the error in an email, this bug appears to be data dependent, 
windows dependent (my example code works fine without crashing on linux 
using R version 2.15.0 and limma 3.12.0) and probably infrequent to 
achieve.

cheers,
Marcus


## Stable release

> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: i386-pc-mingw32/i386 (32-bit)

locale:
[1] LC_COLLATE=English_New Zealand.1252  LC_CTYPE=English_New Zealand.1252
[3] LC_MONETARY=English_New Zealand.1252 LC_NUMERIC=C
[5] LC_TIME=English_New Zealand.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] Biobase_2.16.0     BiocGenerics_0.2.0 limma_3.12.1

## development release
sessionInfo()

R version 2.15.1 (2012-06-22)
Platform: i386-pc-mingw32/i386 (32-bit)

locale:
[1] LC_COLLATE=English_New Zealand.1252  LC_CTYPE=English_New Zealand.1252
[3] LC_MONETARY=English_New Zealand.1252 LC_NUMERIC=C
[5] LC_TIME=English_New Zealand.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] limma_3.13.17

______________________________________________________________________
The information in this email is confidential and intend...{{dropped:4}}



More information about the Bioconductor mailing list