<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Text Transformation Scheme For Degenerate Strings</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jacqueline W. Daykin</string-name>
          <email>Jackie.Daykin@kcl.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bruce Watson</string-name>
          <email>bwwatson@sun.ac.za</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, Royal Holloway, University of London</institution>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Informatics, King's College London</institution>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Information Science Department, Stellenbosch University</institution>
          ,
          <country country="ZA">South Africa</country>
        </aff>
      </contrib-group>
      <fpage>23</fpage>
      <lpage>29</lpage>
      <abstract>
        <p>The Burrows-Wheeler Transformation computes a permutation of a string of letters over an alphabet, and is well-suited to compression-related applications due to its invertability and data clustering properties. For space eciency the input to the transform can be preprocessed into Lyndon factors. We consider scenarios with uncertainty regarding the data: a position in an indeterminate or degenerate string is a set of letters. We first define Indeterminate Lyndon Words and establish their associated unique string factorization; we then introduce the novel Degenerate Burrows-Wheeler Transformation which may apply the indeterminate Lyndon factorization. A core computation in Burrows-Wheeler type transforms is the linear sorting of all conjugates of the input string - we achieve this in the degenerate case by applying lex-extension ordering. Indeterminate Lyndon factorization, and the degenerate transform and its inverse, can all be computed in linear time and space with respect to total input size of degenerate strings.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        This paper focuses on strings involving uncertainty – such strings are known as
indeterminate, or equivalently, degenerate strings and consist of nonempty subsets
of letters over an alphabet ⌃ 1 Algorithms for indeterminate strings have been
described in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>
        Motivation for degenerate strings arises from applications such as interface data
entry and bioinformatics. With degenerate biological strings, nucleotide sequences
Copyright c by the paper’s authors. Copying permitted only for private and academic purposes.
1Terminology: indeterminate is common in theoretical computer science; degenerate is used in
molecular biology.
are often written using the five letter alphabet {A, T, G, C, N }, where N denotes
an unspecified nucleotide. For instance, AN T AG may correspond to four
di↵erent interpretations: AAT AG, AT T AG, AGT AG and ACT AG. Such degenerate
strings can express polymorphisms in DNA/RNA sequences. Longest common
subsequence computations apply to determining the homology of two biological
sequences [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]; pattern matching techniques honed to degenerate DNA/RNA
sequences are designed in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        A Lyndon word is defined as a (generally) finite word which is strictly minimal
for the lexicographic order of its conjugacy class; the set of Lyndon words permits
the unique maximal factorization of any given string [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        In 1994, Burrows and Wheeler [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] introduced a transformation for textual data
demonstrating, not only data clustering properties, but also suitability for block
sorting compression. The Burrows-Wheeler Transform (BWT) operates by
permuting the letters of a given text to obtain a modified text which may be more
suitable for compression – the transform is therefore used by many text
compression or compression-related applications, and some self-indexing data structures
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Space saving techniques with the BWT can be achieved by first factoring the
input text or string into Lyndon words [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>In Next-Generation Sequencing (NGS), large unknown DNA sequences are
fragmented into small segments (a few dozen to several hundreds of base pairs long).
This process generates masses of data, typically several million “short reads”.
Alignment programs attempt to align or match these reads to a reference genome;
alignment was initially performed by applying hashing or the sux tree/array data
structures – subsequently, eciency in memory requirement was achieved by
using the BWT. Motivated by the degeneracy associated with genome sequencing,
we introduce here a collection of novel and related concepts: a linear Degenerate
Burrows-Wheeler Transform, an Indeterminate Sux Array , Indeterminate
Conjugacy and Indeterminate Lyndon Words.
2</p>
      <p>
        Definitions and Preliminaries
A string (word) is a sequence of zero or more characters or letters over a totally
ordered alphabet ⌃. The set of all non-empty strings over ⌃ is denoted by ⌃ +. The
empty string is indicated by " ; we write ⌃ ⇤ = ⌃ + [ " . Strings will be identified
in mathbold such as w, x. We will use standard terminology from stringology:
border, border-free, prefix, sux, primitive, conjugate, etc. – see [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
      </p>
      <p>An indeterminate string x = x[1 . . . m] on an alphabet ⌃ is a sequence of
nonempty subsets of ⌃; x is equivalently known as a degenerate string.
Specifically, an indeterminate string x has the form x = x1x2 · · · xm, where each xi is a
set of letters over ⌃, and while |x| = m, computationally we will be accounting for
m
the total size of the string, that is ||x|| = n = X |xi|; if some |xi| = 1 then this is
i=1
the usual case of a single letter in a string denoted as xi. So a typical instance of
a degenerate string may have the form u = u1u2u3u4u5 · · · um 1um; in a regular
string all sets are unit size. Moreover, with degeneracy we can allow the xi to be
multisets. We also write the sets in degenerate strings in mathbold (unless they
are known to be unit size) - there is no ambiguity as regular and degenerate strings
are used in di↵erent contexts here.
3</p>
    </sec>
    <sec id="sec-2">
      <title>The Burrows-Wheeler Transform</title>
      <p>
        The Burrows-Wheeler text transformation scheme was invented by Michael
Burrows and David Wheeler in 1994 [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], and has become widely applied [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        The basic BWT algorithm permutes an input string T (text) of n characters
into a transform in three conceptual stages: first the n rotations (cyclic rotations
or conjugates) of T are formed; these rotations are then sorted lexicographically
giving the n ⇥ n BWT matrix M ; finally the last (right-most) character of each of
the rotations, that is the last column of the matrix M , is extracted into a string L
(last). In addition to L, the algorithm computes the index i of the occurrence of
the original text T in the sorted list of rotations. The pair (L, i) is known as the
transform, that is BWT(T ) = (L, i). Furthermore, the BWT can be constructed
eciently since the heart of the computation is sorting the rotations which, by
applying a fast sux-sorting technique such as [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], can be achieved in linear time.
It is the data clustering properties of this transform, usually exhibiting long runs
of identical characters, together with the fact that it is invertible, that has sparked
so much interest.
      </p>
      <p>
        Given only L and the index i, the original text T can be reconstructed in linear
time [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Observe that the first column F of M can be obtained by lexicographically
sorting the characters of L. By constructing a Hamiltonian cycle of L and F , the
Last-First Mapping, the input can be recovered.
      </p>
      <p>
        A simple observation shows that, since by definition a Lyndon word is the strictly
least amongst its conjugates, if the input text forms a Lyndon word, then the index
i will be 1 and therefore redundant, thus o↵ering a space saving of O(log n) bits.
Accordingly, BWT variants have been considered: Scott followed by Kufleitner
introduced the bijective Multi-Word BWT; Kufleitner also proposed the bijective
Sort Transform initiated earlier by Schindler – these variants are based on the
Lyndon factorization of the input [
        <xref ref-type="bibr" rid="ref13 ref18 ref9">9, 13, 18</xref>
        ].
      </p>
      <p>
        The BWT has also been implemented in bioinformatics: to reduce the
memory requirement with hashing-based sequence alignment, BWT-based alignment
utilities were developed including SOAP2 [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and BOWTIE [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
4
      </p>
    </sec>
    <sec id="sec-3">
      <title>Indeterminate Lyndon Words</title>
      <p>
        A Lyndon word is a primitive and border-free word which is strictly minimal for
the lexicographical order of its conjugacy class [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] – let L denote the set of Lyndon
words over the totally ordered alphabet ⌃. These patterned words exhibit many
interesting properties [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], including:
Proposition 4.1 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] A word w 2 ⌃ + is a Lyndon word if and only if it is
lexicographically less than each of its nonempty proper suxes.
      </p>
      <p>
        Proposition 4.2 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] A word w 2 ⌃ + is a Lyndon word if and only if either w 2 ⌃
or w = uv with u, v 2 L , u &lt; v.
      </p>
      <p>Importantly, the set L of Lyndon words permits the unique maximal
factorization of any given string, hence useful for applications.</p>
      <p>
        Theorem 4.3 [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] Any word w 2 ⌃ + can be written uniquely as a non-increasing
product w = u1u2 · · · uk of Lyndon words.
      </p>
      <p>
        In 1983, Duval [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] developed an algorithm for factorization that runs in linear time
and constant space.
      </p>
      <p>We now introduce the set IL of Indeterminate Lyndon Words – given an
indeterminate string x = x1x2 · · · xm, the first step in defining these new Lyndon
words is to assign an order to each of the sets xi (which are not necessarily
distinct). So for each 1  i  m, let xi denote the lexicographic ordering of xi (the
letters are lined up in the given alphabet order) written as a string. For example,
if xi = {c, a, t, g} then xi = acgt. Hence, under the convention that the order of
elements in a set doesn’t matter, we have a bijective mapping G : xi ! xi for
1  i  m, or simply G : x ! x. Furthermore, we can allow multisets under this
mapping. Note that if ||x|| = n, and if we assume an integer alphabet, that is, if
the range of letters in the alphabet is O(n), an array of length |⌃ | suces to map
the given alphabet onto an integer alphabet {1, 2, ..., k}, k  n. Therefore each of
the sets xi can be sorted in time O(|xi|); hence the total time to compute x is
O(n).</p>
      <p>We can now state a required definition, lex-extension order, for the lexicographic
order of given indeterminate strings u, v over ⌃ mapped to u, v.</p>
      <p>
        Definition [
        <xref ref-type="bibr" rid="ref4 ref6">4, 6</xref>
        ] Suppose that according to some factorization F , two strings
u, v 2 ⌃ + are expressed in terms of nonempty factors:
u = u1u2 · · · um, v = v1v2 · · · vn. Then u &lt;LEX(F) v if and only if one of the
following holds:
(1) u is a proper prefix of v (that is, ui = vi for 1  i  m &lt; n); or
(2) for some i 2 1..min(m, n), uj = vj for j = 1, 2, ..., i 1, and ui &lt; vi (in
lexicographic order).
      </p>
      <p>In the case of an indeterminate string u = u1u2 · · · um, the factorization F is
given by the sets u1u2 · · · um mapped to u1u2 · · · um; for brevity we will write
u &lt;LEX v. However, if all sets are unit size then the factorization F of regular
strings is the individual letters, each xi is xi, and u &lt;LEX v is simply the usual
lexicographic order of strings u &lt; v.</p>
      <p>We can now proceed to clarify the concept of conjugacy for an indeterminate
string.</p>
      <p>Definition An indeterminate string y = y1y2 · · · ym is a conjugate (or cyclic
rotation) of an indeterminate string x = x1x2 · · · xm if y[1 . . . m] = x[i . . . m]x[1 . . . i
1] for some 1  i  m (for i = 1, y = x).</p>
      <p>Definition An indeterminate string x over ⌃ + is an Indeterminate Lyndon Word
if it is strictly minimal for the lex-extension order of its congugacy class under the
mapping G : x ! x.</p>
      <p>
        Similarly to each letter being a Lyndon word for regular strings, each single
set of letters is likewise an indeterminate Lyndon word. Clearly Duval’s linear
Lyndon factorization algorithm [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] extends directly to the indeterminate case via
lex-extension order and linear comparison of the substrings xi. We can also trivially
derive results analogous to those for the classic case – we give some examples, where
IL is the set of Indeterminate Lyndon Words.
      </p>
      <p>Proposition 4.4 An indeterminate word w 2 ⌃ + is an indeterminate Lyndon
word if and only if it is less in lex-extension order than each of its nonempty
proper suxes.</p>
      <p>Proposition 4.5 An indeterminate word w 2 ⌃ + is an indeterminate Lyndon
word if and only if either w is a single set of letters or w = uv with u, v 2 IL ,
u &lt;LEX v.</p>
      <p>
        A subset W of ⌃ + is known as a factorization family (FF) if and only if for
every nonempty string x on ⌃ there exists a factorization of x over W – note that
⌃ ✓ W . We proceed to show that the set of indeterminate Lyndon words forms
an UMFF (unique maximal factorization family) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        Lemma 4.6 (The xyz Lemma [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]) An FF W is an UMFF if and only if whenever
xy, yz 2 W for some nonempty y, then xyz 2 W .
      </p>
      <p>
        Lemma 4.7 [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] The set IL of Indeterminate Lyndon Words forms an UMFF.
      </p>
      <p>
        Furthermore, as detailed in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] we are introducing here a new circ-UMFF [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ],
namely the set IL of Indeterminate Lyndon Words.
5
      </p>
      <p>
        A Degenerate Burrows-Wheeler Transform
The degenerate Burrows-Wheeler Transform - denoted D-BWT - is a very simple
extension of the original transformation, which relies only on further use of
lexicographic ordering. Given a degenerate string x = x[1 . . . m] = x1x2 · · · xm, to
construct the D-BWT, we first perform all the mappings G : xi ! xi specified in
Section 4 in linear time. As in the original BWT transformation, we will generate
the sorted rotations – the D-BWT matrix – of the input string. To do this we
apply a fast sux-sorting algorithm, such as that of Ko and Aluru [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], tweaked
to handle substrings, thus forming an indeterminate sux array . Note that an
indeterminate sux of x has the form xi xi+1 · · · xm, and the indexes in the array
will be a subset of {1, 2, . . . , n}.
      </p>
      <p>Given x, we first perform a pre-sorting of the substrings x1, x2, · · · , xm into
lex-extension order, resulting in a re-labelling ⇡ 1⇡ 2 · · · ⇡ m of x, where each ⇡ i is just
a letter or ordinal number. For example, x = {abc}{e}{ad}{abc}{bce} ! ADBAC
or 14213. This can be achieved using Bucket Sort on the finite ordered alphabet
⌃ (assumed in Section 4), with the buckets labelled by the characters in ⌃. This
process is repeated in each bucket where the length of each xi is O(n) - hence O(n)
overall.</p>
      <p>
        The indeterminate string x has now been re-labelled as a string of letters
⇡ 1⇡ 2 · · · ⇡ m each according to their lex-extension order in x. Therefore we can
straightforwardly apply an existing linear letter-based sux-sorting technique to
yield a sux array for the indexes i 2 { 1 . . . m}. A trivial mapping of each array
i 1
element i ! X |xj | + 1 then gives the required indeterminate sux array. The
j=1
overall linear - O(n) - time and space complexities follow from the original O(m)
method (for instance [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]) along with O(n) total string length.
      </p>
      <p>Given the D-BWT matrix, in the degenerate case the transform is the last
right-most column of ordered sets, specifically a permutation of x = x1x2 · · · xm,
together with the index of the given text in the matrix. Using the re-labelling to
letters ⇡ i, the transform can be encoded as letters and the inverse achieved using
the classic linear Last-First mapping. Finally the inverse mappings ⇡ i ! xj ! xj
reconstruct the original degenerate string, hence overall linear.</p>
      <p>
        Furthermore, if we assume that the input text has been factored into
indeterminate Lyndon words, then this avoids an index to the rotation in the matrix which is
the input text. Once factored, and again using the re-labelling to letters xj ! ⇡ i,
the bijective multi-word BWT described by Kufleitner [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] can be applied directly,
followed by inverse mappings from the ⇡ i to recover the indeterminate subsets in
the input text.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D.</given-names>
            <surname>Adjeroh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Bell</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Mukherjee. The Burrows-Wheeler</surname>
          </string-name>
          <string-name>
            <surname>Transform</surname>
          </string-name>
          : Data Compression, Sux Arrays, and Pattern Matching . Springer Publishing Company, Incorporated,
          <volume>1</volume>
          <fpage>edition</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Burrows</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Wheeler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Burrows</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Wheeler</surname>
          </string-name>
          .
          <article-title>A block-sorting lossless data compression algorithm</article-title>
          .
          <source>Technical report</source>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>K. T.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. H.</given-names>
            <surname>Fox</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R. C.</given-names>
            <surname>Lyndon</surname>
          </string-name>
          .
          <article-title>Free di↵erential calculus IV - The quotient groups of the lower central series</article-title>
          , volume
          <volume>68</volume>
          . Ann. Math.,
          <year>1958</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D. E.</given-names>
            <surname>Daykin</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. W.</given-names>
            <surname>Daykin</surname>
          </string-name>
          .
          <article-title>Lyndon-like and v-order factorizations of strings</article-title>
          .
          <source>J. Discrete Algorithms</source>
          ,
          <volume>1</volume>
          (
          <issue>3</issue>
          -4):
          <fpage>357</fpage>
          -
          <lpage>365</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>D. E.</given-names>
            <surname>Daykin</surname>
          </string-name>
          and
          <string-name>
            <given-names>J. W.</given-names>
            <surname>Daykin</surname>
          </string-name>
          .
          <article-title>Properties and construction of unique maximal factorization families for strings</article-title>
          .
          <source>Int. J. Found. Comput. Sci.</source>
          ,
          <volume>19</volume>
          (
          <issue>4</issue>
          ):
          <fpage>1073</fpage>
          -
          <lpage>1084</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J. W.</given-names>
            <surname>Daykin</surname>
          </string-name>
          and
          <string-name>
            <given-names>W. . F.</given-names>
            <surname>Smyth</surname>
          </string-name>
          .
          <article-title>A bijective variant of the burrows-wheeler transform using v-order</article-title>
          .
          <year>2013</year>
          . Submitted.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J. W.</given-names>
            <surname>Daykin</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Watson</surname>
          </string-name>
          .
          <article-title>Indeterminate string factorizations and degenerate text transformations</article-title>
          .
          <year>2013</year>
          . Submitted.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>J.-P.</given-names>
            <surname>Duval</surname>
          </string-name>
          .
          <article-title>Factorizing words over an ordered alphabet</article-title>
          .
          <source>J. Algorithms</source>
          ,
          <volume>4</volume>
          (
          <issue>4</issue>
          ):
          <fpage>363</fpage>
          -
          <lpage>381</lpage>
          ,
          <year>1983</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J. Y.</given-names>
            <surname>Gil</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. A.</given-names>
            <surname>Scott</surname>
          </string-name>
          .
          <article-title>A bijective string sorting transform</article-title>
          .
          <source>CoRR, abs/1201.3077</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Holub</surname>
          </string-name>
          and
          <string-name>
            <given-names>W. F.</given-names>
            <surname>Smyth</surname>
          </string-name>
          .
          <article-title>Algorithms on indeterminate strings</article-title>
          .
          <source>In Proc. 14th Australasian Workshop on Combinatorial Algs.</source>
          , pages
          <fpage>36</fpage>
          -
          <lpage>45</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>C. S.</given-names>
            <surname>Iliopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Mouchard</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. S.</given-names>
            <surname>Rahman</surname>
          </string-name>
          .
          <article-title>A new approach to pattern matching in degenerate DNA/RNA sequences and distributed pattern matching</article-title>
          .
          <source>Math. in Computer Science</source>
          ,
          <volume>2</volume>
          (
          <issue>4</issue>
          ),
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ko</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Aluru</surname>
          </string-name>
          .
          <article-title>Space ecient linear time construction of sux arrays</article-title>
          .
          <source>In Proceedings of the 14th Annual Conference on Combinatorial Pattern Matching, CPM'03</source>
          , pages
          <fpage>200</fpage>
          -
          <lpage>210</lpage>
          , Berlin, Heidelberg,
          <year>2003</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kufleitner</surname>
          </string-name>
          .
          <article-title>On bijective variants of the Burrows-Wheeler Transform</article-title>
          .
          <source>In J. Holub and J</source>
          . Zd´arek, editors,
          <source>Stringology</source>
          , pages
          <fpage>65</fpage>
          -
          <lpage>79</lpage>
          . Prague Stringology Club, Department of Computer Science and Engineering, Faculty of Electrical Engineering, Czech Technical University in Prague,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>B.</given-names>
            <surname>Langmead</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Trapnell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pop</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. L.</given-names>
            <surname>Salzberg</surname>
          </string-name>
          .
          <article-title>Ultrafast and memoryecient alignment of short DNA sequences to the human genome</article-title>
          .
          <source>Genome Biol</source>
          .,
          <volume>10</volume>
          (
          <issue>3</issue>
          ):
          <fpage>R25</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>R.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. W.</given-names>
            <surname>Lam</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Yiu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kristiansen</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. Wang.</surname>
          </string-name>
          <article-title>SOAP2: an improved ultrafast tool for short read alignment</article-title>
          .
          <source>Bioinformatics</source>
          ,
          <volume>25</volume>
          (
          <issue>15</issue>
          ):
          <fpage>1966</fpage>
          -
          <lpage>1967</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Lothaire</surname>
          </string-name>
          .
          <source>Combinatorics on Words (Cambridge Mathematical Library)</source>
          . Cambridge University Press; 2nd Edition,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>R. C.</given-names>
            <surname>Lyndon</surname>
          </string-name>
          .
          <article-title>On Burnside's problem</article-title>
          .
          <source>Transactions of the American Mathematical Society</source>
          ,
          <volume>77</volume>
          :
          <fpage>202</fpage>
          -
          <lpage>215</lpage>
          ,
          <year>1954</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Schindler</surname>
          </string-name>
          .
          <article-title>A fast block-sorting algorithm for lossless data compression</article-title>
          .
          <source>In Proceedings of the Conference on Data Compression</source>
          , volume
          <volume>469</volume>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>W.</given-names>
            <surname>Smyth</surname>
          </string-name>
          . Computing Patterns in Strings. Addison-Wesley,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Y.-T.</given-names>
            <surname>Tsai</surname>
          </string-name>
          .
          <article-title>The constrained longest common subsequence problem</article-title>
          .
          <source>Information Processing Letters</source>
          ,
          <volume>88</volume>
          (
          <issue>4</issue>
          ):
          <fpage>173</fpage>
          -
          <lpage>176</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>