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

Kasper Daniel Hansen kasperdanielhansen at gmail.com
Tue Sep 4 23:44:31 CEST 2012


On Tue, Sep 4, 2012 at 5:38 PM, Marcus Davy <mdavy86 at gmail.com> wrote:
> Hi Gordon,
> yes, I believe the cause of the crashes are due to changes in the file
> http://svn.r-project.org/R/branches/R-2-15-branch/src/library/stats/R/loess.Rwithin
> the stats package for R-2.15.1. I will email you a simple example
> off list to see if you can reproduce the crash on windows.

Markus, a similar problem seem to occur with the charm package.  Have
you tracked down the approximate changes to R which causes it (I think
the svn revision numbers below are for bioconductor).  Specifically,
does it go away in R-2.15.1-patched and/or when was it introduced?

Thanks,
Kasper

>
> The change to loessFit to use stats:::simpleLoess appears to be the reason
> for the second error message I got when using the development version of
> limma on windows.
>
>> packageDescription("limma")$Version
> [1] "3.13.17"
>
>> changeLog(n=7)
> 17 Aug 2012: limma 3.3.17
>
> - limma license upgraded to GPL-2 instead of LGPL to match R itself.
>
> - loessFit() no longer makes direct calls to foreign language
>   functions in the stats package.  Same values are returned as before,
>   but now take 25-30% longer whenever weights are used.
>
>
> svn diff -r 68536:68077
>
>
> cheers,
>
> Marcus
>
>
> On Tue, Sep 4, 2012 at 10:09 PM, Gordon K Smyth <smyth at wehi.edu.au> wrote:
>
>> 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 inte...{{dropped:10}}
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor



More information about the Bioconductor mailing list