Skip to content

S4 Method Collisions with "[" (PR#4075)

3 messages · Colin A. Smith, John Chambers

#
Full_Name: Colin A. Smith
Version: 1.8.0
OS: Mac OS X 10.2.6
Submission from: (NULL) (216.102.90.18)


Both Biobase and my package annaffy use S4 classes to define methods for "[".
Both packages use the save image method of installation. (See annaffy 1.0.3 in
BioC CVS.)

Depending on how both packages are loaded, the Biobase definitions seem to be
getting masked out:
Function "[":
x = "ANY"
x = "container"
x = "phenoData"
x = "exprSet"
x = "aafList"
x = "aafTable"
(annaffy loads Biobase in .First.lib)
Function "[":
x = "ANY"
x = "aafList"
x = "aafTable"
#
colin@colinsmith.org wrote:
I'm not sure exactly what's happening, but with (or without) saved
images you should put a require(Biobase) _in the main source_ for the
library (in order to guarantee that it's there when setMethod(), etc.
calls are evaluated).  There is then no need to load it separately in
.First.lib.  I'm a little surprised this worked at all.

(We're trying to arrange that the source code for the package looks the
same as  it would if source'd directly into the global environment.)

  
    
1 day later
#
We have a fix for this bug, which will be comitted, probably later
today.  Be aware until then that some
methods for primitive functions may turn up missing if one package
requires() another.  If you must use last night's version, a workaround
is to do

getAllMethods(f)

for the offending functions, e.g., "[", abter the library() call.

John
colin@colinsmith.org wrote: