De ziekte van Huntington (Huntington's disease; HD), die in 1872 uitvoerig werd beschreven door de Amerikaanse arts George Huntington, is een dominante erfelijke aandoening die bepaalde delen van de hersenen aantast. De eerste symptomen van HD openbaren zich meestal tussen het 35e en 45e levensjaar, en bestaan onder andere uit ongecontroleerde (choreatische) bewegingen die langzaam verergeren, verstandelijke achteruitgang en een verscheidenheid aan psychische afwijkingen. De ziekte leidt gemiddeld na achttien jaar tot de dood van de patiënt(e), veelal door bijkomende oorzaken zoals longontsteking.
HD behoort tot de zogenaamde klasse van trinucleotideherhalingsziekten (trinucleotide repeat disorders), die veroorzaakt worden doordat een repeterende sectie van een gen de normale lengte overschrijdt. Bij HD gaat het om een afwijking in het Huntingtingen. Het Huntingtingen vertoont aan het 5' uiteinde van het DNA een reeks van drie baseparen — cytosine-adenine-guanine (CAG) coderend voor het aminozuur glutamine — die verschillende keren na elkaar herhaald worden (…CAGCAGCAG…). Dit fenomeen staat bekend als een trinucleotideherhaling. Onderstaande figuur toont een verdeling van de normale en geëxpandeerde lengte van de HD trinucleotideherhaling.
De verdeling van de herhalingslengte voor het Huntingtingen kan worden onderverdeeld in vier categoriën, zoals aangegeven in onderstaande tabel. Herhalingen van 26 of minder zijn normaal. Herhalingen tussen 27 en 35 komen slechts sporadisch voor en worden niet geassocieerd met het tot expressie komen van de ziekte, maar in zeldzame gevallen zullen vaders met dergelijke herhalingen een herhaling overdragen naar hun nakomelingen die geëxpandeerd wordt tot binnen het bereik waarin de ziekte tot expressie komt. Herhalingen tussen 36 en 39 worden geassocieerd met een verhoogd risico, waarbij sommige individuen HD zullen ontwikkelen en andere niet. Herhalingen van 40 of langer worden geassocieerd met het tot expressie komen van HD. Personen die herhalingen vertonen in dit bereik zullen de ziekte van Huntington ontwikkelen, in de veronderstelling dat ze niet aan andere oorzaken sterven voordat de ziekte zich manifesteert.
herhalingslengte diagnose <27 normaal 27-35 laag risico 36-39 verhoogd risico >39 absoluut risico
Schrijf een functie herhalingslengte, die voor een gegeven string A de maximale reeks van herhalingen van een andere gegeven string B bepaalt. De lengte van de twee gegeven strings is variabel, en de vergelijking tussen beide strings moet uitgevoerd worden zonder verschil te maken tussen hoofdletters en kleine letters. Onderstaande tabel geeft een aantal voorbeelden van parameterwaarden, en het bijhorende resultaat dat door de functie moet gegenereerd worden.
tekenreeks A | tekenreeks B | resultaat |
---|---|---|
AATCGTCGTCGTAGCTTCGTGGTGAAGATAG | CTGTA | 0 |
AATCGTCGTCGTAGCTTCGTGGTGAAGATAG | gtg | 2 |
aatcgtcgtcgtagcttcgtggtgaagatag | TCG | 3 |
Schrijf een functie HuntingtonDiagnose, die voor de gegeven DNA sequentie van een Huntingtingen de diagnose stelt omtrent het mogelijke risico op het ontwikkelen van de ziekte van Huntington. Deze diagnose hangt uiteraard af van het aantal herhalingen van de trinucleotide CAG (gebruik hiervoor dus de functie herhalingslengte), en moet als string worden teruggegeven overeenkomstig de eerder vermelde diagnosetabel. Een DNA sequentie wordt hierbij voorgesteld door een string die enkel de lettes A, G, C en T bevat (zowel hoofdletters als kleine letters zijn toegelaten).
>>> herhalingslengte("AATCGTCGTCGTAGCTTCGTGGTGAAGATAG","CTGTA")
0
>>> herhalingslengte("AATCGTCGTCGTAGCTTCGTGGTGAAGATAG","gtg")
2
>>> herhalingslengte("aatcgtcgtcgtagcttcgtggtgaagatag","TCG")
3
>>> HuntingtonDiagnose('CAG' * 20)
'normaal'
>>> HuntingtonDiagnose('CAG' * 35)
'laag risico'
>>> HuntingtonDiagnose('CAG' * 38)
'verhoogd risico'
>>> HuntingtonDiagnose('CAG' * 52)
'absoluut risico'