Supercomputers hebben het ontwerpen van geneesmiddelen drastisch veranderd. Vanuit het inzicht in de structuur van enzymes helpen supercomputers ons om op zoek te gaan naar mogelijke geneesmiddelen.

Hierbij moeten we niet langer eerst experimenteel een aantal mogelijke moleculen synthetiseren om dan na te gaan of ze wel het gewenste effect hebben, maar laten we de computer eerst een aantal mogelijke moleculen voorstellen en de eigenschappen ervan analyseren.

Een belangrijk toepassingsgebied voor supercomputing is het ontwerp van geneesmiddelen. De meeste geneesmiddelen werken volgens het sleutel-slot model: een kleine molecule, het 'ligand', interageert met een 'doel' enzyme waardoor dit laatste geactiveerd of gedeactiveerd wordt. Een voorbeeld is de molecule tamiflu die het enzyme neuraminidase van het griepvirus bindt en daardoor de vermenigvuldiging van het virus inhibeert. Een ander voorbeeld zijn de zogenaamde HIV-integrase inhibitoren, die het enzyme integrase van het HIV- of AIDS-virus inhiberen.

Met de opkomst van X-stralendiffractie halverwege de vorige eeuw, en sinds enkele decennia ook kernspinresonantie (NMR), kunnen we de structuur van vele enzymen bepalen op atomair niveau. We kennen m.a.w. de structuur van de 'sloten', en kunnen die gebruiken om rationeel 'sleutels' te ontwerpen. Dit is wat we verstaan onder structuurgebaseerd of rationeel ontwerp van geneesmiddelen (engels: structure based drug design of rational drug design).

Bij het op maat ontwerpen van moleculen moeten we rekening houden met de specifieke fysische spelregels die hierbij van toepassing zijn. Atomen en moleculen volgen immers de wetten van de kwantummechanica. Het zoeken naar efficiënte rekenmethoden hiervoor begint weliswaar stilaan vruchten af te werpen, maar het blijft rekenkundig een zware klus.

Voorlopig kunnen we ons ook behelpen met moleculaire mechanica, waar we een eenvoudiger molecuulmodel hanteren. Maar zelfs dan zitten er addertjes onder het gras. De experimentele structuur van het eiwit moet ge-optimaliseerd worden, de 3-D vorm van flexibele moleculen bezorgt ons hoofdbrekens, en we moeten de juiste oriëntatie van de ontworpen molecule in het doelenzyme bepalen. Al deze problemen hebben de eigenschap dat ze moeilijk zijn omdat ze bestaan uit het zoeken naar oplossingen in een zeer grote zoekruimte. Hiervoor kunnen we een beroep op zogenaamde 'natural computing' algoritmen waarvan we er enkele verderop in het kort bespreken.

Structuur van het doeleiwit

Een belangrijk onderdeel van eiwitstructuren is de aanwezigheid van waterstofbruggen. Waterstofbruggen zijn interacties tussen polaire waterstofatomen en de zuurstofatomen in het eiwit en de in het eiwit aanwezige watermoleculen. Deze waterstofbruggen kunnen netwerken vormen die zich ver grote afstanden in het eiwit uitstrekken. Kristallografen kunnen waterstofatomen echter niet 'zien', en we moeten de juiste positie ervan berekenen. Voor elke waterstofbrug moeten we de interactie-energie met elke andere naburige waterstofbrug berekenen als functie van zijn oriëntatie en positie, wat een combinatorisch probleem is waarvoor we een zogenaamd 'simulated annealing' algoritme hebben ontwikkeld.

Het conformatie probleem

Met moleculaire mechanica kunnen we zeer snel de bindingslengten en bindingshoeken van een molecule min of meer nauwkeurig voorspellen. Wanneer er in een molecule roteerbare bindingen voorkomen steekt echter het conformatieprobleem de kop op. Verschillende combinaties van torsiehoeken rond de roteerbare bindingen zullen op het potentiaaloppervlak van de molecule aanleiding geven tot lokale minima, die overeenkomen met verschillende conformeren. Als voorbeeld geven we in figuur 6 het potentaaloppervlak van een eenvoudige molecule met twee roteerbare bindingen. De stabiele vormen van de molecule komen overeen met de waarden van de hoeken t1 en t2 waarvoor de energie minimaal is. Bij het zoeken naar moleculen die de juiste vorm hebben om aan een doeleiwit te binden, moeten we duizenden van deze potentiaaloppervlakken onderzoeken en dit in meerdere dimensies. Zelfs met gespecialiseerde methoden zoals genetische algoritmen vraagt dit een grote rekencapaciteit.

Het docking probleem

Wanneer we de driedimensionale structuur van een 'sleutel' molecule gevonden hebben, gaan we kijken of deze past in het 'slot' enzyme. Hierbij zoeken we de positie en oriëntatie die de interactie-energie tussen het enzyme en de molecule minimalizeert. Ook hier hebben we te maken met een ingewikkeld potentiaaloppervlak en moeten we beroep doen op gespecialiseerde algoritmen. Het feit dat een enkele molecule onder verschillende 3-dimensionale vormen of conformeren kan voorkomen maakt het probleem er alleen maar moeilijker door.

De novo design

Wanneer we een efficiënte methode gevonden hebben om de juist vorm van moleculen te bepalen, kunnen we met veel enthousiasme en chemische creativiteit stoffen gaan ontwerpen die interageren met een interessant doeleiwit.

Een volgende stap is om ook dit proces te automatiseren: laat de computer zelf moleculen ontwerpen die de gewenste eigenschappen bezitten. Hiervoor moeten we over een algoritme beschikken dat atomen aan mekaar knoopt op een chemisch zinvolle wijze, zodanig dat goed scorende moleculen ontstaan. Dit is op zich al niet eenvoudig.

Een bijkomend probleem is dat van de synthetische toegankelijkheid: de door de computer bedachte moleculen moeten ook synthetiseerbaar zijn in het labo: er moet een chemische reactie bestaan waardoor de stoffen gevormd worden, en de uitgangsproducten moeten verkrijgbaar zijn. Hiervoor hebben we het probleem als volgt geherformuleerd: gegeven een reeks gekende chemische reacties en een databank met verkrijgbare moleculen, zoek die combinatie van reacties en reagentia die aanleiding geven tot interessante moleculen. Het aantal mogelijkheden is weerom gigantisch, zelfs voor een beperkt aantal reacties en reagentia.

Ook hier kan de natuur als inspiratiebron dienen voor bruikbare algoritmen: met behulp van een genetisch algoritme slagen we erin om in een paar duizend stappen goed scorende moleculen te genereren. Voor elke stap dienen we natuurlijk alle berekeningen zoals conformatieanalyse en docking uit te voeren, en moeten we beschikken over de nodige rekenkracht.

Optimalisatie met 'natural computing' algoritmen

Optimalisatie kunnen we als volgt definiëren: gegeven een grootheid Y die afhangt van een reeks variabelen X1, X2, ... XN, zoek die combinatie van Xi 's die Y maximaliseert (of minimaliseert). De mogelijke waarden van de X-en noemen we de zoekruimte van het probleem. N is het aantal dimensies van deze zoekruimte.

Een voorbeeld is: zoek die combinatie van torsiehoeken van een flexibel molecule waarvoor de potentiële energie minimaal is. Of nog: zoek de combinatie van chemische reacties en reagentia die een stof vormt die het best past in de bindingsplaats van een therapeutisch interessant doelenzyme.

Een eenvoudige manier om de optimale oplossing van een probleem te vinden is alle mogelijke oplossingen in de zoekruimte af te lopen en de beste eruit te kiezen. Het voordeel van deze exhaustieve benadering is dat je zeker bent dat je de beste oplossing gevonden hebt. In de praktijk blijkt echter dat voor vele problemen de zoekruimte zo groot is dat het een eeuwigheid duurt eer je alle oplossingen onderzocht hebt.

Een andere benadering voor het optimalisatieprobleem bestaat erin op een verstandige manier een beginoplossing te kiezen en van daaruit veranderingen aan te brengen in een richting in de zoekruimte waarin deze beginoplossing verbetert. Bij het zoeken naar het minimum van een wiskundige functie wordt deze richting gegeven door de negatieve gradiënt van de functie. Deze benadering leidt echter tot wat men noemt lokale optima. Dit wordt geïllustreerd in figuur 9: wanneer we als beginoplossing punt A nemen en de variabele x veranderen in de richting waarin de functiewaarde daalt, komen we in punt B terecht. Dit is weliswaar een minimum van de functie y(x), maar een beetje verderop ligt punt C, dat een nog lagere functiewaarde heeft. Met onze benadering zullen we dit punt nooit vinden zolang we ons beginpunt rechts van het centrale lokale maximum kiezen. Dit kunnen we echter enkel weten wanneer we het ganse functieverloop gecontroleerd hebben, maar daarvoor moeten we de bovengenoemde exhaustieve benadering volgen. Voor ingewikkelde, meerdimensionale functies, zoals bijvoorbeeld het potentiaaloppervlak van een molecule met meerdere roteerbare bindingen, wordt dit al snel onhaalbaar.

Simulated Annealing

Wanneer een gesmolten metaal snel afkoelt ontstaat een polykristallijne toestand waarin de atomen zich in een niet-optimale configuratie, met andere woorden in een lokaal optimum, bevinden. Wanneer we de smelt langzaam afkoelen, en af en toe zelfs eens een beetje terug opwarmen ('ontlaten', in het Engels ‘to anneal’), is de kans groot dat we een éénkristal vormen. Hierin liggen de atomen perfect geordend, het kristal heeft zijn laagst mogelijke energetische configuratie bereikt. Een optimalisatiealgoritme dat hierop gebaseerd is, is 'simulated annealing'. De methode wandelt door het functielandschap waarbij meestal stappen genomen worden in de richting waarin de functiewaarde verbetert. Af en toe wordt er een stap genomen in een 'slechte' richting. Dit komt overeen met het terug opwarmen van het metaal, en laat toe om over een lokaal maximum heen te springen en zo met een beetje geluk bij een lager minimum te belanden.

Ant Algorithm

Wanneer mieren op zoek gaan naar voedsel laten ze een reukspoor achter op weg van en naar hun nest. Hierbij gaan ze ofwel hun eigen weg, ofwel volgen ze het reukspoor van de anderen. Wanneer enkele mieren een interessant hapje gevonden hebben en een aantal keer over en weer naar het nest lopen, wordt het reukspoor op de grond sterker. Steeds meer van hun collega's zullen vervolgens het spoor volgen en mee de buit binnen dragen. Wanneer de weg naar het voedsel onderbroken wordt door een takje of blaadje, of wanneer alles op is, gaan de mieren terug individueel op pad, zoekend naar een weg rond de hindernis of naar een volgende maaltijd. Op dit gedrag is het mierenalgoritme (Engels: 'ant algorithm') gebaseerd, waarvan aangetoond is dat het voor een aantal beruchte moeilijke problemen goede, bijna-optimale oplossingen vindt.

Genetische Algoritmen

Het genetisch materiaal van levende wezens ligt vast in de basenpaar-volgorde van hun DNA. Het aantal mogelijke verschillende DNA strengen van lengte N is 4N, wat voor ietwat N astronomisch groot wordt. Toch is de natuur erin geslaagd DNA basenpaarcombinaties te genereren die aanleiding geven tot ingewikkelde, goed functionerende organismen. De drijvende kracht hierachter is de Darwiniaanse evolutie. Op deze waarneming zijn 'genetische algoritmen' gebaseerd. Een genetisch algoritme (GA) is een procedure die de evolutie nabootst om goede oplossingen te vinden voor een optimalisatieprobleem. Door toepassen van genetische operatoren op een populatie van mogelijke oplossingen, evolueert deze populatie waarbij de kwaliteit van de oplossingen geleidelijk aan toeneemt. Een schematische voorstelling van het verloop van een GA is voorgesteld in figuur 11.

Parallellisatie

Een plezierige bijkomende eigenschap van vele 'natuuralgoritmen' is dat ze eenvoudig geparallelliseerd kunnen worden: simulated annealing kan uitgevoerd worden bij verschillende temperaturen tegelijk, elke mier of groep mieren kan door een aparte processor gesimuleerd worden, de leden van een populatie in een genetisch algoritme kunnen elk een eigen cpu toegewezen krijgen. De tijd die nodig is om de verschillende cpu's met mekaar te laten communiceren is klein ten opzicht van de overige berekeningen. Het resultaat is een quasi-lineaire versnelling van het algoritme met het aantal processoren dat gebruikt wordt.

Links

  • In vele wetenschappelijke disciplines worden verschillende modellen gehanteerd die de realiteit met meer of minder detail proberen te beschrijven. Welk model het meest geschikte is, hangt af van de toepassing. Wanneer een model te gedetailleerd is voor een bepaalde toepassing, wordt het rekenwerk onhaalbaar duur of zelfs technisch onmogelijk, en krijg je veel te veel informatie. In deze pagina's beschrijven we twee niveau's van modellen voor de chemie:
    • In de kwantumchemie wordt een erg gedetailleerd model gehanteerd, waarbij we binnenkijken in de atomaire structuur.
    • Op deze pagina beschrijven we een toepassing van moleculaire simulatie, waarbij we de interacties tussen de atomen van een molecule vereenvoudigen.
  • Verder hebben we op deze pagina ook een aantal technieken voor optimalisatie besproken: het zoeken van een minimum of maximum. Dit is een erg belangrijk domein van de wiskundige wetenschappen en heeft overal toepassingen. In het artikel over toepassingen van supercomputers in marketing en logistiek bespreken we een ander optimalisatieprobleem.
  • De (bio-)farmaceutische industrie is erg belangrijk voor Vlaanderen en België. Naast een aantal grote en middelgrote bedrijven zoals Janssen Pharmaceutica (met een onderzoeksafdeling in Beerse), Pfizer (met een klinische onderzoekseenheid in Anderlecht) of UCB (met een onderzoeksafdeling in Eigenbrakel) , zijn er ook tal van kleinere, innoverende bedrijfjes waarvan een aantal zich op de nieuwe markt van computational chemistry en chemo-informatica gestort hebben, bijvoorbeeld Silicos (ondertussen stopgezet) en MolMo Services (ook stopgezet, al leeft hun belangrijkste code verder in een ander bedrijfje). De farmaceutische sector in België telde in 2009 4.700 banen in onderzoek en ontwikkeling en investeerde 1,8 miljard euro in onderzoek en ontwikkeling. (Gegevens van pharma.be, een vereniging van farmaceutische bedrijven in België)

Met dank aan...

Deze pagina kwam tot stand met de hulp van MolMo Services en Departement Chemie van de Universiteit Antwerpen.