Cytoscape multiple edges
What should the behavior be for linking HyperEdges to other HyperEdges? To satisfy this requirement, we ensure an implementation is possible where only existing Cytoscape machinery is needed all state information that defines HyperEdges is composed of existing Cytoscape Nodes, Edges, and Cytoscape attributes.ġ. Since HyperEdges require testing and experimentation to validate the HyperEdge API, it is necessary to provide HyperEdge functionality without requiring Cytoscape core changes. Allow the addition of HyperEdges to exist as a plugin without the need for changes to the Cytoscape core. In order to understand our approach to HypeEdges, it is important to understand our overall requirements:ġ.
Here's a larger example of the Krebs Cycle that contains several reactions. Such a reaction could be represented as a HyperEdge that contains three Edges that make up the Substrate, Product, and Mediator of the reaction. A simple example might be to represent a reaction what has a Substrate, Product and Mediator (e.g, Citrate, Isocitrate, and Aconitase). The use case for HyperEdges is for representing structures like reactions and protein complexes. See the Java HyperEdge API Java Documents for details on the API. HyperEdges are shared, in that any change to a HyperEdge existing in more than one CyNetwork is reflected in all CyNetworks to which the HyperEdge belongs. If HyperEdge A connects to HyperEdge B via a shared edge, both A and B can only exist in one (and the same) CyNetwork.Ī regular Cytoscape Edge may directly connect to a HyperEdge ConnectorNode, but it will not be considered part of the HyperEdge. The only shared CyEdges in a HyperEdge are those connecting two ConnectorNodes (HyperEdges) that must exist in the same CyNetwork. The ConnectorNode is a generated Node that serves as one endpoint for all Edges contained by a HyperEdge.Ī HyperEdge may have more than one CyNode with the same CyEdge interaction type.Ī HyperEdge may have more than one CyEdge to the same CyNode.Ī HyperEdge has exactly one ConnectorNode.Ī HyperEdge ConnectorNode may be used as a regular CyNode within another HyperEdge.Ī HyperEdge is associated with one or more CyNetworks. A HyperEdge consists of a set of Edges and a special Node referred to as a ConnectorNode. Take the extra step and propose alternatives.Ī HyperEdge is an Edge that connects two or more Nodes. For example, if you find a part of the RFC makes no sense, please say so, but don't stop there. Try to keep your comments as concrete and constructive as possible. Here is an example to get things started: /Comment. Be sure to include today's date and your name for each comment. By adding your ideas to the Wiki directly, we can more easily organize everyone's ideas, and keep clear records. To view/add comments, click on any of 'Comment' links below. This is an official Request for Comment (RFC) for supporting HyperEdges in Cytoscape.įor details on RFCs in general, check out the Wikipedia Entry: Request for Comments (RFCs)Ī reference implementation, the HyperEdge plugin, is available for use upon request.