[Bioc-devel] Nasty function collision
Colin A. Smith
colin at colinsmith.org
Tue Oct 31 21:22:02 CET 2006
This is sort of passing the buck but it seems like it is the
responsibility of client code to resolve collisions like this when
both colliding packages already use namespaces. I think the best
option would be to have biomaRt use RCurl::getURL() instead of getURL
(). Short of that, you might be able to write a function in
affycoretools which redefines the behavior of getURL with an "ANY"
argument in the global namespace:
setMethod("getURL", "ANY", function(object) {
RCurl::getURL(object)
})
Because annaffy is in its own namespace, it shouldn't be affected by
that change. (?) I'm not sure if this suggestion would actually work
and it could be regarded as messy hackery.
Just my two cents.
-Colin
On Oct 31, 2006, at 11:08 , James W. MacDonald wrote:
> Thanks for the input. However, I am not sure if any of these
> suggestions
> are applicable. I don't ever call getURL() directly; it gets called
> as a
> result of calling saveHTML() in annaffy, which outputs an HTML
> table, or
> it gets called by useMart() in biomaRt when trying to connect to a
> Biomart using the RCurl package.
>
> It seems to me that Laurent has the best suggestion - getURL() in
> annaffy has a method:
>
> setMethod("getURL", "ANY", function(object) {
>
> return(character(0))
> })
>
>
> Which to an S4 maven may be useful, but pretty much torches the
> getURL()
> in RCurl. It seems to me that this method isn't particularly useful
> (is
> it?), so maybe the best course of action is to convince Colin Smith to
> remove this particular method.
>
> The other possibility is to get Steffen Durinck to change biomaRt
> to use
> RCurl::getURL().
>
> Or am I still missing something?
>
> Best,
>
> Jim
More information about the Bioc-devel
mailing list