• Aucun résultat trouvé

2.3 Reconstruction à partir de clades

2.3.4 Ajout des réticulations

Présentons maintenant la deuxième partie de l’algorithme qui consiste à ajouter les réticulations entre la partie du réseau reconstruite sur les taxons sans conflit trouvés à la section précédente, et le reste des taxons. Un exemple est donné en figure 2.18.

SoitCun ensemble de clades surXetR ( Xun ensemble minimum de taxons tel que la restrictionC|X\RdeCàX\Rne contient pas de chevauchements. SoitT un arbre phylogé- nétique enraciné surX\Rqui contientC|X\R, et soitL(e)le clade deC|X\Rreprésenté par un arcedeT. Pour tout arc de spéciationedeT, soitC(e) = {C∈C | C−R = L(e)}l’ensemble de tous les clades deCdont la restriction àX\RestL(e), et soitR(e) ={r∈R∩C| C∈C(e)}.

R(e)est constitué des sommets deRqui seront contenus dans les clades souples représen- tés par l’arcedans le réseau reconstruit. Nous appelleronsT(l’arbre ainsi que les étiquettes

R(e)pour tout arce) la partie haute.

Soit C|R la restriction de Cà l’ensemble de taxons R et soitC^|R les clades maximaux (pour l’inclusion) deC|R. Définissons maintenant le grapheBassocié à^C|R, de la manière suivante : chaque cladeC∈C^|Rest représenté par un sommetv(C), chaque taxonr∈Rest représenté par un sommetv(r), et on place un arc dev(C)versv(r)pour tous les taxonsr

contenus dans le cladeC. On appelleraBla partie basse.

Dans l’exemple de la figure 2.18, oùR ={x,y},C|R={{x},{y},{x,y}}, etC^|R={{x,y}}. Les sommetsv(x)etv(y)sont étiquetés respectivement par “x” et “y”, et le sommetv({x,y})

est étiqueté par “xy”.

Il s’agit alors de trouver un ensemble d’arcs-attaches depuis les sommets de la par- tie hauteT vers les sommets de la partie basseBde telle manière que le réseau résultant représente l’ensembleCdes clades fournis en entrée.

Plus précisément, notre objectif est de représenter tous les clades deC(e)par l’arcede

T, et tous les clades deC|Rpar les arcs entrants des sommets de typev(C), oùC∈C^|R. Pour assurer cela, les arcs-attaches doivent vérifier les propriétés suivantes :

(A1) Pour tout arcedeT et tout taxonr∈R(e)il existe un arc-attache d’un descendant dansT depuis la cible deesoit versv(r), soit vers un sommet de la formev(C)dans

B, oùC∈C^|Rcontientr.

(A2) Pour tout sommet de typev(C)dansB, oùC∈C^|R, il existe exactement un arc- attache depuis un sommet dansTversv(C).

(A3) Pour tout arcedeT etr∈Rtels queC(e)contient un cladeC∈Cqui ne contient pasr, il existe un chemin orienté depuis un sommet deTnon-descendant de la cible dee, versv(r).

La propriété (A1) assure qu’on peut atteindrev(r)par un chemin orienté depuis la cible de tout arce deT qui représente un clade C∈C(e)qui contientr. Par exemple, dans la figure 2.18(c), le sommet étiqueté “a” est la cible d’un arc deTqui représente le clade{a,x} qui contientx, et on peut effectivement atteindrev(x)par un chemin orienté passant par l’arc-attachee1, en partant de ce sommet étiqueté “a”.

({b},{a},{x}) ({a},{b},{x}) ({a},{b},{y}) ({a,x},{b},{y}) ({a,b},{x},{c,d,y}) ({a,b},{x},{c}) ({a,b},{x},{y}) ({a},{x},{b}) ({a},{x},{c,d,y}) ({a},{x},{c}) ({a},{x},{y}) ({x},{b},{y}) ({b},{x},{c,d,y}) ({b},{x},{c}) ({b},{x},{y}) ({b},{y},{c,d,x}) ({b},{y},{d}) ({b},{y},{x}) ({d},{c},{x}) ({c},{d},{y}) ({c},{x},{y}) ({d},{y},{x}) (a) (b) (c)

FIGURE 2.18 : Un ensemble de clades C = {a,b}, {a,b,x}, {a,x}, {b,x}, {b,y}, {c,d},

{c,d,x,y}, {c,x}, {d,y}, {x,y} surX ={a,b,c,x,y}, le graphe d’incompatibilitéIG(C)(a), la liste correspondante L de déclarations d’incompatibilité (b), résolues en choisissant

{x,y}comme solution du problème MCS-r, et un réseauNà une couche de réticulation obtenu en résolvant le problème MINIMUM ATTACHMENT(c). Le réseau effectivement re- construit par l’algorithme, où les feuilles ont degré entrant 1, est déduit directement à par- tir deNde manière triviale et montré en figure 2.21. Ici, la partie haute et la partie basse sont étiquetées respectivement parT etB. Les arcs de la partie haute sont étiquetés par les clades non-triviaux qu’ils représentent, et les feuilles par leurs taxons. Les arcs-attaches sont montrés en pointillés.

La propriété (A2) assure que tous les sommets de la formev(C)deBreçoivent un arc entrant. On ne leur autorise pas un degré entrant supérieur à 1 pour assurer que seuls les sommets de la formev(r), pourr∈R, seront des sommets hybrides, et que la solution sera bien un réseau à une couche de réticulation. Par exemple, dans la figure 2.18(c), le sommet

v({x,y}), étiqueté “xy”, a un degré entrant égal à 1, grâce à l’arc-attachee3.

Enfin, la propriété (A3) assure que tout clade ne contenant pas v(r) puisse effecti- vement être contenu en tant que clade souple dans le réseau. Par exemple, dans la fi- gure 2.18(c), si l’arce4n’existait pas, alors le clade souple{b,x}ne pourrait être représenté

par l’arc dont la cible est le sommet étiqueté “b”, qui représenterait uniquement les clades souples{b,y}et{b,x,y}.

Ainsi nous cherchons à résoudre le problème suivant. Problème 3 (MINIMUMAT TACHMENT)

Entrée : un ensembleCde clades, une partie hauteT et une partie basseB.

Sortie : un ensemble de taille minimale d’arcs-attaches depuis les sommets deT vers les

sommets deBqui vérifie les propriétés (A1)–(A3).

COVER12restreint aux instances ne contenant pas d’inclusions d’ensembles, que nous ap-

pelons NOINCLUSIONSETCOVER.

Théorème 11 (NP-complétude de NOINCLUSIONSETCOVER) Étant donnés une collec-

tionCd’ensembles, sans relation d’inclusion, sur un ensembleX, et un entierk, déterminer s’il existe un sous-ensemble de taillekdeCqui couvreXest NP-complet.

Démonstration. Nous procédons par une réduction de la version générale du problème SETCOVER.

Étant donnée une instance de SET COVER C = {C1, . . . , Cm} sur un ensemble d’élé-

mentsX ={x1, . . . xn}, construisons l’instance C0suivante de NO INCLUSION SET COVER,

sur l’ensemble d’élémentsX0= X∪{xn+1, . . . , xn+m+1}:C0=

 Ci0= Ci∪{xn+i} ∪Cm+10 = {xn+1, . . . , xn+m+1}

. Ainsi, on a ajouté un nouvel élément xn+i à chaque ensemble Ci,

ainsi qu’un nouvel élément xn+m+1, et un ensemble Cm+10 qui contient tous cesm + 1

nouveaux éléments. Cette construction est illustrée en figure 2.19. Notons qu’aucun en- sembleCi0deC0n’est inclus dans un autre, car pour touti∈[1..m + 1],xin’appartient qu’à

l’ensembleCn+i0 .

(i) (ii)

FIGURE2.19 : Illustration de la réduction de SETCOVERà NOINCLUSIONSETCOVER: une

instance de SETCOVERavec une solution de taille 2 montrée en gras (i), et l’instance de NO

INCLUSIONSETCOVERcorrespondante avec une solution de taille 3 également montrée en

gras (ii).

Supposons qu’il existe une solution{Ci| i∈I⊂[1..m]}àkensembles pour l’instance

Cde SETCOVER, alors leskensembles de{Ci0| i∈I}couvrent également tous les sommets

xj pourj∈[1..n + m], donc lesk + 1ensembles de{Ci0| i∈I}∪{Cm+10 }couvrent tous les

sommets deX0.

12. Problème SETCOVER: étant donnée une collectionCd’ensembles sur un ensembleXet un entierk, il s’agit de trouver un sous-ensembleC0Cde taillekqui couvreX, c’est-à-dire tel que ∀xX,CC0tel que xC.

Inversement, supposons qu’il existe une solution{Ci0| i∈I⊂[1..m + 1]}àk + 1 en- sembles pour l’instanceC0de NOINCLUSIONSETCOVER. Parmi les ensembles deC0, seul

C0

m+1 contientxn+m+1, donc il appartient nécessairement à la solution. Leskensembles

restantsCi0de la solution couvrent nécessairement tous les sommets deX0\Cm+10 , c’est-à- dire tous les sommets deX, donc leskensembles de{Ci| i∈I\{m+1}}couvrent également

tous les sommets deX.

Finalement, comme il est possible de vérifier en temps polynomial qu’une collection d’ensembles est bien solution, le problème NOINCLUSIONSETCOVERest NP-complet.  Théorème 12 (NP-complétude de MINIMUMAT TACHMENT) Étant donnés une instance du

problème MINIMUM ATTACHMENT et un entierk, déterminer s’il existe une solution de ce problème àkarcs-attaches est NP-complet.

Démonstration. Nous réduisons le problème NOINCLUSIONSETCOVERau problème MI-

NIMUMATTACHMENT.

Étant donnée une instanceCde NOINCLUSIONSET COVERàmensembles, construi-

sons une instance de MINIMUMATTACHMENTqui a une solution avecm + karcs-attaches si et seulement si NOINCLUSIONSETCOVERa une solution de taillek, comme illustré en figure 2.20. On peut se restreindre aux instancesCde NOINCLUSIONSETCOVERtelles que

tout élément deXest contenu dans au moins deux clades deCcar on peut réduire le cas général à ce cas restreint (tout clade contenant un élément deXcontenu par aucun autre clade est forcément dans la solution du problème).

Soitdun nouveau taxon, n’appartenant pas àX. On va chercher à construire par le pro- blème MINIMUMATTACHMENTun réseau phylogénétiqueTde racineρavecm+1feuilles. L’entrée de ce problème sera constituée de la partie haute suivante : une racine inci- dente àm + 1arcs(ρ, vi)pour0≤i≤mtels queR((ρ, v0)) = X∪{d}etR((ρ, vi)) ={d}. Sa

partie basse est constituée d’un sommetv(C∪{d})pour tout ensembleC∈C(Cne conte- nant pas d’ensembles inclus l’un dans l’autre, nous sommes assurés que tous les éléments

C∪{d}sont maximaux pour l’inclusion), d’un sommet hybridev(r)pour toutr∈X∪{d}, et d’un arc(v(C∪{d}),v(r))pour toutr∈C, pour toutC∈C.

Le fait qu’on se soit restreint à des instances de NOINCLUSIONSETCOVERoù tout élé-

ment deX est présent dans au moins deux ensembles deCassure que chaque sommet

v(r)a deux parents, c’est-à-dire que la propriété (A3) est respectée pour les arcs (ρ, vi)

(1≤i≤m).

Nous allons maintenant prouver l’affirmation suivante : s’il existe une solution de cette instance de MINIMUM ATTACHMENT avecm + karcs-attaches, alors il en existe une dans laquelle le sommetv0est parent seulement de sommets de la formev(C∪{d}), avecC∈C.

Il découle des propriétés (A1) et (A2) qu’il y ak arcs-attaches incidents àv0et à des

(i) (ii)

FIGURE2.20 : Illustration de la réduction de NO INCLUSION SET COVER à MINIMUM AT-

TACHMENT: une instance de NO INCLUSION SETCOVER(i) et l’instance de MINIMUM AT-

TACHMENTcorrespondante (ii). Dans cette dernière, l’ajout des arcs-attaches en tirets gris

permet de satisfaire les contraintes induites par les trois propriétés (A1), (A2) et (A3) qui s’expriment en particulier par les étiquettesR(e)des arcs de la partie haute. Les étiquettes des sommets de la partie basse enfants dev0correspondent à la solution de NOINCLUSION

SETCOVER.

Comme tous les arcs-attaches partant dev0conduisent aux sommets-clades deB, alors cet ensemble de sommets clades définit un sous-ensembleSde clades qui couvreX0, et donc égalementX, fournissant une solution du problème NOINCLUSIONSETCOVERde taillek. Maintenant, afin de prouver l’affirmation, supposons qu’un des arcs-attaches incidents à

v0est également incident à un sommet de typev(r)dansB, pour un taxonr∈X0. Si un

sommet-cladev(C∪{d})est enfant dev0avecx∈C∪{d}, alors on peut supprimer l’arc-

attache dev0 àv(r) car il est superflu. Sinon, il existe un sommet-cladev(C∪{d}) qui est enfant d’un des sommetsvideT, aveci>0. Dans ce cas, on modifie ainsi la solution :

rediriger l’arc-attache dev0versv(r)de telle sorte qu’il soit incident àv(C∪{d}), et rediriger

l’arc-attache deviversv(C∪{d})de telle sorte qu’il soit incident àv(r). Cette opération est répétée jusqu’à ce que tous les enfants dev0soient des sommets-clades.

Inversement, il n’est pas difficile de voir que toute solution à kensembles d’une ins- tance du problème NOINCLUSIONSETCOVERmène à une solution àm + karcs-attaches

de ce cas simplifié du problème MINIMUMATTACHMENT. 

Les instances de ce problème que nous devons traiter en pratique sont généralement de taille réduite, et une approche de séparation et évaluation [Lawler et Wood, 1966] suffit pour les résoudre. A partir de la solution obtenue pour le problème MINIMUM ATTACH-

MENT, il suffit d’ajouter des arcs menant aux feuilles pour obtenir un réseau phylogéné- tique dont les feuilles ont degré entrant 1, comme le réseau de la figure 2.21.

FIGURE2.21 : Réseau phylogénétique obtenu à partir de la solution du problème MINIMUM

ATTACHMENTsur les clades de l’exemple en figure 2.18. Les clades sont indiqués en gris sur

les arcs qui les représentent.

Ajoutons qu’il est également possible de le formuler comme problème de programma- tion linéaire en nombres entiers, de la façon suivante. Pour tout sommetu de la partie haute et tout sommetvde la partie basse, la variable binaireau,vindique s’il existe un arc-

attache deuàv(1 si oui, 0 sinon). Les propriétés (A1)-(A3) se traduisent par les inégalités suivantes :

– (A1) : pour tout arce = (x, y)deT, pour tout taxonr∈R(e),

X

u∈T|u¹Ty

au,v(r)+ X

u∈T, v(C)∈B|u¹Ty, r∈C

au,v(C)≥1

– (A2) : pour toutC∈^C|R, P

u∈T

au,v(C)= 1

– (A3) : pour tout arce = (x, y)deT et pour toutr∈Rtel queC(e)contient un clade

C∈Cqui ne contient pasr,

X u∈T|u6¹Ty X v∈B|v(r)¹Bv au,v= X u∈T|u6¹Ty au,v(r)+ X u∈T, C0^C|R|uTy, rC0 au,v(C0)≥1. Il s’agit alors de minimiser la somme P

u∈T,v∈B

Utilisation pratique des méthodes

combinatoires

Les méthodes combinatoires proposées dans la partie I fonctionnent sur des données considérées comme exactes, et demandent parfois une certaine exhaustivité. De plus, leur temps de calcul dépend de la complexité des réseaux reconstruits.

Nous abordons dans cette partie II les contraintes biologiques sur les données, et com- ment nous pouvons les prendre en compte pour utiliser, et en utilisant, des méthodes combinatoires. En évoquant les limites que constituent le bruit et le silence dans les données biologiques disponibles, nous proposons une solution pour corriger des tri- plets erronés, et présentons les méthodes de clôture qui permettent d’inférer des don- nées manquantes.

Enfin, nous montrons plus concrètement comment utiliser les algorithmes de recons- truction combinatoire de réseaux phylogénétiques, avec une sélection appropriée des données, et de la méthode de reconstruction. Nous appliquons alors diverses méthodes combinatoires pour créer des réseaux phylogénétiques, visualisés avec le logicielDen- droscope, à partir de données de la base Hogenom [Dufayard et al., 2005]. Cette base de données d’arbres de gènes est accessible librement sur internet et concerne 513 espèces et contient plus de 70 000 arbres de gènes.

Les arbres de gènes disponibles dans les bases de données de phylomes, comme de nombreuses données biologiques, peuvent contenir des erreurs de topologie des arbres, qui se traduisent en erreurs sur les quadruplets, triplets ou clades que nous utilisons en entrée des algorithmes de reconstruction de réseaux phylogénétiques. Les données sont donc bruitées. Il est possible aussi que certaines données soient manquantes, si un gène n’a pas été identifié chez une des espèces, par exemple. Il faut donc aussi s’attaquer au pro- blème du silence des données. Nous proposons de résoudre ces deux problèmes à l’aide de méthodes combinatoires, développées dans le cadre de cette thèse ou déjà connues. Nous évoquons aussi d’autres limites des méthodes combinatoires de reconstruction en donnant des éléments concrets sur l’explosion de complexité en fonction du niveau, et en identifiant certains problèmes de fiabilité.

Dans tout ce chapitre, nous nous limitons aux réseaux les plus informatifs possibles, c’est-à-dire les réseaux binaires.

3.1 Bruit et silence dans les données