Het immuunsysteem is het geheel aan verdedigingsmechanismen waarmee organismen indringers kunnen bestrijden. Naast de bescherming tegen virussen, bacteriën en parasieten, wordt het immuunsysteem ook ingezet om afvalstoffen of zieke lichaamscellen (zoals kankercellen) op te ruimen. Het immuunsysteem kan onderverdeeld worden in een aspecifiek (aangeboren) en een adaptief (verworven) gedeelte. Het aspecifieke deel is snel werkzaam, maar minder specifiek voor de ziekteverwekker (pathogeen). Daarentegen past het adaptieve deel zich aan aan een bepaalde pathogeen. Dat kost tijd, maar resulteert uiteindelijk in een sterkere afweer. Bovendien is het lichaam daarna vaak langdurig beschermd tegen die specifieke ziekteverwekker.

immuunsysteem
Microscopische opname van een neutrofiele granulocyt1 (geel) die een miltvuurbacterie (Bacillus anthracis2; oranje) opslokt.

Opgave

Definieer een klasse Organisme waarmee organismen kunnen voorgesteld worden die beschikken over een vereenvoudigd model van een immuunsysteem. Dit immuunsysteem heeft zowel aspecifieke als adaptieve eigenschappen die het organisme beschermen tegen virussen — andere vormen van pathogenen worden omwille van de eenvoud achterwege gelaten. Een bepaald type virus wordt in dit model voorgesteld door een geheel getal. Het aspecifieke deel van het immuunsysteem beschermt het organisme tegen een aantal opgegeven types van virussen. Daarnaast kan het adaptieve gedeelte van het immuunsysteem er ook voor zorgen dat het organisme resistent wordt voor bijkomende virussen. Dat laatste gebeurt wanneer er zich een aantal antilichamen tegen het virus gevormd hebben. Wanneer een bepaald type virus muteert, dan verliest het organisme zijn resistentie (zowel aspecifiek als adaptief) tegen de oude vorm van het virus, en moet het indien nodig terug adaptief antilichamen tegen de nieuwe vorm van het virus aanmaken. De klasse Organisme moet hiervoor ondersteuning bieden aan de volgende methoden:

Voorbeeld

In onderstaande sessie gaan we ervan uit dat het tekstbestand immuunsysteem.txt3 zich in de huidige directory bevindt. Dit bestand bevat vijf regels met daarop de getallen 1, 2, 3, 4 en 5.

>>> organisme = Organisme('immuunsysteem.txt4')
>>> organisme.isresistent(1)
True
>>> organisme.isresistent(88)
False
>>> organisme.isresistent(virus=99)
False
>>> organisme.isresistent(2)
True
>>> organisme.isresistent(virus=99)
False
>>> organisme.isresistent(virus=99)
True
>>> organisme.isresistent(virus=99)
True
>>> organisme.mutatie(1)
>>> organisme.isresistent(1)
False
>>> organisme.isresistent(1)
False
>>> organisme.isresistent(1)
True
>>> organisme.mutatie(virus=99)
>>> organisme.isresistent(virus=99)
False
>>> organisme.isresistent(virus=99)
False
>>> organisme.isresistent(virus=99)
True