• Aucun résultat trouvé

3.3 HMM profils

3.3.5 HMMER 3.0

La version 3.0 de HMMER, sortie le 28 mars 2010, a été brièvement décrite par Sean Eddy dans [Eddy, 2009]. Elle apporte plusieurs nouveautés, parmi lesquelles :

– HMMER 3.0 a abandonné totalement la détermination des scores par l’algorithme de Viterbi, pour lui préférer l’algorithme dit de «forward». En effet, l’approche

de Viterbi consiste à calculer la probabilité d’une séquence sachant le modèle en s’en tenant exclusivement au meilleur alignement possible pour cette séquence, appelé ici π: SM,Viterbi(seq) = log

2

³Pr(seq,π|M) Pr(seq|Mnul)

´

. L’approche dite «forward», elle, prend en compte la totalité des alignements possibles de la séquence dans le modèle M : SM,forward(seq) = log2

³i P

πPr(seq,π|M)

Pr(seq|Mnul)

´

. On peut donc légitimement ar- gumenter que l’approche forward est plus juste que sa contrepartie de Viterbi, même si dans la plupart des cas, tout le«poids»de la distribution des probabi-

lités jointes Pr(seq,π) se trouve concentré sur le terme Pr(seq,π), si bien qu’alors

SM,forward(seq) ≃ SM,Viterbi(seq).

– Dans la même logique, HMMER 3.0 présente les résultats des recherches à partir d’un modèle en donnant non seulement le meilleur alignement, mais en fournissant également une enveloppe pour les alignements les plus probables : on ne déclare plus«les positions i à j de la séquence cible correspondent au modèle», mais :«le

meilleur alignement rencontre les positions i à j de la séquence, mais on trouve des alignements qu’on ne saurait ignorer, qui partent au plus tôt de la position i<= i et

qui vont au plus loin jusqu’à la position j>= j .»Cette notion d’incertitude dans un

alignement, ainsi présentée, est nouvelle pour ce qui concerne la classe d’outils qui nous intéresse ici.

– la recherche dans les bases de données à partir d’un HMM est devenue extrêmement rapide (sachant que la construction d’un modèle avec HMMER n’a jamais été un point consommateur de ressources processeur). Ceci est dû essentiellement au fait que HMMER 3 incorpore des heuristiques pour filtrer progressivement la base de séquences qu’on fournit en entrée de hmmsearch. La première et la plus importante de ces heuristiques consiste en une recherche initiale d’alignements partiels sans gaps, faisant intervenir des états Match successifs du modèle. Sean Eddy s’est direc- tement inspiré des heuristiques présentes dans BLAST(les graines à partir desquelles BLASTconstruit des correspondances de séquences) pour tenter de faire aussi bien en termes de rapidité.

– enfin, l’étape hmmcalibrate disparaît de HMMER 3.0, suite à des avancées théo- riques [Olsen et al., 1999; Altschul et al., 2001; Eddy, 2008] qui font qu’on peut se passer de l’estimation coûteuse des deux paramètres de la distribution de Gumbel : [Eddy, 2008] conjecture en effet que pour des modèles probabilistes d’alignements locaux, les scores de Viterbi sont distribués selon une loi de Gumbel de paramètre constant λ = log(2), alors que les scores issus de l’algorithme forward sont, eux, ex-

54 CHAPITRE 3. DES MODÈLES POUR DÉCRIRE UN ALIGNEMENT

ponentiellement distribués avec le même paramètre λ, du moins en ce qui concerne la queue de distribution correspondant aux plus forts scores. Ces conjectures n’ont à notre connaissance pas été remises en cause à ce jour. Une partie de la rapidité accrue des analyses avec HMMER 3.0 tient à l’économie de temps de calcul réalisée grâce à ces conjectures.

À partir d’un alignement multiple fourni en entrée, les étapes de construction d’un HMM avec HMMER3.0 sont les suivantes :

1. pondération relative des séquences les unes par rapport aux autres (cf. plus loin, sec- tion 3.4). C’est la méthode des poids position-based développée par les époux Heni- koff qui est employée par défaut,

2. construction de l’architecture du modèle, c’est-à-dire détermination des colonnes de l’alignement d’entrée qui vont faire l’objet d’une modélisation sous la forme d’un état Match. Par défaut on sélectionne les colonnes qui comportent plus d’un certain pourcentage de caractères qui ne sont pas des gaps (50% par défaut). Dans HM- MER 3.0, les séquences considérées comme des fragments (leur taille est inférieure de moitié au moins par rapport à la taille moyenne des séquences de l’alignement) font l’objet d’un traitement particulier : les gaps situés en début et en fin de cette séquence alignée seront ignorés dans le calcul de la«fraction de remplissage»des

colonnes en question,

3. pondération globale des séquences par rapport aux paramètres du modèle a priori. On mesure le degré global d’informativité contenu dans l’alignement, en terme de nombre«effectif»de séquences. Par exemple, un alignement d’entrée contenant

N séquences toutes identiques recevra un poids global équivalent à celui d’une

séquence unique. Plusieurs méthodes existent pour déterminer cette pondération. Alors que dans HMMER2 ce nombre effectif était égal au nombre de clusters de sé- quences construits par une approche de lien simple entre séquences partageant plus d’un certain pourcentage d’identité [Henikoff et Henikoff, 1992], HMMER 3.0 dé- finit ce poids total de l’alignement de façon à ce que l’entropie relative moyenne des états Match (calculée par rapport à le distribution de background, encodée dans les routines de construction du HMM) soit égale à une certaine quantité (exprimée en bits par position, par défaut 0,59). L’alignement étant fixé, si l’on fait l’hypothèse minimale consistant à supposer qu’au moins une des colonnes sélectionnées pour fabriquer les états Match diffère dans sa composition de la distribution de back- ground, alors augmenter cette quantité demandée d’entropie relative moyenne re- vient à augmenter le poids total accordé aux séquences. On peut considérer ce poids total comme étant le reflet du crédit que l’on accorde aux données observées dans l’alignement, par rapport à la confiance que l’on a placée dans la distribution de fond. En 1999, les auteurs de SAM préconisaient déjà de fixer un gain moyen d’en- tropie relative de 0,5 bit par colonne [Cline et al., 1999],