Author: ruschein
Date: 2010-01-12 15:34:11 -0800 (Tue, 12 Jan 2010)
New Revision: 18883

Modified:
   
csplugins/trunk/ucsd/ruschein/DenovoPGNetworkAlignment/src/org/cytoscape/DenovoPGNetworkAlignmentPlugin/NestedNetworkCreator.java
Log:
First version w/ edges in the overview network.

Modified: 
csplugins/trunk/ucsd/ruschein/DenovoPGNetworkAlignment/src/org/cytoscape/DenovoPGNetworkAlignmentPlugin/NestedNetworkCreator.java
===================================================================
--- 
csplugins/trunk/ucsd/ruschein/DenovoPGNetworkAlignment/src/org/cytoscape/DenovoPGNetworkAlignmentPlugin/NestedNetworkCreator.java
   2010-01-12 23:12:16 UTC (rev 18882)
+++ 
csplugins/trunk/ucsd/ruschein/DenovoPGNetworkAlignment/src/org/cytoscape/DenovoPGNetworkAlignmentPlugin/NestedNetworkCreator.java
   2010-01-12 23:34:11 UTC (rev 18883)
@@ -6,6 +6,7 @@
 import java.util.Set;
 
 import networks.denovoPGNetworkAlignment.BFEdge;
+import networks.linkedNetworks.TypedLinkEdge;
 import networks.linkedNetworks.TypedLinkNetwork;
 import networks.linkedNetworks.TypedLinkNode;
 import networks.linkedNetworks.TypedLinkNodeModule;
@@ -16,74 +17,67 @@
 import cytoscape.data.CyAttributes;
 import cytoscape.data.Semantics;
 
+
 /**
  * Creates an overview network for the detected complexes and nested networks
  * for each complex.
  */
 class NestedNetworkCreator {
        private CyNetwork overviewNetwork = null;
-       private Map<Integer, String> nodeIndexToNodeNameMap;
+       private Map<TypedLinkNode<TypedLinkNodeModule<String, BFEdge>, BFEdge>, 
CyNode> moduleToCyNodeMap;
 
        /**
         * Instantiates an overview network of complexes (modules) and one 
nested
         * network for each node in the overview network.
         */
-       NestedNetworkCreator(
-                       final TypedLinkNetwork<TypedLinkNodeModule<String, 
BFEdge>, BFEdge> networkOfModules) {
-               nodeIndexToNodeNameMap = new HashMap<Integer, String>();
+       NestedNetworkCreator(final TypedLinkNetwork<TypedLinkNodeModule<String, 
BFEdge>, BFEdge> networkOfModules) {
+               moduleToCyNodeMap = new 
HashMap<TypedLinkNode<TypedLinkNodeModule<String, BFEdge>, BFEdge>, CyNode>();
                createOverviewNetworkNodes(networkOfModules.nodes());
-               //createOverviewNetworkEdges(edgeProperties);
+               createOverviewNetworkEdges(networkOfModules.edges());
        }
 
        CyNetwork getOverviewNetwork() {
                return overviewNetwork;
        }
 
-       private void createOverviewNetworkNodes(
-                       final Set<TypedLinkNode<TypedLinkNodeModule<String, 
BFEdge>, BFEdge>> overviewNodes) {
-               overviewNetwork = Cytoscape.createNetwork(
-                               findNextAvailableNetworkName("Complex Search 
Result: "
-                                               + new java.util.Date()),
-                               /* create_view = */true);
+       private void createOverviewNetworkNodes(final 
Set<TypedLinkNode<TypedLinkNodeModule<String, BFEdge>, BFEdge>> overviewNodes) {
+               overviewNetwork = 
Cytoscape.createNetwork(findNextAvailableNetworkName("Complex Search Results: " 
+ new java.util.Date()),
+                                                         /* create_view = 
*/true);
 
+               final CyAttributes nodeAttribs = Cytoscape.getNodeAttributes();
+
                int nodeIndex = 1;
                for (final TypedLinkNode<TypedLinkNodeModule<String, BFEdge>, 
BFEdge> module : overviewNodes) {
-                       final String nodeName = 
findNextAvailableNodeName("Complex"
-                                       + nodeIndex);
-                       nodeIndexToNodeNameMap.put(nodeIndex, nodeName);
-                       final CyNode newNode = Cytoscape.getCyNode(nodeName, /* 
create = */
-                                       true);
+                       final String nodeName = 
findNextAvailableNodeName("Complex" + nodeIndex);
+                       final CyNode newNode = Cytoscape.getCyNode(nodeName, /* 
create = */ true);
+                       moduleToCyNodeMap.put(module, newNode);
                        overviewNetwork.addNode(newNode);
+                       final Set<String> genes = 
module.value().getMemberValues();
+                       nodeAttribs.setAttribute(newNode.getIdentifier(), "gene 
count", Integer.valueOf(genes.size()));
+                       nodeAttribs.setAttribute(newNode.getIdentifier(), 
"score", Double.valueOf(module.value().score()));
 
                        ++nodeIndex;
                }
        }
 
-       private void createOverviewNetworkEdges(
-                       final List<EdgeProperties> edgeProperties) {
+       private void createOverviewNetworkEdges(final 
Set<TypedLinkEdge<TypedLinkNodeModule<String, BFEdge>, BFEdge>> overviewEdges) {
                final CyAttributes edgeAttribs = Cytoscape.getEdgeAttributes();
 
-               for (final EdgeProperties edgeProps : edgeProperties) {
-                       final String sourceNodeName = 
nodeIndexToNodeNameMap.get(Integer
-                                       
.valueOf(edgeProps.getSourceNodeIndex()));
-                       if (sourceNodeName == null)
-                               throw new IllegalStateException(
-                                               "this should be impossible: 
can't find source node name!");
+               for (final TypedLinkEdge<TypedLinkNodeModule<String, BFEdge>, 
BFEdge> edge : overviewEdges) {
+                       final TypedLinkNodeModule<String, BFEdge> sourceModule 
= edge.source().value();
+                       final CyNode sourceNode = 
moduleToCyNodeMap.get(sourceModule);
+                       if (sourceNode == null)
+                               throw new IllegalStateException("this should be 
impossible: can't find source node!");
 
-                       final String targetNodeName = 
nodeIndexToNodeNameMap.get(Integer
-                                       
.valueOf(edgeProps.getTargetNodeIndex()));
-                       if (targetNodeName == null)
-                               throw new IllegalStateException(
-                                               "this should be impossible: 
can't find target node name!");
+                       final TypedLinkNodeModule<String, BFEdge> targetModule 
= edge.target().value();
+                       final CyNode targetNode = 
moduleToCyNodeMap.get(targetModule);
+                       if (targetNode == null)
+                               throw new IllegalStateException("this should be 
impossible: can't find target node name!");
 
-                       final CyNode sourceNode = 
Cytoscape.getCyNode(sourceNodeName);
-                       final CyNode targetNode = 
Cytoscape.getCyNode(targetNodeName);
-                       final CyEdge newEdge = Cytoscape.getCyEdge(sourceNode, 
targetNode,
-                                       Semantics.INTERACTION, 
"complex-complex",
-                                       /* create = */true);
+                       final CyEdge newEdge = Cytoscape.getCyEdge(sourceNode, 
targetNode, Semantics.INTERACTION, "complex-complex",
+                                                                  /* create = 
*/true);
 
-                       edgeAttribs.setAttribute(newEdge.getIdentifier(), "edge 
score",
-                                       
Double.valueOf(edgeProps.getEdgeScore()));
+                       edgeAttribs.setAttribute(newEdge.getIdentifier(), "edge 
score", Double.valueOf(edge.value().link()));
                }
        }
 
@@ -122,7 +116,7 @@
        private String findNextAvailableNodeName(final String 
initialPreference) {
                // Try the preferred choice first:
                CyNode node = Cytoscape
-                               .getCyNode(initialPreference, /* create = 
*/false);
+                       .getCyNode(initialPreference, /* create = */false);
                if (node == null)
                        return initialPreference;
 

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.


Reply via email to