Pondération d'automates modélisant des familles de protéines et significativité des scores
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Pondération d’automates modélisant des familles de protéines et significativité des scores Vincent Picard École Normale Supérieure de Cachan – Antenne de Bretagne, Rennes, France vincent.picard@eleves.bretagne.ens-cachan.fr Sous la direction de François Coste et Jérémie Bourdon Symbiose project, IRISA/INRIA, Rennes, France Résumé Déterminer la fonction d’une protéine est un problème majeur en biologie, c’est pourquoi il est important de proposer des méthodes efficaces pour identifier les protéines partageant des caractéristiques communes. L’équipe Symbiose de l’IRISA a développé un modèle pour caractériser les familles de protéines [1, 2]. Ce modèle est un automate pondéré inféré à partir de plusieurs représentants connus de la famille. Étant donné une séquence protéique, l’automate permet de lui attribuer un score évaluant sa proximité avec la famille modélisée. Il est alors possible de rechercher dans les bases de données génomiques des protéines appartenant à cette famille. Malgré de bons résultats, la méthode de pondération de l’automate utilisée était naïve. Durant ce stage, j’ai amélioré les performances de ce modèle en proposant un nouveau schéma de pondération inspiré de l’état de l’art sur des modèles proches : les profils [3, 4], les matrices poids-position [5, 6], les profils à base de modèles de Markov cachés [7, 8] et les meta-motifs [9]. J’ai également démontré plusieurs propriétés sur la loi de distribution des scores fournis par le modèle. Les résultats théoriques que j’ai obtenus permettent d’estimer la significativité statistique des scores sous la forme d’une p-valeur. Cet indicateur, précieux pour les biologistes, permet de décider l’appartenance ou non à la famille et de classer les séquences en fonction de leur proximité à la famille. Les tests effectués montrent une nette amélioration du pouvoir de discrimination des pro- tomates. J’ai écrit deux programmes : proto2wproto implémente la nouvelle méthode de pon- dération et wprotoscan calcule les scores et les p-valeurs des séquences. Ces deux programmes seront inclus dans la prochaine version du logiciel Protomata Learner, fonctionnant sur le cluster de la plate-forme bioinformatique Genouest et accessible à la communauté scientifique via une interface web. Mots-clés automate, protéine, pondération, Dirichlet, significativité, p-valeur
Remerciements Je souhaite remercier tout particulièrement François Coste de m’avoir accueilli comme stagiaire, de sa confiance, sa sympathie et de m’avoir donné une image dynamique et chaleu- reuse de la recherche. Je remercie également Jérémie Bourdon d’avoir guidé mon travail avec clairvoyance. Je suis reconnaissant à l’équipe Symbiose pour sa cordialité. Enfin, je tiens à remercier Dominique Lavenier de m’avoir présenté François et de sa bienveillance. I Introduction Les protéines sont des macro-molécules indispensables au monde du vivant. Elles assurent de nombreuses fonctions : éléments de structure de l’organisme, transport de l’oxygène, dé- fense immunitaire, contrôle du métabolisme, etc. Depuis les grands projets de séquençage des génomes, la taille des bases de données protéiques croit exponentiellement et il devient capital de savoir traiter efficacement ces données et en extraire des connaissances. La découverte et l’étude de protéines homologues, héritant d’un ancêtre commun et par- tageant des caractéristiques communes, permettent de comprendre la fonction et l’histoire évolutive des protéines. Des familles de protéines similaires ont été identifiées, conduisant les scientifiques à concevoir des modèles pour décrire ces familles et rechercher d’autres membres dans les bases de données protéiques. L’équipe Symbiose a développé une approche représen- tant les familles de protéines par des automates pondérés appelés protomates. Un protomate est construit à partir d’un jeu de séquences d’apprentissage et permet ensuite d’attribuer à une séquence protéique quelconque un score d’appartenance à la famille. Malgré de bons résultats, la méthode de pondération des protomates est peu évoluée. De plus, il n’existe pas encore d’étude permettant de différencier les bons et les mauvais scores d’appartenance à la famille. Au cours de ce stage, j’ai amélioré les performances des protomates en utilisant un nouveau schéma de pondération, inspiré des méthodes efficaces utilisées dans plusieurs modèles proches telles que l’utilisation des mixtures de Dirichlet. J’ai également démontré plusieurs propriétés sur la loi de distribution des scores. Ces résultats théoriques m’ont permis d’élaborer une méthode efficace pour donner une significativité statistique aux scores sous forme de p-valeur, constituant un indicateur précieux pour les biologistes. Ils seront inclus dans la prochaine version de Protomata Learner sous la forme de deux programmes que j’ai écrits : proto2wproto et wprotoscan. La section II présente les principaux modèles de familles utilisés en bioinformatique. Les méthodes classiques de pondération et le nouveau schéma de pondération des protomates sont présentés dans la section III. L’obtention de la significativité statistique des scores est présentée en section IV. La section V regroupe les tests et résultats expérimentaux qui valident cette approche. 1
II Modélisation des familles de protéines Une protéine est une macro-molécule se présentant sous la forme d’une chaîne de petites molécules appelées acides aminés. Il existe vingt différents types d’acides aminés qu’on repré- sente par des lettres de l’alphabet1 . Du point de vue de la théorie des langages, une protéine est donc un mot sur l’alphabet des acides aminés. Un modèle de famille de protéines est composé : – d’informations décrivant les séquences protéiques de la famille (par exemple, une ma- trice) ; – d’une règle d’acceptation permettant de décider l’appartenance ou non d’une séquence à la famille (par exemple, un système de score et un seuil). II.1 Position Specific Scoring Matrices (PSSMs) begin end Fig. 1 – Schéma d’une PSSM. Les matrices poids-position, position specific scoring matrices (PSSM), décrivent des po- sitions consécutives caractéristiques de la famille dans la séquence protéique [3, 6, 4]. Les co- lonnes de la matrice représentent les positions consécutives ; les lignes représentent les acides aminés. Les coefficients de la matrice sont des poids représentant la probabilité d’observa- tion des acides aminés aux positions correspondantes. Pour noter une séquence protéique, on cherche à aligner au mieux une partie de la séquence de la protéine avec la matrice. Le score de l’alignement est la somme des poids correspondants. On fixe alors un seuil au-delà duquel les protéines sont reconnues comme membres de la famille. Le problème des PSSMs est qu’elles reconnaissent mal des protéines de la famille ayant subi des mutations de type insertion ou suppression car elles décrivent des positions successives. Des alignements non consécutifs (recherche de sous-mots au lieu de facteurs), avec une pénalité de gap affine et dépendant de la position, ont été utilisés mais un modèle adapté à ces types de mutations est préférable. Les PSSMs restent tout de même un bon moyen d’identifier des candidats pour la famille [2]. 2
begin M1 M2 M3 M4 end Fig. 2 – Schéma d’un profil HMM. II.2 Profils Hidden Markov Model (HMM) Un profil de type modèle de markov caché (profil HMM) [7, 8, 4] est une PSSM généralisée sous forme d’automate dont les transitions sont probabilisées, i.e. un automate de Markov. Les états de l’automate produisent une lettre selon une distribution de probabilité qui leur est propre. La figure 2 représente un profil HMM. Les états de match (carrés) correspondent aux colonnes de la PSSM et produisent les acides aminés caractéristiques de la séquence. Les états d’insertion (losanges) autorisent l’insertion d’acides aminés entre les positions clés, tandis que les états de suppression (ronds) autorisent les suppressions2 . Une séquence donnée est alors émise par le profil HMM avec une certaine probabilité. Cette probabilité est comparée à celle qu’aurait donné un modèle nul, c’est-à-dire un modèle produisant les acides aminés aléatoirement dans les mêmes proportions que celles apparaissant dans les banques de protéines (on parle de probabilités de fond d’apparition des acides aminés). Un fort score signifie que la protéine a peu de chance d’avoir été produite par hasard et donc qu’elle appartient probablement à la famille. Un seuil est fixé pour discriminer les protéines appartenant ou non à la famille. Les profils HMM obtiennent de très bons résultats même sur les longues séquences [7, 8] mais la difficulté est d’estimer les nombreux3 paramètres du modèles [9]. Une estimation correcte requiert de nombreuses séquences d’apprentissage. De plus, le caractère linéaire des profils nécessite une certaine homogénéité de la famille. II.3 Meta-motifs Meta-MEME Les meta-motifs Meta-MEME sont une solution pour réduire le nombre de paramètres à estimer dans les profils HMM [9]. Un meta-motif est un profil HMM simplifié dans lequel seuls certains groupes d’états de match sont conservés sous forme de blocs. Ces blocs correspondent à des motifs importants que l’on doit trouver dans les membres de la famille. Dans les blocs, les états d’insertion et de suppression sont donc enlevés. On conserve entre les blocs un état d’insertion (ou état de gap) permettant à l’automate de produire des acides aminés entre les 1 code standard IUPAC 2 Ces états n’émettent pas de lettres, ils sont muets. 3 de l’ordre de plusieurs centaines 3
begin end Fig. 3 – Schéma d’un modèle Meta-MEME. blocs. Les meta-motifs sont un bon compromis entre les PSSMs et les profils HMM et ont permis d’obtenir de bons résultats [9]. II.4 Protomates A R N Y S P R I N G A N Q R I I A Y R N A begin end Fig. 4 – Schéma d’un protomate et exemple d’un alignement de séquence sur le protomate. L’équipe Symbiose a développé un modèle de famille de protéine appelé protomate [1, 2]. L’idée est de construire un modèle plus expressif que les modèles précédents au sens de la hiérarchie de Chomsky. En effet, les modèles précédents se rapprochent plus des représentations sous forme de motifs dans lesquels on autorise certaines mutations. Les motifs sont des sous- expressions régulières alors que les automates permettent d’atteindre un plus haut niveau d’expressivité. Les protomates sont des automates plus complexes que ceux des modèles précédents consti- tués d’états de match réunis en blocs. Les blocs sont séparés par des transitions décrivant les successions de blocs autorisées. Des états de gap sont présents au niveau des transitions autori- sant la présence d’acides aminés entre les blocs. Les états de match sont pondérés à la manière des PSSMs et des blocs des meta-motifs. Intuitivement, un protomate permet de grouper des meta-motifs dépendants et de les pondérer. L’intérêt des protomates est aussi de proposer des alternatives dans la caractérisation de la famille contrairement aux profils HMMs. Un alignement d’une séquence sur le protomate consiste à faire correspondre chaque lettre de la séquence avec un état de l’automate de manière à obtenir un chemin menant de begin à 4
end. Le score d’un alignement est la somme de tous les poids correspondants dans le protomate. Le score fourni par le protomate correspond à celui du meilleur alignement (score de Viterbi [8, 10]). Un seuil est fixé pour discriminer les protéines appartenant ou non à la famille. III Pondération des protomates Dans cette section, nous considérons le problème suivant : étant donné un ensemble de séquences d’apprentissage, comment déterminer les coefficients du protomate (coefficients des colonnes, poids des transitions et des états de gap) de façon à caractériser au mieux la fa- mille ? Les informations à disposition pour déterminer ces coefficients sont les alignements des séquences d’apprentissage utilisés pour construire le protomate [1, 2] : on sait à quels che- mins du protomate correspondent les séquences d’entraînement. On connaît donc les comptes d’acides aminés dans chaque colonne de chaque bloc, les acides aminés cachés dans les états de gap ainsi que les transitions utilisées par chaque séquence. Une des principales difficultés de la pondération des protomates est que le nombre de séquences passant par les états de matchs peuvent être différents selon qu’un chemin du protomate est plus ou moins utilisé ; les données sont donc encore plus réduites que pour un profil HMM. On se servira des probabilités de fond des acides aminés et des mixtures de Dirichlet pour pallier ce manque. III.1 Pondération des séquences d’apprentissage L’ensemble des séquences d’apprentissage du protomate peut être biaisé. Par exemple, une sous-famille peut-être sur-représentée conduisant le protomate à identifier préférentiellement les éléments de la sous-famille plutôt que l’ensemble de la famille. La résolution classique de ce problème consiste à attribuer des poids aux séquences. On attribue un faible poids aux éléments similaires pour éviter une sur-représentation. On attribue un poids fort aux éléments rares pour privilégier une couverture large de la famille. Dans le cas extrême où deux séquences sont identiques, on aimerait qu’elles aient un poids de 0, 5 chacune, afin que ces deux séquences comptent comme une unique séquence. De nombreux algorithmes de pondération de séquences ont été proposés [8]. Nous avons utilisé l’algorithme de pondération de séquence utilisé par ClustalW [11] le logiciel de référence pour les alignements multiples et reposant sur la construction d’arbres phylogénétiques. Les poids sont normalisés pour que le plus fort poids soit un. Cela évite que la somme des poids soit supérieur au nombre de séquences ce qui peut conduire à un problème de sur-représentation des données dans la méthode des pseudo-comptes et des mixtures de Dirichlet. III.2 Pondération des états de match Nous avons vu que les modèles précédents contiennent des états de match (colonnes des PSSMs, états de match des profils HMM, colonnes des blocs des meta-motifs et des protomates) 5
dont les coefficients expriment la probabilité de présence d’acide aminés à certaines positions. Notations Les coefficients du modèle sont calculés à partir d’un alignement multiple. On adoptera les notations suivantes. Pra Score attribué à l’acide aminé a dans la colonne r du modèle. wk Score attribué à la séquence d’apprentissage k. Tra Somme des poids des séquences4 possédant l’acide aminé a dans la colonne r : P Tra = k wk · δ(k, r, a), où δ(k, r, a) vaut 1 si la séquence k possède l’acide aminé a dans la colonne r et 0 sinon. mr Somme des poids des séquences alignées avec la colonne r. P P P mr = a k wk · δ(k, r, a) = a Tra . M Alphabet des acides aminés. pa Probabilité de fond d’apparition de l’acide aminé a. On présente donc des méthodes permettant de calculer la matrice (Pra ). III.2.1 Méthode fréquentielle Une solution naturelle de calcul de Pra est d’utiliser la fréquence d’apparition de l’acide aminé a dans la colonne r, on suppose alors que les données sont suffisamment représentatives des probabilités réelles : Tra Pra = . (1) mr Malheureusement, cette solution est trop grossière. Si un acide aminé n’apparaît pas dans une colonne, le score attribué est nul. Le score calculé pour une séquence contenant cet acide aminé à cette position est alors toujours nul. Ce n’est pas souhaitable car notre jeu d’appren- tissage n’est pas une représentation exhaustive de la famille ; notre échantillon est peut-être biaisé et on souhaite également pouvoir identifier des protéines de la famille n’existant pas encore dans la nature. Il est donc possible qu’un membre de la famille possède cet acide aminé à cet emplacement et il est souhaitable que le modèle en tienne compte. III.2.2 Utilisation des matrices de substitution Henikoff et al. [6] proposent une solution reposant sur les matrices de score (voir An- nexe A). On attribue un poids à chaque acide aminé de chaque colonne en considérant toutes les mutations possibles qui permettent d’obtenir cet acide aminé : X Trb Pra = · Rba . (2) mr b∈M 4 Cela revient à compter le nombre d’acides aminés a présents dans la colonne mais en tenant compte des poids de séquence. 6
Cette équation correspond à une formule des probabilités totales pour avoir a en position r si la matrice Rba est exprimée en probabilités de substitution. III.2.3 Pseudo-comptes Une autre solution est d’utiliser des pseudo-comptes [6] c’est à dire ajouter pour chaque colonne de chaque bloc, des occurrences virtuelles d’acides aminés afin qu’aucune valeur ne soit nulle. On notera Br le nombre de pseudo-comptes alloués dans la colonne r. Il est naturel d’ajouter les occurrences virtuelles des différents acides aminés dans les mêmes proportions que ce qu’on trouve dans les bases de données protéiques, on parle de probabilité de fond : Tra + pa · Br Pra = . (3) mr + Br Influence de Br Si Br est négligeable devant mr , alors la probabilité calculée est proche de la fréquence d’apparition des acides aminés ; on fait alors confiance aux données. Au contraire, si Br est grand devant mr et la probabilité calculée est proche de la probabilité de fond ; on néglige alors les données. Il est donc important de choisir Br en fonction de la quantité d’information que contient une colonne. Les colonnes très conservées doivent être moins bruitées par les pseudo-comptes que des colonnes peu informatives. Choix de Br Le problème majeur est donc de choisir le nombre de pseudo-comptes à allouer √ pour chaque colonne. De nombreuses méthodes ont été proposées [6] : Br = 1, Br = mr , Br = 5 · Dr (où Dr est le nombre d’acides aminés différents présents dans la colonne r). Br = 5 · Dr semble donner les meilleurs résultats pour les PSSMs [6]. C’est probablement dû au fait que Dr est un indicateur de la valeur informative de la colonne. III.2.4 Mixtures de Dirichlet Les mixtures de Dirichlet poussent plus loin l’idée de base des pseudo-comptes qui est de “remplacer” les fréquences d’apparition par les fréquences de fond lorsque les données sont insuffisantes pour prédire valablement la distribution d’une colonne du modèle. Sjölander et al. [12] ont aussi remarqué que certaines distributions de probabilités étaient beaucoup plus probables que d’autres. Par exemple, à certains endroits d’une protéine, il se peut qu’on ait besoin uniquement d’acides aminés de petite taille. L’idée des mixtures de Dirichlet est donc de considérer un ensemble distributions caractéristiques (Ci ) appelées composantes de la mixture représentant les données a priori. On calcule ensuite Pra en fonction des observations Tra et de la probabilité des composantes sachant les observations. Le calcul des coefficients détaillé dans l’ Annexe B conduit à la formule : l X Tri + αik Pri = P rob(ck |T~r ) P20 k . (4) k=1 j=1 Trj + αj 7
Le coefficient P rob(ck |T~r ) correspond à la probabilité postérieure de chaque mixture sachant les données. Le second facteur correspond à l’ajout de pseudo-comptes propres à chaque com- posante de la mixture. On calcule donc une moyenne des valeurs obtenues en ajoutant les pseudo-comptes α correspondants à chaque mixture pondérée par la probabilité postérieure des mixtures. Les distributions réalistes obtenues malgré le faible nombre de séquences présentes dans les colonnes, la prise en compte de données a priori qualitatives (familles d’acides aminés, environ- nement, propriétés physico-chimiques), et le cadre théorique probabiliste nous ont conduit à considérer les mixtures de Dirichlet pour la pondération des protomates. De plus, j’ai effectué des tests comparatifs de différentes méthodes (cf V.1) pour lesquels les mixtures de Dirichlet donnent les meilleurs résultats. Par ailleurs, elles ont aussi donné de bons résultats pour les profils HMMs [12, 8, 7]. III.3 Pondération des transitions Lorsqu’on quitte un bloc B de l’automate et qu’on peut rejoindre les blocs B1 , . . . , Bl , cer- tains des blocs Bi doivent être privilégiés car plus caractéristiques de la famille. Une manière de faire cela est de pondérer les transitions, en utilisant les fréquences d’utilisation des transi- tions par les séquences d’entraînement. Cependant on a déjà vu que les séquences pouvaient être biaisées (III.1). On utilisera donc les poids de ces séquences pour éviter ce biais. Le poids de la transition reliant B à Bi sera : P k∈{séquences passant par B et Bi } wk ti = P . (5) k∈{séquences passant par B} wk III.4 Pondération des états de gap Dans cette section nous traiterons le problème de la pondération des états de gap (états d’insertion). Lors de l’alignement multiple des séquences d’apprentissage, on constate que les segments caractéristiques sont séparés par des acides aminés. Ces acides aminés sont peu caractéristiques de la famille mais leur nombre est important car il représente l’emplacement dans la séquence des segments caractéristiques. On souhaite donc que les séquences obtenant un bon score vérifient cette propriété d’espacement. La figure 5 représente un état gap inséré au niveau de la transition entre B et Bi de probabilité ti . La probabilité d’insérer un acide aminé dans ce gap sera notée gi . Une manière de pondérer ce gap est de choisir gi tel que l’espérance µi du nombre d’acides aminés produit par Gi soit égal à la moyenne observée du nombre d’acides aminés séparant B et Bi dans l’alignement multiple des séquences d’apprentissage pondérée par les poids de séquence. Cette méthode a été utilisée pour pondérer les états de gap dans meta-MEME [9]. On suppose donc qu’on connaît la valeur souhaitée de µi et on cherche à trouver gi tel que µi prenne cette valeur. À partir de l’état B, on a deux possibilités : ne pas aller en Gi et alors 8
gi Gi gi 1 − gi B Bi α − gi Fig. 5 – Un état d’insertion on a un acide aminé dans le gap, ou aller en Gi et on a au moins un acide aminé dans le gap. L’espérance µi vaut donc : µi = (α − gi ) · 0 + gi · (1 + νi ), (6) où νi est l’espérance du nombre d’acides aminés qui vont de nouveau être produits dans le gap sachant qu’on en a déjà produit un. Comme nous travaillons dans un modèle de Markov, la propriété de Markov est vérifiée (le modèle est sans mémoire) et on a νi = µi . On a donc : µi = gi · (1 + µi ), (7) d’où : µi gi = . (8) 1 + µi IV Significativité des scores Un protomate permet d’attribuer un score S d’appartenance à la famille de n’importe quelle séquence q. Il est important de savoir si ce score est significatif, on réalise pour cela le test statistique suivant : 1. On se donne une hypothèse nulle H0 : la séquence q n’appartient pas à la famille. 2. On choisit un test d’appartenance à effectuer : on calcule le score S de la séquence. 3. On détermine la probabilité d’avoir obtenu ce score ou plus sachant H0 . 4. Si la probabilité est en dessous d’un seuil préfixé alors on rejette H0 et l’hypothèse valide est alors que q appartient à la famille. La probabilité calculée à l’étape 3 est nommée p-valeur. Dans cette partie, je présente la méthode théorique que j’ai développée permettant d’estimer la p-valeur du score de Viterbi (cf II.4) d’une séquence à partir du protomate. IV.1 Estimation de la p-valeur du score de Viterbi avec coût uniquement sur les blocs Considérons l’hypothèse H0 : la séquence q n’appartient pas à la famille. La manière la plus simple de l’exprimer est de dire que les lettres de q ont été tirées aléatoirement selon les 9
probabilités de fond d’apparition des acides aminés (qa )a∈M . À partir de cette hypothèse, nous allons estimer P (S > x) où x est un réel fixé et S la variable aléatoire représentant le score de Viterbi de la séquence (cf II.4). Par définition, S est le plus grand des scores obtenus en considérant tous les alignements possibles de la séquence sur le protomate. Même si ces scores suivent des lois de probabilité différentes, on peut remarquer que leurs lois dépendent surtout du chemin suivi dans le protomate. On nommera ici chemin, la succession des blocs traversés pour relier l’état begin à l’état end. En regroupant les alignements selon les chemins, on a : S = max(S 1 , . . . , S N ), (9) où les S i représentent le score optimal obtenu en considérant l’ensemble des alignements sur le i-ème chemin et N le nombre de chemins possibles. On fait maintenant l’hypothèse que les scores des différents alignements sont indépendants deux à deux, sans laquelle il est difficile de continuer ; on obtient : N \ YN P rob(S ≤ x) = P rob {S i ≤ x} = P rob(S i ≤ x). (10) i=1 i=1 On est donc ramené au problème de déterminer la p-valeur pour un protomate constitué d’un unique chemin, c’est-à-dire un modèle de type meta-motifs. Détermination de la p-valeur pour un chemin Le score S i vaut max(S1i , . . . , SA i ) où i Sji est le score du j-ème alignement sur le i-ème chemin et Ai est le nombre d’alignements possibles sur le chemin. Dans le cas où les états de gaps ne comptent pas dans le score, tous les Sji sont identiquement distribués car tous valent la somme des scores obtenus pour chaque colonne de match. On notera donc X i l’une quelconque de ces variables aléatoires, par exemple, X i = S1i . D’après notre hypothèse d’indépendance : Ai \ YAi i i P rob(S ≤ x) = P rob {Sj ≤ x} = P rob(Sji ≤ x) = P rob(X i ≤ x)Ai . (11) j=1 j=1 J’ai montré dans l’ Annexe D que le calcul de Ai se ramène au dénombrement des décompo- sitions d’un entier sous la forme de somme d’entiers et je donne une formule explicite pour obtenir Ai : si la séquence à aligner est de taille L et que le chemin comporte k blocs de taille L1 , . . . , Lk alors P L − kj=1 Lj + k Ai = P . (12) L − kj=1 Lj Il reste donc à déterminer P rob(X i ≤ x), ce qui correspond à déterminer une p-valeur pour le score de la PSSM constituée par la concaténation de tous les blocs rencontrés sur le chemin i. 10
Estimation de la p-valeur pour une PSSM Les PSSMs ont été bien étudiées et plusieurs méthodes ont été élaborées pour obtenir des p-valeurs. Comme le nombre de colonnes d’un chemin est en général grand5 , nous avons émis l’hypothèse que la loi de distribution des scores de la PSSM approche une loi normale. J’ai validé cette hypothèse de deux manières : – d’un point de vue théorique, j’ai donné la démonstration dans l’ Annexe E que la somme des scores de chaque colonne vérifie les hypothèses du théorème de la limite centrale de Lyapunov et donc qu’elle tend en loi vers une loi normale ; – d’un point de vue expérimental, j’ai effectué des tests sur des PSSMs validant l’approxi- mation par une loi normale. Les résultats sont présentés dans la partie V.2. Nous pouvons alors déterminer la loi de distribution des scores de la PSSM uniquement à partir de son espérance µi et de sa variance σi2 qui se déterminent facilement par indépendance des colonnes : ce sont respectivement la somme des espérances et des variances de chaque colonne. Si X est une variable aléatoire suivant une loi normale centrée réduite, on note G(x) = P rob(X ≤ x), on a alors : Xi − µ x − µi x − µ i i P rob(X i ≤ x) = P rob ≤ =G . (13) σi σi σi Nous sommes maintenant en mesure de donner une p-valeur pour le score x à partir des résultats précédents : N Y x − µ Ai i P rob(S > x) = 1 − P rob(S ≤ x) = 1 − G . (14) σi i=1 IV.2 Prise en compte des coûts de transition Jusqu’à présent, le système de score considéré ne comptait que les coûts des colonnes des blocs. Il s’adapte toutefois parfaitement si on souhaite considérer des coûts sur les transitions reliant les blocs car ces coûts sont alors une constante une fois qu’on s’est donné un chemin dans le protomate. L’équation (10) peut s’écrire : N Y N Y P rob(S ≤ x) = P rob(S i ≤ x) = P rob(S i − T i ≤ x − T i ), (15) i=1 i=1 où T i représente le coût constant des transitions sur le chemin i. L’équation (11) devient : Aj Y i i i P rob(S − T ≤ x − T ) = P rob(Sji − T i ≤ x − T i ) = P rob(X i ≤ x − T i )Ai , (16) j=1 où X i représente un quelconque des Sji − T i qui sont de même loi. La variable aléatoire X i représente alors la somme des scores de chaque colonne ; on est donc ramené au cas précédent. 5 de l’ordre de 50 11
On obtient alors comme p-valeur : N Y x − µ − T i Ai i P rob(S > x) = 1 − G , (17) σi i=1 où µi et σi2 représentent toujours l’espérance et la variance du score de la PSSM constituée par l’accolement des blocs. V Validation expérimentale Dans la section III nous avons proposé une nouvelle méthode de pondération des pro- tomates. Dans la section IV nous avons proposé une méthode pour estimer la distribution statistique des scores du protomate en fonction de ses paramètres. Cette section présente les tests expérimentaux effectués pour valider notre approche. Les tests ont été effectués en ajoutant des modules au code source du logiciel Protomata Learner installé sur le cluster de la plate-forme Bio-informatique Genouest et accessible à la communauté scientifique via une interface web6 . V.1 Étude comparative des méthodes de pondération sur la famille des Tumor necrosis factors (TNFs) Les TNFs sont une famille de protéines importante en médecine car elle est impliquée dans de nombreux processus pathologiques. D’un point de vue de la modélisation, elle constitue une famille difficile à caractériser : les modèles actuels différencient difficilement les TNFs des protéines proches n’appartenant pas à la famille. Nous avons comparé entre eux les scores obtenus par des schémas de pondération reposant sur des techniques de pseudo-comptes simples avec utilisation de la matrice de substitution BLOSUM62 et la pondération par la mixture de Dirichlet byst-4.5-0-3.9comp7 , le tout avec ou sans la pondération des séquences. L’expérience effectuée est une validation croisée leave- one-out : on enlève une seule séquence du jeu d’apprentissage, on apprend le protomate sur les séquences restantes et on note les séquences non utilisées (séquences n’appartenant pas à la famille et séquence enlevée). Le protocole expérimental exact et les résultats sont réunis dans l’ Annexe F. Chaque méthode de pondération conduit à des scores répartis sur des échelles différentes. Pour pouvoir comparer entre elles les méthodes de pondération, nous avons utilisé une métrique qui normalise ces scores : score de la séquence enlevée − moyenne des scores des négatifs S= . (18) écart-type des scores des négatifs 6 http://genouest.org 7 Voir http://compbio.soe.ucsc.edu/dirichlets/index.html pour obtenir un aperçu de quelques mix- tures de Dirichlet. 12
Cette métrique permet de mesurer le pouvoir de discrimination du modèle : la moyenne et l’écart-type des scores des séquences n’appartenant pas à la famille donnent une représentation du nuage de points des négatifs et on estime alors la “distance” du score de la séquence enlevée par rapport à ce nuage de points. La figure 6 rassemble les résultats obtenus pour chaque séquence enlevée et chaque méthode évoquée dans ce rapport. La méthode fréquentielle constitue la méthode la moins évoluée et sert de référence. Nous voyons que les méthodes par mixtures de Dirichlet qui ont été implémentées constituent une amélioration notable de la méthode de pondération, loin devant les méthodes reposant sur les pseudo-comptes simples. Leave-one-out cross validation : TNF Family 8 Method frequency pseudo-count Br=sqrt(mr) 7 pseudo-count Br=log(mr) pseudo-count Br=5Dr dirichlet 6 (w) frequency (w) pseudo-count Br=sqrt(mr) (w) pseudo-count Br=log(mr) Normalized score (w) pseudo-count Br=5Dr 5 (w) dirichlet 4 3 2 1 0 2 4 6 8 10 12 14 16 18 Sequence out Fig. 6 – Comparaison du pouvoir de discrimination du modèle selon la méthode de pondération utilisée (l’utilisation de la pondération des séquences est indiquée par le préfixe (w)). V.2 Tests sur l’approximation de la loi de distribution des scores d’une PSSM par une loi normale J’ai vérifié expérimentalement que la loi de distribution des scores d’une matrice PSSM suit une loi normale lorsque le nombre de colonnes est suffisamment grand. Pour cela, j’ai utilisé une matrice PSSM représentant un domaine de fixation du zinc bien étudié en biologie (zinc finger domain). J’ai généré des échantillons d’un million de séquences aléatoires distribuées selon les probabilités de fond des acides aminés et j’ai comparé la distribution des scores normalisés avec la loi normale. Les résultats sont présentés sur la figure 7. J’ai choisi de montrer la convergence vers la loi normale quand le nombre de colonnes augmente. On peut constater qu’on obtient 13
PSSM score distribution : zinc finger domain PSSM score distribution : zinc finger domain 0.5 0.45 5 columns 15 columns normal distribution normal distribution 0.45 0.4 0.4 0.35 0.35 0.3 0.3 Probability Probability 0.25 0.25 0.2 0.2 0.15 0.15 0.1 0.1 0.05 0.05 0 0 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 Normalized Score Normalized Score (a) 5 colonnes (b) 15 colonnes PSSM score distribution : zinc finger domain PSSM score distribution : zinc finger domain 0.45 0.45 30 columns 46 columns normal distribution normal distribution 0.4 0.4 0.35 0.35 0.3 0.3 Probability Probability 0.25 0.25 0.2 0.2 0.15 0.15 0.1 0.1 0.05 0.05 0 0 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 Normalized Score Normalized Score (c) 30 colonnes (d) 46 colonnes (PSSM entière) Fig. 7 – Comparaison entre la loi de distribution des scores d’une PSSM et la loi normale des résultats convenables sauf pour les petits nombres de colonnes (moins de 10). L’évaluation des p-valeurs sera donc plus précise pour les gros protomates. Ces courbes sont en accord avec le théorème de convergence démontré dans l’ Annexe E. VI Conclusion et perspectives Au cours de ce stage, j’ai amélioré de façon notable le système de pondération des pro- tomates. Auparavant, la méthode employée était une simple utilisation de pseudo-comptes et de matrice de substitution. Désormais, la pondération repose sur l’estimation des probabilités d’apparition des acides aminés par l’utilisation de mixtures de Dirichlet. Par ailleurs, j’ai éga- lement démontré un théorème de convergence et établi une formule permettant de déterminer une estimation théorique des p-valeurs pour les alignements sans coût de gap. La distribution des scores des protomates est donc maintenant connue et on sait maintenant différencier les bons et les mauvais scores des protomates. Il est aussi possible de fixer un seuil d’appartenance à partir d’une p-valeur. J’ai implémenté mes résultats dans deux programmes : un programme 14
permettant de pondérer les protomates proto2wproto ainsi qu’un programme permettant de calculer les scores et p-valeurs des séquences wprotoscan. Ils seront inclus dans la prochaine version du logiciel Protomata Learner. J’ai effectué des tests comparatifs de différentes méthodes de pondération en évaluant le pouvoir de discrimination des protomates c’est-à-dire leur capacité à séparer les scores des séquences appartenant ou non à la famille. Les tests sur la famille des TNFs ont montré que les mixtures de Dirichlet donnent les meilleurs résultats. Cependant, des tests supplémen- taires seront nécessaires pour évaluer d’autres facteurs comme l’influence des paramètres du protomate, le pouvoir de généralisation de sous-famille à famille ou au contraire la faculté caractériser uniquement une sous-famille. Il serait également intéressant de savoir si des mix- tures de Dirichlet particulières sont plus adaptées aux protomates. Toutefois, les tests sont rendus difficiles par un manque de données fiables. Pour l’estimation des p-valeurs, j’ai choisi d’approcher les lois des PSSMs par une loi nor- male. La vérification des hypothèses du théorème de Lyapunov ainsi que les tests effectués sur les PSSMs valident cette approche, en particulier pour les gros protomates. Cependant, une approche par calcul exact des p-valeurs par programmation dynamique est envisageable pour les petits protomates, ce qui permettrait d’obtenir des valeurs plus précises [13]. Toutefois, l’avantage de la méthode développée réside également dans le peu de calculs nécessaires pour l’obtention des p-valeurs tandis qu’un calcul par programmation dynamique serait considéra- blement plus coûteux. Nous envisageons d’améliorer encore la pondération pour les transitions et les états de gap. La pondération choisie pour les transitions reste toujours naïve et l’utilisation de tech- niques de pseudo-comptes peut être envisagée pour équilibrer les probabilités des chemins des protomates. L’utilisation d’un unique état pour la zone de gap donne une loi de distribution géométrique pour les longueurs des gaps. Nous étudions maintenant d’autres géométries à plusieurs états pour obtenir des lois plus réalistes (loi normale). La méthode développée pour le calcul des p-valeurs est rigoureuse et efficace, il serait en- core plus intéressant d’obtenir une telle méthode pour les alignements avec coûts de gap. Nous nous attendons à obtenir une loi de Gumbel dans ce cas, mais l’estimation des paramètres de la distribution nécessiterait des coûts de calcul élevés. De plus, il reste à valider empiri- quement et théoriquement l’approximation par une loi de Gumbel, ce qui constitue déjà un problème difficile pour les HMMs. La construction d’un modèle d’alignement local permettrait de simplifier la distribution des scores et donc l’obtention d’une significativité des scores [14]. 15
Annexe A Matrices de score Pour pouvoir comparer des séquences protéiques, il faut d’abord pouvoir comparer entre eux les acides aminés. Certains acides aminés sont plus proches que d’autres par leur propriétés physico-chimiques et par le fait que certaines mutations sont plus probables que d’autres. Un score est donc attribué à chaque couple d’acides aminés. La matrice donnant l’ensemble des scores pour chaque couple est appelée matrice de score. On construit le plus souvent les matrices de score à partir des matrices de substitution. Elles représentent la probabilité qu’un acide aminé soit substitué par un autre lors d’une mutation. La matrice de score reflète alors une réalité biologique. Les matrices de substitution sont construites à partir de données statistiques8 . Les plus utilisées pour l’homologie sont PAM250 et BLOSUM62. Scores log-odds Le plus souvent, les matrices de score sont exprimées en scores log-odds donnés par : Mab Rab = log2 (19) pb où M est la matrice de substitution et pb la probabilité de fond d’apparition de l’acide aminé b. Ce score est biologiquement significatif car il évalue le rapport entre la probabilité qu’il y ait eu substitution et la probabilité que l’alignement des acides aminés a et b soit due au hasard. Un alignement noté positivement est biologiquement favorable tandis qu’un alignement noté négativement est défavorable. Des matrices de score aux probabilités Il est possible de montrer que n’importe quelle matrice peut, sous certaines conditions, être interprétée comme une matrice de score log- odds [15, 16, 8]. C’est la matrice log-odds optimale pour noter des alignements satisfaisant une certaine propriété et dont les acides aminés alignés apparaissent à une fréquence cible hab . Dans le cas de la matrice BLOSUM62, la propriété utilisée est l’homologie des protéines. On peut alors retrouver la probabilité d’aligner les acides aminés a et b de deux séquences homologues à partir de la matrice BLOSUM62 par : hab = pa pb eλRab (20) où λ vérifie : X pa pb eλRab = 1 (21) a,b∈M Annexe B Mixtures de Dirichlet Dans cette annexe, nous donnons la définition des mixtures de Dirichlet et nous détaillons le calcul des coefficients de colonnes à partir des mixtures de Dirichlet. 8 Voir [4] pour plus de détails sur la construction de telles matrices. 16
Densité de Dirichlet Une densité de Dirichlet est une loi de probabilité sur un ensemble P de probabilités, i.e. sur P = {~p = (p1 , . . . , pn ) ∈ [0, 1]n | i pi = 1}. Elle est paramétrée par un vecteur de réels positifs α ~ = (α1 , . . . αn ) et est définie par : Qn pαi −1 c(~ p) = i=1 i , (22) Z R où Z est une constante de normalisation telle que P c(~ p = 1. On peut alors montrer p)d~ α [12] que l’espérance de pi vaut P iαk , autrement dit, les proportions des αi représentent la k distribution moyenne donnée par c. Définition des mixtures de Dirichlet Une mixture de Dirichlet est la donnée d’un en- semble de l densités de Dirichlet ci appelées composantes de la mixture, ainsi que des proba- P bilités qi associées à chaque composantes ( i qi = 1). On notera Θ l’ensemble des paramètres relatifs à une mixture de Dirichlet, i.e. Θ = (~ αk , qk )k . Elle constitue également une loi de probabilité sur P en posant : ρ = q 1 · c1 + · · · + q l · cl . (23) Estimation des paramètres du modèle par les mixtures de Dirichlet Les mixtures de Dirichlet permettent de définir les coefficients du modèle par : Pri = P rob( acide aminé i |Θ, T~r ). (24) On estime donc la probabilité d’apparition de l’acide aminé i sachant à la fois les observations T~r et les données a priori fournies par la mixture de Dirichlet de paramètres Θ. Sjölander et al. ont montré [12] que l’équation (24) se ramène au calcul de : l X Tri + αik Pri = P rob(ck |T~r ) P20 k . (25) k=1 j=1 Trj + αj On constate alors que les paramètres α peuvent être interprétés comme des pseudo-comptes ajoutés pour faire tendre les probabilités du modèle vers les fréquences typiques des com- posantes de la mixture. Ces ajouts sont pondérés par P rob(ck |T~r ) c’est-à-dire qu’on ajoute ces pseudo-comptes en fonction de la probabilité de la mixture par rapport aux observations faites. On remarque que la méthode des pseudo-comptes est un cas particulier des mixtures de Dirichlet dans lequel on a une unique composante représentant la probabilité de fond. Enfin, les coefficients estimés par les mixtures de Dirichlet gardent la bonne propriété de tendre vers les fréquences d’observation lorsque le nombre d’observations tend vers l’infini. Calcul de P rob(ck |T~r ) Sjölander et al. [12] donnent également une méthode pour calculer les coefficients postérieurs de la mixture P rob(ck |T~r ) en appliquant la formule de Bayes : qk · P rob(T~r |ck ) P rob(ck |T~r ) = P20 . (26) qj · P rob(T~r |cj ) j=1 17
Enfin, P rob(T~r |ck ) est donné par formule : P Q k ) Γ( P k ( T ra )! Γ(T ra + α α ) P rob(T~r |ck ) = Q a a P a k) Q a ka , (27) T a ra ! Γ( T a ra + α a a Γ(αa) où Γ est le prolongement continu réel de la fonction factorielle. Si la méthode simple des pseudo-comptes peut être implémentée directement en appliquant l’équation (3), il n’en est pas de même avec les mixtures de Dirichlet dans le cas général [12]. On ne peut pas appliquer directement les équations (25), (26) et (27) car les facteurs de l’équation (27) dépassent rapidement le domaine de représentation des flottants en machine. Nous présentons dans l’ Annexe C la méthode décrite par Sjölander et al. [12] pour obtenir un calcul numérique correct des coefficients. Annexe C Implémentation des mixtures de Dirichlet Nous reprenons ici les points indispensables pour le calcul numérique des coefficients de colonnes reposants sur les mixtures de Dirichlet. La simple application de l’équation (27) est impossible car on dépasserait les limites de la représentation des flottants machine. L’équation (27) peut s’écrire plus simplement en introduisant la fonction Beta β(~x) = Q20 P20 i=1 Γ(xi )/Γ( i=1 xi ) : β(T~r + α~k ) ( a Tr a)! P P rob(T~r |ck ) = Q (28) β(α~k ) a Tra ! En remplaçant dans (26), les termes ne s’exprimant pas avec β s’éliminent et on obtient avec l’équation (25) : l 1 X β(T~r + α~k ) Tri + αik Pri = P qk P20 (29) β(α~k ) ~j ) l ~ β(Tr +α Trj + αk j=1 qj ~j β(α ) k=1 j=1 j Le facteur devant la somme dans l’équation (29) est indépendant de i, on peut donc calculer Pri en normalisant les l X β(T~r + α~k ) Tri + αik Xi = qk P20 (30) k=1 β(α~k ) k j=1 Trj + αj pour que leur somme vaille 1. Le problème majeur dans le calcul de Xi est que les fonctions β peuvent devenir très grandes ou très petites. On prend donc leur logarithmes en calculant : l X Tri + αik Xi = qk exp(log β(T~r + α~k ) − log β(α~k )) P20 k (31) k=1 j=1 Trj + αj 18
Cela est possible car la plupart des bibliothèques de calcul numérique implémentent la fonction log Γ qui permet d’exprimer facilement log β : X X log β(~x) = log Γ(xi ) − log Γ( xi ) (32) i i Une dernière précaution doit être prise lors du passage de la représentation logarithmique à la représentation réelle. Pour éviter que l’exponentielle explose, on soustrait à log β(T~r + α~k ) − log β(α~k ) la constante maxk log β(T~r + α~k ) − log β(α~k ). Cela ne change pas le résultat puisque soustraire une constante dans l’exponentielle, revient à multiplier Xi par une constante qui va s’éliminer lors de la normalisation des Xi . Résumé des étapes de calcul On peut résumer les étapes du calcul des coefficients de la colonne r ainsi : 1. Calculer pour tout k : log β(T~ + α~k ) − log β(α~k ). r 2. Calculer les coefficients qk exp(log β(T~r + α~k ) − log β(α~k ) − M ) où M est le plus grand des éléments calculés en 1. 3. Pour tout i calculer : l X Tri + αik Xi = qk exp(log β(T~r + α~k ) − log β(α~k ) − M ) P20 k k=1 j=1 Trj + αj 4. Pour tout i, calculer Pri = PXi . i Xi Annexe D Dénombrement des alignements possibles (calcul des Ai ) On se propose de dénombrer les alignements possibles d’une séquence sur un chemin du protomate. On se donne donc une séquence de taille L et un chemin i du protomate caractérisé par la succession des blocs B1 , . . . , Bk de tailles respectives L1 , . . . , Lk ; on veut calculer le nombre d’alignements possibles Ai . On remarque qu’un alignement peut être caractérisé par le nombre d’acides aminés alignés sur les états de gaps. Par exemple, sur la figure 8 on a représenté l’unique alignement de la séquence de taille 21 sur le chemin rouge avec 4, 5 et 4 acides aminés associés aux états de gap respectivement. On représentera alors cet alignement par le triplet (4, 5, 4). On voit donc qu’il existe une bijection entre l’ensemble des alignements possibles et l’ensemble des (k + 1)-uplets P Pk d’entiers naturels (a1 , . . . , ak+1 ) vérifiant k+1 j=1 aj = L − j=1 Lj . Ainsi, k+1 X k X Ai = Card{(a1 , . . . , ak+1 ) ∈ Nk+1 tel que aj = L − Lj } (33) j=1 j=1 19
Vous pouvez aussi lire