BACKGROUND: Approximate string matching is the problem of finding all factors of 
a given text that are at a distance at most k from a given pattern. Fixed-length 
approximate string matching is the problem of finding all factors of a text of 
length n that are at a distance at most k from any factor of length ℓ of a 
pattern of length m. There exist bit-vector techniques to solve the fixed-length 
approximate string matching problem in time [Formula: see text] and space 
[Formula: see text] under the edit and Hamming distance models, where w is the 
size of the computer word; as such these techniques are independent of the 
distance threshold k or the alphabet size. Fixed-length approximate string 
matching is a generalisation of approximate string matching and, hence, has 
numerous direct applications in computational molecular biology and elsewhere.
RESULTS: We present and make available libFLASM, a free open-source C++ software 
library for solving fixed-length approximate string matching under both the edit 
and the Hamming distance models. Moreover we describe how fixed-length 
approximate string matching is applied to solve real problems by incorporating 
libFLASM into established applications for multiple circular sequence alignment 
as well as single and structured motif extraction. Specifically, we describe how 
it can be used to improve the accuracy of multiple circular sequence alignment 
in terms of the inferred likelihood-based phylogenies; and we also describe how 
it is used to efficiently find motifs in molecular sequences representing 
regulatory or functional regions. The comparison of the performance of the 
library to other algorithms show how it is competitive, especially with 
increasing distance thresholds.
CONCLUSIONS: Fixed-length approximate string matching is a generalisation of the 
classic approximate string matching problem. We present libFLASM, a free 
open-source C++ software library for solving fixed-length approximate string 
matching. The extensive experimental results presented here suggest that other 
applications could benefit from using libFLASM, and thus further maintenance and 
development of libFLASM is desirable.