Section: Scientific Foundations
High-performance bioinformatics
Sequence analysis often make use of intensive computing. Examples include algorithms based on the dynamic programing paradigm, or algorithms on efficient data structures such suffix trees or suffix arrays. Performance comes with better algorithms, but also with better supports of execution using parallelism . This theme started with a collaboration with Symbiose team (INRIA Rennes) on sequence filtering methods with a reconfigurable architecture (ARC INRIA Flash 2006/2007) [55] , [56] . Since 2008, we started to work on Graphics Processing Units (GPUs).
GPUs were used in bioinformatics since 2005 for phylogenetic studies [39] , and for multiple sequence alignment based on an optimized Smith-Waterman implementation [48] . Recent papers provide speedups on bioinformatics applications involving suffix trees [60] , Smith-Waterman comparisons [51] , or RNA folding [58] . The best speed-ups are obtained when combining precise algorithmic analyses with a knowledge of the computing architectures. This is especially true with the memory hierarchy: the algorithms have to find a good balance between using large (and slow) global memories and some fast (but small) local memories.
Some other teams develop similar research on parallel bioinformatics, such as for example groups in Rennes (D. Lavenier), in the Nanyang Technological University, Singapore (B. Schmidt), in the University of Warsaw (W. Rudnicki), and in the Iowa State University (S. Aluru, J. Zola). This field of research is still in expansion.