Sickle Cell Disease
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
[Heterozygote advantage] [http://en.wikipedia.org/wiki/Heterozygous_advantage] [Overdominance] [http://en.wikipedia.org/wiki/Overdominance]
(a general understanding of what the model is trying to show or explain)
HOW IT WORKS
(what rules the agents use to create the overall behavior of the model)
HOW TO USE IT
(how to use the model, including a description of each of the items in the Interface tab)
THINGS TO NOTICE
(suggested things for the user to notice while running the model)
THINGS TO TRY
(suggested things for the user to try to do (move sliders, switches, etc.) with the model)
EXTENDING THE MODEL
(suggested things to add or change in the Code tab to make the model more complicated, detailed, accurate, etc.)
NETLOGO FEATURES
(interesting or unusual features of NetLogo that the model uses, particularly in the Code tab; or where workarounds were needed for missing features)
RELATED MODELS
(models in the NetLogo Models Library and elsewhere which are of related interest)
CREDITS AND REFERENCES
(a reference to the model's URL on the web if it has one, as well as any other necessary credits, citations, and links)
Comments and Questions
breed [humans human] humans-own [first-allele second-allele age isMalaria?] to setup clear-all design-humans set-default-shape humans "person" ask patches [ if pycor >= 1 [set pcolor (scale-color green region1-swampiness 10 0)] if pycor <= -1 [set pcolor (scale-color green region2-swampiness 10 0)] if (pycor > -1 and pycor < 1) [ set pcolor grey ] ] reset-ticks end to design-humans create-humans initial-population [ randomly-locate ifelse-value (random-float 1 > 0.5) [1] [2] ;region 1 or region 2 set first-allele "S" set second-allele "S" set age random 20 set color blue ] end to randomly-locate [region] setxy (ifelse-value (random-float 1 > 0.5) [random-float max-pxcor - 1] [random-float min-pxcor + 1]) (ifelse-value (region = 1) [1 + random-float (max-pycor - 1)] [ -1 + random-float (min-pycor + 1)]) end to go if count humans < min-population or count humans > max-population [stop] ask humans [ check-if-sick set age age + 1 if age > 100 or (isMalaria? = true and random-float 100 < malaria-dead-probability) or (shape = "person sick" and random-float 100 < sicklecell-dead-probability) [die] if (random-float 100 < malaria-probability-coefficient * (1 / (pcolor - 49))) and shape = "person" [set isMalaria? true set color red] move ] repeat round (count humans * reproduction-rate / 200) [ ask one-of humans [ if any? other humans [ ask one-of other humans [ reproduce] ] ] ] tick end to reproduce hatch 1 [ set first-allele ifelse-value (random 1 < 0.5) [[first-allele] of self] [[second-allele] of self] ;mother set second-allele ifelse-value (random 1 < 0.5) [[first-allele] of myself] [[second-allele] of myself] ;father set age 0 check-if-sick randomly-locate ifelse-value (ycor > 0) [1] [2] ] end to move if (abs [pxcor] of patch-ahead 0.1) + 1 > max-pxcor [ set heading (- heading) ] if ((abs [pycor] of patch-ahead 0.1) + 1 > max-pycor) or ((abs [pycor] of patch-ahead 0.1) - 1 < 0) [ set heading (180 - heading) ] fd 0.1 end to mutate [human-set] ask one-of human-set [ ifelse random-float 1 > 0.5 [set first-allele "s"] [set second-allele "s"] check-if-sick ] end to check-if-sick let current-color color ifelse first-allele = "s" and second-allele = "s" [set shape "person sick"] [ifelse first-allele = "s" or second-allele = "s" [set shape "person carrier"] [set shape "person"]] set color current-color end
There is only one version of this model, created over 12 years ago by Firat Soylu.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Sickle Cell Disease.png | preview | Preview for 'Sickle Cell Disease' | about 12 years ago, by Firat Soylu | Download |
This model does not have any ancestors.
This model does not have any descendants.
Joseph Ferguson
question about model (Question)
Hi Firat, I am Interested in your sickle cell anemia model. I am also interested in modelling evolution in the context of disease in humans. I cannot seem to get the mutation events to take place in your model. Any ideas as to how to go about fixing this? Cheers, Joseph
Posted almost 12 years ago