HIV dynamics: cellular automata approach

HIV dynamics: cellular automata approach preview image

1 collaborator

Ricardo_cruz Ricardo Cruz (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by the author
Model was written in NetLogo 5.0.5 • Viewed 700 times • Downloaded 47 times • Run 0 times
Download the 'HIV dynamics: cellular automata approach' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


THE MODEL

As detailed in the article, see [1]:

Each cell can be in one of following states: (a) healthy; (b) infected-A1, corresponding to an infected cell that is free to spread the infection; (c) infected-A2, the final stage of an infected cell before it dies due to the action of the immune system; and, finally, (d) dead, an infected cell that was killed by the immune response.

The initial configuration is composed of healthy cells, with a small fraction, Phiv, of infected-A1 cells, representing the initial contamination by the HIV. In one time step the entire lattice is updated in a synchronized parallel way, according to the rules described below. The updated state of a cell depends on the states of its four nearest neighbors and the four next nearest neighbors, in a square lattice.

Rule 1: Update of a healthy cell: (a) If it has at least one infected-A1 neighbor, it becomes infected-A1. (b) If it has no infected-A1 neighbor but does have at least R (2 <= R <= 8) infected-A2 neighbors, it becomes infected-A1. (c) Otherwise it stays healthy. Rule 1a mimics the spread of the HIV infection by contact, before the immune system had developed its specific response against the virus. Rule 1b represents the fact that infected-A2 cells may, before dying, contaminate a healthy cell if their concentration is above some threshold.

Rule 2: An infected-A1 cell becomes infected-A2 after tao time steps. An infected-A2 cell is the one against which the immune response has developed, and hence its ability to spread the infection is reduced. Here tao represents the time required for the immune system to develop a specific response to kill an infected cell. Such a time delay is required for each infected cell since in our model we view each new infected cell as carrying a different lineage (strain) of the virus. This is the way we incorporate the mutation rate of the virus in our model. When a healthy cell is infected, the virus uses the cell's DNA in order to transcribe its RNA and replicate. During each transcription an error may occur, producing, on the average, one mutation per generation and hence a new strain of the virus is produced.

Rule 3: Infected-A2 cells become dead cells. This rule simulates the depletion of the infected cells by the immune response.

Rule 4: (a) Dead cells can be replaced by healthy cells with probability Prepl in the next time step (or remain dead with probability 1 - Prepl). (b) Each new healthy cell introduced may be replaced by an infected-A1 with probability Pinf. Rule 4a describes the replenishment of the depleted cells, mimicking the high ability of the immune system to recover from the immunosuppression generated by infection. As a consequence, it will also mimic some diffusion of the cells in the tissue. Rule 4b simulates the introduction of new infected cells in the system, either coming from other compartments of the immune system or resulting from the activation of the latent infected cells, as suggested in the literature.

NOTES

In this model, we introduce an internal fifth state: healthy but has been infected (T.), in dark green, to denote cells that have been infected and so again become actively infected (A1), with probability Pinf.

CREDITS AND REFERENCES

[1] Dynamics of HIV Infection: A Cellular Automata Approach. Rita Maria Zorzenon dos Santos, and Sérgio Coutinho. Physical Review Letters. 2001.

NetLogo implementation by Ricardo Cruz ricardo.pdm.cruz@gmail.com

Comments and Questions

Model correction

Hi Ricardo, thank you for making this model - that was exactly what I was looking for. However, when comparing the simulation to the published results of Santos et al I found that the regeneration of dead cells is treated incorrectly. This results in a kind of wave like behaviour of healthy and infected cell fractions in later stages of the simulation where they should be asymptotic. In your model implementation it is possible that a healty cell can become infected at any time with probability pinfec where in Santos publication that is only possible upon transition from a dead cell to a new healthy cell. I admit that the original paper from Santos can be easily misinterpreted at this point. It is better described in later publications [1]. I modified your model, where results are looking more like in literature. Regards Andreas Hillmann MSc Bioinformatics [1] Figueirêdo, P. H., Coutinho, S. & Zorzenon dos Santos, R. M. Robustness of a cellular automata model for the HIV infection. Phys. A Stat. Mech. its Appl. 387, 6545–6552 (2008).

Posted almost 11 years ago

Click to Run Model

; states
; T  healthy
; A1 infected stage 1
; A2 infected stage 2
; D  dead

globals [
  T T. A1 A2 D  ; status colors
]

patches-own [ nA1 nA2 time ]

to setup
  clear-all

  set T green
  set T. 63
  set A1 orange
  set A2 red
  set D black

  ask patches [
    set pcolor T
    set time 0
  ]
  ask n-of (Phiv * max-pxcor * max-pycor) patches [
    set pcolor A1
  ]

  reset-ticks
end 

to-report rule1  ; T
  if nA1 >= 1 or nA2 >= R [
    report A1
  ]
  report T
end 

to-report rule1.  ; T.
  if nA1 >= 1 or nA2 >= R [
    report A1
  ]
  if random-float 1 < Pinf [
    report A1
  ]
  report T.
end 

to-report rule2  ; A1
  if time >= tao [
    report A2
  ]
  report A1
end 

to-report rule3  ; A2
  report D
end 

to-report rule4  ; D
  if random-float 1 < Prepl [
    report T.
  ]
  report D
end 

to update
  ask patches [
    let N neighbors
    set nA1 count N with [ pcolor = A1 ]
    set nA2 count N with [ pcolor = A2 ]
  ]

  ask patches [
    let ncolor pcolor
    ifelse pcolor = T  [set ncolor rule1][
    ifelse pcolor = T. [set ncolor rule1.][
    ifelse pcolor = A1 [set ncolor rule2][
    ifelse pcolor = A2 [set ncolor rule3][
    ifelse pcolor = D  [set ncolor rule4][
    ]]]]]

    ifelse ncolor != pcolor [
      set pcolor ncolor
      set time 0
    ][
    set time time + 1
    ]
  ]
  tick
end 

There is only one version of this model, created about 11 years ago by Ricardo Cruz.

Attached files

File Type Description Last updated
HIV dynamics: cellular automata approach.png preview Preview for 'HIV dynamics: cellular automata approach' about 11 years ago, by Ricardo Cruz Download

This model does not have any ancestors.

Children:

Graph of models related to 'HIV dynamics: cellular automata approach'