SeqAn An efficient, generic C++ library for sequence analysis

被引:210
|
作者
Doering, Andreas [1 ]
Weese, David [1 ]
Rausch, Tobias [1 ,2 ]
Reinert, Knut
机构
[1] Inst Informat, D-14195 Berlin, Germany
[2] Int Max Planck Res Sch Computat Biol & Sci Comp, D-14195 Berlin, Germany
关键词
D O I
10.1186/1471-2105-9-11
中图分类号
Q5 [生物化学];
学科分类号
071010 ; 081704 ;
摘要
Background: The use of novel algorithmic techniques is pivotal to many important problems in life science. For example the sequencing of the human genome [1] would not have been possible without advanced assembly algorithms. However, owing to the high speed of technological progress and the urgent need for bioinformatics tools, there is a widening gap between state-of-heart algorithmic techniques and the actual algorithmic components of tools that are in widespread use. Results: To remedy this trend we propose the use of SeqAn, a library of efficient data types and algorithms for sequence analysis in computational biology. SeqAn comprises implementations of existing, practical state-of-the-art algorithmic components to provide a sound basis for algorithm testing and development. In this paper we describe the design and content of SeqAn and demonstrate its use by giving two examples. In the first example we show an application of SeqAn as an experimental platform by comparing different exact string matching algorithms. The second example is a simple version of the well-known MUMmer tool rewritten in SeqAn. Results indicate that our implementation is very efficient and versatile to use. Conclusion: We anticipate that SeqAn greatly simplifies the rapid development of new bioinformatics tools by providing a collection of readily usable, well-designed algorithmic components which are fundamental for the field of sequence analysis. This leverages not only the implementation of new algorithms, but also enables a sound analysis and comparison of existing algorithms.
引用
收藏
页数:9
相关论文
共 50 条
  • [1] SeqAn An efficient, generic C++ library for sequence analysis
    Andreas Döring
    David Weese
    Tobias Rausch
    Knut Reinert
    BMC Bioinformatics, 9
  • [2] The SeqAn C plus plus template library for efficient sequence analysis: A resource for programmers
    Reinert, Knut
    Dadi, Temesgen Hailemariam
    Ehrhardt, Marcel
    Hauswedell, Hannes
    Mehringer, Svenja
    Rahn, Rene
    Kim, Jongkyu
    Pockrandt, Christopher
    Winkler, Joerg
    Siragusa, Enrico
    Urgese, Gianvito
    Weese, David
    JOURNAL OF BIOTECHNOLOGY, 2017, 261 : 157 - 168
  • [3] STAPL: An adaptive, generic parallel C++ library
    An, P
    Jula, A
    Rus, S
    Saunders, S
    Smith, T
    Tanase, G
    Thomas, N
    Amato, N
    Rauchwerger, L
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 2003, 2624 : 193 - 208
  • [4] MultiArray: a C++ library for generic programming with arrays
    Garcia, R
    Lumsdaine, A
    SOFTWARE-PRACTICE & EXPERIENCE, 2005, 35 (02): : 159 - 188
  • [5] A generic C++ library for solving path problems
    Botincan, M
    ITI 2004: PROCEEDINGS OF THE 26TH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY INTERFACES, 2004, : 645 - 650
  • [6] An efficient and flexible C++ library for concurrent programming
    Poggi, A
    Rimassa, G
    SOFTWARE-PRACTICE & EXPERIENCE, 1998, 28 (13): : 1437 - 1463
  • [7] Object-oriented sequence analysis: SCL-a C++ class library
    Vahrson, W
    Hermann, K
    Kleffe, J
    Wittig, B
    COMPUTER APPLICATIONS IN THE BIOSCIENCES, 1996, 12 (02): : 119 - 127
  • [8] Generic accelerated sequence alignment in SeqAn using vectorization and multi-threading
    Rahn, Rene
    Budach, Stefan
    Costanza, Pascal
    Ehrhardt, Marcel
    Hancox, Jonny
    Reinert, Knut
    BIOINFORMATICS, 2018, 34 (20) : 3437 - 3445
  • [9] GENERIC CONTAINERS IN C++
    DAVIDSON, A
    DR DOBBS JOURNAL, 1991, 16 (08): : 50 - &
  • [10] Standard C/C++: Testing C++ library conformance
    Plauger, P.J.
    C/C++ Users Journal, 2000, 18 (04):