I hope this helps a bit.
also, last week was the Cytoscape developer meeting so I think most
people were down in San Diego not reading e-mail :)
--rowan
So the term canonicalName still lingers but I would not recommend
changing the canonicalName attribute as it still appears to be
"special".
When defining the network, each node label must refer to distinctly
different nodes. There is no sensible way around this. Gene name,
species name, my-special-name, etc can all be loaded as node attribute
data and cytoscape uses the vizMapper to control which labels are
displayed. This has always worked well for me.
-Chris
--
_______________________________________________________
Christopher Workman, Ph.D Department of Bioengineering
phone: 858 822-4706 University of California San Diego
This is confusing, so we will re-define naming issue (label, node ID,
GraphObject ID, canonical name, etc.) in 2.3.
Kei
--
Keiichiro Ono
Cytoscape Developer Team
UCSD Bioengineering Dept. Ideker Lab
ko...@ucsd.edu
Now, I have come across a similar problem. My program creates a network
based on an existing network created from a file, so I append the
existing network to my new empty one. The problem is that if I do this
for another network, it is possible that this network may have nodes
with the same name as the first one generated. Therefore if the second
generated network contains a node with the same name then they are
technically the same node even though they should not be.
So far I have mostly worked with the NodeViews so the problems have not
been apparent(since a node can have different NodeViews in different
networks).
However, now I need to create edges in these generated networks. The
problem I have is when I change an edge attribute of nodes that are in
both networks, the edge attribute will be shared in both. That is, the
value set last will be shared.
I tried using:
getCyEdge(String source_alias, String edge_name, String target_alias,
String interaction_type)
with a unique edge_name but it still gets the same edge if the source
and target are the same.
Any ideas for getting around this? I was thinking I would need to
iterate through the nodes/edges in my original networks and then create
nodes with unqiue names that have the same attributes and graph index.
Unfortunately, the name is not really used for much in this method -
this needs to be fixed in a future version. The way to force a
different edge is to set a different interaction_type e.g. pp1, pp2,
etc. A general solution to this would be to create network specific
attributes, but that might not happen for a while, so this is the best
workaround right now.
Hope that helps,
Gary