Un algorithme d`indexation de motifs approchés

publicité
Un algorithme d’indexation de motifs approchés
An approximate motifs indexing algorithm
Johann P ELFRÊNE
Saïd A BDEDDAÏM
Joël A LEXANDRE
LIFAR / ABISS - Université de Rouen
ABISS, UMR CNRS 6037 - Université de Rouen
ExonHit Therapeutics - 65, Boulevard Masséna 75013 Paris
Mel : {johann.pelfrene,said.abdeddaim,joel.alexandre}@univ-rouen.fr
Résumé
Dans ce travail, nous proposons un nouvel algorithme pour indexer l’ensemble des motifs approchés présents
dans une ou plusieurs séquences. L’indexation de motifs exacts est un problème qui connaît des solutions algorithmiques satisfaisantes. Cependant le fait de se limiter à des motifs exacts réduit considérablement l’intérêt en ce
qui concerne les séquences biologiques.
Après avoir exposé les bases et les contraintes de l’indexation de motifs approchés, nous expliquons brièvement
l’approche utilisée ainsi que les tests que nous avons réalisés.
Mots clés : index, motif approché, algorithme
Abstract
In this work, we propose a new algorithm, designed for indexing approximate motifs occurring in one or more
sequences. Indexing exact motifs is a problem that has good algorithmic solutions. Therefore, being limited to
exact motifs reduces amazingly the interest concerning biosequences. After having described indexing approximate
motifs basis and constraints, we will quickly explain our approach, and the tests we realized.
Keywords: index, approximate motif, algorithm
1 Introduction
La croissance exponentielle des données de séquençages et d’expressions disponibles fait qu’à terme, les temps
de parcours de toutes ces banques risquent de devenir un facteur limitant pour en extraire l’information. Une des
solutions pour réduire le temps de parcours est de créer un index. De même que lorsque l’on recherche un mot
dans un livre, il est plus simple de parcourir son index que de lire intégralement toutes les pages. Cette création
d’index, même si elle est très coûteuse dans un premier temps, permet d’accélérer les recherches ultérieures dans
les banques.
Un motif approché est un motif dans lequel on autorise qu’à certaines positions, la lettre ne soit pas fixée (joker).
Notre objectif est de développer un nouvel algorithme pour l’indexation des motifs approchés afin de constituer
une nouvelle méthode d’assemblage d’EST qui viendra se substituer aux logiciels mis en œuvre dans le logiciel
ACCES (cf. "Détection d’événements d’épissage alternatif par l’Assemblage Consensuel de Contig à partir d’ESt :
ACCES", B. Bely).
Dans un premier temps, nous présenterons les problèmes liés à l’indexation, puis nous expliquerons notre nouvel
algorithme d’indexation de motifs approchés primitifs, ainsi que quelques tests que nous avons effectués.
2 Motif primitif versus Motif non redondant
De nombreuses méthodes d’indexation ont été proposées pour la construction d’index de motifs répétés de manière
exacte [1, 2]. Si les performances de l’indexation de motifs exacts sont tout à fait satisfaisantes, le fait d’exiger que
le motif se retrouve exactement (sans tolérer d’éventuelles petites différences) dans les séquences limite considérablement l’intérêt de ces méthodes. Indexer efficacement des motifs approchés reste cependant un problème qui
n’est pas encore parfaitement résolu : créer un index exhaustif des motifs approchés n’est pas possible. En effet, la
taille d’un tel index, et le temps de calcul croissent exponentiellement avec la taille des séquences !
Un résultat récent [3] montre cependant qu’un petit sous-ensemble de motifs approchés, dits motifs maximaux non
redondants, permet de déduire tous les autres motifs. On considère un seuil , le nombre minimal de répétition du
convention CIFRE - ExonHit Therapeutics
Ce travail est soutenu dans le cadre du programme "Bio-ingénierie 2000" du Ministère de la Recherche
JOBIM 2002
UnPelfrêne,
J.
JOBIM
algorithme
2002
S.d’indexation
Abdeddaïmde
et motifs
J. Alexandre
approchés
263
motif dans le texte (séquence). Dans toute la suite, nous ne retiendrons que les motifs atteignant un seuil fixé . On
dira qu’un motif est maximal s’il n’existe pas un autre motif plus grand apparaissant aux mêmes positions (à un
décalage près) dans un texte donné. Nous notons l’ensemble des positions du motif dans le texte .
Un motif est redondant dans un texte si il existe des motifs maximaux tels que . Par
exemple dans la séquence AAGAAACAAATA, le motif A__AA__A est redondant pour les deux motifs A__AA__AA
et AA_AAA_A (pour !#" ) et AA__A est non redondant.
Laxmi Parida [3] montre qu’il existe au plus $% (où % est la taille du texte) motifs maximaux non redondants, et
donne un algorithme en &'%)(+*,.-%) pour les trouver. Si ce résultat réduit considérablement le nombre de motifs à
considérer, la complexité de l’algorithme limite sur une application en génomique où la taille des séquences peut
être très importante.
Nous proposons une définition des motifs primitifs, plus stricte que la notion de redondance : un motif maximal est
primitif dans un texte s’il n’existe pas de motifs maximaux et / 1032 tels que 4567
98:/ .
Pour le seuil fixé à 1, le texte lui-même est l’unique motif primitif.
3 Extraction des motifs primitifs pour un seuil de 2
Nous avons établi un nouvel algorithme, et une preuve que le nombre de motifs primitifs pour le seuil de 2 est
inférieur à % , la taille du texte. Dans un premier temps, notre approche consiste à comparer le texte avec chacun
de ses suffixes : nous allons obtenir %;5< motifs maximaux en &'%>=. . Cet ensemble contient au moins tous les
motifs primitifs. Dans un second temps, on élimine de cet ensemble les motifs maximaux non primitifs. Cette étape
nécessite un temps en &'%)(? . L’index consiste en un automate reconnaissant l’ensemble des motifs primitifs du
texte pour le seuil .
4 Tests
Nous avons testé notre programme sur quelques séquences d’EST. Voici un tableau récapitulatif sur trois séquences :
Num Acc
taille séquence
nb motifs primitifs
nb motifs non primitifs
lg moyenne
AA054825
BG673928
AI392072
196
473
618
172
451
585
8
15
22
101
241
318
TAB . 1 – Résultats de quelques tests
Nous constatons bien que le nombre de motifs primitifs est très faible par rapport au nombre de motifs approchés
qui peuvent être trouvés dans les séquences. Par exemple une séquence de longueur 64 peut contenir "A@B motifs
approchés. "9@B , ramené sur une échelle de temps, est supérieur à la durée de vie (en secondes) de notre soleil !
Nos autres tests montrent qu’il y a toujours plus de non primitifs lorsque l’on étudie une seule séquence (6% à 7%),
qu’avec plusieurs (environ 3%). Il s’avère donc que le nombre de motifs non primitifs trouvés est très restreint, et
l’on peut donc s’interroger sur l’utilité pratique d’appliquer cette étape de d’élimination, d’autant plus que l’étape
nécessaire à la détection de ces motifs non primitifs trouvés par l’algorithme est très gourmande en temps.
5 Conclusion
Nous expliquons un nouvel algorithme permettant de détecter tous les motifs primitifs d’un texte pour un seuil fixé
à 2, ainsi qu’une nouvelle borne pour le nombre de ces motifs dans ce cas.
Nous pensons que cet algorithme va nous servir de base pour écrire un algorithme incrémental, qui nous permettra
d’obtenir les motifs primitifs pour un seuil quelconque , à partir motifs primitifs avec un seuil C;D< .
Références
[1] C ROCHEMORE , H ANCART et L ECROQ , Algorithmique du Texte, Vuibert, 2001, chapitre 5.
[2] NAVARRO , BAEZA -YATES, S UTINEN et TARHIO , « Indexing methods for approximate string matching »,
IEEE Data Engineering Bulletin 24, 2001.
[3] PARIDA , F LORATOS et R IGOUTSOS, « Pattern discovery on character sets and real-valued data : Linear bound
on irredundant motifs and an efficient polynomial time algorithm », SODA, 2000.
264
JOBIM 2002
Téléchargement