Multi-Network Node Selection Cytoscape Plugin
This plugin works with multiple networks. When active, it links all
Cytoscape networks so that any node or edge that is flagged in one
network is flagged in all networks. In Cytoscape, the flagged state of
an object in a network is synchronized with the selection state of the
corresponding object in any view of that network. A graph object can
also be flagged in a network that has no view (useful for marking
objects as interesting to other plugins). Thus, this plugin allows the
user or a plugin to flag or select nodes in one network or view and
have them automatically flagged in all networks and selected in all
views that also have those graph objects.
This plugin illustrates three different types of Cytoscape event
handling. It captures events fired by any network's flagger to update
the flagged state in all networks. It catches graph change events to
handle nodes or edges that are hidden. Finally, it catches network
creation events to synchronize the new network with the flag/selection
state of all the other networks.
To see the plugin in action, run Cytoscape with the plugin and a
network loaded. Create a subnetwork of the first network by selecting some
nodes and using the Select->To New Window->Selected Nodes,
All Edges menu option. You might need to create a view on this new network with
the Edit->Create View menu option if the network is large. You should see that
objects selected in one view are also selected in the other view if
they exist in both views.
MultiNetworkNodeSelection.java
MultiNetworkNodeSelection.jar