![]() |
|
|
|
2. LES ALGORITHMES ET LES PROGRAMMES DE COMPARAISON DE SEQUENCES 2.1 Les principes de base pour identifier les ressemblances entre deux séquences2.1.1 L'identité, la similitude et l'alignement Les programmes de comparaison de séquences ont pour but de repérer les endroits où se trouvent des régions identiques ou très proches entre deux séquences et d'en déduire celles qui sont significatives et qui correspondent à un sens biologique de celles qui sont observées par hasard. En général les algorithmes fonctionnent sur des segments de séquences (on parle de fenêtres, de motifs ou de mots) sur lesquels on regarde s'il existe ou pas une similitude significative. Si on ne prend en compte que des analogies entre sous-séquences sans traiter la possibilité d'insertion ou de délétion, on parlera alors de segments similaires. Ainsi l'équation (1) se résume uniquement à l'expression de la somme des scores élémentaires. On distingue pour cette catégorie deux classes précises de similitude : la ressemblance parfaite ou identité (Figure 9a) et la ressemblance non parfaite que l'on qualifie de similitude (Figure 9b). Il existe bien évidemment plusieurs niveaux de similitude et les programmes s'attachent à repérer les régions où l'on trouve généralement des éléments identiques ou très similaires suffisamment nombreux pour que la ressemblance soit intéressante. En fait on considérera que la ressemblance est significative lorsque son score est supérieur ou égal à un score seuil que l'on s'est fixé (cf. l'évaluation des résultats). Bien entendu, pour l'identité, seules les matrices unitaires sont autorisées comme matrices de scores élémentaires alors que pour les autres ressemblances, toutes les matrices peuvent être employées. La notion d'alignement elle, suppose la recherche des positions auxquelles il est possible de faire des insertions ou des délétions afin d'optimiser le score d'une comparaison (Figure 9c). On considère qu'un programme est un programme d'alignement s'il possède au moins cette étape.
La plupart des programmes de comparaisons de séquences s'appuient
sur une de ces trois notions (la recherche de segments identiques, de
segments similaires, ou d'alignements) pour faire ressortir des ressemblances
entre séquences. Nous verrons que certains programmes, essentiellement
pour les comparaisons avec les bases de données, peuvent utiliser
une combinaison de ces principes fondamentaux. Il existe évidemment
plusieurs méthodes pour mettre en oeuvre ces principes, nous décrirons
ici celles qui les illustrent le mieux et qui sont souvent les plus utilisées.
2.1.2 La recherche de segments similaires
L'algorithme élémentaire de ce type de recherche est basé
sur la comparaison de fenêtres de longueur fixe que l'on déplace
le long des séquences. Soit deux séquences A et B à
comparer et l la longueur de la fenêtre. On détermine sur
la séquence A une première fenêtre de longueur l que
l'on va comparer avec toutes les fenêtres possibles de même
longueur, obtenues à partir de la séquence B. Un incrément
est alors appliqué pour déterminer une deuxième fenêtre
sur la séquence A, puis l'on recommence le balayage des comparaisons
sur la séquence B. Si l'on choisit un incrément de 1 et
que les séquences ont respectivement une longueur de m et n éléments,
on effectuera de l'ordre de nxm comparaisons de fenêtres différentes.
Pour chaque comparaison entre deux fenêtres, un score est obtenu
et l'on mémorisera uniquement les comparaisons dont les scores
sont jugés significatifs, c'est-à-dire supérieurs
ou égaux à un seuil que l'on s'est fixé. Par exemple
lorsque le score correspond au minimum à 80% d'identité
avec l'utilisation d'une matrice unitaire nucléique comme matrice
de scores élémentaires. Les comparaisons sauvegardées
qui correspondent à des positions chevauchantes des fenêtres
peuvent éventuellement être concaténées pour
faire ressortir, à l'édition des résultats, les meilleures
zones de similitudes entre les deux séquences.
Application : le programme Diagon de Staden
La détermination de la longueur de la fenêtre et du score
seuil est un choix souvent difficile à faire. La plupart des programmes
proposent des valeurs par défaut adéquates pour un premier
essai qu'il est utile de modifier en fonction de la parenté des
séquences et de la recherche effectuée. Ainsi, des petites
fenêtres peuvent être utilisées pour la recherche de
promoteurs ou de sites actifs tandis que des grandes sont généralement
employées pour des éléments structuraux ou des exons.
Par exemple, la taille moyenne des exons peut être utilisée
comme grande fenêtre (Gilbert, 1987).
Le choix du score seuil est bien sûr établi en fonction de la longueur
de la fenêtre mais également en fonction d'un test statistique
qui donne une estimation de la comparaison (cf. l'évaluation des
résultats). Souvent, celui-ci peut être augmenté pour
diminuer le bruit de fond lorsque beaucoup de points de similitude sont
tracés sur le graphe et que certains sont dus au hasard empêchant
ainsi de distinguer des diagonales. De nombreuses revues ont été
publiées sur ce type de programme discutant de la valeur des paramètres
et de l'utilité des différentes applications possibles de
l'algorithme. On peut citer parmi les plus importantes celles de Collins
et Coulson (1987) et de States
et Boguski (1991). 2.1.3 La recherche d'alignements optimaux Le
traitement des insertions et des délétions
où P est la pénalité pour une insertion de longueur l, x la pénalité fixe d'insertion indépendante de la longueur et y la pénalité d'extension pour un élément. La pénalité fixe varie généralement de l'ordre de 1 à 5 fois le score donné pour une bonne association entre deux éléments et la pénalité d'extension est souvent très inférieure à la pénalité fixe (environ 10 fois). En conséquence, une longue insertion est légèrement plus pénalisante qu'une courte, ce qui revient en fait à minimiser le poids de la longueur des insertions par rapport à l'introduction même d'une insertion. Autrement dit, on facilitera souvent dans un alignement le fait d'avoir peu d'insertions, éventuellement longues, plutôt que d'avoir beaucoup d'insertions d'un seul élément. Ceci est tout à fait en concordance avec les événements biologiques observés car il peut se produire par exemple une seule délétion de plusieurs bases plutôt que plusieurs pertes indépendantes d'une seule base. Dans certains cas, le poids des pénalités peut être établi en fonction des endroits où elles se trouvent pour améliorer la sensibilité de la recherche. Par exemple, on peut définir des choix de pénalités à l'intérieur de régions protéiques ayant potentiellement une qualité physique ou chimique particulière. Argos et Vingron (1990) ont développé de telles méthodes pour des structures comme les feuillets béta ou l'hydrophobicité. Enfin, dans tous les cas, la recherche d'alignements optimaux est basée sur le fait que les séquences doivent contenir un grand nombre d'éléments identiques ou équivalents.
La méthode de programmation dynamique
L'algorithme de Needleman et Wunsch
où S(i,j) est le score somme de la case d'indice i et j et se le score élémentaire de la case d'indice i et j de la matrice initiale. Le score max S(x,y) correspond en fait au score somme maximum déjà présent dans la matrice de comparaison en cours de transformation. Une illustration de cette transformation est donnée dans la Figure 12. Le but est ensuite de trouver le meilleur alignement global, à partir de la matrice transformée. Pour cela, on établit dans la matrice un chemin qui correspond au passage des scores sommes les plus élevés, ceci en s'autorisant trois types de mouvements possibles et en prenant comme point de départ le score maximum présent dans la matrice transformée. Needleman et Wunsch nomment ce passage le chemin des scores maximum (Figure 13). Les mouvements autorisés pour tracer le chemin sont : a) le mouvement
diagonal qui correspond au passage de la case (i,j) à la case (i+1,j+1).
C'est le mouvement que l'on privilégie. Dans notre exemple, on ne considère pas de pénalités pour les insertions mais il est possible bien sûr d'incorporer celles-ci dans la méthode. Pour cela il suffit de soustraire dans le calcul de chaque score somme une pénalité en fonction de la position du score "max S(x,y)" considéré. Ainsi l'équation (3) prend la forme suivante:
où S(i,j) est le score somme de la case d'indice i et j, se le score élémentaire de la case d'indice i et j de la matrice initiale et P la pénalité donnée pour une insertion.
De nombreux programmes sont déduits de ce genre d'alignement, le
programme ALIGN (Dayhoff et al., 1979)
en est une application directe avec l'utilisation de pénalités
à deux paramètres (dépendant et indépendant
de la longueur). Cependant, surtout pour les séquences nucléiques,
il peut exister plusieurs chemins possibles donnant un alignement optimal.
On doit alors faire un choix arbitraire car l'algorithme ne conserve qu'un
pointeur de chemin pour chaque position de la matrice de comparaison.
Ceci est fait généralement en privilégiant les insertions
les plus courtes. Le programme GAP du logiciel GCG (Devereux et al., 1984)
permet de sauvegarder des pointeurs équivalents et ainsi peut palier
à ce genre de problème. Une autre manière de déceler
des alignements optimaux différents est d'effectuer l'algorithme
avec les séquences à l'envers (l'élément n
d'une séquence devient 1 et l'élément 1 devient n
etc...).
Les alignements globaux et locaux
L'algorithme de Smith et Waterman
où S(i,j) est le score somme de la case d'indice i et j, se le score élémentaire de la case d'indice i et j de la matrice initiale et P la pénalité donnée pour une insertion. La Figure 14 illustre un tel alignement.
Ce genre de méthode est souvent considéré comme plus
sensible que celles directement inspirées de Needelman et Wunsch
surtout lorsque les séquences à comparer sont inconnues
ou de longueurs différentes. De plus, si les régions trouvées
entre les deux séquences recouvrent la totalité de celles-ci,
alors on peut considérer l'alignement local comme étant
un alignement global. 2.1.4 La recherche de segments identiques Elle
consiste à retrouver les zones identiques entre deux séquences.
Une des méthodes les plus répandues est celle initialement
proposée par Dumas et Ninio (1982).
Elle permet la transformation d'une séquence en suite d'entiers
à partir de la description classique faite en chaîne de caractères.
Pour cela, on décompose une séquence en autant de segments
de longueur fixe se chevauchant et l'on attribue un code à chacun
de ces segments. Le code est un entier déterminé en fonction
de l'alphabet utilisé dans la description des séquences
et de la longueur du segment codé (Figure
15). On appelle cette méthode, la codification numérique
des séquences et l'on parle de "mot" ou de "motif" pour les segments
codés, la longueur des mots codés étant référencée
comme uplet (triplet, quadruplet..) ou "k-tuple" en anglais. La comparaison
matricielle des deux séquences sous forme de chaîne d'entiers permet
de localiser ensuite sur les séquences tous les endroits possédant
des segments communs de longueur prédéfinie par le codage.
Pour cela il suffit de repérer les positions des séquences
où les codes sont identiques. Cette approche diminue considérablement
les temps de recherche de similitude et localise rapidement les zones
identiques entre deux séquences. La rapidité de la méthode
est proportionnelle à la longueur du mot codé, mais bien
évidemment, plus cette longueur est grande, plus le résultat
est grossier. Par exemple, une codification numérique des séquences
nucléiques avec des segments de longueur 5 peut ignorer des segments
identiques de longueur 4. La principale utilité de ce principe
est donc d'effectuer rapidement une comparaison, au détriment possible
d'une certaine sensibilité. Application : accélération des algorithmes Une
recherche rapide de segments identiques est généralement
utilisée à chaque fois que l'on a besoin de localiser des
zones communes entre deux séquences. C'est pourquoi on trouve une
cette méthode dans l'identification de régions répétées
directes ou inverses à l'intérieur d'une même séquence
ou bien dans la localisation de sous- séquences ou motifs. Par
exemple, Fondrat et Dessen (1995)
exploitent une telle démarche pour construire une base de données
de motifs à accès rapide (RAMdb) et retrouver rapidement
des motifs complexes dans une base de séquences. La RAMdb est en
fait un index de la codification numérique de toutes les séquences
contenues dans la banque. Ce type de méthode est également
utilisé comme première étape d'une recherche de similitudes
ou d'alignements. Ainsi une des variantes du programme de Staden consiste
à trouver les points de similitude en identifiant rapidement les
zones d'identités entre deux séquences. Le programme gagne
de cette manière en rapidité mais perd en sensibilité
car seuls les segments similaires possédant au moins une zone d'identité
égale à la longueur des mots codés seront détectés.
Cette version du programme est principalement utilisée pour des
séquences nucléiques très longues. Ainsi, Lefèvre
et Ikéda (1994) ont
effectué la comparaison graphique du chromosome III de la levure
sur lui-même. Pour cela, ils utilisent, pour identifier rapidement
les zones d'identité, un automate qui explore un arbre des positions
de différents mots contenus dans les séquences. La recherche
rapide de segments identiques comme la codification numérique des
séquences est une méthode que l'on trouve très souvent
dans les programmes de comparaisons de séquences avec les bases
de données, car le nombre de séquences à comparer
est très élevé et ce moyen sert à repérer
rapidement les séquences de la banque qui possèdent des
zones de haute similitude avec la séquence recherchée. On
élimine ainsi rapidement des séquences qui n'ont pas d'affinités
avec la séquence recherchée pour ne garder que celles susceptibles
de présenter de bonnes ressemblances (cf. les programmes de comparaison
avec les banques de séquences). 2.2 L'évaluation des résultats
En bioinformatique, lorsque l'on effectue des comparaisons entre séquences
biologiques, cela revient essentiellement à des comparaisons de
chaînes de caractères. Bien sûr, on peut donner aux caractères
une composante biologique réelle à travers les matrices
de scores élémentaires mais il est souvent utile d'essayer
de déterminer si ce que l'on observe a une signification biologique
ou est simplement du au hasard. Pour cela, on peut effectuer des statistiques
simples qui permettent d'estimer la signification des résultats.
Pour certaines comparaisons, la ressemblance est tellement forte, que
la relation biologique entre les séquences est évidente.
Néanmoins, très souvent, pour d'autres situations moins
faciles, des méthodes empiriques peuvent être utilisées.
Une des premières qui a été considérée
est le pourcentage d'identité. Il faut cependant être méfiant
avec ce critère car il doit obligatoirement être relié
à la longueur de la similitude considérée et sa signification
est différente selon que l'on étudie des séquences
nucléiques ou protéiques. En effet des séquences
protéiques de 100 résidus ou plus, possèdant au moins
25% d'identité entre elles ont certainement un ancêtre commun
(Doolittle, 1990) alors que
deux séquences nucléiques d'au moins 100 bases et identiques
à 50% n'ont pas forc´ment de relation biologique. Ceci est
du essentiellement au fait que la fréquence génomique d'une
base est relativement élevée (environ 25%). On peut également
douter d'un alignement s'il nécessite plus d'une insertion en moyenne
pour 20 acides aminés, ou si de faibles changements (environ 10%)
dans l'établissement des pénalités d'insertion-délétion
modifient sensiblement cet alignement (Sates et Boguski, 1991).
Souvent les programmes n'incluent pas de tests statistiques et il appartient
alors à l'utilisateur d'en établir un lui-même s'il
désire estimer mathématiquement la signification de ses
résultats. 2.2.2 Les méthodes d'analyse de Monte Carlo Ce genre d'analyse est le plus couramment utilisé. Il consiste à prendre l'une ou les deux séquences issues de la comparaison et d'engendrer des séquences aléatoires en permutant ou en tirant au hasard l'ordre des caractères dans les séquences. La composition en bases ou en acides aminés est ainsi conservée. Les comparaisons sont ensuite réalisées avec ces séquences aléatoires pour obtenir une distribution des scores. Le score dit "authentique", qui correspond à la comparaison des deux séquences natives, est alors comparé à cette distribution. On peut par exemple avec l'aide d'un histogramme apprécier son détachement éventuel par rapport aux scores aléatoires (Figure 16). Une application directe de cette approche consiste à calculer un deuxième score qui rend compte de l'éloignement par rapport à la distribution aléatoire. Un tel score, que l'on nomme score Z, est déterminé de la manière suivante (Dayhoff, 1978 ; Doolitlle, 1981) :
où s est le score authentique, m est la moyenne des scores aléatoires, et e l'écart type des scores aléatoires. Le calcul d'un tel score Z suppose que la distribution des scores aléatoires suit une loi normale centrée réduite. Or on sait que cela est rarement exact (Waterman, 1989 ; Karlin et Altschul, 1990). On observe plutôt une loi de distribution de valeurs extrêmes avec la présence d'une queue de distribution pour les scores les plus élevés (Altschul et al., 1994). De ce fait, pour avoir une bonne confiance dans la signification du score, il faut prendre une valeur de Z élevée. C'est pourquoi lorsque l'on exprime le score Z en nombre d'écart-types pour estimer la comparaison, on utilise généralement plus de 2 écart-types (2e) qui est la valeur couramment admise pour une loi normale. On considèrera donc ici qu'a partir de 3e, la comparaison peut être significative, mais peu probable, qu'à partir de 6e, elle est significative et qu'au delà de 10e, elle est certaine.
Ces méthodes présentent donc certains inconvénients.
Le plus important est que l'hypothèse de normalité de la
distribution des scores aléatoires n'est pas souvent vérifiée,
ce qui implique que l'estimation de la signification du score peut être
approximative. De plus, les modèles utilisés pour simuler
des séquences ne sont pas toujours les mieux adaptés car
ils ne prennent généralement pas en compte la taille des
mots ou des syllabes qui constituent des unités fondamentales dans
l'organisation des séquences (pour plus d'informations voir les
études sur la linguistique des séquences comme celle de
Kalogeropoulos, 1993). La
non considération de ces éléments introduisent donc
un biais dans les simulations. Enfin ces méthodes peuvent être
parfois coûteuses en temps de calcul car elles nécessitent au minimum
100 scores par séquence pour une distribution suffisante des scores
aléatoires. La plupart des autres méthodes utilisées et récemment développées ont été implémentées pour la comparaison avec les bases de données. Ainsi, le score d'une comparaison peut être confrontée avec la distribution des scores obtenus lors de la recherche avec une base de données (Pearson, 1990 ; Gribskov et al., 1990). Là encore, cette distribution peut être approximativement normale et donc la fiabilité de l'étude peut être contestée. Cependant, la méthode a l'avantage d'intégrer dans l'analyse la composition biaisée de la banque de données ainsi que les faibles ressemblances qui sont dues à des propriétés intrinsèques aux séquences. Par exemple, des motifs protéiques hydrophobes ou hydrophiles peuvent être communs à plusieurs familles de séquences et ne pas refléter une grande spécificité entre deux séquences. On peut établir également soi même la distribution des scores en traçant le logarithme du nombre d'occurrences d'un score (où classe de scores) en fonction des scores obtenus lors de la comparaison avec une banque de données. C'est ce que préconisent Collins et Coulson (1990) en utilisant une méthode des moindres carrés pour distinguer les scores significatifs de ceux distribués au hasard. L'avantage d'une telle méthode est qu'elle linéarise les scores obtenus par chance et permet une visualisation rapide des scores significatifs. Une autre méthode utilisée pour les comparaisons avec les bases de données est celle développée par Karlin et Altschul (1990) qui considère la probabilité de trouver le plus haut score parmi toutes les paires de segments possibles entre deux séquences. Une paire de segments est une zone contigue de résidus entre deux séquences. De ce fait, seules les ressemblances sans insertion-délétion sont considérées. Ce type d'approche n'est donc pas utilisable par les programmes d'alignement. Néanmoins cette méthode a l'avantage d'appliquer une rigueur statistique pour classer les ressemblances par leur probabilité d'apparition et non par leur score. Il existe de nombreuses méthodes pour évaluer les comparaisons entre séquences. Certaines sont simples comme celle de Doolittle (1986) qui attribue des scores privilégiés aux acides aminés conservés lors de la comparaison. La somme de ces scores est ensuite confrontée à une courbe de référence qui donne un score significatif en fonction de la longueur des séquences. D'autres font appel à des outils mathématiques beaucoup plus complexes sans pour autant donner des résultats plus convainquants. Toutes ces méthodes montrent finalement que le problème de la signification mathématique des similitudes que l'on peut observer entre séquences biologiques est un élément important mais complexe, qui n'est pas encore clairement résolu mathématiquement. Il est vrai que cette signification dépend de nombreux critères eux même complexes comme par exemple l'algorithme utilisé et son paramètrage ou le système de score employé. C'est pourquoi, il faut prendre toutes ces évaluations statistiques avec prudence, car de toute évidence, la signification statistique ne reflète pas forcément la signification biologique et inversement. Une des raisons principale est sans doute que les comparaisons se font essentiellement au niveau des séquences primaires. Or, on sait par exemple, qu'il existe des protéines dont la structure tridimensionnelle se superpose très bien et dont les séquences primaires n'ont pas de ressemblances significatives (Creighton, 1984). On peut donc penser que la détermination croissante de la structure 3D des molécules va permettre d'apporter d'avantage de connaissances qui pourront être incorporées dans les études de comparaison de séquences. Finalement, pour le moment il n'existe pas vraimant d'outils mathématiques fiables car on ne posséde pas encore de modèle qui exprime réellement l'ensemble des paramètres à considérer dans les ressemblances biologiques des séquences. Quand les séquences sont très éloignées ou très apparentées, il est possible d'obtenir une conclusion avec les outils mathématiques mis à notre disposition. Par contre, il subsiste souvent une zone d'ombre pour laquelle seule la connaissance et la pratique courante des outils informatiques, en corrélation avec les connaissances biologiques, peuvent permettre de déceler une situation intéressante. © CITI2, DSI 1997
|