Class/Object

gstlib.InnerTree

Root

Related Docs: object Root | package InnerTree

Permalink

final class Root extends Node

Linear Supertypes
Node, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Root
  2. Node
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Root(childrenMap: Nodes = InnerTree.emptyNodes())

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def add[Alphabet](child: NonRootNode, start: (NonRootNode) ⇒ Either[Alphabet, TerminalSymbol]): Unit

    Permalink
    Definition Classes
    RootNode
  5. def addLeaf[Alphabet](seqID: SequenceID, start: (NonRootNode) ⇒ Either[Alphabet, TerminalSymbol]): LeafNode

    Permalink

    Adds a leaf to the root given a leaf ID and the sequence ID to which the leaf is referring.

    Adds a leaf to the root given a leaf ID and the sequence ID to which the leaf is referring.

    This leaf is given number 1.

  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def childStartingWith[Alphabet](item: Either[Alphabet, TerminalSymbol]): Option[NonRootNode]

    Permalink

    Computes the child node of this node which edge-label starts with the given item

    Computes the child node of this node which edge-label starts with the given item

    Definition Classes
    Node
  8. def children: List[NonRootNode]

    Permalink
    Definition Classes
    Node
  9. val childrenMap: Nodes

    Permalink
    Definition Classes
    RootNode
  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. var dfs: Int

    Permalink

    Depth-first number

    Depth-first number

    Definition Classes
    Node
  12. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. def equals(other: Any): Boolean

    Permalink
    Definition Classes
    Root → AnyRef → Any
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. def findPathEndContaining[Alphabet](s: Walkable[Either[Alphabet, TerminalSymbol]], startIndex: Int, endIndex: Int)(start: (NonRootNode) ⇒ Either[Alphabet, TerminalSymbol], getEdgeLabelItem: (NonRootNode, Int) ⇒ Either[Alphabet, TerminalSymbol], labelLength: (NonRootNode) ⇒ Int): Option[(NonRootNode, Int)]

    Permalink

    Finds the path end following a sequence (given as a global sequence, the starting and end indexes of the subsequence to search) from the root node if it exists

    Finds the path end following a sequence (given as a global sequence, the starting and end indexes of the subsequence to search) from the root node if it exists

    s

    the global sequence that contains the searched subsequence

    startIndex

    the start index in the global sequence of the first character of the searched subsequence

    endIndex

    the end index in the global sequence of the last character of the searched subsequence

    start

    a function that given a NonRootNode retrieves efficiently the first item of the edge-label conducting to the given node in the tree

    getEdgeLabelItem

    a function that retrieves efficiently the ith item in the edge label to the given node

    labelLength

    a function that given a NonRootNode computes the length of the edge-label conducting to this node in the tree

    returns

    an optional pair containing the NonRootNode which path-label includes the searched subsequence along with the number of item that are in the path-label and not in the searched subsequence (i.e., the gap between the end of the search subsequence in the path-label to reach the node)

    Definition Classes
    Node
  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int

    Permalink
    Definition Classes
    Root → AnyRef → Any
  18. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  19. def leaves(): List[LeafNode]

    Permalink
    Definition Classes
    Node
  20. def leavesHelper(currentNode: Node): List[LeafNode]

    Permalink
    Attributes
    protected
    Definition Classes
    Node
  21. def mkString[Alphabet](label: (NonRootNode) ⇒ String): String

    Permalink
  22. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  23. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  25. def parents(): List[Nothing]

    Permalink
    Definition Classes
    RootNode
  26. def pathLabel: List[NonRootNode]

    Permalink

    Computes the path label as a list of NonRootNode

    Computes the path label as a list of NonRootNode

    Beware, labels of these nodes might include special upper limits such as the END constant.

    Definition Classes
    RootNode
  27. def pathSingleLabel(getSequenceLengthBy: (SequenceID) ⇒ Int): List[Nothing]

    Permalink

    Computes the path label as a list of definitive labels given a function to get the length of a sequence from its ID

    Computes the path label as a list of definitive labels given a function to get the length of a sequence from its ID

    Definition Classes
    RootNode
  28. def remove[Alphabet](node: NonRootNode, start: (NonRootNode) ⇒ Either[Alphabet, TerminalSymbol]): Unit

    Permalink
    Definition Classes
    RootNode
  29. def size(): Int

    Permalink
    Definition Classes
    RootNode
  30. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  31. def toString(): String

    Permalink
    Definition Classes
    Root → AnyRef → Any
  32. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. def walkDown[Alphabet](s: Walkable[Either[Alphabet, TerminalSymbol]], startIndex: Int, endIndex: Int, currentEnd: Int)(start: (NonRootNode) ⇒ Either[Alphabet, TerminalSymbol], labelLength: (NonRootNode) ⇒ Int): (NonRootNode, Int)

    Permalink

    Walks down from this node following the given sequence

    Walks down from this node following the given sequence

    s

    the searched sequence

    startIndex

    the first index of search in the sequence (inclusive)

    endIndex

    the last index of search in the sequence (inclusive)

    currentEnd

    current index of the end (i in suffix S[j..i] of phase i)

    start

    computes the first item of a label

    returns

    a pair (node, length) containing the node which path label contains sequence s, and the number of items left in the path to arrive to the node (0 means a perfect match)

    Definition Classes
    Node
    Note

    walkDown is overriden by 'NonRootNode'

  36. def walkDownUntilUnmatch[Alphabet](s: Walkable[Either[Alphabet, TerminalSymbol]], startIndex: Int, endIndex: Int)(start: (NonRootNode) ⇒ Either[Alphabet, TerminalSymbol], getEdgeLabelItem: (NonRootNode, Int) ⇒ Either[Alphabet, TerminalSymbol], labelLength: (NonRootNode) ⇒ Int): Option[(NonRootNode, Int, Int)]

    Permalink

    Walks down the tree following the sequence until a mismatch occurs

    Walks down the tree following the sequence until a mismatch occurs

    It dissociates the following cases:

    1. the sequence is not in the tree, even partially (returns None) 2. the sequence is partially in the tree...
      1. ... and it stops on a non-root node (returns Some(node, int > 0, 0)) b. ... and it stops in a middle of an edge (returns Some(node, int > 0, int > 0)) 3. the sequence is entirely in the tree...
      2. ... and it stops on a non-root node (returns Some(node, 0, 0)) b. ... and it stops in a middle of an edge (returns Some(node, 0, int > 0))
    s

    the searched sequence

    startIndex

    the first index of search in the sequence (inclusive)

    endIndex

    the last index of search in the sequence (inclusive)

    start

    retrieves efficiently the first item in the edge label to the given node

    getEdgeLabelItem

    retrieves efficiently the ith item in the edge label to the given node

    labelLength

    computes efficiently the length of the edge label to the given node

    returns

    None if the sequence is not partially in the tree, else a triple containing 1) the non-root node at or below the unmatch or the end of the sequence happened, 2) the number of character left in the given sequence and 3) the number of character left to reach the non-root node (0 means "perfect match")

    Definition Classes
    RootNode

Inherited from Node

Inherited from AnyRef

Inherited from Any

Ungrouped