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.