460 likes | 520 Views
Stage co -encadré par : Sèverine Bérard et Éric Tannier. Détection de co-évolution de gènes. Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de l’Intelligence Artificielle (I2A). Bioinformatique Gène : portion d’ADN qui code une protéine.
E N D
Stage co-encadré par : Sèverine Bérard et Éric Tannier Détection de co-évolution de gènes Master 2 : Informatique à Finalité Professionnelle et Recherche Unifiée (IFPRU) Parcours Ingénierie de l’Intelligence Artificielle (I2A)
Bioinformatique Gène : portion d’ADN qui code une protéine. Adjacence : relation entre 2 gènes Génome : ensemble d’adjacences Présentation du sujet Ax A1 A3 A2 A4
Arbres de gènes Données sur les adjacences de gènes des espèces actuelles But : histoire évolutive des adjacences Intérêt : reconstruction des génomes ancestraux Présentation du sujet
Présentation de la problématique au travers d’exemples Formalisation Extraits de l’algorithme Application à des données réelles Conclusion et perspectives Plan
Une adjacence entre 2 gènes A1 et A2 se note A1~A2 ou A2~A1 (symétrie) • Arbre phylogénétique : graphe connexe non cyclique, orienté • Arbre de gènes • Arbre d’espèces • Arbre d’adjacences • Forêt : ensemble d’arbres Définitions
Spéciation • Création Exemple 1 G1~G2 Liste d’adjacence L : A1~A2, B1~B2 et C1~C2 F1~F2 E1~E2 B1~B2 C1~C2 A1~A2 [Fitch]
Duplication d’adjacence • Création • Duplication de gène • Perte de gène • Perte d’adjacence • Cassure d’adjacence • X Exemple 2 G1~G2 F1~F2 E1~E2 Liste d’adjacence L : B1~B5, B2~B4 et C1~C2 B3~B6 C1~C4 X A1~A2 D1~D2 B2~B4 C1~C2 B1~B5
Présentation de la problématique au travers d’exemples Formalisation Extraits de l’algorithme Application à des données réelles Conclusion et perspectives Plan
Spéciation • Coût : 0 • Création d’adjacence • Coût : Cr • Duplication d’adjacence • Coût : DA ≤ 2*DG • Duplication de gène • Coût : DG • Pertede gène • Coût : PG • Perte d’adjacence • Coût : PA ≤ 2*PG Événements évolutifs • Cassure d’adjacence • Coût : CaX EspècesGènesAdjacences GènesAdjacences Adjacences
Feuilles : • Adjacence actuelle • Perte d’adjacence • Perte de gène • Cassure • Nœuds internes : • Nœud de spéciation • Nœud de duplication d’adjacence • Nœud de duplication de gène • Création d’adjacence Arbre d’adjacences Remarque : un arbre d’adjacences (ou une forêt d’arbres d’adjacences) est associé(e) à un ou plusieurs arbres de gènes et à une liste d’adjacences.
Adjacence Actuelle A1~A2 A1 A2
Nœud de Duplication de Gène A1~A2 A3~A2 A1 A1 A2 A2 A1 A2 A3 A4 A3 A4 A3 A4 B1 C1 A5 A6
Limitation : • 2 arbres de gènes dont les racines sont de la même espèce • Adjacences entre 2 arbres de gènes différents • Données : • 2 arbres de gènes G1 et G2 • Une liste d’adjacences L • Un arbre des espèces S • Solution : forêt d’arbres d’adjacences associés à G1, G2 et L de coût différentiel minimum. Problématique Reconstruire l’histoire évolutive des adjacences à partir des arbres de gènes et des adjacences actuelles.
Coût d’un arbre : somme des coûts des nœuds de l’arbre. Coût d’une forêt : somme des coûts des arbres de la forêt. Coûts Coût de G1 = DG + DG + PG + PG = 2*DG + 2*PG
Coût maximum : somme des coûts des arbres de gènes G1 et G2 et du coût de création des adjacences de L. Coûts Coût maximum = Coût de G1 + Coût de G2 + Coût de L = (2*DG + 2*PG) + DG + 4*Cr
Coût d’un arbre d’adjacence : tous les événements sur les adjacences + une partie des événements sur les gènes • Ce qu’on cherche à minimiser : tous les événements sur les adjacences + tous les événements sur les gènes = coût différentiel + coût maximum • Coût différentiel d’un arbre d’adjacence = somme des coûts différentiels des nœuds : • Spéciation : 0 • Duplication de Gène : 0 • Perte de Gène : 0 • Duplication d’Adjacence : -2*DG +DA • Perte d’adjacence : -2*PG +PA • Création : +Cr • Cassure : +Ca • Adjacence actuelle : -Cr Coûts
Coûts +Cr +DA -2*DG 0 0 0 0 - Cr - Cr - Cr Coût diff. = +Cr +DA - 2*DG + 0 + 0 + 0 + 0 - Cr - Cr - Cr = DA - 2*DG - 2*Cr
Coût de la solution : somme du coût maximum et du coût différentiel de la forêt d’arbres d’adjacences qui la compose. Coûts Coût de la solution = Coût max + Coût diff. de G1 + Coût diff. de G2 = (3*DG + 2*PG + 4*Cr) + (DA - 2*DG - 2*Cr) + (Cr – Cr) = DG + DA + 2*PG + 2*Cr
Plan Présentation de la problématique au travers d’exemples Formalisation Extraits de l’algorithme Application à des données réelles Conclusion et perspectives
Présence ou absence d’adjacence Fonction de coût c1 et c0 Appel aux racines Algorithme de Fitch 0 1,0 0 0 0 1 0 0 0
A1 G1 et A2 G2 G1(A1), G2(A2) sous-arbre de racine A1 ou A2. L(A1, A2) adjacences entre descendants de A1 et A2. c1(A1, A2) calcule le coût différentiel minimum d’une foret d’arbres d’adjacences associée à G1(A1), G2(A2) et L(A1, A2), forêt dans laquelle il existe le nœud de création A1~A2 (- Cr) c0(A1, A2) calcule le coût différentiel minimum d’une foret d’arbres d’adjacences associée à G1(A1), G2(A2) et L(A1, A2), forêt dans laquelle il n’existe pas le nœud de création A1~A2 (sauf si A1~A2L) Algorithmes decalcul de coûts différentiels
Algorithmes de calcul de coûts c1 et c0 sont 2 algorithmes « répartiteurs »
Cas d’arrêt Cas A : Gène Actuel/Gène Actuel • c1GAGA(n1,n2) = Cr-Cr-Cr si n1~n2 L, Cr+Ca-Cr sinon • c0GAGA(n1,n2) = Cr-Cr si n1~n2 L, 0 sinon Cas B : Perte/Perte • c1PP(n1,n2) = PA-2*PG • c0PP(n1,n2) = 0 X Cas C : Perte/Gène Actuel ou Duplication ou Spéciation • c1PGDS(n1,n2) = 0 • c0PGDS(n1,n2) = 0
Cas récursif (D)Pseudo cas d’arrêt A1~A2 A1~A2 A2 ou A1 A4 A3 A1~A4 A1~A3
Preuve d’arrêt Pour tous couples de nœuds n1 G1 et n2 G2, les algorithmes c1 et c0 s’arrêtent. Propriété : • Si c1 ou c0 fait appel a : • cas A, B ou C : arrêt • cas D, E, F ou G : récursivité sur un des 8 couples de nœuds suivants : • (n1, fg(n2) ou fd(n2)), • (fg(n1) ou fd(n1), n2), • (fg(n1) ou fd(n1), fg(n2) ou fd(n2)) Preuve :
Cas A, B et C : cas simples sur des feuilles Cas D (Gène Actuel / Duplication) : preuve par récurrence Cas E, F et G preuve par récurrence sur les 3 cas en même temps Preuve d’optimalité
DéCo(G1, G2, S, L) { renvoyer(coût maximum + min(c1(racine(G1), racine(G2)), c0(racine(G1), racine(G2)))) } Algorithme DéCo
Algorithmes de calcul des coûts (cas A à G) : programmation dynamique=> O(n*m) Algorithme DéCo a donc une complexité totale en O(n*m) : complexité quadratique Complexité
Plan Présentation de la problématique au travers d’exemples Formalisation Extraits de l’algorithme Application aux données réelles Conclusion et perspectives
Plan Présentation de la problématique au travers d’exemples Formalisation Extraits de l’algorithme Application aux données réelles Conclusion et perspectives
Bilan • Appropriation du sujet, bibliographie • Formalisation et propriétés • Algorithme DéCo sur papier • Test sur des données construites • Code • Preuves de certaines propriétés Conclusion
Prendre en compte plus de 2 arbres de gènes Discriminer parmi les solutions de coût optimal celles qui sont biologiquement plus réalistes Perspectives
Parser le fichier de données Réconcilier les arbres de gènes avec l’arbre des espèces Calculer le coût maximum Prétraitement