Interface Node

All Superinterfaces:
GraphObject
All Known Implementing Classes:
AbstractNode, ControlWrapper, ControlWrapper, ConversionWrapper, EventWrapper, EventWrapper, InteractionWrapper, PhysicalEntityWrapper, PhysicalEntityWrapper, TemplateReactionWrapper

public interface Node extends GraphObject
Node interface to use in graph algorithms.
Author:
Ozgun Babur
  • Field Details

    • POSITIVE

      static final int POSITIVE
      Positive sign. This is not an Enum because we want to be able calculate sign of a path by multiplying signs of path elements.
      See Also:
    • NEGATIVE

      static final int NEGATIVE
      Negative sign. This is not an Enum because we want to be able calculate sign of a path by multiplying signs of path elements.
      See Also:
    • NEUTRAL

      static final int NEUTRAL
      Neutral sign. This is not an Enum because we want to be able calculate sign of a path by multiplying signs of path elements.
      See Also:
  • Method Details

    • getUpstream

      Collection<Edge> getUpstream()
      Returns:
      Upstream edges
    • getDownstream

      Collection<Edge> getDownstream()
      Returns:
      Downstream edges
    • isBreadthNode

      boolean isBreadthNode()
      This method is critical when the algorithm needs to calculate a path length. A graph may contain nodes that will not add to the path length. Such nodes are not breadth node. So the length of the path is the number of breadth nodes - 1.
      Returns:
      Whether this is a breadth node
    • getUpperEquivalent

      Collection<Node> getUpperEquivalent()
      Returns:
      Parent equivalent nodes
    • getLowerEquivalent

      Collection<Node> getLowerEquivalent()
      Returns:
      Child equivalent nodes
    • getSign

      int getSign()
      Some nodes can have a sign (typically non-breadth nodes).
      Returns:
      Sign of the node
    • isUbique

      boolean isUbique()
      In biological graphs, some nodes are used ubiquitously like ATP, H2O, etc. While traversing a graph we do not want these molecules to link two reactions. So they should be labeled.
      Returns:
      Whether this note is a ubiquitous node.
    • isTranscription

      boolean isTranscription()
      A node may be related to a transcription and an algorithm can depend on this information.
      Returns:
      Whether this node is related to a transcription event
    • init

      void init()
      Initializes the node.