• Aucun résultat trouvé

Réécrire ces associations en programmation logique

4.2 Méthode Pantograph

4.2.2 Réécrire ces associations en programmation logique

      K3 = {ht, pa, pbi ∈ T | pa = L∧ t ≥ t} ifK3 6= ∅ K4 = {ht, pa, pbi ∈ T | pa∩ L 6= ∅ ∧ t ≥ t } else if K4 6= ∅ K5 = {ht, pa, pbi ∈ T | pa = L} else ifK5 6= ∅ K6 = {ht, pa, pbi ∈ T | pa∩ L 6= ∅} else ifK6 6= ∅ LB = gtarg(maxσ(k,L)k ∈ K) et σ(k, L) = X ht,pa,pbi∈K |pa∩ L| pb · t · 0.5 p1.0 otherwisea * L

Intuitivement, l’ensemble K correspond préférentiellement à (1) des relations

d’or-thologies couvrant totalementL et atteignant le seuil t (casK3), (2) des relations

d’or-thologies couvrant partiellement L et atteignant le seuil t

(cas K4), (3) des relations

d’orthologies couvrant totalementL mais n’atteignant pas le seuil t (casK5) ou (4) des

relations d’orthologies couvrant partiellementL mais n’atteignant pas le seuil t(casK6).

Les relations d’orthologie prépondérantes sont utilisées pour réécrire les associations

de gènes en remplaçant les gènes deL par leurs orthologues caclulés dans LB.

4.2.2 Réécrire ces associations en programmation logique

Réécrire l’association de gènes de l’organisme de référence revient à trouver les cor-respondant de ses gènes dans l’ensemble des gènes de l’organisme cible (c’est-à-dire les homologues). Dans la suite de cette section, nous allons expliquer comment ces différents cas ont été traités et intégrés dans le programme proposé dans cette thèse.

La prédiction d’homologie entre les gènes de référence et les gène de cible est indé-pendante de la façon dont on prévoit l’association entre la réaction et les gènes, et c’est donnée comme paramètre pour le processus de reconstruction. Pour la réécriture des as-sociations de gènes dans ces travaux nous suivons la stratégie adaptée par Pantograph expliquée précedement dans la section 4.2. Convertir cette stratégie à la logique et l’ab-duction nous permet d’avoir la possibilité de vérifier la cohérence et la validité de ces règles facilement et de les analyser par des biologistes.

La réécriture des associations de gènes nécessite de considérer plusieurs cas. Nous présentons ici quelques cas à traiter : (1) quand l’association de gènes correspond à un seul gène, (2) quand plusieurs gènes sont nécessaires ensemble pour l’activité d’une réaction où l’association de gènes va être écrite sous forme d’une conjonction de gènes, (3) dans le cas où plusieurs gènes se ressemblent dans leur fonction (c’est-à-dire paralogues) où l’association de gènes va être présentée comme une disjonction des gènes, (4) et enfin le cas le plus compliqué, quand l’association de gènes de référence contient plusieurs gènes équivalents en activité, et d’autres gènes complémentaires où l’association de gènes est écrite comme une conjonction d’une ou plusieurs disjonction(s) ou une disjonction d’une ou plusieurs conjonction(s).

Rappelons que la relation d’homologie entre les gènes références et cibles est repré-sentée par

homolog([...ref...],[...targ...],method)

où [...ref...] sont les gènes de référence, [...targ...] sont les gènes de cible homologues avec les gènes de référence, et method est la méthode qui prédit cette rela-tion d’homologie. Dans l’exemple : homolog([yal030w],[yali0a03113g],best). homolog([yal030w,ylr093c,yor327c], [yali0a03113g,yali0b04026g,yali0e00594g],dom). homolog([yal030w],[yali0a03113g],inp). homolog([yal030w,ylr093c,yor327c], [yali0e00594g,yali0a03113g,yali0b04026g],sons)

le gène yal030w est trouvé homologue avec le gène yali0a03113g par la méthode

bestet homologue avec le gène yali0a03113g par la méthode inp. Cependant ce

gène avec deux autres gènes orthologues (i.e, yal030w,ylr093c,yor327c) sont prédit homologues avec yali0a03113g,yali0b04026g,yali0e00594g par dom et avec yali0e00594g,yali0a03113g,yali0b04026g par son.

Dans le programme nous cherchons à regrouper les homologues, pour chaque liste de gènes, prédit par toutes les méthodes et donner le nombre de fois que cette liste a été prédit et la longeur de cette liste, prenons par exemple le gène yal030w, appliquer tally

mapdonne :

tally([yal030w],T).

T = [[[yali0a03113g], 2|1]].

où (2) indique le nombre des méthodes qui a trouvé cet homologue, et le (1) est la longeur de la liste de gènes cible [yali0a03113g] de la même manière :

?- tally([yal030w,ylr093c,yor327c],T).

4.2. MÉTHODEPantograph 75

Réécrire l’association de gènes de l’organisme de référence revient à trouver les cor-respondant de ses gènes dans l’ensemble des gènes de l’organisme cible (c’est-à-dire les homologues).

Tout d’abord, quand une association de gènes de référence contient un unique gène (i.e. AG = G), nous pouvons avoir les deux possibilités suivante :

Soit le gène de référence (i.e. G) a un seul gène homologue cible (disons Gt) et, dans ce cas, nous allons avoir une relation (1:1) et l’association de gènes va être réécrite comme le gène homologue de cible AG’= Gt.

Soit il existe plusieurs gènes homologues dans l’organisme cible (Gt1,...,Gtn) pour le gène G et, dans ce cas, nous allons avoir une relation 1:n et l’association de gènes va être réécrite comme une disjonction des gènes (Gt1,...,Gtn) dans le cible : AG’= OR([Gt1,...,Gtn]).

Pour une association de gènes contenant plusieurs gènes complémentaires donnée comme AG=AND[G1,...,Gn] on cherche l’homologue correspondant pour chaque gène dans l’association. La réécriture de cette association de gènes réussit si l’on trouve au moins un gène homologue dans l’organisme cible pour chacun de ses gènes, et l’associa-tion prédite sera une conjuncl’associa-tion de homolgues de tous les gènes de l’associal’associa-tion, c’est-à-dire de la forme AG’=AND([OR([G11,..,G1k]),...,OR([Gn1,..,Gnl])]) où

k,l>=1 et OR([G11,..,G1k]) et OR([Gn1,..,Gnl]) sont les homologues

des gènes G1 et Gn.

La réécriture d’une association de gènes contenant plusieurs gènes paralogues donnée comme AG = OR([G1,...,Gn]), n’est pas forcement une disjonction des gènes ho-mologue. Pour cette association nous cherchons d’abord une relation d’homologie où la partie de référence correspond à la liste [G1,...,Gn] c’est-à-dire :

homolog([G1,...,Gn],[Gt1,...,Gtk])

Dans le cas positif la réécriture de AG est donné par la partie cible de la relation [Gt1,...,Gtk]. Dans l’absence de toute relation de ce type, nous cherchons l’homologue pour chaque

gène dans AG et sa réécriture réussit si au moins un de ses gènes a au moins un gène homologue dans l’organisme cible : il existe Gt dans l’organisme cible où Gt homologue avec G.

Une fois nous avons le résultats, nous appliquons des règle de simplification de la forme : and(and(cluse)) --> and(cluse)

and(or(cluse)) --> or(cluse)

or(and(cluse)) --> and(cluse)

or(or(cluse)) --> or(cluse)

et pour garantir cette simplification nous ajoutons des contraintes d’intégrité qui exagèrent respecter telles règles.

Les associations de gène sont réécrites à la volée par le processus abductif décrite dans la suite.

Documents relatifs