Abstract

BackgroundAn absent word of a word y of length n is a word that does not occur in y. It is a minimal absent word if all its proper factors occur in y. Minimal absent words have been computed in genomes of organisms from all domains of life; their computation also provides a fast alternative for measuring approximation in sequence comparison. There exists an ntttttttmathcal {O}(n)ntttttt-time and ntttttttmathcal {O}(n)ntttttt-space algorithm for computing all minimal absent words on a fixed-sized alphabet based on the construction of suffix automata (Crochemore et al., 1998). No implementation of this algorithm is publicly available. There also exists an ntttttttmathcal {O}(n^{2})ntttttt-time and ntttttttmathcal {O}(n)ntttttt-space algorithm for the same problem based on the construction of suffix arrays (Pinho et al., 2009). An implementation of this algorithm was also provided by the authors and is currently the fastest available.ResultsOur contribution in this article is twofold: first, we bridge this unpleasant gap by presenting an ntttttttmathcal {O}(n)ntttttt-time and ntttttttmathcal {O}(n)ntttttt-space algorithm for computing all minimal absent words based on the construction of suffix arrays; and second, we provide the respective implementation of this algorithm. Experimental results, using real and synthetic data, show that this implementation outperforms the one by Pinho et al. The open-source code of our implementation is freely available at http://github.com/solonas13/maw.ConclusionsClassical notions for sequence comparison are increasingly being replaced by other similarity measures that refer to the composition of sequences in terms of their constituent patterns. One such measure is the minimal absent words. In this article, we present a new linear-time and linear-space algorithm for the computation of minimal absent words based on the suffix array.

Highlights

  • An absent word of a word y of length n is a word that does not occur in y

  • An O(n)-time and O(n)-space algorithm for computing all minimal absent words on a fixed-sized alphabet based on the construction of suffix automata was presented in [7]

  • If we find a couple (a, b), a, b ∈, such that aw and wb occur in y, but awb does not occur in y, we can conclude that awb is a minimal absent word of y

Read more

Summary

Introduction

An absent word of a word y of length n is a word that does not occur in y. There exists an O(n)-time and O(n)-space algorithm for computing all minimal absent words on a fixed-sized alphabet based on the construction of suffix automata (Crochemore et al, 1998). No implementation of this algorithm is publicly available. There exists an O(n2)-time and O(n)-space algorithm for the same problem based on the construction of suffix arrays (Pinho et al, 2009) An implementation of this algorithm was provided by the authors and is currently the fastest available. Standard notions are gradually being complemented (or even supplanted) by other measures that refer, implicitly or explicitly, to the composition of sequences in terms of their constituent patterns. Noting the words which do occur in one Barton et al BMC Bioinformatics (2014) 15:388 sequence but do not occur in another can be used to detect mutations or other biologically significant events

Methods
Results
Conclusion

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.