[Bioc-devel] failing with non-reproducible error "no slot of name "name" for this object of class "pEdge"" from Rgraphviz
Andrew McDavid
@ndrew@n@mcd@v|d @end|ng |rom gm@||@com
Mon Mar 24 17:28:42 CET 2025
Dear Kasper and Robert,
>
> b) as I said in my original report, with Rgraphviz 2.51.1, I cannot reproduce the pEdge error of OncoSimulR in Linux, x86_64
Regarding the "no slot of name "name" for this object of class
"pEdge"" error, the interesting thing is that:
Dear all,
I have been trying to troubleshoot this failure in openCyto and
flowWorkspace. I have managed to reproduce it, but there are several
things I don't understand.
1) The source version of the package landing page
https://bioconductor.org/packages/3.21/bioc/html/Rgraphviz.html (and
version that you get with `BiocManager::install`) for Rgraphviz is
2.51.1, but the version being used for the Bioc daily builds is
2.51.5. The binaries for windows and mac have version number 2.51.5.
This is deeply mysterious to me.
2) If I manually install the latest version from Kasper's github
https://github.com/kasperdanielhansen/Rgraphviz, which is the
problematic 2.51.5 version, then I can reproduce the 'no slot of name
"name"' error. The error is ultimately in Rgraphviz_buildEdgeList in
src/buildEdgeList.c. Below is the most minimal example triggering the
error that I've managed to generate so far. It hasn't been very
amenable for a unit test, because the source data are from complicated
S4 classes. I certainly don't see anything suspicious in the
changeset since 2.51.1 that explains the error, but by bisection I
guess it did somehow break something in the API that flowWorkspace is
using.
library(Rgraphviz)
aa = list(N_0 = list(edges = 2L), N_2 = list(edges = 3L), N_3 = list(
edges = 4L), N_4 = list(edges = c(5L, 6L, 13L)), N_8 = list(
edges = integer(0)), N_9 = list(edges = integer(0)), N_13 = list(
edges = integer(0)), N_14 = list(edges = integer(0)), N_15 = list(
edges = integer(0)), N_16 = list(edges = integer(0)), N_17 = list(
edges = integer(0)), N_21 = list(edges = integer(0)), N_22 = list(
edges = integer(0)))
edgemode_graph = "directed"
edgeNames = c("N_0~N_2", "N_2~N_3", "N_3~N_4", "N_4~N_8", "N_4~N_9", "N_4~N_22"
)
edgeAttrs = list(lty = c(`N_0~N_2` = "dotted", `N_2~N_3` = "solid",
`N_3~N_4` = "solid",
`N_4~N_8` = "solid", `N_4~N_9` = "solid",
`N_4~N_22` = "solid"
))
defAttrs = list(color = "black", dir = "none", weight = "1.0", label = "",
fontcolor = "black", arrowhead = "none", arrowtail = "none",
fontsize = "14", labelfontsize = "11", arrowsize =
"1", headport = "center",
layer = "", style = "solid", minlen = "1")
.Call("Rgraphviz_buildEdgeList", aa, edgemode_graph, list(),
edgeNames, integer(), edgeAttrs, defAttrs, PACKAGE =
"Rgraphviz") # i.e. line 45 in R/graphLayout.R
[[alternative HTML version deleted]]
More information about the Bioc-devel
mailing list