Class/Object

gstlib

GeneralizedSuffixTreeBuilder

Related Docs: object GeneralizedSuffixTreeBuilder | package gstlib

Permalink

sealed abstract class GeneralizedSuffixTreeBuilder[Alphabet, Repr] extends GeneralizedSuffixTree[Alphabet, Repr] with Builder[Repr, GeneralizedSuffixTree[Alphabet, Repr]]

Represents a generalized suffix tree builder in which it is possible to insert several sequences of items.

Alphabet

type of the items in the sequences

Repr

type of the sequences

Attributes
protected
Linear Supertypes
Builder[Repr, GeneralizedSuffixTree[Alphabet, Repr]], Growable[Repr], Clearable, GeneralizedSuffixTree[Alphabet, Repr], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GeneralizedSuffixTreeBuilder
  2. Builder
  3. Growable
  4. Clearable
  5. GeneralizedSuffixTree
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. sealed abstract class WrappedSequence extends AnyRef

    Permalink

    Represents a sequence that may contain a terminal symbol

Abstract Value Members

  1. implicit abstract val cbf: CanBuildFrom[Repr, Alphabet, Repr]

    Permalink
  2. abstract def generateUniqueTerminalSymbol(): TerminalSymbol

    Permalink

Concrete Value Members

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. def ++=(xs: TraversableOnce[Repr]): GeneralizedSuffixTreeBuilder.this.type

    Permalink
    Definition Classes
    Growable
  4. def +=(elem: Repr): GeneralizedSuffixTreeBuilder.this.type

    Permalink
    Definition Classes
    GeneralizedSuffixTreeBuilder → Builder → Growable
  5. def +=(elem1: Repr, elem2: Repr, elems: Repr*): GeneralizedSuffixTreeBuilder.this.type

    Permalink
    Definition Classes
    Growable
  6. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  7. object A

    Permalink
  8. def C(n: Node): Int

    Permalink

    The number of distinct leaf string identifiers in the subtree of v

    The number of distinct leaf string identifiers in the subtree of v

    Attributes
    protected
  9. object C

    Permalink
  10. object I

    Permalink
  11. object L

    Permalink
  12. def N: Int

    Permalink

    Number of nodes by their depth-first number in the tree

    Number of nodes by their depth-first number in the tree

    Attributes
    protected
  13. object WrappedSequence

    Permalink
  14. var _C: Array[Int]

    Permalink

    The number of distinct leaf string identifiers in the subtree of v

  15. def addSequence(realseq: Repr): (SequenceID, WrappedSequence)

    Permalink
  16. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  17. def bulkMultipleCommonSubsequence(): Iterator[(Int, Repr)]

    Permalink

    Efficiently computes an iterator over the multiple common subsequences from this generalized suffix tree.

    Efficiently computes an iterator over the multiple common subsequences from this generalized suffix tree.

    Pre-processing of this algorithm has a linear-time complexity. It is fully described in section 9.7 "A linear-time solution to the multiple common substring problem" of Dan Gusfield's book "Algorithms on Strings, Trees, and Sequences" (1997).

    returns

    An iterator over the sequences along with their frequencies

    Definition Classes
    GeneralizedSuffixTreeBuilderGeneralizedSuffixTree
  18. def clear(): Unit

    Permalink
    Definition Classes
    GeneralizedSuffixTreeBuilder → Builder → Growable → Clearable
  19. def clearLCAPreProcessing(): Unit

    Permalink

    Clear variable pre-computed for the constant-time LCA retrieval process

    Clear variable pre-computed for the constant-time LCA retrieval process

    Attributes
    protected
  20. def clearMCSAPreProcessing(): Unit

    Permalink

    Part of the MCSA pre-processing.

    Part of the MCSA pre-processing.

    Clear variable used in this processing ("clean slate")

    Attributes
    protected
  21. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. def computeA(): Unit

    Permalink

    Part of the LCA pre-processing

    Part of the LCA pre-processing

    Attributes
    protected
  23. def computeIvAndLeaders(): Unit

    Permalink

    Part of the LCA pre-processing

    Part of the LCA pre-processing

    Attributes
    protected
  24. def computeSvAndUv(hLCAcount: Array[Int]): Unit

    Permalink

    Part of the MCSA pre-processing

    Part of the MCSA pre-processing

    Attributes
    protected
  25. def contains(pattern: Repr): Boolean

    Permalink

    Determines if a pattern is contained in the suffix tree

    Determines if a pattern is contained in the suffix tree

    Definition Classes
    GeneralizedSuffixTreeBuilderGeneralizedSuffixTree
  26. def countNewNode(): Unit

    Permalink
    Attributes
    protected
  27. def currentSequenceID(): SequenceID

    Permalink
  28. def depthFirstNumberingAndHv(): Unit

    Permalink

    Part of the LCA pre-processing

    Part of the LCA pre-processing

    Attributes
    protected
  29. def dfsInternalNodes(): Iterable[Int]

    Permalink

    Computes the set of internal nodes by their depth-first number (i.e., internal nodes and leaf nodes but not the root)

    Computes the set of internal nodes by their depth-first number (i.e., internal nodes and leaf nodes but not the root)

    Attributes
    protected
  30. def dfsNodes(): Iterable[Int]

    Permalink

    Computes the set of nodes by their depth-first number (including root, internal nodes and leaf nodes)

    Computes the set of nodes by their depth-first number (including root, internal nodes and leaf nodes)

    Attributes
    protected
  31. def dfsToNode(dfs: Int): Node

    Permalink
    Attributes
    protected
  32. object dfsToNode

    Permalink
  33. def dropSequenceBy(id: SequenceID, n: Int): Repr

    Permalink
  34. def edgeLabel(node: NonRootNode): Repr

    Permalink

    Computes an edge-label on a built generalized suffix tree

    Computes an edge-label on a built generalized suffix tree

    Attributes
    protected
  35. def edgeLabelPartial(currentID: SequenceID, currentEnd: Int)(node: NonRootNode): Repr

    Permalink

    Computes the edge label of a node taking into account the context of the Ukkonen's algorithm.

    Computes the edge label of a node taking into account the context of the Ukkonen's algorithm.

    Attributes
    protected
    Note

    This method is not efficient and should NOT be used because it makes copies of subsequences

  36. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  37. def equals(arg0: Any): Boolean

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  39. def find(pattern: Repr): List[(SequenceID, Int)]

    Permalink

    Determines the occurrences of a pattern in this suffix tree

    Determines the occurrences of a pattern in this suffix tree

    returns

    A list of pairs containing the sequence ID and the position of the given sequence as a starting index (starting from 0, else an empty list

    Definition Classes
    GeneralizedSuffixTreeBuilderGeneralizedSuffixTree
  40. def findLongestCommonSubsequences(pattern: Repr): Seq[(Int, Int, Set[(SequenceID, Int)])]

    Permalink

    Determines the longest common subsequences between a given pattern and the generalized suffix tree.

    Determines the longest common subsequences between a given pattern and the generalized suffix tree.

    For instance, given a suffix tree containing sequences:

    • Scala|is|awesome|! (sequence 0)
    • Programming|is|awesome|. (sequence 1)
    • Scala|is|cool|! (sequence 2) And given a pattern: |Well|,|Scala|is|...|cool|!

    It will return:

    • (2, 4, Set((0, 0), (2, 0))) i.e. the position of subpattern Scala|is in sequences 0 and 2
    • (5, 7, Set((2, 2))) i.e. the position of subpattern cool|! in sequence 2
    returns

    an empty list if the longest common subsequence does not exist, else a list of triple containing the starting index (inclusive, starting from 0), the end index (exclusive) and the set of sequence IDs containing this subsequence along with the starting position of the (sub)pattern in the sequence (starting from 0).

    Definition Classes
    GeneralizedSuffixTreeBuilderGeneralizedSuffixTree
  41. def fullSequences(): Iterator[Repr]

    Permalink

    Computes an iterator over the full sequences of this generalized suffix tree

    Computes an iterator over the full sequences of this generalized suffix tree

    Definition Classes
    GeneralizedSuffixTreeBuilderGeneralizedSuffixTree
  42. def generateSequenceID(): SequenceID

    Permalink
    Attributes
    protected
  43. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  44. def getItemI(id: SequenceID, index: Int): Either[Alphabet, TerminalSymbol]

    Permalink
  45. def getItemLabel(node: NonRootNode, i: Int): Either[Alphabet, TerminalSymbol]

    Permalink

    Retrieves the ith item on the edge label to the given node

    Retrieves the ith item on the edge label to the given node

    Attributes
    protected
    Note

    this method does not check for out-of-bounds error

  46. def getSequenceBy(id: SequenceID): Repr

    Permalink

    Retrieves a sequence by a given ID

    Retrieves a sequence by a given ID

    Definition Classes
    GeneralizedSuffixTreeBuilderGeneralizedSuffixTree
  47. def getSequenceIDS(): Iterable[SequenceID]

    Permalink
  48. def getSequenceLengthBy(id: SequenceID): Int

    Permalink
  49. def getSubsequenceBy(id: SequenceID, from: Int, until: Int): Repr

    Permalink
  50. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  51. def insert(preseq: Repr): Unit

    Permalink
  52. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  53. def label(node: NonRootNode): Repr

    Permalink

    Computes the full label from the root to the given node on a built generalized suffix tree

    Computes the full label from the root to the given node on a built generalized suffix tree

    Attributes
    protected
  54. def labelLength(node: NonRootNode): Int

    Permalink

    Computes the length of an edge-label on a built generalized suffix tree

    Computes the length of an edge-label on a built generalized suffix tree

    Attributes
    protected
  55. def labelLengthPartial(currentID: SequenceID, currentEnd: Int)(node: NonRootNode): Int

    Permalink
    Attributes
    protected
  56. def labelPartial(currentID: SequenceID, currentEnd: Int)(node: NonRootNode): Repr

    Permalink

    Computes the path from the root to a given node.

    Computes the path from the root to a given node.

    Attributes
    protected
    Note

    This method is costly in computational time (in other words, inefficient).

  57. def labels(currentID: SequenceID, currentEnd: Int)(node: NonRootNode): String

    Permalink
    Attributes
    protected
  58. def labels(node: NonRootNode): String

    Permalink

    Computes an informative label containing the edge-label, the path from the root and the count C(node) if it exists on a built generalized suffix tree

    Computes an informative label containing the edge-label, the path from the root and the count C(node) if it exists on a built generalized suffix tree

    Attributes
    protected
  59. def lca(x: Int, y: Int): Int

    Permalink

    Computes the lowest common ancestor to two given nodes identified by their depth-first number (constant-time LCA retrieval)

    Computes the lowest common ancestor to two given nodes identified by their depth-first number (constant-time LCA retrieval)

    Attributes
    protected
  60. def lca(node1: Node, node2: Node): Node

    Permalink

    Computes the lowest common ancestor of two given nodes (constant-time LCA retrieval)

    Computes the lowest common ancestor of two given nodes (constant-time LCA retrieval)

    Attributes
    protected
  61. def mapResult[NewTo](f: (GeneralizedSuffixTree[Alphabet, Repr]) ⇒ NewTo): Builder[Repr, NewTo]

    Permalink
    Definition Classes
    Builder
  62. def mkString: String

    Permalink
  63. def multipleCommonSubsequence(): CommonSubsequences[Repr]

    Permalink

    Computes the multiple common subsequence from this generalized suffix tree.

    Computes the multiple common subsequence from this generalized suffix tree.

    This method is NOT efficient for large tree, see bulkMultipleCommonSubsequence instead.

    Pre-processing of this algorithm has a linear-time complexity. It is fully described in section 9.7 "A linear-time solution to the multiple common substring problem" of Dan Gusfield's book "Algorithms on Strings, Trees, and Sequences" (1997).

    Definition Classes
    GeneralizedSuffixTreeBuilderGeneralizedSuffixTree
  64. def nSuffixes(): Int

    Permalink

    Number of suffixes in this generalized suffix tree

    Number of suffixes in this generalized suffix tree

    Definition Classes
    GeneralizedSuffixTreeBuilderGeneralizedSuffixTree
  65. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  66. var nodeCount: Int

    Permalink
    Attributes
    protected
  67. object nodeToDFS

    Permalink

    Mapping: node to depth-first search numbers

  68. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  70. def numberOfNodes(): Int

    Permalink
    Attributes
    protected
  71. def preProcessingLCA(): Unit

    Permalink

    Linear time pre-processing for LCA constant-time retrieval.

    Linear time pre-processing for LCA constant-time retrieval.

    This pre-processing is fully described in chapter 8 "Constant-Time Lowest Common Ancestor Retrieval" of Dan Gusfield's book "Algorithms on Strings, Trees, and Sequences" (1997).

    Attributes
    protected
  72. def preprocessingMultipleCommonSubsequence(): Unit

    Permalink

    Pre-processing of the Multiple Common Subsequence Algorithm (MCSA)

    Pre-processing of the Multiple Common Subsequence Algorithm (MCSA)

    This pre-processing is fully described in section 9.7 "A linear-time solution to the multiple common substring problem" of Dan Gusfield's book "Algorithms on Strings, Trees, and Sequences" (1997).

    Attributes
    protected
  73. def result(): GeneralizedSuffixTree[Alphabet, Repr]

    Permalink
    Definition Classes
    GeneralizedSuffixTreeBuilder → Builder
  74. var root: Root

    Permalink
    Attributes
    protected
  75. def size(): Int

    Permalink

    Number of sequences in this suffix tree

    Number of sequences in this suffix tree

    Definition Classes
    GeneralizedSuffixTreeBuilderGeneralizedSuffixTree
  76. def sizeHint(coll: TraversableLike[_, _], delta: Int): Unit

    Permalink
    Definition Classes
    Builder
  77. def sizeHint(coll: TraversableLike[_, _]): Unit

    Permalink
    Definition Classes
    Builder
  78. def sizeHint(size: Int): Unit

    Permalink
    Definition Classes
    Builder
  79. def sizeHintBounded(size: Int, boundingColl: TraversableLike[_, _]): Unit

    Permalink
    Definition Classes
    Builder
  80. def start(node: NonRootNode): Either[Alphabet, TerminalSymbol]

    Permalink
    Attributes
    protected
  81. object stringDepth

    Permalink
  82. def suffixes(): Iterator[Repr]

    Permalink

    Computes an iterator over the suffixes of this generalized suffix tree

    Computes an iterator over the suffixes of this generalized suffix tree

    Definition Classes
    GeneralizedSuffixTreeBuilderGeneralizedSuffixTree
  83. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  85. def toggleRequirePreprocessing(): Unit

    Permalink
    Attributes
    protected
  86. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Builder[Repr, GeneralizedSuffixTree[Alphabet, Repr]]

Inherited from Growable[Repr]

Inherited from Clearable

Inherited from GeneralizedSuffixTree[Alphabet, Repr]

Inherited from AnyRef

Inherited from Any

Ungrouped