Pondération d'automates modélisant des familles de protéines et significativité des scores

La page est créée Jonathan Marchal
 
CONTINUER À LIRE
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