cadherins homo/heterotypic binding
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
(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
globals [x0 y0 z0 heterotypic] patches-own [binding_0 binding_1 aff_0 aff_1 open? ideal_type] turtles-own [cell_type my_affinity] to Setup clear-all crt 2 [set cell_type 0 set shape "circle"] ask one-of turtles [fd 1 set cell_type 1] update-cells? ask patches [update-patches] set x0 0 set y0 0 set z0 0 reset-ticks end to Go set-binding mitosis noisy-move space-out adhere set-center tick end to set-binding set heterotypic (homo/hetero + 1) / 2 end to mitosis if ticks > division_time [ ask turtles [if count turtles < (2 ^ n_divisions) [hatch 1 [push-out cell-movement]]] reset-ticks] end to noisy-move ask turtles [if random-float 1 < noise [face one-of neighbors fd random-float 1 cell-movement ]] end to space-out ask patches with [count turtles-here > 1.5] [ifelse ideal_type = 0 [ask turtles-here with [cell_type = 1] [face max-one-of neighbors [aff_1] fd 1 ask patch-here [update-patches] ask neighbors [update-patches]]] [ask turtles-here with [cell_type = 0] [face max-one-of neighbors [aff_0] fd 1 ask patch-here [update-patches] ask neighbors [update-patches]]] ] end to adhere ask turtles [face patch x0 y0 z0 ifelse any? turtles-on patch-ahead 1 [] [fd 1]] end to set-center if ticks > (division_time * 5) [ set x0 mean [xcor] of turtles set y0 mean [ycor] of turtles set z0 mean [zcor] of turtles] end to push-out carefully [face one-of neighbors with [open? = 1] fd 1 ask neighbors [update-patches]] [face min-one-of neighbors [count turtles-here] fd 1 ask neighbors [update-patches]] if count turtles-here > 1 [ carefully [ask min-one-of turtles-here [my_affinity] [face one-of patches left 180 fd 1 cell-movement ask neighbors [update-patches]]] [] ] end to cell-movement ;; Turtle context only ifelse cell_type = 0 [set my_affinity [binding_0] of patch-here let da (max [aff_0] of neighbors) ifelse da > my_affinity [uphill aff_0 carefully [ask turtles-here [move-to max-one-of neighbors [aff_0]]] [face one-of patches jump 1 ask neighbors [update-patches]] ask neighbors [update-patches]] [face one-of patches fd random-float 1 ask neighbors [update-patches]] ask patch-here [if ideal_type = 0 [set open? 0]] ] [set my_affinity [binding_1] of patch-here let da (max [aff_1] of neighbors) ifelse da > my_affinity [uphill aff_1 carefully [ask turtles-here [move-to max-one-of neighbors [aff_1]]] [face one-of patches jump 1 ask neighbors [update-patches]] ask neighbors [update-patches]] [face one-of patches fd random-float 1 ask neighbors [update-patches]] ask patch-here [if ideal_type = 1 [set open? 0]] ] end to update-patches ;; Patch context only set binding_0 ((1 - heterotypic) * (count neighbors with [any? turtles-here with [cell_type = 0]])) + (heterotypic * (count neighbors with [any? turtles-here with [cell_type = 1]])) set binding_1 ((1 - heterotypic) * (count neighbors with [any? turtles-here with [cell_type = 1]])) + (heterotypic * (count neighbors with [any? turtles-here with [cell_type = 0]])) set open? 1 ifelse binding_0 > binding_1 [set ideal_type 0 if any? turtles-here with [cell_type = 0] [set open? 0]] [set ideal_type 1 if any? turtles-here with [cell_type = 1] [set open? 0]] set aff_0 (binding_0 * open?) set aff_1 (binding_1 * open?) end to update-cells? ask turtles [ifelse cell_type = 0 [set color red set color lput (opacity * 250) extract-rgb color] [set color blue set color lput (opacity * 250) extract-rgb color]] ask turtles [set size cell_size] end
There is only one version of this model, created over 2 years ago by William Driscoll.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
cadherins homo/heterotypic binding.png | preview | Preview for 'cadherins homo/heterotypic binding' | over 2 years ago, by William Driscoll | Download |
This model does not have any ancestors.
This model does not have any descendants.