Myotone Dystro e - Eindhoven University of Technology

17
Modelleren C 2WH03 Myotone Dystrofie Michiel Schipperen (0751733) Stephan van den Berkmortel (0770298) Opdrachtgever: Paul Blom Begeleider: Judith Keijsper 21 juni 2013

Transcript of Myotone Dystro e - Eindhoven University of Technology

Page 1: Myotone Dystro e - Eindhoven University of Technology

Modelleren C2WH03

Myotone Dystrofie

Michiel Schipperen(0751733)

Stephan van den Berkmortel(0770298)

Opdrachtgever: Paul Blom

Begeleider: Judith Keijsper

21 juni 2013

Page 2: Myotone Dystro e - Eindhoven University of Technology

Inhoudsopgave

1 Summary 2

2 Inleiding 22.1 Probleemstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.2 Doelstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.3 Plan van aanpak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Modelvorming 33.1 Biologisch model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33.2 Wiskundig model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 Uitwerking 64.1 Aanname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64.2 Verwerking graaf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4.2.1 Breadth-First-Algoritme . . . . . . . . . . . . . . . . . . . . . . . . . . 74.2.2 Verzameling kandidaatreacties . . . . . . . . . . . . . . . . . . . . . . 84.2.3 Grafen ontkoppelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.3 Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.3.1 Enkele centrale reactie . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.3.2 Set Covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.3.3 Criterium Set Covers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5 Aanbevelingen 12

6 Module 13

7 Appendix 147.1 Breadth-First Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

7.1.1 Graafweergave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147.1.2 Matrixweergave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1

Page 3: Myotone Dystro e - Eindhoven University of Technology

1 Summary

The aim of this project is to find a set of chemical reactions inside the human body that liesat the heart of the genetic disease Dystrofia Myotonica (DM). A dataset of linked reactions,including reactions that cause certain symptoms that are known to be linked to DM, will beused to realize this. To find the (approximately) ‘most important’ chemical reactions, certainweights, as well as the amount of steps it takes to get from the reaction to a symptom-reactionwill need to be taken into consideration. The different weights are weights concerning howoften certain symptoms occur (as not every patient will experience the same symptoms) andalso weights concerning how much certain (mutated) genes affect the reactions that causesymptoms. The problem will be solved using graph-theory, combined with postulated criteriafor comparing how ‘important’ reactions or sets of reactions are.

2 Inleiding

Myotone Dystrofie (of Dystrofia Myotonica, afgekort DM) is een zeldzame en erfelijk over-draagbare spierziekte. De ziekte komt voor bij ongeveer 1 op de 8000 mensen en kenmerktzich voornamelijk door verzwakking van spierkracht en myotonie, een neurologische aandoe-ning die het vertraagd ontspannen van aangespannen spieren veroorzaakt [3]. Naar mate deziekte zich uitbreidt, zal dit zich niet alleen manifesteren in gelaat-, kauw- en keelspieren,maar ook naar zwakke spieren in de ledematen en uiteindelijk spierzwakte bij organen alshet hart, maag en lever veroorzaken. Naast deze veel voorkomende uitingen van de ziekte,is er nog een scala aan andere ziekteverschijnselen die in verschillende mate en combinatiesvoorkomen. Voorbeelden hiervan zijn diabetes en staar.

2.1 Probleemstelling

Biologisch gezien is de ziekte een verzameling van gendefecten. Genen worden in het lichaamgebruikt om reacties aan te sturen. Dus op het moment dat deze niet goed functioneren, zul-len de reacties die aangestuurd worden door de defecte genen ook niet naar behoren verlopen.Dit levert gemuteerde reactieproducten op, die zich uiten als ziekteverschijnselen.Reacties in het lichaam zijn onderdelen van een groot netwerk, waarbij iedere reactie in ver-binding staat met een of meerdere reacties. Hierbij wordt een verbinding tot stand gebrachtwanneer stoffen die uit de ene reactie voortkomen door andere reacties weer worden opgeno-men en gebruikt. Op deze manier kan een defecte reactie ofwel door directe verbindingen danwel door indirecte verbindingen meerdere, eventueel ook weer defecte, reacties beınvloeden.Het probleem bij Myotone Dystrofie is dat er tot op heden geen genezing mogelijk is. Welis er een kans dat een medicijn onderweg is door een nieuwe kijk op de ziekte. Zo is uitonderzoek van Paul Blom gebleken dat extra inname van stikstofoxide (NO) een significante,positieve invloed heeft op verschillende ziektebeelden [4]. Door naar de reacties die de ziek-tebeelden veroorzaken te kijken en hun relatie met andere reacties, kunnen de ‘belangrijkste’reacties gevonden worden die als het ware centraal staan in de ziekte. De hoop is dat doordeze reacties te manipuleren de ziekteverschijnselen van DM kunnen worden teruggedrongenof misschien zelfs worden genezen.

2

Page 4: Myotone Dystro e - Eindhoven University of Technology

2.2 Doelstelling

Het is echter nog onduidelijk welk van deze reacties kandidaat staan voor een dergelijke aan-pak. Het doel van dit project is dan ook om uit het netwerk van reacties een (verzamelingvan) reactie(s) te vinden die onder nader te bepalen criteria het meest geschikt is om DM aante pakken. Met de nader te bepalen criteria wordt gedoeld op criteria die bepalen welke reac-ties belangrijker zijn dan andere en op welke manier gezocht gaat worden in het netwerk naarideale reacties. Denk hierbij aan reacties die (in)direct verbonden zijn met zoveel mogelijkdefecte reacties.

2.3 Plan van aanpak

In de probleemstelling is al voor een groot deel uiteengezet wat de biologische omschrijvingis van het probleem. Op de eerste plaats is het taak om dit ‘biologisch model’ duidelijkte specificeren. Vanuit dit model kan vervolgens een wiskundig model worden voorgesteldwaarmee het probleem zal worden aangepakt. Het wiskundig model zal de vorm hebbenvan een gewogen, gerichte graaf, aangezien het daadwerkelijke probleem een netwerk vanreacties betreft waarbij de ene reactie stoffen levert voor een andere reactie. Deze graaf kanop verschillende manieren geanalyseerd worden om daaruit de meest geschikte knoop (= eenreactie) te vinden.

3 Modelvorming

3.1 Biologisch model

Zoals in de probleembeschrijving al genoemd is, is dit probleem biologisch gezien terug tebrengen tot een groot netwerk van reacties. Een verzameling van deze reacties is ‘interessant’in de zin dat deze worden beınvloed door de ziekte Myotone Dystrofie. Echter niet iederereactie heeft een even grote invloed op bepaalde ziektebeelden als andere. Dit gewicht wordtbepaald door een aantal factoren:

• Iedere reactie wordt aangestuurd door een reeks genen, de interessante reacties in hetbijzonder worden dus aangestuurd door minstens een defect gen, die ieder een bepaaldemate van invloed hebben op de reactie. Deze factoren vormen enerzijds het gewicht opeen interessante reactie;

• Anderzijds wordt het gewicht bepaald door de waarschijnlijkheid waarmee een bepaaldziekteverschijnsel voorkomt als uiting van DM. Zoals in de inleiding genoemd heeft DMeen scala aan ziektebeelden. Echter niet alle ziektebeelden komen even vaak voor, dus dereacties die een veel voorkomend ziektebeeld teweegbrengen moeten zwaarder gewogenworden dan reacties bij weinig voorkomende ziekteverschijnselen. Deze weging kan ookvan belang zijn om mee te nemen in het gewicht van een interessante reactie.

Om de structuur van de situatie te verduidelijken is een voorbeeld van een versimpeld reac-tienetwerk op kleine schaal schematisch weergegeven in Figuur 1. In dit figuur is terug te ziendat niet iedere reactie een defecte reactie hoeft te zijn (groene reacties functioneren normaal).Deze kunnen echter wel essentieel zijn om van de ene defecte reactie naar de ander te komen.Zo kunnen reacties R11 en R15 in de illustratie alleen bereikt worden vanuit reactie R4 doorhet pad langs reactie R9 te nemen.

3

Page 5: Myotone Dystro e - Eindhoven University of Technology

Reactie R11

[Gen G8](Ziekte Z3)

Reactie R9

[Gen G1, G2](Geen invloed)

Reactie R1

[Gen G1, G2](Geen invloed)

Reactie R15

[Gen G3, G8, G11](Ziekte Z1)

Reactie R4

[Gen G1, G7](Ziekte Z2)

Reactie R17

[Gen G1, G13](Ziekte Z2, Z5)

Figuur 1: Reactienetwerk, schematisch model.

Ieder van de defecte reacties heeft ook een bepaalde waarde die aangeeft in welke mate dezerelevant is voor de ziekte DM. In Figuur 2 staat voor reactie R15 uit Figuur 1 weergegevenhoe deze waarde is opgebouwd.

Reactie R15

Gen G3 Gen G8

Gen G11

(Ziektebeeld Z1)

(Geen ziektebeeld)

Gewicht Gewicht Gewicht Geen gewicht

= Gewicht R15=

Figuur 2: Opbouw van het gewicht bij reactie R15 uit Figuur 1.

Reactie R15 wordt naast het normaal functionerende gen G11 aangestuurd door de twee defectegenen G3 en G8. De laatstgenoemde twee genen hebben een invloed op de ziekte, terwijl het

4

Page 6: Myotone Dystro e - Eindhoven University of Technology

normale gen dat niet heeft. Daarom hebben G3 en G8 in tegenstelling tot G11 een gewicht, α1

en α2 respectievelijk. Naast deze gewichten bestaat ook het gewicht dat het belang van hetziekteverschijnsel van de reactie representeert binnen DM. Deze wegingsfactor is in het figuuraangeduid met β1. Een bepaalde combinatie van deze gewichten, in Figuur 2 aangegeven alsf(~α, ~β), bepaalt het belang van de reactie voor de ziekte DM.

3.2 Wiskundig model

Het biologisch model uit Sectie 3.1 wordt nu vertaald naar een wiskundig probleem.Gegeven:

• Z = {Z1, Z2, . . . , Zs}: verzameling ziektebeelden;

• R = {R1, R2, . . . , Rn}: verzameling reacties;

• R = {R1, R2, . . . , Rm} ⊆ R: verzameling reacties beınvloed door gemuteerde genen;

• M: [n x n] bogenmatrix, welke de (gerichte) verbindingen tussen reacties uit R geeft;

• G = {G1, G2, . . . , Gl}: verzameling genen;

• A: [m x s] gewichtenmatrix van genen m.b.t. ziektebeelden.

• ~β = {β1, β2, . . . , βs}: waarschijnlijkheidsgewichten van ziektebeelden.

Matrix M is oorspronkelijk geconstrueerd uit twee gegeven vectoren, ReacID en ReacID2.Als de ide component van ReacID reactie Rj is en de ide component van ReacID2 reactieRk is, dan wil dit zeggen dat er een gerichte verbinding van reactie Rk naar Rj is binnen hetnetwerk van reacties. In matrix M wordt dit gerepresenteerd door een 1 op plaats (k, j).Matrix A is een gegeven matrix met de gewichten die de invloed van genen op bepaaldeziektebeelden weergeeft. Er wordt aangenomen dat deze gewichten positieve getallen zijn.Het gewicht van een gen Gi op een ziektebeeld Zj staat in A dus op plaats (i, j) en wordtgedefinieerd als αij . Voor αij zijn twee opties mogelijk:

αij

{> 0 Gi heeft invloed op Zj

= 0 Gi heeft geen invloed op Zj

Verder wordt de vector ~αi gedefinieerd als i-de rijvector van A, dus ~αi = {αi1, αi2, . . . , αis}.Het gewicht γi ∈ γ = {γ1, γ2, . . . , γm} op reactie Ri wordt berekend aan de hand van deformule:

R+ 3 γi = f(~αi, ~β) =s∑

k=1

αikβk

Gebruikmakend van alle bovenstaande gegevens kan nu een gerichte, gewogen graaf wordengeconstrueerd met R de verzameling knopen, M de bogenmatrix welke de kanten in de graafgeeft en γ de gewichten liggend bij de knopen uit R. Binnen deze graaf zal gezocht gaanworden naar (verzamelingen) knopen die paden hebben naar alle knopen uit R, welke ‘speci-ale knopen’ genoemd gaan worden. Wanneer er meerdere knopen gevonden worden die allenpaden hebben naar alle speciale knopen, zal aan de hand van een criterium, welke de gewich-ten op de speciale knopen zal combineren met de lengtes van de paden naar deze knopen,

5

Page 7: Myotone Dystro e - Eindhoven University of Technology

bepaald gaan worden welke reactie het meest centraal staat binnen de graaf. Wanneer er geenreacties gevonden worden die naar alle speciale knopen paden hebben, zal gezocht moetengaan worden naar verzamelingen knopen die samen wel paden hebben naar alle speciale kno-pen. Vervolgens zal uit deze verzamelingen de beste oplossing gekozen moeten worden, aande hand van een criterium welke niet alleen in gaat op afstanden en gewichten, maar ook nogop de kardinaliteit van de verzameling. Deze criteria zullen in Sectie 4.3 in detail besprokenworden. Een illustratie van het wiskundige model is weergegeven in Figuur 3. In dit figuur isde graaf geschetst die hoort bij Figuur 1 van Sectie 3.1. In Figuur 3 zijn de speciale knopen

R17

R1

R4

R9

R11

R15

Figuur 3: Reactienetwerk van Figuur 1, vertaald naar een graaf.

aangegeven met een rode cirkel om de knoop. Het gewicht van deze knopen staat aangegevenmet γi, waarin i de reactie-index is waar het gewicht betrekking op heeft. De pijlen in hetschema geven aan in welke richting tussen twee knopen een pad is.

4 Uitwerking

4.1 Aanname

Nu de opbouw van het model bekend is, kan er gewerkt worden aan een oplossing van deprobleemstelling. Alvorens voor deze oplossing een algoritme geformuleerd kan worden, moeter echter een aanname gedaan worden. Voorlopig wordt aangenomen dat de lengtes van depijlen allen 1 zijn. In een later stadium van het onderzoek kan dit eventueel nog wordenaangepast. Dit zou in het biologische model betekenen dat sommige reactieproducten vangroter belang zijn dan andere, of meer tijd nodig hebben alvorens ze worden gebruikt in debestemmingsreactie.

6

Page 8: Myotone Dystro e - Eindhoven University of Technology

4.2 Verwerking graaf

4.2.1 Breadth-First-Algoritme

Op de eerste plaats is het voor deze specifieke probleemstelling belangrijk dat er gekekenwordt naar knopen die direct, dan wel via andere buurknopen verbonden zijn met zo veelmogelijk speciale knopen. Om deze reden zal eerst een eenvoudig Breadth-first-algoritme(BFS) toegepast worden op elk van de knopen om te bepalen met welke speciale knopen zein verbinding staan. Een handige bijkomstigheid hierbij is dat door gebruik te maken vandit algoritme, ook meteen voor elke knoop de afstanden tot alle andere knopen bepaald enopgeslagen kunnen worden. Het Breadth-first-search algoritme werkt als volgt:

1. i = 0;

2. Ken aan alle knopen in de graaf waarde ∞ toe;

3. Kies een beginpunt, ken hier waarde i aan toe;

4. Ken aan alle buren (= knopen in de graaf waar een pijl naartoe wijst vanuit

de huidige knoop) met een waarde > (i+ 1) de waarde (i+ 1) toe;

5. Als er nog een onbeschouwde knoop met waarde i is: beschouw de volgende knoop

met waarde i en ga terug naar stap 4.

Anders: i+ +;

6. Als er geen knopen zijn met waarde i: stop algoritme;

7. Ga naar stap 5;

De toegekende waarde bij elk van de knopen is de kortste afstand van het gekozen begin-punt tot die knopen. Wanneer de waarde bij een knoop ∞ is, wil dit zeggen dat die knooponbereikbaar is vanuit het gekozen beginpunt. In Appendix 7.1.1 is een voorbeeld van eenstap-voor-stap weergave van een Breadth-First search binnen een kleine graaf te vinden. Ditalgoritme moet worden uitgevoerd met iedere knoop uit R als beginpunt. Een nadeel bijdeze vorm van het algoritme is dat er overbodige paden berekend worden, namelijk padenvanuit niet-speciale knopen die enkel verbindingen hebben naar andere niet-speciale knopen.Deze knopen zullen nooit kandidaat staan voor de oplossing van het probleem. De keus omhet algoritme toch op deze manier te definieren, heeft te maken met de connectie van ditalgoritme met een simpele implementatiemethode.Het BFS algoritme is namelijk niet alleen iteratief, zoals in de bovenstaande pseudo-code, uitte voeren. Voor een handige implementatie van het algoritme, zal bogenmatrix M gebruiktworden. Aangezien linksvermenigvuldiging van eenheidsvector eTi (de vector met een 1 opplaats i en verder alleen nullen) met matrix M een vector geeft met daarin een 1 op de plaatsvan elke buur van knoop Ri en verder alleen maar nullen, kan M gezien worden als een line-aire afbeelding. Wanneer je nu de vector eTi M nogmaals links vermenigvuldigt met M, krijgje een vector die de buren van de buren van knoop Ri weergeeft. Dit is de achterliggendegedachte bij het implementeren van het BFS-algoritme in termen van vectoren en matrices.De implementatie werkt als volgt:

1. Definieer een iteratiematrix ‘BFSj’ en een matrix BFS met BFS1 = BFS =M;

7

Page 9: Myotone Dystro e - Eindhoven University of Technology

2. j = 1;

3. j + +;

4. Bereken BFSj = BFSj−1 ∗M;

5. Zet op de locaties van niet-nul elementen uit BFSj in BFS het getal j dan

en slechts dan als er in BFS op die posities nog een 0 staat;

6. Als BFS veranderd is na de vorige stap: ga naar stap 3;

7. Vervang alle nullen in BFS door ∞;

8. Zet nullen op de diagonaal van BFS. Stop algoritme;

Een illustratie van voorgaande pseudo-code, toegepast op de graaf van Figuur 3 is te vindenin Appendix 7.1.2. De matrix die geleverd wordt door het algoritme is als volgt te lezen: Alsin de matrix op plaats (i, j) het getal p staat, betekent dit dat het kortste pad van knoop Ri

naar knoop Rj lengte p heeft. Wanneer p =∞, is er geen pad van Ri naar Rj . Deze maniervan implementatie m.b.v. vermenigvuldiging van een bogenmatrix heeft tot gevolg dat deresulterende matrix BFS alle paden bevat vanuit ieder beginpunt, wat ook het gevolg iswanneer het eerstgenoemde algoritme voor ieder beginpunt wordt uitgevoerd. De overbodigeknopen vertalen zich in de matrix naar rijen die geen niet-∞ waarden hebben op de kolommenvan de speciale knopen.

4.2.2 Verzameling kandidaatreacties

De volgende stap in de oplosmethode, na het toepassen van het Breadth-first-algoritme opalle knopen van de graaf, is het bekijken of er knopen in de graaf zijn die naar elke specialeknoop een pad hebben. Dit is simpel af te lezen door te kijken of er speciale knopen tussenzitten met toegekende waarde ∞. Wanneer er geen enkele knoop gevonden is die paden heeftnaar alle speciale knopen, zal bekeken moeten worden of de graaf te ontkoppelen valt naartwee of meerdere losse grafen. Dan kan elke losse graaf beschouwd worden als een initieledataset voor het probleem van dit project. Wanneer er na ontkoppeling in de graaf echter nogsteeds geen knopen zijn met paden naar elk element uit R, zal gekeken moeten gaan wordennaar verzamelingen knopen die samen wel alle speciale punten overdekken. Hier wordt verderop in gegaan in Sectie 4.3.2.

4.2.3 Grafen ontkoppelen

Met behulp van de informatie in de BFS matrix kan gekeken worden of de graaf te ontkoppelenis in meerdere, kleinere en bovendien disjuncte grafen. Hiervoor schrijven we BFS om naar eenzogeheten bipartiete graaf die in dit geval de relatie tussen alle knopen en de speciale knopenvast gaat leggen. In deze bipartiete graaf zijn twee groepen elementen te onderscheiden: eengroep beginpunten en een groep eindpunten. In deze graaf staan alleen ongerichte kanten vanknopen uit de groep beginpunten naar knopen uit de groep eindpunten. De bipartiete graafin kwestie zal er als volgt uit zien: De groep beginpunten zal alle knopen uit de graaf bevattendie een pad hebben naar minstens een speciale knoop (hier vallen alle speciale knopen zelf ookonder, doordat ze een pad ter lengte 0 naar zichzelf hebben); in de groep van eindpunten zullen

8

Page 10: Myotone Dystro e - Eindhoven University of Technology

alleen alle speciale knopen staan. Een grafische weergave van de bipartiete graaf, behorendebij de graaf uit Figuur 3 is te zien in Figuur 4.

R17R15R11R4

R4R1 R9 R11 R15 R17

Figuur 4: Bipartiete graaf behorende bij de graaf uit Figuur 3.

In Figuur 4 is de onderste rij knopen de groep beginpunten en is de bovenste rij knopen degroep eindpunten. De rood omcirkelde knopen zijn nog steeds de speciale knopen.

Nu een bipartiete graaf, Bip, gedefinieerd is, kan hiermee gezocht worden naar losse grafen.Wanneer een verticale lijn getrokken wordt ergens tussen de knopen in een bipartiete graafen deze lijn niet door de kanten gekruist wordt, betekent het dat de knopen links van deverticale lijn los staan van de knopen rechts van de lijn. Hierbij zijn knoopwisselingen binnende groep van beginpunten en binnen de groep van eindpunten toegestaan. In Figuur 4 is ergeen enkele verticale lijn te bedenken die geen enkele kant snijdt (ook niet wanneer knopengewisseld worden). Dit betekent dus dat deze graaf een enkele groep is en niet ontkoppeld kanworden in disjuncte groepen. Om toch het idee duidelijk te maken van twee disjuncte grafenin een bipartiete graaf, worden in Figuur 5 enkele kanten weggelaten waardoor een duidelijketweedeling te maken is en de graaf dus opgesplitst kan worden in twee disjuncte grafen.

Figuur 5: Twee ontkoppelde grafen binnen een grotere bipartiete graaf.

Om gebruikmakend van Bip de verschillende losse grafen te vinden, zal de BFS matrix doorlo-pen worden. Omdat alleen groepen met speciale knopen beschouwd gaan worden, wordt dezematrix eerst omgevormd. Van deze BFS matrix wordt namelijk weer een nieuwe bogenmatrixgemaakt, in dit geval alleen in overeenstemming met de bipartiete graaf Bip. Dit betekent

9

Page 11: Myotone Dystro e - Eindhoven University of Technology

dat in deze bogenmatrix op plaatsen (i, j) en (j, i) 1-en komen te staan dan en slechts danals knoop Rj een speciale knoop is en (i, j) 6=∞ in BFS. Op deze manier is de bogenmatrixequivalent met de ongerichte kanten in Bip. Als op deze bogenmatrix nu opnieuw een BreadthFirst Search wordt uitgevoerd, kunnen de disjuncte groepen eenvoudig gedestilleerd worden.Omdat de bipartiete graaf namelijk ongericht is, kan ieder punt in deze groep ieder anderpunt bereiken. Hierdoor staan in deze BFS matrix voor iedere rij niet-∞ elementen dan enslechts dan als deze elementen ook in dezelfde groep zitten. Voor iedere groep zijn de rijen inde BFS matrix dus identiek, m.a.w. iedere unieke rij stelt een disjuncte groep voor die apartbeschouwd kan worden.

4.3 Criteria

Nu de graaf uit de dataset zo veel mogelijk opgesplitst is in onafhankelijke grafen, kan elkedisjuncte graaf weer gezien worden als initiele dataset. Om die reden zal er zonder verlies vanalgemeenheid gesproken worden over slechts een enkele graaf waarin geen ontkoppelingen meermogelijk zijn. Om te bepalen welke reactie(s) het meest centraal staan in het veroorzakenvan DM, zullen in deze sectie criteria opgesteld worden.

4.3.1 Enkele centrale reactie

Als er sprake is van een verzameling van een of meerdere punten die allemaal binnen de graafpaden hebben naar alle speciale knopen, dan zal bepaald moeten worden welke het meest vaninvloed is (in het geval van een punt is de oplossing triviaal). Hiervoor wordt een criteriumopgesteld waarin rekening wordt gehouden met alle gewichten en de afstand tussen de gevon-den knopen en de speciale knopen. Dit criterium ziet er als volgt uit:

Zij R ⊇ R = {R1, ..., Rq} de verzameling knopen die paden hebben naar alle speciale knopen

en zij R = {R1, ..., Rm} de verzameling speciale knopen. Als voor Ri ∈ R geldt:

∀j ∈ {1, 2, ..., q} :m∑k=1

(dist(Ri, Rk) · γk) ≤m∑k=1

(dist(Rj , Rk) · γk)

dan is knoop Ri de gezochte reactie die de meeste invloed heeft op DM. Hierbij is dist(Rj , Rk)

de kortste afstand van knoop Rj ∈ R tot Rk ∈ R en is γk ∈ R nog steeds het gewicht vanknoop Rk. De keuze voor vermenigvuldiging van afstand en gewicht is gemaakt om als hetware een zogenaamde ‘gulden middenweg’ te vinden tussen het belang van de gewichten envan de afstanden.NB: Het is mogelijk dat er meerdere reacties worden gevonden die als ‘belangrijkst’ wordengezien volgens dit criterium.

4.3.2 Set Covers

Wanneer er geen enkele knoop binnen de graaf is die paden heeft naar alle speciale knopen, zalgekeken moeten worden naar verzamelingen knopen die samen wel alle speciale knopen kunnenbereiken. Zo’n verzameling knopen wordt een Set Cover (overdekking) genoemd, omdat deknopen uit zo’n Set Cover als het ware alle speciale knopen overdekken. Een voorbeeld vantwee verschillende Set Covers uit de graaf van Figuur 3 is te zien in Figuur 6

10

Page 12: Myotone Dystro e - Eindhoven University of Technology

R17R15R11R4

R4R1 R9 R11 R15 R17

(a) Set Cover van een element

R17R15R11R4

R4R1 R9 R11 R15 R17

(b) Set Cover met twee elementen

Figuur 6: Voorbeelden van Set Covers in het voorbeeld van Figuur 3

Merk op uit dit figuur dat het vinden van Set Covers met een element equivalent is aan degezochte knopen in Sectie 4.3.1. Het vinden van Set Covers en op hen een criterium definierenheeft de voorkeur, omdat deze methode meer algemeen toepasbaar is en er slechts zelden en-kele knopen te vinden zijn.Er bestaan verschillende methoden om Set Covers te vinden in een graaf. Een hiervan ishet zogenaamde Greedy algorithm. Dit is een algoritme waarmee een zo klein mogelijke SetCover gevonden kan worden. Per stap wordt in dit algoritme namelijk bepaald welke knoopde meeste nog niet bereikte speciale knopen overdekt. Echter hoeft de kleinste Set Cover nietaltijd de beste Set Cover te zijn. Stel bijvoorbeeld dat de Set Cover uit Figuur 6a bij allekanten lengte 100 heeft, en de Set Cover van Figuur 6b bij alle kanten lengte 1 heeft, dan isde rechtse overdekking beter, ondanks dat de linker overdekking minder knopen bevat. Omdeze reden zal ook gezocht worden naar Set Covers die een iets grotere kardinaliteit (= hetaantal elementen in de Set Cover) hebben. Deze kunnen vervolgens vergeleken worden metelkaar en met de Set Cover die gevonden is met het Greedy algoritme.Er is voor gekozen om willekeurige Set Covers te vinden naast de Set Cover gevonden door hetGreedy algoritme. Hier is voor gekozen omdat een recursieve zoekmethode als groot nadeelheeft dat, wanneer het afgekapt wordt voordat alle overdekkingen gevonden zijn, er met hogewaarschijnlijkheid weinig variatie tussen de verschillende Set Covers zal zitten doordat hetalgoritme als het ware is blijven steken in een bepaalde tak van op elkaar lijkende overdekkin-gen. Het afkappen van het zoekproces na een bepaalde tijd of na een bepaald aantal gevondenSet Covers is echter noodzakelijk, doordat het vinden van alle Set Covers niet haalbaar is bin-nen afzienbare tijd (lees weken). Het aantal overdekkingen stijgt namelijk bij benadering alseen faculteit met de hoeveelheid knopen in een graaf. Door op willekeurige wijze Set Coverste zoeken zal dus met hogere waarschijnlijkheid gevarieerdere resultaten leveren en door tekiezen hoeveel Set Covers er gevonden moeten worden voor het zoekalgoritme stopt, is tebepalen hoe groot de kans is om de beste Set Cover of een overdekking die erg overeenkomtdaarmee te vinden.

11

Page 13: Myotone Dystro e - Eindhoven University of Technology

4.3.3 Criterium Set Covers

Om te bepalen hoe ‘goed’ een Set Cover is, zal naast het gewicht en de kortste afstand totde speciale knopen nu ook de kardinaliteit in beschouwing genomen worden. Het volgendecriterium is hiervoor bedacht:

• Zij C = {C1, C2, . . . , Cp} een verzameling Set Covers van de speciale knopen binnen degraaf,

• |Ci| de kardinaliteit van Set Cover Ci,

• J de verzameling speciale knopen,

• γj het gewicht van reactie Rj ∈ J en

• Si de score van Set Cover Ci.

Dan is C∗ de beste Set Cover uit C wanneer geldt:

S∗ = mini∈{1,...,p}

(Si).

De score Si van overdekking Ci kan als volgt worden berekend:

Si = |Ci| ·∑Rj∈J

γj · ( minRk∈Ci

(dist(Rk, Rj)) + 1).

De reden dat in het criterium 1 wordt opgeteld bij de kortste afstand naar elk van de specialeknopen is omdat het mogelijk is dat een speciale knoop zelf ook onderdeel is van de Set CoverCi. Wanneer de afstand van een speciale knoop naar zichzelf 0 zou zijn, zou de verzamelingspeciale knopen zelf altijd als beste Set Cover uit de bus komen volgens het criterium.NB: De aan de hand van het criterium gevonden ‘beste’ Set Cover is de beste uit alle gevon-den Set Covers. Wanneer niet alle Set Covers gevonden zijn, is het dus niet uitgesloten dater een overdekking bestaat die nog beter is. Tevens is het mogelijk dat er meerdere beste SetCovers gevonden worden.

5 Aanbevelingen

Voor vervolgonderzoek zijn er enkele uitbreidingen en aanpassingen aan te bevelen, waar inhet huidige onderzoek de middelen niet voor waren. Er wordt momenteel nog aangenomendat elke kant in de graaf lengte 1 heeft. In de toekomst zou hier verandering in kunnen komenen om dit juist te implementeren in het oplosalgoritme, is het aan te raden om gebruik temaken van (een variant op) Dijkstra’s algoritme, welke de kortste paden tussen knopen levertvoor grafen met variabele kantlengtes. Het BFS algoritme kan nog steeds gebruikt wordenom (nde-graads) buren te vinden van knopen en om bipartiete grafen mee te maken, maarniet bij het doorvoeren van de criteria waarin de kortste afstand naar speciale knopen (mede)van belang is.Verder is het aan te raden om effectiever op zoek te gaan naar Set Covers. Hierbij zou bij-voorbeeld gedacht kunnen worden aan een combinatie van eerst een aantal stappen randomzoeken en vervolgens het Greedy algoritme alsnog toe te passen, waardoor de Set Covers niet

12

Page 14: Myotone Dystro e - Eindhoven University of Technology

geheel willekeurig gevonden worden. Ook zal een professional op het gebied van Integer Pro-gramming waarschijnlijk slimme, efficiente methodes kunnen implementeren voor het vindenvan de, naar het criterium in Sectie 4.3.3, beste Set Cover.Een laatste idee voor vervolgonderzoek is het in beschouwing nemen van het aantal genendat de reacties van een Set Cover beınvloedt, naast of in plaats van de kardinaliteit van deSet Covers. Dit resultaat is ook het uiteindelijke gewenste resultaat in het biologisch model,maar strekt zich buiten het kader van het wiskundige probleem en het project.

6 Module

Het in het verslag beschreven oplosalgoritme is ook in Matlab geımplementeerd als module.Hierin worden van alle groepen Set Covers berekend zoals gedefinieerd in Sectie 4.3.2. Ver-volgens wordt aan de hand van het criterium uit Sectie 4.3.3 de beste Set Cover bepaald vooriedere groep. De module en de documentatie van deze module kunnen gevonden worden opde website [5] (voor beperkte tijd).

13

Page 15: Myotone Dystro e - Eindhoven University of Technology

7 Appendix

7.1 Breadth-First Search

7.1.1 Graafweergave

I

II

III

V

VI

IV

Figuur 7: Stap-voor-stap weergave van een Breadth-First search binnen een graaf.

14

Page 16: Myotone Dystro e - Eindhoven University of Technology

7.1.2 Matrixweergave

BFSmBogenmatrix

BFSm na stap 5 BFSm eind

Figuur 8: Tussenstappen van een Breadth-First search in matrixvorm.

15

Page 17: Myotone Dystro e - Eindhoven University of Technology

Referenties

[1] ReactomeRef: http://www.reactome.org

[2] GenecardsRef: http://www.genecards.org

[3] Vereniging Spierziekten NederlandOver Myotone DystrofieRef: http://www.vsn.nl/spierziekten/diagnose.php?diagnose_id=6

[4] Paul BlomResearch Myotonic DystrophyRef: DystrophiaMyotonicaAndNO.v6.doc

[5] Stephan van den Berkmortel & Michiel SchipperenDM Module DocumentatieRef: www.student.tue.nl/Z/s.m.l.v.d.berkmortel

16