Author: rodche
Date: 2012-07-09 14:18:36 -0700 (Mon, 09 Jul 2012)
New Revision: 29806
Modified:
core3/impl/trunk/biopax-impl/pom.xml
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/BioPaxMapper.java
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/BioPaxReaderTask.java
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/BioPaxReaderTaskFactory.java
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/CyActivator.java
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/action/BioPaxViewTracker.java
Log:
Trying to add Groups (meta nodes)...
Modified: core3/impl/trunk/biopax-impl/pom.xml
===================================================================
--- core3/impl/trunk/biopax-impl/pom.xml 2012-07-09 21:12:50 UTC (rev
29805)
+++ core3/impl/trunk/biopax-impl/pom.xml 2012-07-09 21:18:36 UTC (rev
29806)
@@ -58,6 +58,11 @@
<artifactId>layout-api</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.cytoscape</groupId>
+ <artifactId>group-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
<dependency>
<groupId>org.biopax.paxtools</groupId>
<artifactId>paxtools-core</artifactId>
Modified:
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/BioPaxMapper.java
===================================================================
---
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/BioPaxMapper.java
2012-07-09 21:12:50 UTC (rev 29805)
+++
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/BioPaxMapper.java
2012-07-09 21:18:36 UTC (rev 29806)
@@ -24,6 +24,7 @@
import org.cytoscape.biopax.internal.util.ExternalLink;
import org.cytoscape.biopax.internal.util.ExternalLinkUtil;
import org.cytoscape.biopax.internal.util.NodeAttributesWrapper;
+import org.cytoscape.group.CyGroupFactory;
import org.cytoscape.model.CyEdge;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNetworkFactory;
@@ -144,9 +145,10 @@
phosNodeSelectedLeft
};
- private Model model;
- private CyNetworkFactory networkFactory;
- private TaskMonitor taskMonitor;
+ private final Model model;
+ private final CyNetworkFactory networkFactory;
+ private final TaskMonitor taskMonitor;
+ private final CyGroupFactory cyGroupFactory;
// BioPAX ID (URI) to CyNode map
// remark: nodes's CyTable will also have 'URI' (RDF Id) column
@@ -161,11 +163,13 @@
* @param model
* @param cyNetworkFactory
* @param taskMonitor
+ * @param cyGroupFactory
*/
- public BioPaxMapper(Model model, CyNetworkFactory cyNetworkFactory,
TaskMonitor taskMonitor) {
+ public BioPaxMapper(Model model, CyNetworkFactory cyNetworkFactory,
TaskMonitor taskMonitor, CyGroupFactory cyGroupFactory) {
this.model = model;
this.networkFactory = cyNetworkFactory;
- this.taskMonitor = taskMonitor;
+ this.taskMonitor = taskMonitor;
+ this.cyGroupFactory = cyGroupFactory;
}
@@ -220,14 +224,27 @@
private void createMemberEdges(CyNetwork network) {
// for each PE,
for (PhysicalEntity par :
model.getObjects(PhysicalEntity.class)) {
+ Set<PhysicalEntity> members =
par.getMemberPhysicalEntity();
+ if(members.isEmpty())
+ continue;
+
+ List<CyNode> nodeList = new ArrayList<CyNode>();
+ List<CyEdge> edgeList = new ArrayList<CyEdge>();
+
CyNode cyParentNode = uriToCyNodeMap.get(par);
+ assert cyParentNode != null : "cyParentNode is NULL.";
// for each its member PE, add the directed edge
- for (PhysicalEntity member :
par.getMemberPhysicalEntity())
+ for (PhysicalEntity member : members)
{
CyNode cyMemberNode =
uriToCyNodeMap.get(member);
CyEdge edge = network.addEdge(cyParentNode,
cyMemberNode, true);
AttributeUtil.set(network, edge,
BIOPAX_EDGE_TYPE, "member", String.class);
+
+ nodeList.add(cyMemberNode);
+ edgeList.add(edge);
}
+
+ cyGroupFactory.createGroup(network, cyParentNode,
nodeList, edgeList, true);
}
}
@@ -299,16 +316,29 @@
private void createComplexEdges(CyNetwork network) {
// interate through all pe's
for (Complex complexElement : model.getObjects(Complex.class)) {
+ Set<PhysicalEntity> members =
complexElement.getComponent();
+ if(members.isEmpty())
+ continue;
+
// get node
CyNode complexCyNode =
uriToCyNodeMap.get(complexElement);
+
+ List<CyNode> nodeList = new ArrayList<CyNode>();
+ List<CyEdge> edgeList = new ArrayList<CyEdge>();
+
// get all components. There can be 0 or more
- for (PhysicalEntity member :
complexElement.getComponent())
+ for (PhysicalEntity member : members)
{
CyNode complexMemberCyNode =
uriToCyNodeMap.get(member);
// create edge, set attributes
CyEdge edge = network.addEdge(complexCyNode,
complexMemberCyNode, true);
AttributeUtil.set(network, edge,
BIOPAX_EDGE_TYPE, "contains", String.class);
+
+ nodeList.add(complexMemberCyNode);
+ edgeList.add(edge);
}
+
+ cyGroupFactory.createGroup(network, complexCyNode,
nodeList, edgeList, true);
}
}
Modified:
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/BioPaxReaderTask.java
===================================================================
---
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/BioPaxReaderTask.java
2012-07-09 21:12:50 UTC (rev 29805)
+++
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/BioPaxReaderTask.java
2012-07-09 21:18:36 UTC (rev 29806)
@@ -5,6 +5,7 @@
import org.apache.commons.lang.StringEscapeUtils;
import org.biopax.paxtools.model.Model;
import org.cytoscape.biopax.internal.util.BioPaxUtil;
+import org.cytoscape.group.CyGroupFactory;
import org.cytoscape.io.read.CyNetworkReader;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNetworkFactory;
@@ -30,6 +31,7 @@
private final CyNetworkFactory networkFactory;
private final CyNetworkViewFactory viewFactory;
private final CyNetworkNaming naming;
+ private final CyGroupFactory cyGroupFactory;
private InputStream stream;
@@ -40,17 +42,19 @@
/**
* Constructor
+ * @param cyGroupFactory
* @param model PaxTools BioPAX Model
*/
public BioPaxReaderTask(InputStream stream, String inputName,
CyNetworkFactory networkFactory, CyNetworkViewFactory
viewFactory,
- CyNetworkNaming naming)
+ CyNetworkNaming naming, CyGroupFactory cyGroupFactory)
{
this.stream = stream;
this.inputName = inputName;
this.networkFactory = networkFactory;
this.viewFactory = viewFactory;
this.naming = naming;
+ this.cyGroupFactory = cyGroupFactory;
}
@@ -80,7 +84,7 @@
// }
// Map BioPAX Data to Cytoscape Nodes/Edges (run as task)
- BioPaxMapper mapper = new BioPaxMapper(model, networkFactory,
taskMonitor);
+ BioPaxMapper mapper = new BioPaxMapper(model, networkFactory,
taskMonitor, cyGroupFactory);
String networkName = getNetworkName(model);
network = mapper.createCyNetwork(networkName);
Modified:
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/BioPaxReaderTaskFactory.java
===================================================================
---
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/BioPaxReaderTaskFactory.java
2012-07-09 21:12:50 UTC (rev 29805)
+++
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/BioPaxReaderTaskFactory.java
2012-07-09 21:18:36 UTC (rev 29806)
@@ -2,6 +2,7 @@
import java.io.InputStream;
+import org.cytoscape.group.CyGroupFactory;
import org.cytoscape.io.CyFileFilter;
import org.cytoscape.io.read.AbstractInputStreamTaskFactory;
import org.cytoscape.model.CyNetworkFactory;
@@ -14,14 +15,16 @@
private final CyNetworkFactory networkFactory;
private final CyNetworkViewFactory viewFactory;
private final CyNetworkNaming naming;
+ private final CyGroupFactory cyGroupFactory;
public BioPaxReaderTaskFactory(CyFileFilter filter, CyNetworkFactory
networkFactory,
- CyNetworkViewFactory viewFactory, CyNetworkNaming
naming)
+ CyNetworkViewFactory viewFactory, CyNetworkNaming
naming, CyGroupFactory cyGroupFactory)
{
super(filter);
this.networkFactory = networkFactory;
this.viewFactory = viewFactory;
this.naming = naming;
+ this.cyGroupFactory = cyGroupFactory;
}
@@ -31,7 +34,7 @@
inputName = "BioPAX_Network"; //default name fallback
return new TaskIterator(
- new BioPaxReaderTask(is, inputName, networkFactory,
viewFactory, naming)
+ new BioPaxReaderTask(is, inputName, networkFactory,
viewFactory, naming, cyGroupFactory)
);
}
Modified:
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/CyActivator.java
2012-07-09 21:12:50 UTC (rev 29805)
+++
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/CyActivator.java
2012-07-09 21:18:36 UTC (rev 29806)
@@ -6,6 +6,7 @@
import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
import org.cytoscape.view.model.CyNetworkViewManager;
+import org.cytoscape.group.CyGroupFactory;
import org.cytoscape.io.util.StreamUtil;
import org.cytoscape.property.CyProperty;
import org.cytoscape.session.CyNetworkNaming;
@@ -66,6 +67,7 @@
CyLayoutAlgorithmManager cyLayoutsRef =
getService(bc,CyLayoutAlgorithmManager.class);
TaskManager taskManagerRef = getService(bc,
DialogTaskManager.class);
CyProperty<Properties> cytoscapePropertiesServiceRef =
getService(bc, CyProperty.class, "(cyPropertyName=cytoscape3.props)");
+ CyGroupFactory cyGroupFactory = getService(bc,
CyGroupFactory.class);
BioPaxFilter bioPaxFilter = new BioPaxFilter(streamUtilRef);
LaunchExternalBrowser launchExternalBrowser = new
LaunchExternalBrowser(openBrowserRef);
@@ -74,7 +76,7 @@
BioPaxVisualStyleUtil bioPaxVisualStyleUtil = new
BioPaxVisualStyleUtil(visualStyleFactoryRef,visualMappingManagerRef,discreteMappingFunctionFactoryRef,passthroughMappingFunctionFactoryRef);
BioPaxViewTracker bioPaxViewTracker = new
BioPaxViewTracker(bioPaxDetailsPanel,bioPaxContainer, cyApplicationManagerRef,
visualMappingManagerRef, bioPaxVisualStyleUtil,
cyLayoutsRef, taskManagerRef, cytoscapePropertiesServiceRef);
- InputStreamTaskFactory inputStreamTaskFactory = new
BioPaxReaderTaskFactory(bioPaxFilter,cyNetworkFactoryRef,cyNetworkViewFactoryRef,cyNetworkNamingRef);
+ InputStreamTaskFactory inputStreamTaskFactory = new
BioPaxReaderTaskFactory(bioPaxFilter,cyNetworkFactoryRef,cyNetworkViewFactoryRef,cyNetworkNamingRef,
cyGroupFactory);
CytoPanelComponent cytoPanelComponent = new
BioPaxCytoPanelComponent(bioPaxContainer);
// register/export osgi services
@@ -95,6 +97,8 @@
// System.out.println("Failed test biopax-impl.");
// t.printStackTrace();
// }
+
+
}
}
Modified:
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/action/BioPaxViewTracker.java
===================================================================
---
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/action/BioPaxViewTracker.java
2012-07-09 21:12:50 UTC (rev 29805)
+++
core3/impl/trunk/biopax-impl/src/main/java/org/cytoscape/biopax/internal/action/BioPaxViewTracker.java
2012-07-09 21:18:36 UTC (rev 29806)
@@ -103,7 +103,6 @@
if (prop != null)
pref =
prop.getProperties().getProperty("preferredLayoutAlgorithm", pref);
final CyLayoutAlgorithm layout =
layoutAlgorithmManager.getLayout(pref);
-// final CyLayoutAlgorithm layout =
layoutAlgorithmManager.getDefaultLayout();
final Object context =
layout.getDefaultLayoutContext();
taskManagerRef.execute(
layout.createTaskIterator(view,
context, CyLayoutAlgorithm.ALL_NODE_VIEWS,""));
--
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.