Virtuele hersenen
Nieuwe programmatuur maakt medicijnonderzoek met minder proefdieren mogelijk
VORtecher Bas van ‘t Hof heeft voor onderzoekers programmatuur gemaakt om de verspreiding van medicijnen in de hersenen te berekenen. Daardoor kunnen onderzoekers nu voor het eerst zien wat hun theoretische werk concreet betekent. Dat maakt het mogelijk om betere medicijnen ontwikkelen met minder proefdieren.
Hoe verspreiden medicijnen zich in de hersenen?
Beatrice Guastella, student bij de Universiteit Leiden, heeft gewerkt aan modellen die de verspreiding van stoffen in de hersenen beschrijven. Dat soort modellen helpt om betere medicatie te vinden voor bijvoorbeeld de ziekte van Parkinson en voor hersentumoren. Zo’n model is veel praktischer dan dierproeven, omdat je op ieder moment op ieder punt in de hersenen kunt zien wat er gebeurt.
Beatrice was vooral bezig met het opstellen van de wiskundige beschrijving van de chemische en fysische processen in de hersenen. Maar die beschrijvingen zijn heel complex. Dat maakt het lastig om goed te doorgronden wat het concreet betekent voor de medicijnverspreiding. Daarom wilde ze haar theoretische werk graag laten vertalen in een computerprogramma. Door concreet uit te rekenen wat de uitkomsten van haar model zijn zou ze veel meer gevoel krijgen voor de wiskundige vergelijkingen. Bovendien zou dit programma gebruikt kunnen worden om virtueel proeven te doen.
De best denkbare programmatuur
Dat is waar VORtecher Bas van ’t Hof in beeld komt. Al meer dan twintig jaar heeft Bas aan een groot aantal verschillende computermodellen gewerkt, in allerlei programmeertalen voor veel verschillende toepassingen. Bas: “Toen ik vijfentwintig jaar geleden bij VORtech begon heb ik veel gewerkt aan computerprogrammatuur om waterstromingen voor de kust door te rekenen. Later ben ik bezig geweest met software die gebruikt wordt in de olie-industrie. De laatste jaren doe ik veelal wat kortere projecten. Zo ben ik nu bezig met programmatuur om scheepsbewegingen in detail door te rekenen. Intussen heb ik in alle gangbare talen geprogrammeerd: van Fortran tot en met Python”.
Waar de projecten van VORtech vaak doorbouwen aan bestaande programmatuur en door budget ingekaderd zijn, wilde Bas graag eens een stuk programmatuur vanaf het eerste begin goed op zetten. Een sabbatical zou daarvoor een mooie gelegenheid zijn. Hij klopte aan bij Vivi Rottschäfer, associate professor bij de Universiteit Leiden (en full professor bij de Universiteit van Amsterdam) met de vraag of hij zoiets in haar groep zou kunnen doen. Professor Rottschäfer maakte meteen de connectie met het werk van Beatrice en regelde dat Bas voor een dag per week werd aangenomen om programmatuur te maken. Hij kon meteen beginnen op basis van het werk dat promovenda Esmee Vendel al gedaan had en dat de basis vormde voor het lopende werk van Beatrice.
Dankzij deze aanstelling kon Bas in alle vrijheid de best denkbare programmatuur maken. Zoals gezegd: het gaat om een complex computermodel: er zijn cellen die als punten worden gemodelleerd (0 dimensies), vaten die als lijnen worden gemodelleerd (1 dimensie) en de vloeistof rondom de aderen die in drie dimensies worden weergegeven. Het transport door de wand van de vaten is niet-lineair, waarvoor een zorgvuldig ontwerp van de numerieke methode nodig is.
Complexiteit beheersbaar houden
Bas: “Als je zo’n complex model gaat uitwerken in programmatuur moet je een heel goede opzet maken. Anders loop je al snel vast in de complexiteit en dan wordt het heel moeilijk om de programmatuur verder uit te breiden of fouten te vinden.” Daarom heeft Bas de programmatuur opgebouwd uit elementaire bouwblokken, ieder met een goed gedefinieerde functie, die in steeds hogere niveaus aan elkaar gekoppeld worden. “Het voordeel”, aldus Bas, “is dat deze bouwblokken in principe ook voor andere toepassingen te gebruiken zijn.”
Naast de bouwblokken is er allerhande nuttige functionaliteit ontwikkeld die ook ingezet kan worden voor andere projecten, zoals een testbank die plaatjes vergelijkt, functionaliteit om C++-programmatuur aan Python te koppelen op een betere manier dan Boost dat doet, en functionaliteit om te zien waar programmatuur veel tijd besteedt.
Bas heeft ook veel plezier beleefd aan de samenwerking met Beatrice. Bas: “Ze kon me goed uitleggen wat er geprogrammeerd moest worden. En ze zag waar de programmatuur fouten maakte doordat ze bepaalde verwachtingen had van de uitkomsten. Dat haal ik er zelf nooit uit.”
Een goede basis
Zowel het wiskundige werk als de programmatuur zijn nog lang niet af. Het onderzoek levert nieuwe ideeën en nieuwe vragen op. Dankzij de stevige basis die Bas heeft gelegd kunnen onderzoekers de programmatuur nu in principe zelf verder ontwikkelen. Toch plaatst professor Rottschäfer daar nog wel een kanttekening bij: “Het maken van goede software is echt een vak apart dat je aan vakmensen over zou moeten laten. Onderzoekers kunnen best programmeren maar hebben niet de kennis en ervaring om het zo op te zetten dat het ook betrouwbaar en uitbreidbaar is. En dat is ook niet het beste gebruik van hun talenten.”