Skip to content

[Bioc-devel] Dependency on windowing systems in the flowCore package

4 messages · Martin Morgan, Mike, Kieran O'Neill

#
On 04/17/2014 04:43 PM, Mike wrote:
No solution to offer here. It seems like it's actually dispatch to %in%, where 
the method selected is

 > fres <- filter(dat, c1f)
Error in match(x, table, nomatch = 0L) :
   'match' requires vector arguments
 > traceback()
7: match(x, table, nomatch = 0L)
6: x %in% filter
5: x %in% filter
4: .class1(object)
3: as(x %in% filter, "filterResult")
2: filter(dat, c1f)
1: filter(dat, c1f)
 > showMethods("%in%")
Function: %in% (package base)
...
x="flowFrame", table="curv1Filter"
     (inherited from: x="ANY", table="ANY")
...

Before the call to filter there is actually an explicit

 > showMethods("%in%")
Function: %in% (package base)
...
x="flowFrame", table="curv1Filter"

I'm suspecting that the method here is specific to curv1Filter,flowCore-class, 
whereas dispatch is looking for curv1Fitler,flowStats-class.

Maybe a solution is in the fact that 'filter' actually seems to work --

 > selectMethod(filter, c(class(dat), class(c1f)))
...
Signatures:
         x           filter
target  "flowFrame" "curv1Filter"
defined "flowFrame" "filter"

it finds the method for the base class shared by curv1Filter,flowCore-class and 
curv1Filter,flowStats-class, so defining a common class curv1Filter_migration 
and methods on that ?

Martin

  
    
#
Thanks, Martin!
Yes, it was '%in%' method that failed.
I guess it is not a good idea to define the 'duplicated S4 class ' in 
these two closely related packages anyway.
So we decided to move 'curv1Filter' and 'curv2Filter' from 'flowCore'  
to 'flowStats' instead(leaving 'norm2Filter' untouched).
I have checked the 16 packages in the 'reverse depends list', actually 
only one package ('plateCore') needs minor updates in its NAMESPACE file.
Thus the impact to the user package should be minimum.

Mike
On 04/18/2014 09:20 AM, Martin Morgan wrote:
4 days later