IlianaAvila 3-29-06. I have put some more thought on this whole grouping/metanode problem, and I have a new approach for 2.3. Please read my /NewApiApproachForMetaNodes. Thanks.

The following content was created before 3-29-06:

Please review the Java-Docs at and comment.

To give you a better idea of how the interfaces work together, here is an example:

// Example 1. Algorithm calculated groups:

CyNetwork [] groups = someAlgorithm.calculateGroups(someArgs);
GroupingStrategy collapsingStrategy = 
GroupingStrategy stackingStrategy =
for(int i = 0; i < groups.length; i++){

   // Layout the nodes in a column,groups[i]);

   if(groups[i].nodeCount() > SOME_LIMIT)
        // collapse groups that are too large,groups[i]); 



  1. I decided to name the interfaces in this API using the group word instead of the MetaNode word. A MetaNode is a way of grouping nodes/edges in a graph. The more general concept is grouping.

/CommentSemantics (is Group a good word to use? what other wording would you suggest?)

  1. The GroupingManager is an interface to the data structure that stores groups for Cytoscape networks. We have not decided what data structure will do this. Alternatives that have been mentioned in the past are:

    • CyAttributes

    • CyNodes (as it is done currently)

    • A new data structure


API (last edited 2009-02-12 01:04:00 by localhost)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux