[Bioc-devel] annaffy/saveHTML problem
Colin A. Smith
colin at colinsmith.org
Fri Sep 7 12:16:03 CEST 2007
This is now fixed in annaffy 1.9.2.
The problem related to how annaffy creates S4 objects. Because almost
every tiny piece of data in annaffy is a separate S4 object, it
needed to create those objects very quickly. Alas, new() was just not
up to the task, having far too much overhead from calls to
initialize, etc. As a workaround, annaffy used attributes() and class
() to manually construct the S4 objects in a much more efficient manner.
In R 2.4.0, S4 objects got a special bit set internally that flags
objects as being S4. Everything was fine until R 2.6.0 started
checking this bit for dispatching primitive methods. Thus show(),
[(), etc. stopped working, resulting in the observed behavior.
I tried to do the "right" thing by using new() instead, but that made
it almost an order of magnitude slower. annaffy now calls asS4() to
set the magic bit anywhere it manually creates S4 objects. All seems
to be right with the world again.
Anyway, I just wanted to post this extended description just in case
anyone else is hacking S4 objects together like me.
On Aug 31, 2007, at 14:55 , Li, Xuejun wrote:
> Hello everyone,
> Can anyone help me to solve this problem?
> I have been using the saveHTML function (from annaffy) in R-2.5.1, and
> it worked fine. However, this function doesn't work properly under
> R 2.6.0 Pre-release. For example, if I type the following code under
> the R-2.5.1:
> probeid<-c("1415779_s_at", "1415943_at", "1415944_at")
> anncols <- aaf.handler()[c(1,2,8)]
> anntable <- aafTableAnn(probeid, "mouse430a2", anncols)
> saveHTML(anntable, "example.html", title = "Simple Example")
> Under R-2.5.1, the code above will create a table in HTML like the one
> Probe Symbol LocusLink
> 1415779_s_at Actg1 11465
> 1415943_at Sdc1 20969
> 1415944_at Sdc1 20969
> However, under R 2.6.0 Pre-release, it will create the following
> Probe Symbol LocusLink
> 1415779_s_at Actg1, Sdc1, Sdc1 11465, 20969, 20969
> 1415943_at Actg1, Sdc1, Sdc1 11465, 20969, 20969
> 1415944_at Actg1, Sdc1, Sdc1 11465, 20969, 20969
> It seems like the Symbol and LocusLink doesn't merge correctly to
> I wonder how I can change my parameters in saveHTML function in
> order to
> create a correct table. Thanks!!!
> Arthur Xuejun Li
> Dept of Biostatistics
> City Of Hope
> 1500 E. Duarte Rd., Duarte CA 91010
> Ph.: (626)256-4673 ext.65121
More information about the Bioc-devel