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 almost 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' | almost 2 years ago, by William Driscoll | Download |
This model does not have any ancestors.
This model does not have any descendants.