Differences between revisions 9 and 13 (spanning 4 versions)
Revision 9 as of 2006-02-28 02:11:26
Size: 896
Editor: pix39
Comment:
Revision 13 as of 2006-02-28 02:19:18
Size: 1438
Editor: pix39
Comment:
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
     GrouupingStrategyFactory.createGroupingStrategy(GroupingStrategyFactory.STACKING_STRATEGY);      GroupingStrategyFactory.createGroupingStrategy(GroupingStrategyFactory.STACKING_STRATEGY);
Line 23: Line 23:

Notes:

 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 here is grouping.
 2. The {{{GroupingManager}}} is an interface to the data structure that stores groups for each network. We have not decided as a group 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

Please review the Java-Docs at http://db.systemsbiology.net/cytoscape/grouping/doc/ 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); groupManager.addGroupsToNetwork(myNetwork); GroupingStrategy collapsingStrategy =

GroupingStrategy stackingStrategy =

for(int i = 0; i < groups.length; i++){

  • if(groups[i].nodeCount() > SOME_LIMIT){

    • collapsingStrategy.group(myNetwork,groups[i]); // this collapses the groups
    }else{
    • stackingStrategy.group(myNetwork,groups[i]); // this aligns the nodes in a stack
    }

}

}}}

Notes:

  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 here is grouping.

  2. The GroupingManager is an interface to the data structure that stores groups for each network. We have not decided as a group what data structure will do this. Alternatives that have been mentioned in the past are:

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