Cargando…

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

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...

Descripción completa

Detalles Bibliográficos
Autores principales: Louza, Felipe A., Telles, Guilherme P., Gog, Simon, Prezza, Nicola, Rosone, Giovanna
Formato: Online Artículo Texto
Lenguaje:English
Publicado: BioMed Central 2020
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7507297/
https://www.ncbi.nlm.nih.gov/pubmed/32973918
http://dx.doi.org/10.1186/s13015-020-00177-y
_version_ 1783585199931523072
author Louza, Felipe A.
Telles, Guilherme P.
Gog, Simon
Prezza, Nicola
Rosone, Giovanna
author_facet Louza, Felipe A.
Telles, Guilherme P.
Gog, Simon
Prezza, Nicola
Rosone, Giovanna
author_sort Louza, Felipe A.
collection PubMed
description 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.
format Online
Article
Text
id pubmed-7507297
institution National Center for Biotechnology Information
language English
publishDate 2020
publisher BioMed Central
record_format MEDLINE/PubMed
spelling pubmed-75072972020-09-23 gsufsort: constructing suffix arrays, LCP arrays and BWTs for string collections Louza, Felipe A. Telles, Guilherme P. Gog, Simon Prezza, Nicola Rosone, Giovanna Algorithms Mol Biol Software Article 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. BioMed Central 2020-09-22 /pmc/articles/PMC7507297/ /pubmed/32973918 http://dx.doi.org/10.1186/s13015-020-00177-y Text en © The Author(s) 2020 Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated in a credit line to the data.
spellingShingle Software Article
Louza, Felipe A.
Telles, Guilherme P.
Gog, Simon
Prezza, Nicola
Rosone, Giovanna
gsufsort: constructing suffix arrays, LCP arrays and BWTs for string collections
title 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_short gsufsort: constructing suffix arrays, LCP arrays and BWTs for string collections
title_sort gsufsort: constructing suffix arrays, lcp arrays and bwts for string collections
topic Software Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7507297/
https://www.ncbi.nlm.nih.gov/pubmed/32973918
http://dx.doi.org/10.1186/s13015-020-00177-y
work_keys_str_mv AT louzafelipea gsufsortconstructingsuffixarrayslcparraysandbwtsforstringcollections
AT tellesguilhermep gsufsortconstructingsuffixarrayslcparraysandbwtsforstringcollections
AT gogsimon gsufsortconstructingsuffixarrayslcparraysandbwtsforstringcollections
AT prezzanicola gsufsortconstructingsuffixarrayslcparraysandbwtsforstringcollections
AT rosonegiovanna gsufsortconstructingsuffixarrayslcparraysandbwtsforstringcollections