gsufsort: constructing suffix arrays, LCP arrays and BWTs for string collections

Abstract Background The construction of a suffix array for a collection of strings is a fundamental task in Bioinformatics and in many other applications that process strings. Related data structures, as the Longest Common Prefix array, the Burrows–Wheeler transform, and the document array, are ofte...

Full description

Bibliographic Details
Main Authors: Felipe A. Louza, Guilherme P. Telles, Simon Gog, Nicola Prezza, Giovanna Rosone
Format: Article
Language:English
Published: BMC 2020-09-01
Series:Algorithms for Molecular Biology
Subjects:
Online Access:http://link.springer.com/article/10.1186/s13015-020-00177-y
id doaj-5cf5db694d514e1eab49f2be29d24638
record_format Article
spelling doaj-5cf5db694d514e1eab49f2be29d246382020-11-25T03:42:33ZengBMCAlgorithms for Molecular Biology1748-71882020-09-011511510.1186/s13015-020-00177-ygsufsort: constructing suffix arrays, LCP arrays and BWTs for string collectionsFelipe A. Louza0Guilherme P. Telles1Simon Gog2Nicola Prezza3Giovanna Rosone4Faculdade de Engenharia Elétrica, Universidade Federal de UberlândiaInstituto de Computação, Universidade Estadual de CampinaseBay Inc.LUISS Guido Carli, UniversityDipartimento di Informatica, Università di PisaAbstract Background The construction of a suffix array for a collection of strings is a fundamental task in Bioinformatics and in many other applications that process strings. Related data structures, as the Longest Common Prefix array, the Burrows–Wheeler transform, and the document array, are often needed to accompany the suffix array to efficiently solve a wide variety of problems. While several algorithms have been proposed to construct the suffix array for a single string, less emphasis has been put on algorithms to construct suffix arrays for string collections. Result In this paper we introduce gsufsort, an open source software for constructing the suffix array and related data indexing structures for a string collection with N symbols in O(N) time. Our tool is written in ANSI/C and is based on the algorithm gSACA-K (Louza et al. in Theor Comput Sci 678:22–39, 2017), the fastest algorithm to construct suffix arrays for string collections. The tool supports large fasta, fastq and text files with multiple strings as input. Experiments have shown very good performance on different types of strings. Conclusions gsufsort is a fast, portable, and lightweight tool for constructing the suffix array and additional data structures for string collections.http://link.springer.com/article/10.1186/s13015-020-00177-ySuffix arrayLCP arrayBurrows–Wheeler transformDocument arrayString collections
collection DOAJ
language English
format Article
sources DOAJ
author Felipe A. Louza
Guilherme P. Telles
Simon Gog
Nicola Prezza
Giovanna Rosone
spellingShingle Felipe A. Louza
Guilherme P. Telles
Simon Gog
Nicola Prezza
Giovanna Rosone
gsufsort: constructing suffix arrays, LCP arrays and BWTs for string collections
Algorithms for Molecular Biology
Suffix array
LCP array
Burrows–Wheeler transform
Document array
String collections
author_facet Felipe A. Louza
Guilherme P. Telles
Simon Gog
Nicola Prezza
Giovanna Rosone
author_sort Felipe A. Louza
title gsufsort: constructing suffix arrays, LCP arrays and BWTs for string collections
title_short gsufsort: constructing suffix arrays, LCP arrays and BWTs for string collections
title_full gsufsort: constructing suffix arrays, LCP arrays and BWTs for string collections
title_fullStr gsufsort: constructing suffix arrays, LCP arrays and BWTs for string collections
title_full_unstemmed gsufsort: constructing suffix arrays, LCP arrays and BWTs for string collections
title_sort gsufsort: constructing suffix arrays, lcp arrays and bwts for string collections
publisher BMC
series Algorithms for Molecular Biology
issn 1748-7188
publishDate 2020-09-01
description Abstract Background The construction of a suffix array for a collection of strings is a fundamental task in Bioinformatics and in many other applications that process strings. Related data structures, as the Longest Common Prefix array, the Burrows–Wheeler transform, and the document array, are often needed to accompany the suffix array to efficiently solve a wide variety of problems. While several algorithms have been proposed to construct the suffix array for a single string, less emphasis has been put on algorithms to construct suffix arrays for string collections. Result In this paper we introduce gsufsort, an open source software for constructing the suffix array and related data indexing structures for a string collection with N symbols in O(N) time. Our tool is written in ANSI/C and is based on the algorithm gSACA-K (Louza et al. in Theor Comput Sci 678:22–39, 2017), the fastest algorithm to construct suffix arrays for string collections. The tool supports large fasta, fastq and text files with multiple strings as input. Experiments have shown very good performance on different types of strings. Conclusions gsufsort is a fast, portable, and lightweight tool for constructing the suffix array and additional data structures for string collections.
topic Suffix array
LCP array
Burrows–Wheeler transform
Document array
String collections
url http://link.springer.com/article/10.1186/s13015-020-00177-y
work_keys_str_mv AT felipealouza gsufsortconstructingsuffixarrayslcparraysandbwtsforstringcollections
AT guilhermeptelles gsufsortconstructingsuffixarrayslcparraysandbwtsforstringcollections
AT simongog gsufsortconstructingsuffixarrayslcparraysandbwtsforstringcollections
AT nicolaprezza gsufsortconstructingsuffixarrayslcparraysandbwtsforstringcollections
AT giovannarosone gsufsortconstructingsuffixarrayslcparraysandbwtsforstringcollections
_version_ 1724524279061544960