se torna necessário adicionar ou remover caracterÃsticas do modelo. ..... sis or M. leprae, survive inside macrophages, requiring external macrophage activation ...
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO
⇔
Agent-based Simulation of the Immune System Nuno Maria Carvalho Pereira Fernandes Fachada (Licenciado)
Dissertação para obtenção do Grau de Mestre em Engenharia Electrotécnica e de Computadores
Orientador: Doutor Agostinho Cláudio da Rosa
Júri Presidente: Doutor Agostinho Cláudio da Rosa Vogais:
Doutor Luis Miguel Parreira e Correia Doutor António Manuel Raminhos Cordeiro Grilo
Julho de 2008
Agradecimentos
Gostaria de agradecer a todo o pessoal do LASEEB pelo apoio prestado, especialmente ao Dr. Vítor Lopes, que me prestou uma ajuda preciosíssima na realização deste projecto. Gostaria de agradecer ao Prof. Agostinho Rosa a oportunidade que me deu de realizar este trabalho no LASEEB. Queria também agradecer à minha família próxima, que sempre me apoiou nos bons e nos maus momentos do meu percurso académico, e que me proporcionou todas as condições possíveis e necessárias para continuar a estudar. Uma palavra aos meus padrinhos pela ajuda que me deram no ensino secundário nas áreas base da engenharia electrotécnica, nomeadamente Matemática e Física, e pelo incentivo que me deram a ingressar num curso superior relacionado com essas áreas. Um agradecimento também à minha namorada, que sempre compreendeu todo o tempo que não lhe pude dedicar, e que sempre me apoiou sem reservas na conclusão desta tese. Um agradecimento nal aos meus amigos, companheiros de surfada, colegas de Direcção no Surf Clube de Sesimbra, e actuais sócios na SCS Surf Shop, pela compreensão que tiveram na minha indisponibilidade frequente, fruto da minha dedicação a este projecto.
iii
Abstract
Computational models of the immune system have several applications, such as theory testing and validation, or as a complement to rst stages of drug testing. The majority of existing models are developed using formal methods based on dierential equations, which generally assume the relevant immune agents are uniformly distributed in space.
Although well formalized, this
approach is far from intuitive and inexible to change, often straying from biologic signicance.
Agent-based modeling is closer to biologic reality, as
well as being a more pliable approach when it is necessary to add or remove model features. In this thesis we present LAIS, an agent-based model of immune system dynamics.
The discussion of methodologies used in existing models, and
how these map on to plausible simulations, both from a biological and computational point of view, partly determined the characteristics of presented model. However, LAIS also presents novel features, such as exible and modular modeling approach, multithreaded simulation engine, low level cellular receptor interaction simulation focus, among others. Studies and results regard antibody properties, immune memory and viral dynamics, and are in qualitative accordance with literature.
Keywords Modeling, Simulation, Agents, Immune System, Inuenza
v
Resumo
Os modelos computacionais do sistema imunitário têm várias aplicações, tais como o teste e validação de teorias ou como complemento às primeiras fases de testes de fármacos. A maioria dos modelos existentes foram desenvolvidos usando métodos formais baseados em equações diferenciais, que geralmente assumem que os agentes imunitários relevantes estão distribuídos no espaço de forma uniforme. Apesar de bem formalizada, esta abordagem está longe de ser intuitiva e é inexível a alterações, muitas vezes perdendo signicado biológico. A modelação baseada em agentes está mais próxima da realidade biológica, além de ser uma abordagem complacente com modicações quando se torna necessário adicionar ou remover características do modelo. Nesta tese apresentamos o LAIS, um modelo da dinâmica do sistema imunitário baseado em agentes. A discussão de metodologias usadas em modelos existentes, e como estas dão azo a simulações plausíveis tanto sob o ponto de vista biológico como computacional, determinou parcialmente as características do modelo apresentado. No entanto, o LAIS também apresenta aspectos originais tais como abordagem de modelação exível e modular, motor de simulação multi-processo, foco de simulação em interacções de baixo nível entre receptores celulares, entre outros. Os estudos efectuados e os resultados obtidos, que abordam as propriedades dos anticorpos, a memória imunitária e a dinâmica viral, estão em concordância qualitativa com a bibliograa.
Palavras-chave Modelação, Simulação, Agentes, Sistema Imunitário, Gripe
vii
Contents
Agradecimentos
iii
Abstract
v
Resumo
vii
Contents
ix
List of Figures
xiii
List of Tables
xv
List of Abbreviations
xvii
1 Introduction
1
1.1
Development framework
. . . . . . . . . . . . . . . . . . . . .
1
1.2
A complex system approach to modeling in Biology . . . . . .
4
1.3
Immune system dynamics and adversarial strategies during infection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Agent-based Approaches for IS Simulation 2.1
State of the art
5
9
. . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.1.1
AbAIS . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.1.2
CAFISS
. . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.1.3
ImmSim . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.1.4
C-ImmSim, ImmunoGrid . . . . . . . . . . . . . . . . .
15
2.1.5
Simmune . . . . . . . . . . . . . . . . . . . . . . . . . .
16
ix
2.2
2.1.6
SIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2.1.7
Sentinel Models . . . . . . . . . . . . . . . . . . . . . .
19
2.1.8
Jacob et al. model
. . . . . . . . . . . . . . . . . . . .
20
2.1.9
CyCells
. . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.1.10 Basic Immune Simulator . . . . . . . . . . . . . . . . .
23
2.1.11 Other models
. . . . . . . . . . . . . . . . . . . . . . .
25
Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3 The LAIS Modeling Framework
31
3.1
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.2
Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
3.2.1
Simulation Model . . . . . . . . . . . . . . . . . . . . .
35
3.2.2
Scripting and Event Model
. . . . . . . . . . . . . . .
43
3.2.3
Data Output Model . . . . . . . . . . . . . . . . . . . .
46
3.3
Summary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Simulations and Results 4.1
4.2
4.3
48
51
Antibody simulations . . . . . . . . . . . . . . . . . . . . . . .
52
4.1.1
Antigen-antibody dynamics
. . . . . . . . . . . . . . .
52
4.1.2
Role of antibody in phagocytic action . . . . . . . . . .
56
Humoral immune response . . . . . . . . . . . . . . . . . . . .
60
4.2.1
Immune memory
. . . . . . . . . . . . . . . . . . . . .
60
4.2.2
Specicity and specialization . . . . . . . . . . . . . . .
63
4.2.3
A vaccine model
. . . . . . . . . . . . . . . . . . . . .
65
Cell-mediated immunity and the Inuenza virus . . . . . . . .
67
4.3.1
Inuenza subtypes and antigenic drift . . . . . . . . . .
67
4.3.2
Antigenic shift
73
. . . . . . . . . . . . . . . . . . . . . .
5 Conclusions and Future Work
79
A Agent Rules and Actions
83
x
A.1
Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
A.2
Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85
B Models of the Immune System and its Adversaries B.1
B.2
A model of the immune response
87
. . . . . . . . . . . . . . . .
87
. . . . . . . . . . . . . . . . . . . . . . . . .
88
. . . . . . . . . . . . . . . . . . . . . . . . . .
89
B.1.1
APC cell
B.1.2
Th cell
B.1.3
B cell
. . . . . . . . . . . . . . . . . . . . . . . . . . .
91
B.1.4
Tc cell . . . . . . . . . . . . . . . . . . . . . . . . . . .
92
B.1.5
Epithelial cell . . . . . . . . . . . . . . . . . . . . . . .
93
B.1.6
Epithelial builder . . . . . . . . . . . . . . . . . . . . .
93
Adversarial models
. . . . . . . . . . . . . . . . . . . . . . . .
B.2.1
Generic bacteria
B.2.2
Inuenza A
Bibliography
93
. . . . . . . . . . . . . . . . . . . . .
94
. . . . . . . . . . . . . . . . . . . . . . . .
94
95
xi
List of Figures
3.1
A simulation running in the LAIS framework.
. . . . . . . . .
32
3.2
LAIS architecture.
. . . . . . . . . . . . . . . . . . . . . . . .
35
3.3
UML diagram of LAIS Simulation Model (shaded boxes refer to Repast classes or interfaces).
. . . . . . . . . . . . . . . . .
35
3.4
Substance anity considering 16 bits of the 64 bit string. . . .
40
3.5
The LAIS agent model. . . . . . . . . . . . . . . . . . . . . . .
42
3.6
UML diagram of LAIS Scripting and Event Model (shaded boxes refer to Repast classes or interfaces). . . . . . . . . . . .
3.7
44
UML diagram of LAIS Output Model (shaded boxes refer to Repast classes or interfaces). . . . . . . . . . . . . . . . . . . .
48
4.1
Evolution of antigen-antibody dynamics simulation. . . . . . .
54
4.2
Simulation of antigen-antibody dynamics.
55
4.3
Response to bacterial challenge with the presence of antibody.
4.4
Response to bacterial challenge without the presence of antibody. 59
4.5
Agent dynamics during the establishment of immune memory.
4.6
Substance dynamics during the establishment of immune mem-
. . . . . . . . . . .
ory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
64
Vaccine composed of attenuated bacteria causes a state of immunization.
4.9
61
Specic memory created for bacteria A does not recognize bacteria B.
4.8
58
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
Tc, Th and B cell response to four dierent Inuenza subtypes. 70
4.10 Evolution of four dierent Inuenza subtypes, epithelial cell impact and APC response. . . . . . . . . . . . . . . . . . . . .
71
xiii
4.11 Substance and family evolution during two challenges from four dierent Inuenza subtypes.
. . . . . . . . . . . . . . . .
72
4.12 Antigenic shift simulation: immune response and evolution of epithelial cells and Inuenza. . . . . . . . . . . . . . . . . . . . 4.13 Antigenic shift simulation: evolution.
xiv
76
substance and substance family
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
77
List of Tables
2.1
Several implementation characteristics of IS models
. . . . . .
11
3.1
Open source libraries used in the LAIS framework.
. . . . . .
33
3.2
Implementation properties of the LAIS modeling framework. .
34
3.3
Substance deployment constrains. . . . . . . . . . . . . . . . .
45
3.4
Agent deployment constrains.
. . . . . . . . . . . . . . . . . .
45
3.5
RepastJ controller implementations. . . . . . . . . . . . . . . .
47
4.1
Substances used in antigen-antibody dynamics simulation and respective bitstring ID (only the sixteen less signicant bits are shown).
4.2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anity of antigen with dierent antibodies considering the sixteen less signicant bit string ID bits.
4.3
53
. . . . . . . . . . . .
53
Statistics regarding number of simulation ticks for bacteria elimination.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
4.4
A possible demonstration experiment with four scenarios. . . .
58
4.5
Inuenza antigens bit string and anity with sialic acid.
67
. . .
xv
List of abbreviations ABM AIS APC BCR CA CMI CSV GUI IS JRE LAIS LaSEEB TCR UML XML
Agent-based Modeling Articial Immune System Antigen Presenting Cell B-Cell Receptor Cellular Automata Cell-mediated Immunity Comma-separated values Graphical User Interface Immune System Java Runtime Environment LaSEEB Articial Immune System Laboratório de Sistemas Evolutivos e Engenharia Biomédica T-Cell Receptor Unied Modeling Language eXtensible Markup Language
xvii
Chapter 1 Introduction
1.1 Development framework In recent years, the advances in computational power have given us the possibility of implementing realistic low cost simulations of complex dynamic systems. Complex systems consist of a large number of mutually interacting system entities, usually in a nonlinear fashion.
Generally, analytic treat-
ment does not yield a complex system's complete theory, and consequently computer simulations have been gaining widespread use and importance [4]. Computational models of the immune system (IS) can help us understand its behavior and test or validate theories.
They are ideal for complement-
ing experimental research and clinical observations, because experimental research is expensive and it is dicult to perform systematic tests in humans [25]. Nonetheless, in order to obtain relevant and useful information, models should be based on recognized biological hypothesis and be validated against real-world data. IS modeling belongs to the Articial Immune Systems (AIS) research eld. However, Articial Immune Systems in general do not aim to reproduce a biological IS (which is the focus of this thesis); instead, the goal of Articial Immune Systems is to develop computational tools for solving science and engineering problems, using the IS powerful information processing capabilities (such as feature extraction, pattern recognition, memory and learning) as
2
Introduction
an inspiration. Computer security, fraud detection, machine learning, data analysis and optimization algorithms are examples of AIS applications (a general view of AIS is presented in [24]). As such, validation of AIS based solutions is performed by comparing its performance with other approaches to the same problem, with biological relevance becoming secondary.
From
this perspective, AIS is a branch of Computational Intelligence where the computational properties of the IS are investigated [64]. It is emerging as an active and attractive eld involving models, techniques and applications of greater diversity, but is out of the scope of this work. There are several approaches to model the IS or specic aspects of the IS [46], among which models based on dierential equations are probably the most common [29]. These models usually simulate how average concentrations of IS agents and substances change over time, identifying key aspects of the immune response. However, building and managing these equations, as well as changing them to incorporate new aspects, is not trivial nor intuitive, leading to sometimes mathematically sophisticated but biologically irrelevant models or biologically realistic but mathematically intractable models [75]. This approach also yields average behaviors, characteristics or concentrations of the IS components, ignoring important aspects of the immune response, such as locality of responses and diversity of repertoires. Nonetheless they have had practical use regarding particular aspects of IS modeling. Agent-based modeling (ABM) techniques are well suited for describing complex systems in general and IS in particular, providing a way to represent the true diversity of IS entities and substances. Other advantages include the possibility to determine behavior distribution (and not just the average) [44], rapid insertion of new entities or substances and natural consideration of non-linear interactions between agents, capturing emergent phenomena [11]. This approach is not without problems of its own: it lacks the formalism provided by dierential equations, requires considerable computational power to simulate individual agents, and parameter tuning is not trivial. The success of an agent-based IS model based depends on how well these and other problems are solved. In this thesis we present LAIS, an agent-based modeling and simulation
1.1 Development framework
3
framework, with emphasis on immune system simulation. LAIS aims to oer:
•
A modular, accessible and exible modeling approach.
•
A multithreaded agent-based simulation platform.
•
A set of tools for modeling biological systems in general, and the IS in particular.
Several models and simulations of IS dynamics for LAIS are proposed, executed and discussed, highlighting both the versatility of the platform and the low level molecular interactions simulation focus. The current section of this chapter (section 1.1) places the problem and proposed methodologies; in section 1.2 we discuss the use of complex system approaches for modeling biological systems, further contextualizing the reader in the LAIS development framework; chapter 1 ends with an introduction to the dynamics of the immune system and of the studied microorganisms (section 1.3). The most relevant agent-based models of the IS are thoroughly reviewed in chapter 2, with their characteristics analyzed both from biological and computational points of view. With such information, we devise and suggest a taxonomy of typical problems and possible solutions in the development of agent-based models of the IS. Chapter 3 describes the architecture of the LAIS modeling framework and of the underlying software libraries. The modeling and computational approaches regarding interaction of simulation components is discussed and justied in light of the conclusions of chapter 2. Simulations and results are described in chapter 4. These are in qualitative accordance to literature, and regard aspects of antigen-antibody dynamics, antibody role in phagocytosis, immune memory and vaccination and antigen drift and shift in inuenza A virus. The models used in these simulations are described in appendix B. Chapter 5 concludes this work, giving a global view of what was achieved with the LAIS framework and what can still be excepted from it. We also argue future paths of investigation in this scientic area.
4
Introduction
1.2 A complex system approach to modeling in Biology Biological systems enclose many dierent scales: roughly speaking, low-level atomic interactions form the basis of life's molecular structures (DNA and RNA), which give rise to cells and cellular interactions; cells then constitute high level-biological systems, ranging from unicellular organisms to highly complex multicellular forms of life. The level of abstraction of a biological model depends on the scale and level of granularity adopted. Models with ner granularity are more interesting, because their high-level behavior emerges from the assumption of lower level hypothesis; this can, for example, help scientists reduce the knowledge hiatus between microscale descriptions and macroscale behaviors. Nonetheless, a model that takes a very low scale, highly granular approach, may not be viable due to gaps in knowledge of lower level phenomena, incomplete or inexistent experimental data, increased complexity and heftier computational requirements. Thus, the biggest challenge when developing a model is to nd a balance between scale, granularity and computational feasibility. Features that are included in the model should not only be theoretically and experimentally sound, but also relevant for the system in question.
Knowledge
gaps, incomplete data and excluded system features imply that models are incomplete, always abstract to some point. However, an incomplete model can still do a good job of simulating reality.
Biological systems can also
work without various parts; they are robust, having redundant features and components with overlapping functions.
As such, if a model captures the
principal components of a biological system, there is no reason why it cannot yield realistic simulations [21]. ABM is a bottom-up modeling approach, with many applications in the simulation of social and human systems [11, 41]. This approach has also been adopted with success in life sciences such as biology [45] and ecology [33]. In ABM, each entity of the system being modeled is uniquely represented as an independent decision-making agent. When prompted to act, each agent analyzes its current situation (e.g. what resources are available, what other
1.3 Immune system dynamics and adversarial strategies during infection 5 agents are in the vicinity), and acts accordingly, based on a set of rules (e.g. if-then-else rules, dierential equations, neural networks, genetic algorithms, etc). These rules incorporate knowledge or theories about the respective lowlevel components. The global behavior of the system then emerges from the simple, self-organized local relationships between the agents. As such, ABM is often referred as a complex system (holistic) approach to modeling, where systems are considered more than simply the sum of its parts.
1.3 Immune system dynamics and adversarial strategies during infection The exact function of the IS is still a source of active debate, but it can be stated that its physiologic function is to protect individuals against infections [1], which are caused by pathogenic agents that exist in many forms.
At
the same time the IS must distinguish self from non-self, in order to avoid self inicted damage. Auto-immune diseases are the consequence of failure to perform such distinction.
The IS is gifted with learning and memory
features: it remembers previous challenges with specic pathogens, and deals with them in a much swifter fashion in subsequent encounters. The defense mechanism of an individual consists of innate and adaptive immunity, which work together to provide protection against infections. Innate immunity is the rst line of defense against infections (e.g., epithelial barriers), and its performance does not depend of prior contact with potential threats. Innate immunity agents, such as macrophages, recognize generic pathogen-associated molecular patterns in the surface of other agents, and can phagocyte
1
2
and destroy them. The complement system , due to the
activation of the alternative pathway, also plays an important role in innate immune responses.
1 The
process by which certain cells of the innate immune system, engulf large particles (such as intact microbes) [1]. 2 A group of serum proteins which can act in an enzymatic cascade, producing molecules involved in inammation, phagocytosis and cell lysis [65]. Complement activation can be initiated by classical, alternative or lectin pathways [1].
6
Introduction Microbial adversaries can rapidly evolve strategies to evade innate im-
munity mechanisms. Adaptive immunity is the evolutionary answer of vertebrate animals, allowing the body to adapt to rst time invasions, remembering and handling them more eectively in the future. Lymphocytes are adaptive immunity agents which can challenge particular invaders through the recognition of the unique receptors they express, known as antigens. There are two main types of lymphocytes, which dier in function and type of antigen receptor: B cells and T cells. The B cell produces antibody molecules complementary to a given antigen in its native form; it plays a central role in humoral immunity, the protection against extracellular microbes. When a macrophage detects a microorganism covered with antibody, the probability of successful phagocytosis increases
3
substantially .
Antigen-antibody complexes can also activate the classical
pathway of the complement system. The B cell receptor (BCR) is a supercial antibody, which signals the B cell when antigen binding occurs. The T cell is the main actor in cell-mediated immunity (CMI), which provides protection against intracellular microbes. T cells are subdivided in Th (helper) cells, which assist macrophages and B cells, and Tc (cytotoxic) cells, which kill infected cells.
Th cells may also help the activation of Tc
lymphocytes. The T cell receptor (TCR) is more complex, and will not bind
4
to native antigen; instead, it binds a complex formed by an MHC
molecule
and an antigen derived peptide. Cells that present antigenic peptides to Th cells via MHC class II, such as macrophages and B cells, are known as Antigen Presenting Cells (APC). Macrophages process antigen for presentation after microbe phagocytosis, while B cells do the same after engulng BCRs binding antigen. When a B cell presents antigen to a Th cell, the latter is stimulated to
3 This process is called opsonization, and consist in the attachment of opsonins (such as antibody) to microbial surfaces to target the microbes for phagocytosis [1]. 4 Major Histocompatibility Complex, a genetic receptor of body cells, unique in each person, involved in antigen presentation to T cells. MHC class I is present in all nucleated cells and is recognized by Tc cells; MHC class II exists on antigen-presenting cells (mainly B cells, macrophages, dendritic cells), and is recognized by Th cells. It is responsible for the most intense graft rejection within a species [65].
1.3 Immune system dynamics and adversarial strategies during infection 7 5
secrete cytokines , which increase B cell proliferation and dierentiation. B cells either become plasma cells, which secrete antibody, or long-lived memory B cells, which allow a more eective response in future challenges by the same intruder. After a few days, some of the antigen activated B cells undergo a process called somatic hypermutation, which consists of high-frequency mutations in antibody specicity; B cells producing higher anity antibodies after mutation have an increased chance of survival, leading to anity maturation of the humoral immune response. When a Th cell recognizes the antigenic peptide + MHC class II complex on the surface of a macrophage, it releases a cytokine which helps the macrophage destroy phagocyted, but still living microbes. Several bacteria, such as Listeria, Mycobacterium tuberculo-
sis or M. leprae, survive inside macrophages, requiring external macrophage activation by Th cells in order to be properly eliminated. Viruses are intracellular pathogens by denition; they take over the replicative machinery of host cells in order to grow and reproduce, with cunning strategies to evade immune defenses.
Tc cells are crucial in the elimina-
tion of viral infection, killing infected cells via recognition of MHC class I + antigen peptide complex. The release of IFN-γ by Th cells is another important aspect of cell-mediated defense, promoting resistance to viral subversion. Usually, in a primary viral encounter, the defensive role of antibody is diminished, as viral particles take shelter in the intracellular habitat, mostly infecting adjacent cells, thus limiting their extracellular exposure.
When
an antibody response is mounted, the infection is either widespread or controlled by cell-mediated mechanisms. However, antibody plays an important part in preventing reinfection: in secondary challenges specic memory B cells exist and are ready to produce high anity antibodies which will bind and neutralize free virions before they gain entrance into host cells.
One
of the strategies virus use to escape detection is changing antigens by drift or shift. In the rst case, drift occurs through point mutations in the viral genome during replication, which can lead to a loss of immunity from previously existing antibodies. Major antigen changes take place during antigenic
[1].
5 Secreted
proteins that function as mediators of immune and inammatory reactions
8
Introduction
shift, which can occur when two viruses simultaneously infect a host cell; the infected cell acts as a mixing vessel, producing a new virus composed of genome segments belonging to the original viruses [76]. The inuenza A virus displays both these strategies; antigenic drift causes seasonal inuenza epidemics, while antigen shift, although rarer, may cause serious inuenza pandemics [37]. Inuenza A carries two surface antigens, hemagglutinin (HA) and neuraminidase (NA), both of which recognize the same host receptor,
sialic acid [72]. HA and NA dene the virus subtype accordingly to their reactivity [76]. Some well know subtypes, due to their lethality, are H1N1 (Spanish u, 1918), H2N2 (Asian u, 1957), H3N2 (Hong Kong Flu, 1968) and H5N1 (avian u, current pandemic threat) [37, 66]. HA binds sialic acid, a necessary rst step for gaining entry into the host cell; NA on the other hand cleaves sialic acid to facilitate the release of progeny virus and promote the spread of infection. A successful infection depends on the balance of these two antigens [72]. The danger of antigenic shift becomes more apparent; a new virus can inherit the strong points of two original viruses, eventually causing a pandemic. These are important aspects of IS dynamics and adversarial strategies, and illustrate the variety of ways in which dierent components interact in order achieve their goal.
However, this introduction doesn't even begin to
reect the true complexity of what is at stake; it serves only to contextualize the reader and to establish an underlying natural agent-based structure, further justifying the use of agent-based approaches for modeling the IS.
Chapter 2 Agent-based Approaches for IS Simulation
2.1 State of the art According to Cohen [21], IS models should have seven key characteristics in order to become useful for biologists. Namely, the modeling approach should be bottom-up, object-oriented, dynamic, multi-scalar, modular, interactive and realistic. From this point of view, ABM is a good approach for IS modeling: it is intrinsically bottom-up, object-oriented, dynamic and modular; at the same time, ABM doesn't constrain the development of multi-scalar, interactive and realistic models. Within the ABM paradigm, there can be many dierent methodologies to develop a model, namely a model of the IS. For example, does a more realistic three-dimensional simulation environment outweigh the advantages of using a computationally lighter two-dimensional approach?
The same
question can be asked regarding whether should the environment be modeled in a continuous or in a discrete fashion. model are also an issue to consider.
The scale and granularity of the
For example, a successful model that
simulates intercellular and intracellular molecular interactions exposes much more about the IS than a model where cells are nite state machines; but is it plausible to develop such a model given the existing computational
10
Agent-based Approaches for IS Simulation
limits? And how to model molecular events, essential for at least describing interactions between antibody and antigen? Much of these decisions depend on what is the objective of the simulations to be performed, as will be seen in the following sub-sections, where we describe and compare several agentbased models of the IS [27]. Table 2.1 summarizes of some features of the presented models.
2.1.1 AbAIS The AbAIS (Agent-based Articial IS) framework uses a hybrid approach that supports the evolving of an heterogeneous population of agents over a CA environment [34, 35]; each cell on the CA may contain several agents and substances, and serves as an indirect platform for agent communication, though agents can also communicate directly. Agents are modelled using a genetic approach where genotypes are formed by tagged rules which express an agent's behaviour, upon the interpretation of an operator. These agent operators use no explicit tness function; instead, they use environment and genetic information as sensorial input for decision making. The number of genes in each agent is not xed, allowing dynamics during the agent's evolution. An agent can also present the environment and other agents a set of external features, which are also encoded in the genetic code. The model in [34, 35] comprises several dierent identities: B, Th and Tc lymphocytes, macrophages, HIV virion and two conceptual viruses, RB and V*. The system also takes into account the inuence of several important soluble mediators on the system regulation.
The results obtained by this
work were very interesting: the importance of cell cooperation and soluble mediators was asserted; memory eect on secondary immune responses was observed; HIV infection resulted in immune cell depletion comparable to the clinical course of the disease, eventually eliminating the system's capacity to respond to further infections. This framework was also used to test a model for the ontogeny and concomitant immune responses on Th cells subpopulations [14]. Results indicate
Pearl
Java
BIS
(Repast)
C++
CyCells
(Breve)
N/A
C++
SIS-II
C/C++
N/A
Simmune
Jacob et al.
Text
C
C-ImmSim
Sentinel
C++,
APL2
ImmSim3
Java
Text
Steve
IDE
N/A
C
APL2
Java
Java
CAFISS
C
lang.
lang.
C
Model
Prog.
le,
GUI
Text,
Text
N/A
N/A
Gui, Text
N/A
Text le
Text le
N/A
GUI
Text
setup
Param.
convar.
(3x)
2D square
res.
3D
tinuous
3D
2D square
3D square
3D cube
3D cube
2D hex
2D square
2D square
Space
No
Availability
Discrete
Discrete
Discrete
Discrete
Discrete
Discrete
Discrete
Discrete
(async.)
no,
Source
Source
framework yes
Model
No
Web interface
No
Source
Binary
Continuous No
Discrete
Time
Several implementation characteristics of IS models
AbAIS
Model
Table 2.1
2.1 State of the art 11
12
Agent-based Approaches for IS Simulation
that the ontogeny and dynamics of these subpopulations appears to be one of the major regulatory mechanisms that uphold the tolerance and rejection of the IS, giving clues on the learning process that takes place. The fact that dierent models were simulated with plausible qualitative results is an indicator that the concepts used to develop the AbAIS framework and the associated immune models are sound.
2.1.2 CAFISS CAFISS presents a dierent approach on agent-based modeling of the IS. Like most of agent-based models, CAFISS divides the simulation using a rectangular grid, where each division represents a spatial location; but what dierentiates CAFISS is the multithreaded asynchronous updating of the simulation [70], where each IS cell instance runs in its own thread, communicating with other cells using events. This approach is more line with the denition of Complex Adaptive System (CAS) [38] than other frameworks. Each cell has a bit string that acts as the cells sensorial input: specic substrings may represent antigen receptors or receptors for stimulatory signals. Substrings, or sensors, are activated with variable strength, depending on the number of matching bits.
Stronger rules have a greater chance of
being selected when several rules are in this situation. Antigen matching by B cells and antibody is then part of a general rule bit matching mechanism instead of being the mechanism itself. Each substring of bit detectors is associated to the activation of one rule; each rule is associated with an action to be performed (reproduce, die, etc. . . ), or to another rule, allowing the chaining of rules. CAFISS introduces modeling concepts with interesting potential; in the original paper [70], basic results regarding HIV dynamics are presented. In [36], several theories regarding HIV-1 pathogenesis are tested, underlining the capabilities of the CAFISS platform, as well as highlighting the use of ABM approaches for IS theory validation. The negative aspect of this framework is that using a separate thread for each cell in order to achieve a CAS-like approach, results in a large overhead; consequently, simulations necessarily
2.1 State of the art
13
have limited dimension. The question remains if the gains of using a faithful CAS approach outcome limits in simulation size.
Antibodies are also
modeled as a cell running in their own thread, adding to the already large overhead; given that antibodies are basically molecules, thus not possessing an intelligent behavior, one can question the scalability of the model.
2.1.3 ImmSim ImmSim is one of the most referenced and peer reviewed IS simulators available [26, 64], and many of the underlying ideas have been used in other models and frameworks.
The rst version of the model was developed by
Celada and Seiden [17, 67], and was limited to the humoral response of the IS; its basic idea consisted in the capture and processing of antigens and how that processing aects the various cell populations [43]. As the framework matured, the initial core concept proved the models capability to represent several dierent scenarios.
ImmSim has been used to reproduce and ana-
lyze immunological memory, anity maturation, eects of hypermutation, autoimmune responses and competitive tolerance [43, 61]. ImmSim3 is currently the most advanced version of this framework [61]. ImmSim is based on a CA with probabilistic rules, representing an average piece of the IS, like a section of a lymph node [44]. At each time step, cellular and molecular entities in the same CA site can interact with each other and diuse through the lattice.
Entities consider all possible interactions, and
choose one stochastically, with probability given by the respective interaction rule.
Entities take on a number of states based on their repertoire, which
also inuence the chosen interaction and the respective action. A model thymus performs positive and negative selection for T cells, while the B cells repertoire is randomly chosen. Several entities, related with both humoral and cell-mediated immunity, are modelled. The entities receptors, which determine their repertoire, are modeled using bit strings, where the MHC receptor is included, if applicable; this means that for an n-bit string, there are 2
n
specicities. Anity between entities is given by the Hamming
distance between their receptors. The specic interaction rules in the model
14
Agent-based Approaches for IS Simulation
can depend on the bit string receptor matching of two entities. Antigens are molecules in micro-organisms which evoke and react with antibodies [65]. In ImmSim there is no distinction between antigens and the micro-organisms themselves, like viruses and bacteria.
Besides expressing
epitopes and peptides (that compose the antigen repertoire), the antigen model in ImmSim possesses several parameters: speed of growth, infectivity and lethality. Antigen also has the ability to produce a toxin, for example to produce a `damage' or `danger' signal. In [44], vaccine eciency is tested against 64 viruses, determined by a combination of four values for each of the given parameters. The eects of vaccination are evaluated by comparing the progress of the same infection with and without vaccine.
Vaccine is
made antigenically equal to the virus, but infectivity is set to 0 and doesn't produce a danger signal.
This inactive virus cannot infect cells, but with
the presence of a danger signal, it can be ingested by APC's and have the respective peptides displayed on both MHC I and II. The danger signal is included in the vaccine by means of a model adjuvant.
This methodology
mimics the use of nonliving organisms as vaccines, which frequently require am adjuvant to provide prophylactic immunization [65].
Each simulation
run is considered to have three possible outcomes: cure, death or chronic infection. With vaccination, there is a general improvement in the immune response, and its capacity to cure infection. In [18] and [44] the eects of viral attack are studied, considering humoral and cellular immunity working both individually and simultaneously, in order to assert the eciency of each response to dierent types of viruses.
Nat-
urally, results pointed to a generally superior immune eciency when both kinds of response are activated; in some cases though, an isolated humoral response proved best, indicating that the usually collaborative cell-mediated and humoral responses can potentially inhibit eectiveness of the global response regarding certain types of viruses. Simulating the immune response to viruses with parameters like speed of growth, infectivity and lethality, can be somewhat reductive when compared to the true diversity of viral behaviour, namely antigen change, interference with immune eector mechanisms, evasion of MHC Class I antigen presen-
2.1 State of the art
15
tation, among many others [1, 60, 62, 65]. ImmSim3, like its predecessors, is developed in APL2, an interpreted language that imposes constraints on the maximum system size; thus all performed simulations are relatively small scale. The same group also maintains other versions of the framework, of which ImmSim-C is the most relevant, though it has a reduced feature set, and doesn't really take advantage of the C programming language. Independently of the programming language, ImmSim has a very rigid structure, that considers only one possible antigen.
Due to hard-wired rules, users can only change parameters, and not
the rules themselves [49], unless they change the source code. Nonetheless it is a model that has been very useful for experimenting on a wide range of parameters, providing some results that were realistic and others that led investigators to pose new hypothesis. It also proved itself as a good didactic tool [61]. It seems that since 2002 no more work is published based on the original ImmSim group; yet, the ideas of Celada and Seiden continue to be very prolic, specically in the form of C-ImmSim, and generally in almost every other agent based immune simulations.
2.1.4 C-ImmSim, ImmunoGrid C-ImmSim is a version of ImmSim developed by F. Castiglione and M. Bernaschi in the C programming language, with focus on improved eciency and simulation size and complexity [8].
In this adaptation of the Celada-
Seiden model, the IS response is designed and coded to allow simulations considering millions of cells with a very high degree of complexity. The code can resort to parallel processing to run faster; optimized data structures and I/O have allowed stretching the limits of available memory and disk space. The design is open and modular, which allows smooth upgrades and addition of new features (cells, molecules, interactions and so on) for future investigations; however, new modules must conform to the pre-dened structure of the model. Currently, C-ImmSim is the most advanced IS simulator based on the original Celada-Seiden automaton, with consistent publication throughput.
16
Agent-based Approaches for IS Simulation
Regarding the model itself, the most recent upgrades include, among other features, the use of three-dimensional shapes, inclusion of the chemotaxis phenomena and consideration of dierent cell speeds [2]. C-ImmSim based simulations have been yielding results with interesting potential. Some examples are work regarding progression of the HIV-1 infection in untreated host organisms [15], scheduling of Highly Active Anti-Retroviral (HAART) for HIV-1 infection [2], simulation of cancer immunoprevention vaccine concerning its eectiveness and scheduling [56, 58] and the modelling of EpsteinBarr virus infection [16]. In the correct context, these results have biological relevance, motivating further experiments with the framework. ImmunoGrid is a European Union funded project to establish an infrastructure for the simulation of the IS at the molecular, cellular and organ levels [25]. ImmunoGrid uses C-ImmSim as the underlying framework, further establishing the Celada-Seiden model and C-ImmSim as references regarding the simulation of the IS. Design of vaccines, immunotherapies and optimization of immunization protocols are some of the applications for this project. Grid technologies are used in order to perform simulations orders of magnitude more complex than current models, with the nal objective of matching a real size IS. Separate nodes in the grid can simulate dierent tissues or even organs. Simulator validation is to be performed by pre-clinical trials in mice. The C-ImmSim framework shares some of the basic problems of ImmSim in particular, and of the Celada-Seiden model in general. It is an experimentally driven approach, and may lack the formal theoretical structure present in models like SIS (discussed next).
Its rigid structure, where each entity
performs actions based on rules that depend on its state and environmental input, prevents the model from being a true evolving system.
2.1.5 Simmune Simmune, developed by Meier-Schellersheim and Mack, is a tool to investigate how context adaptive behavior of the IS might emerge from local cell-cell and cell-molecule interactions [52]. It is based on molecule interactions on
2.1 State of the art
17
a cell's surface. Cells don't have states like in the Celada-Seiden model, instead they have behaviors that depend on rules based on cellular response to external stimuli, usually external molecule interactions.
Cells can have
intracellular compartments with connections between them, and perform actions like secretion of molecules, expression of receptors, etc., that depend on the number of stimulated supercial receptors or the presence of intracellular molecules [51]. Modication of cell mechanisms during simulation, through viral attack for example, is also possible (a feature shared by AbAIS). Molecules can form aggregates according to their mutual binding possibilities, dened by their binding sites.
Molecules have a typical lifetime
before disintegrating into fragment molecules, and indication of the types of fragments that are produced upon disintegration. Cells and molecules are spread across a 3D environment, where they interact in specic compartments. These compartments can be considered specic body sections (like lymph nodes, for example), and have editable properties like diusion rate and type and size of agents that can enter and leave. The properties of cells, molecules and compartments are user-denable, thus making Simmune capable of, accordingly to the authors, to simulate
populations of cells of any kind [52]. Besides the IS model described in [52], Simmune was more recently used to build a molecular signaling model for the study of the role of local regulation in chemosensing [53], thus substantiating the author's armation. The potential of the Simmune framework, especially its behavior-based model, seems to be far reaching. Nonetheless, compared with the Celada-Seiden model, publications and respective peer analysis have had an inferior impact. Regarding the simulation of the IS, results obtained by this framework are essentially proof of concept, further establishing Simmune as more of a modeling approach than a specic model [46]. In [52], three simulations are presented.
1. Test concerning local vs. global interaction between agents, where cell suppression, dierentiation and enhancement of proliferation and cytokine production form a network of cell interactions. No specic kinds
18
Agent-based Approaches for IS Simulation of IS cells are modeled. 2. Demonstration of a simple IS, which includes several IS cell types and a virus. Organism cells (OC) can be infected by a virus (V), becoming infected cells (IC). When the naive T cell (NT) receptor binds the MHC1 + antigen epitope in the IC, the NT can proliferate to T-killer (TK) and T-helper (TH) cells. TKs kill ICs when its receptor binds to MHC1 + antigen epitope in IC. TH can bind MHC2 + antigen epitope in naive B cells (NB), turning them into eector B cells (B) that produce antibodies (AB) for the given viral antigen. ABs then bind to V particles, making them susceptible to removal by macrophages. When V is inserted in the simulation, the number of ICs rises fast; when T cell proliferation starts, TK cells start killing ICs and TH cells start activating AB producing B cells; at this time, the number of Vs and ICs begins a steady decline. 3. B-cell activation through direct antigen dose-dependent response.
The Simmune model is focused on representational accuracy, with little concern for performance [23]. Detailed molecular interactions are computationally expensive and undermine the scalability of this model.
However, the
concepts introduced here are worth further investigation, and with the advent of multiprocessor systems and grid computing, could be explored in a distributed fashion (as ImmunoGrid aims to do with the Celada-Seiden model).
2.1.6 SIS SIS is developed by the Conceptual Immunology Group at the Salk Institute, and in contrast with most of the models presented here, is more theoretically driven and less of an experimentalist tool. It is based on a cellular automaton, with descriptive cellular states and rules that dene transitions between those states, and aims to provide a larger picture of the IS, including selfnonself discrimination [49, 50]. Each cell has state, type, age and specicity and responds to stimuli from surroundings. The cellular response to stimuli
2.1 State of the art
19
depends on cellular states. Cell-cell interactions have a 100 cell scope in the CA; interleukins have 10,000 cell scope; and antigen has a visible to all scope. SIS is capable of performing simulations with large number of cells (in
6 9 the order of 10 to 10 cells), with linear correlation between simulation size and time.
SIS-I, the rst iteration of this system, started development in
the early 1980's, and only recently has been abandoned in favour of SIS-II, though it still can be used through a web interface. It has many hardwired values, a pre-dened keyword language for writing of rules and is based on a two-dimensional CA. SIS-II is based on SIS-I, but uses a three-dimensional CA, and allows user dened rules, thus being much more exible, allowing the testing and simulation of a wider variety of IS models.
It can also be
used through a web interface. SIS-III is already on a planning phase, and several extensions are being considered; an interesting one is the use of a XML backbone to describe simulations, cells, rules and so on. The developers expect SIS-III to be more generalist, and to be able to simulate other types of complex systems. SIS is based on the Protecton Theory [22] and the Theory of Associative Antigen Recognition [13]; the former addresses the problem of specicity and repertoire dimension, while the later concerns the problem of self-nonself distinction. However, these theories are not consensual among investigators [12, 59, 68, 69], therefore, results produced by SIS should be analyzed in this specic context, and SIS should be considered more of a study tool for these theories, and less of a general immune system simulator. While SIS appears to be more ecient performing simulations, it is eectively more limited than other models presented here [64].
2.1.7 Sentinel Models Sentinel is a complex system simulation platform, designed for immunology and AIS research [64]. The design principles are similar to the Celada-Seiden model, with the environment divided into a discrete grid of locations, where entities can move from one location to the other, responding to events that
20
Agent-based Approaches for IS Simulation
occur in the same or nearby locations. One of the novel approaches of the Sentinel system consists in the use of specialized engines to manage physical and chemical interactions. As such, agents can move according to chemotaxis (a very important factor in the real IS), motor capabilities and external forces acting on them. Chemicals diuse, react and degrade in order to model chemotaxis and cytokines. Rules dene the nature of interactions between cells, and how cells release chemicals, or other entities. An evaluation of several immunological memory theories is performed in [64]. To validate the Sentinel framework, three theories, that were previously tested in a simpler simulator [74], are evaluated again.
Apart from some
dierences in details, results where similar enough, conrming Sentinel can reproduce previous simulations. After simulator validation, an evaluation of Polyclonal Activation Memory theory [9] was performed. Simulation results were qualitatively consistent with in vivo experiments, though with a clear need for further parameter adjustment. Nonetheless, simulation results point that Polyclonal Activation Memory theory can be qualitatively reasonable. This kind of approach, the testing and evaluation of theories, is undoubtedly one of the main practical uses of IS simulation.
Certain assumptions
have necessarily to be made; in these models, assumptions are clearly described, which is always useful when analyzing possibly related artifacts in simulation results. The physical and chemical engines are probably the most interesting part of the framework itself, while the experiment on theories path of investigation has also much practical use.
2.1.8 Jacob et al. model In [40] Jacob et al.
present a swarm and agent-based, continuous three-
dimensional model of the IS, using the multi-agent simulator Breve [42]. Both humoral and cell-mediated immunity are modelled in order to ascertain the global immune response to primary and secondary viral antigen exposure. In sum, this model tries to oer a highly visual, intuitive and user-friendly investigation tool to researchers.
2.1 State of the art
21
Agents are spheres of dierent sizes and colours that move around randomly in the continuous three-dimensional environment; they interact with each other due to proximity, considering a spherical neighbourhood. The fact that agents move in a continuous environment dierentiates this model from the usual CA based approach seen in other models discussed here. In spite of this, cells are state-based like in the Celada-Seiden model; consequently, rules that control interactions can depend on cellular states (as well as on the neighbourhood situation). These if-then-else rules can produce actions like the killing of another agent, cellular division, antibody secretion, and so on. The presented simulation concerns immune response to primary and secondary viral antigen exposure. When inserted in the system, viruses infect tissue cells, and once inside begin replication. Infected cells eventually die and release more viruses into the system.
When enough viral antigen is
present in the serum, macrophages start reproducing, stimulating Th cells to divide faster. Th cells then stimulate B and Tc cells; in contact with the antigen, B cells produce antibody producing plasma cells and memory B cells. Viruses that collide with antibody stop being capable of infecting other cells, and are eventually absorbed by macrophages. After the removal of all virus particles, the IS eventually restores to its initial state. Immunological memory seems to be obtained due to long-lived memory cells. Memory B cells proliferate rapidly when exposed to the same antigen again, and start producing specic antibodies. Consequently, the virus is removed much faster from the system, giving a qualitative resemblance with what happens in the real IS. The novelty of this model lies in the continuous environment approach, which is undoubtedly more faithful to reality than explicitly discrete space approach. It is also a very interesting visualization tool, but there are a few problems.
The continuous and visual three-dimensional paradigm can im-
pose serious processing load, restricting simulation size. As a consequence, this model can support very few agents when compared to other frameworks. A possible solution could be the direct use of a GPU (Graphics Processing Unit) to perform physical and environmental calculations (an interesting
22
Agent-based Approaches for IS Simulation
analysis is performed in [54]). Currently this would pose another problem: the investigators would have to develop the required software, because Breve doesn't (yet?) support GPU programming, except for visualization. Other features of the model are still underdeveloped, like the random movement of cells (ignoring the important chemotaxis factor), and the simplicity of the simulations themselves (similar results where obtained by Celada and Seiden in 1992 [17, 67]).
2.1.9 CyCells CyCells was designed for studying intercellular interactions, allowing to dene cell behaviours and molecular properties, as well as having features to represent intracellular infection [73]. The behaviour-based approach is similar to Simmune. The author claims CyCells is not a general-purpose agentbased development framework, but states that it could be used to model a broad variety of multicellular systems (a similar claim to the one made by the Simmune authors). CyCless uses a hybrid model that represents molecular concentrations continuously and cells discretely.
Each type of molecular signal (e.g.
tokines) is given a decay and diusion rate. `sense-process-act' agent model.
cy-
Cell behaviour is based on a
Each agent has its own attributes; these
attributes (e.g. cell diameter) can be associated with sensing, processing and action protocols. A sensing protocol can, for example, respond to a specic substance concentration; a processing procedure acknowledges the sensing protocol, which could lead to cell activation; several types of action can take place due to a processing procedure, for example, death or production of a molecular substance.
A similar approach is used in SimulIm [26], though
CyCells is implemented on a three-dimensional square grid, while SimulIm uses a two-dimensional hexagonal grid. Several investigations were performed with CyCells. In [73] three studies are presented. The rst concerns two theories about the maintenance of peripheral macrophage population sizes in the lung. Either scenario seemed plausible, but one of the models was inherently more stable in the simulation.
2.1 State of the art
23
Macrophage-Pathogen interactions, more specically initial macrophage interactions with bacteria, were the topic of investigation in the second study. Simulations explored the dierent ways in which the early macrophage response aects initial intracellular bacterial growth. CyCells was also used to model infection dynamics of pulmonary tuberculosis.
Simulations success-
fully reproduce the ability of the immune response to reduce initial bacterial growth and contain the infection, also illustrating several factors that may allow some bacteria to evade destruction. The realistic treatment of cytokines and the other molecular players in the immune response was the principal feature in CyCells, and one that is worth pursing further. Developed in C++, CyCells presents relatively good performance.
In spite of being well documented, this framework as some
limitations in terms of accessibility when compared to generic agent-based platforms.
The author states that A number of `general-purpose' frame-
works (..) are often too general to be of much use in a particular scientic discipline [73]; in spite of this armation, it is our belief, after a similar experience developing a simulator from scratch, that the use of certain generic platforms can spare much time with model development.
2.1.10 Basic Immune Simulator The Basic Immune Simulator (BIS) goal is to study the interactions between the cells of the innate and adaptive immune system [28], distinguishing itself of other models by simulating three zones of IS activity. These zones represent parenchymal tissue, the location of initial tissue challenge with pathogen,
secondary lymphoid tissue, representing a lymph node or the spleen, where lymphocytes reside and proliferate, and the lymphatic/humoral circulation, which models the pathways of IS cell migration; this last zone can be considered as rest of the body regarding the areas of actual infection and the areas of immune cell proliferation. The three environments are represented as two-dimensional toroidal grids, which allow for several agents or signals in the same discrete location. BIS uses Repast [57] as the modeling framework, further demonstrating the feasibility of using a generic ABM tool to develop
24
Agent-based Approaches for IS Simulation
IS simulations. IS cells are modeled as nite state machines, using a one class for agent, one agent for cell approach. Agent rules, expressed as logical statements, accept input from the local environment (through the engagement of supercial cell receptors with nearby ligands), dening agent state change and behavior.
Agents move randomly when not inuenced by chemotactic signals.
Cytokines and chemokines are simplied into groups that up or down regulate the response of specic agents; agents release these substances, which diuse through the environment. The passage of time is simulated in a discrete fashion; at each step in time, agents execute their rules, according to the perceived local information about other agents and signals. The IS response was simulated under viral attack, with three observed outcomes: immune win, immune loss and immune hyper-response. The rst two results were expected, consisting of the elimination of virally cells and failure to do so (with all of such cells becoming infected), respectively. The third outcome, the uncontrolled proliferation of lymphocytes in the secondary lymphoid tissue area, was not explicitly programmed, and was thus considered by the authors has an emergent pattern, associated with hypersensi-
1
tivity reactions . Further simulations were performed by varying the initial number of dendritic cells, deleting individual agent types from the immune response, addition of more agents of specic types during immune activation and removing the apoptosis mechanism from dendritic cells. The results of these experiments where shown to be related to similar patterns in a biological IS. An aspect that stands out in the analysis of results from this model is the solid statistical analysis performed and constant inquiries and tests on the reasons leading to the observed outcomes. The BIS displays important dynamics of the relationship between the innate and adaptive immune response, demonstrating that the degree of the
1 Disorders caused by autoimmune diseases, in which immune responses are directed against self antigens, and diseases that result from uncontrolled responses against foreign antigens [1].
2.1 State of the art
25
initial innate response is crucial for an eective adaptive response. However, the simulation scenarios described in [28] are highly generic, and as such, results are easier to associate with real scenarios, not being particularly useful in themselves. Nonetheless, as a freely available open-source model, the BIS oers a starting point for more sophisticated models, having the potential to be a virtual research laboratory to systematically identify possible targets for more eective disease treatment strategies.
2.1.11 Other models There are several other CA and / or agent-based models in literature. We present some of them, in our opinion not as relevant or as general as those already presented. ImmunoSim is a customizable modelling environment with several interesting features and a purely visual interface. It received the Fulton Roberts Immunology prize from Cambridge University (twice), but apparently hasn't been published [64]. Ballet et al.
developed a multi-agent system to model humoral immu-
nity [3], using a platform named oRis.
Results include the observation of
immunological response to four types of antigenic substance: dead, proliferating, poorly recognizable proliferating and directed against Th cells. CA are especially useful for modelling tummor growth.
An interesting
proposal is made in [39]; in [48] these ideas are taken even further, and the resulting solutions are in qualitative agreement with both the experimental and theoretical literature. In [7, 6, 5] Beauchemin et al.
present ma_immune, a simple 2D CA
model for simulating inuenza infections.
Localized tissue infection is the
specic area of investigation in this model: infected cells are tightly packed and don't move, the infection spreads to immediate neighbors and immune cells move randomly in the grid. This approach proved more consistent with experimental data than an equivalent non-spatial model, asserting the eects of spatial localization in inuenza infections [29]. Chao et al. discuss the use of stochastic stage-structured models of the
26
Agent-based Approaches for IS Simulation
adaptive IS response and of Tc cell response to viral infection in [19, 20], respectively. Individuals in each stage, considered to be identical, are represented by a single integer instead of a data structure, as usual in a pure ABM approach [29]. Simulation is more ecient than pure agent-based approaches, giving yet another direction of investigation. The precursor of work presented in this thesis was SimulIm, a complex system simulator developed in 2005 [26]. The primary goal was to perform distributed simulations with accessible development of specic simulations packages, which were transparent regarding the distribution process. A specic package for IS simulation was developed (AIS), based on concepts presented by AbAIS, although with a exible approach regarding simulation setup and ne-tuning; unique rules and actions of agents are programmed into modular snippets of code. Agents themselves are dened in a XML le, which species its genetic code (i.e., rules and actions), as well as simulation parameters. A researcher could explore the model by grouping pieces of code in XML, with no immediate need for programming. SimulIm and the AIS package present some interesting concepts, many of which transferred to LAIS; however, there were some unresolved issues:
•
Being a rst approach on a totally new project, development diculties accumulated; while functional, the nal version required major refactoring to be competitive with other generic frameworks.
•
The parallel production of a complete complex system simulator and an IS simulation proved to be inecient, as the dedication to one hindered the development of the other, with a negative global eect; as a consequence, only simple simulations and results were achieved.
•
Some of the concepts, such as the distribution computation package, were theoretical and not implemented; other concepts, such as XML support were only partially implemented.
2.2 Discussion
27
2.2 Discussion The presented models use several dierent methodologies in order to provide realistic abstractions of IS processes.
In this section we discuss these
methods, and how they balance biological signicance with computational feasibility.
We also argue the development context of the models and its
accessibility to third party researchers, regarding simulation setup and netuning.
Spatial resolution cob et al.
The majority of the models are spatially discrete. Ja-
model is one of the few that simulates continuous space;
however, the number of agents in the simulation is orders of magnitude lower than observed in discrete space models. CyCells implements an intelligent mid-term solution, with variable resolution space, which can be more or less continuous, depending on the modeler objectives and/or the available computational resources. At this time, it seems that a discrete space approach reaps more benets due to the scalability of the models. Nonetheless, the advent of GPU processing power and the use of highly optimized gaming 3D engines in agent-based simulation [10] could change the situation.
Spatial dimension
Another issue regarding the spatial layout of the mod-
els concerns the use of 2D or 3D environments; 2D uses fewer resources, but 3D is simply more realistic. A 2D hexagonal environment, as used in ImmSim, can be a good compromise between classic 2D and 3D rectangular approaches, allowing more degrees of freedom than the rst, and not as computationally expensive as the second.
On the other
hand, BIS compensates the alleged limitation of using a 2D rectangular environment by simulating three distinct IS areas of operation, arguably a more faithful abstraction than modeling a single 3D zone. This kind of zone separation is part of the future of IS simulation, with ImmunoGrid being the perfect example of it.
Time
All of the discussed models, except for Cass, simulate time in discrete
steps.
It is a tried and tested approach, which has been providing
28
Agent-based Approaches for IS Simulation results of increased interest. Nonetheless, the event-driven simulations of Cass demonstrate that there are valid, more lifelike, alternatives, even if in this specic case there is plenty of room for optimization.
Repertoires and molecular interactions
The concepts of character strings
to represent molecular receptors and string matching to represent anity are used in many models. Although this type of technique doesn't take into account most of the detail in molecular interactions, it has certainly produced accurate models, an indication of its quality as an abstraction [29], in spite of Mata and Cohn's criticism [49]. This method can also be used to represent other types of molecular interactions not usually taken into account in IS simulations (e.g., the binding of CD40 and CD40L molecules in several IS cellular engagements). Being such a low level abstraction, additional complexity could compromise simulation performance, and as such, character strings have the advantage of keeping models scalable.
Agent structure
In IS simulations, agent inputs can be their supercial
molecular receptors (such has the TCR in a T cell agent) and possibly other, more direct environmental sensorial information; agent outputs consist of the actions performed on the environment and on changes in the expressed supercial receptors. Agents have a rule mechanism that considers current sensorial input and possibly some agent internal states, and decide on which actions to take.
This mechanism is
often implemented using nite state machines or similar approaches; nonetheless, as stated in section 1.2, any methodology is theoretically viable. AbAIS and Simmune stand-out in this department, oering a mechanism that allows agents to modify the internal rules or mechanisms of other agents. Not many IS models present this feature, necessary to simulate important events (e.g. HIV inserting genetic code in Th cells in order to make them produce more virus). AbAIS adopts a genetic approach, where the genotype determines rules and expressed receptors of agents; modication of other agent's behavior occurs due to transference of genetic code. Simune uses a stateless methodology,
2.2 Discussion
29
where cellular behavior depends only on external stimuli (molecules and molecular complexes present on the cellular surface). Detailed molecular interactions on the cellular surface (a feature shared by CyCells and BIS) are a computationally expensive premise, but being a lower scale approach, results are more interesting (see section 1.2).
Modeling environment
The use of an established agent-based simulation
toolkit allows modelers to concentrate on the model rather than on programming details.
Jacob et al.
model and BIS follows this path
by using the Breve and Repast frameworks, respectively. Other aspect to take into account is that ABM is an object oriented methodology, and as such, the use of an object oriented programming language can also facilitate model development; Cass, a Java based model, is a good example. The best of both worlds is available via toolkits such as Repast, Mason [47] or Swarm [55], which oer powerful tools and libraries for developing agent-based models using an object-oriented programming language [31, 71, 63].
Physics and chemical reactions
Physics and chemical engines permit the
simulation of chemotaxis, cell movement, substance diusion, substance decay and chemical and physical interaction of substances. This is one of the main features in the Sentinel platform, which appears to be the most complete in this area. Nonetheless, models such as Jacob et. al's, manage to yield simple but realistic results ignoring these aspects altogether. The most problematic point surely lies with the modeling of chemical and physical interaction of molecules, essential for simulating complement pathways, for example. A perfect system should allow free interaction of all substances in a given neighborhood, but the computational cost would be tremendous, even for a low number of substances. To implement this kind of modeling, a higher level abstraction is denitively required.
Simulation setup and ne-tuning
Accessible simulation setup is required
if a given tool is to be used by non-programmers. Most of the models
30
Agent-based Approaches for IS Simulation allow changing simulation parameters through a GUI or text le editing, but serious changes in the model usually imply programming. LAIS oers a versatile and modular technique, oering XML-based agent definition, through the grouping of low scale pre-existing behaviors, with the possibility of programming further modules. This approach, complemented with a graphical user interface for the automatic creation of the XML denitions, probably gives the best balance regarding accessibility of simulation setup and model modication and ne-tuning.
Distributed computation
To perform multiple-scale, realistically sized IS
simulations, it becomes necessary to use grid technologies.
Immuno-
Grid aims to achieve this goal by using dierent grid nodes to simulate dierent organs or tissues.
Distributed computing can also be used
to perform multiple simulation runs and parameter sweep, necessary steps to perform statistical treatment of results; this is often required to determine result signicance in the non-deterministic agent-based simulations of the IS.
Chapter 3 The LAIS Modeling Framework
3.1 Overview The LAIS framework (gure 3.1) is a multithreaded agent-based simulation platform, oering the user a set of tools for modeling biological systems in general, and the IS in particular.
The modeling scheme is accessible and
modular, designed with exibility in mind. Models developed on LAIS are discrete in space and time.
Simulation
space consists of a 2D grid, and is divided in two layers. The lower layer, a specialized CA, is responsible for substance diusion, reaction and evaporation, while the upper layer represents the space where the agents move and act.
Communication between the two layers occurs when agents produce
or consume substances, or when an agent action depends on the underlying substances. This approach follows a similar path to the Celada-Seiden and AbAIS models, with some dierences. Substance concentration is real valued (like CyCells), and can be present in the lower layer of the model, or on the surface of agents. Antigen is considered a substance, thus being dierentiated from pathogenic agents (which may produce it or present it at the surface). Substances are dened by bit strings, thus agent repertoire is dened by supercial substances presented to the environment and other agents. Agents communicate and act depending on the interaction of substances on the cellular surface and on the environment (such as Simmune
32
The LAIS Modeling Framework
Figure 3.1
A simulation running in the LAIS framework.
3.1 Overview
33
Table 3.1
Open source libraries used in the LAIS framework. Library
Provided tools Visualization
Repast
Spatial organization Scheduling Output
and CyCells).
Colt
Random number generator
Simple
XML serialization
Agents can present dierent substances at dierent times,
contributing to a dynamic global behavior. The platform depends on several open source libraries, each providing a set of important functionalities described in table 3.1. Consequently, development of the LAIS framework could be focused on the creation of specic tools to model and simulate the systems of interest.
A number of critical
classes are ensured by the Repast Agent Simulation Toolkit [57], a mature, relatively fast, Java [32] based collection of libraries [31, 63, 71]. These include classes that provide or simplify spatial organization and visualization, event scheduling and simulation output (e.g., charts, CSV
1
les, movies).
Repast itself depends on third-party open source libraries; the Colt li-
2
brary , which Repast encapsulates for simplied access, provides a set of packages for high performance scientic computing in Java; LAIS relies on its pseudorandom number generator, superior to the one oered by Java regarding performance, memory footprint and apparent randomness. Nonetheless, LAIS may also encapsulate this functionality in order to simplify an exchange of pseudorandom number generator.
3
The Simple XML serialization library
is another signicant component
of LAIS, oering the possibility of specifying class instantiation parameters using XML. These parameters can be primitive Java types (e.g.,
int
or
1 CSV is a delimited data format that has elds or columns separated by the comma character and records or rows separated by newlines. 2 http://acs.lbl.gov/~hoschek/colt/ 3 http://simple.sourceforge.net/
34
The LAIS Modeling Framework Table 3.2
Implementation properties of the LAIS modeling framework. Property
Implementation
Prog. lang.
Java (w/ RepastJ API)
Model lang.
XML
Param. setup
XML
Space
2D discrete
Time
Discrete
double), wrapper classes (e.g., java.lang.Integer class wraps primitive type int), utility classes (e.g., java.util.Date) and user dened classes, such as many of the classes which compose LAIS. One of the utility classes which can be passed as a XML parameter is
java.lang.Class,
instances of
which represent classes and interfaces in a running Java application; as such, it is possible to select which classes will be part of a given model at runtime. LAIS can be easily extended by creating classes, which replace or augment current framework functionality, and using them as XML parameters. The implementation characteristics of LAIS are summarized in table 3.2.
3.2 Architecture The LAIS platform architecture can be divided in three main components:
Simulation Model, Scripting and Event Model and Data Output Model (g. 3.2).
The simulation model is the main element, determining the behav-
ior and properties of each simulation component. The scripting and event model is responsible for executing user-dened (non-emergent) simulation events, determining how and when they occur. The data output model denes what simulation data is tracked and how it is presented, recorded or exported.
Each of these components is instantiated with a specic XML
le. Currently, LAIS accepts these les as command-line parameters. The following subsections discuss each of these components in further detail.
3.2 Architecture
35 LAIS
Simulation Model
Scripting and Event Model
Figure 3.2
Data Output Model
LAIS architecture.
UML diagram of LAIS Simulation Model (shaded boxes refer to Repast classes or interfaces). Figure 3.3
3.2.1 Simulation Model The LAIS simulation model is composed of three main manager instances,
Discrete2DSpace, AgentManager and SubstanceManager, which coordinate simulation objects, maintain data about the current simulation tick, and provide information requested by the output model (see subsection 3.2.3). Fig. 3.3 presents a UML diagram of the simulation model.
Simulation engine Discrete2DSpace instance manages spatial localization of Cell objects. Cell object is a xed location in the simulation space, possibly contain-
The A
ing agents and substances. During a single simulation tick, only agents and
36
The LAIS Modeling Framework
substances in the same cell can interact. with the
Discrete2DSpace
Cell
objects are closely related
instance, as the implementation of both these
classes denes the spatial topology of the simulation.
The runtime topol-
4
ogy is decided by the selected factory class ; to produce dierent simulation topologies the user creates a 2D factory, which in turn produces the desired implementations of
Discrete2DSpace
and
Cell.
Switching 2D factories is a
transparent procedure for LAIS. Currently, only a toroidal hexagonal space factory is provided. In each simulation tick, cells perform two distinct steps. No cell can start the second step before all cells nish the rst step. This is required in order to synchronize the process of substance diusion and agent actions, eectively isolating each cell as a processing unit during each step.
LAIS uses this
fact to optimize simulation performance, dividing the work by a number of threads automatically adjusted to reect the number of available processors (although a specic number of threads can be forced). For example, given a simulation with a 100x100 space running on a quad-core processor, four threads would be created, each one processing 2.500 cells. In the rst step, cells perform the following actions:
1. Agent actions. 2. Substance merging. 3. Update substance concentrations to reect agent actions and substance merging in current simulation tick, and substance diusion and evaporation performed in the second step of previous simulation tick. 4. Update
SubstanceManager
object with new substance concentrations
in this cell.
Note that in this rst step, cells don't ask each other about their local substance concentration, so it is safe to locally update concentrations to consider recent changes (third action). As such, it is possible to deduce that
4 Abstract
Factory design pattern: provides an interface for creating families of related or dependent objects without specifying their concrete classes [30].
3.2 Architecture
37
a cell keeps present and future concentrations, for reasons which will become obvious after analyzing the second step: 1. Perform substance diusion and evaporation (requires an enquiry to neighbor cells). 2. Deploy in cell agents produced or cloned by agent actions in the rst step. 3. Deploy in cell agents which travelled from neighbor cells during their actions in the rst step. 4. Update
AgentManager
object with new agent numbers in this cell.
If cells only had a list of current substance concentrations, while some cells were performing diusion and evaporation (changing concentrations), other cells may enquiry about current concentrations, resulting in inconsistencies in the process. This is also the reason why this process must be synchronized in two steps.
At some time we have to update concentrations regarding
the latest actions, and this update must be critically separated from the diusion process, where cells inquiry their neighbors regarding substance concentration.
Substances The
SubstanceManager
object has a list of
Substances,
and keeps track
of each one's global concentration during the course of the simulation.
Substance concentration is real valued, unlike agents.
Substances react with
each other according to specic rules, thus new substances may be created during the simulation run. However, unless a specic rule exists, substances ignore one another, continuing to diuse and evaporate at the set rate. Sub-
SubstanceFamily, and these also need to be coordinated SubstanceManager. Two factors contribute to the appearance of new
stances belong to a by
substances during the simulation: substance mutations, which occur during
SubMergeRule objects. These are dynamically created by user-dened SubFamilyMergeRule objects. agent cloning, and substance merging, controlled by
38 A
The LAIS Modeling Framework
SubFamilyMergeRule denes a pair of substance families whose substances
can merge, denes how the merge will take place, and denes the family of the newly created substances. These rules also have the knowledge of where and how to perform the merging at the substance bit string level. When new
SubstanceManager automatically checks if, considering the pre-dened SubFamilyMergeRule objects, any new SubMergeRule instances should be created. Then, when cells process the rst substances are created due to mutation,
of the two steps for the current simulation tick, they check if local substances are prone to merging considering the last update to the list.
SubMergeRule object
Merging can be anity dependent, with a minimum required anity
in order to occur (as in the case of antigen-antibody complex formation); it can also be anity independent, as in the case of MHC-antigen peptide complex formation, to be displayed on the agent surface. The concentration increment of the created substance during the merge is given by eq. 3.1. Eq. 3.2 gives us the concentration decrement of the original substances after the merge.
t+1 t t ∆Cnewsub = min{Csub1 , Csub2 } × an (sub1, sub2)
(3.1)
t+1 t+1 t+1 ∆Csub1 = ∆Csub2 = −∆Cnewsub /2
(3.2)
In the beginning of each simulation run, data output objects (see subsec-
SubstanceManager for substance and family concentration sources; being instantiated from SubstanceManager inner classes, source objects have privileged access to the SubstanceManager instance prition 3.2.3) can solicit the
vate data, such as the current substance concentration; source objects supply data output objects with the required data, without providing direct access to the
SubstanceManager 5
server design pattern
instance. This is an implementation of the Ob-
where
SubstanceManager
is the subject and the out-
put objects the observers, pulling information from the subject data sources
5 The Observer design pattern denes a one-to-many dependency between objects so that when one object (subject ) changes state, all its dependents (observers ) are notied automatically [30].
3.2 Architecture
39
when notied by the scheduler (meaning that
SubstanceManager
has been
completely updated regarding the last simulation tick). The grouping of substances into families simplies the process of tracking substances with similar functions (e.g., during a B cell response a multitude of dierent antibodies are temporarily produced), as well as allowing the denition of substance merging rules aecting specic families. In this last case, the modeling process is facilitated and simulation of substance merging becomes computationally feasible. Besides a family, substances have a name, a unique bit identier, diusion and evaporation coecients and an indication of which bits to mutate during cloning processes. Substance diusion and evaporation is performed using a method originally developed in the Swarm simulation system [55] for hexagonal lattices, in which substance concentration is determined by equation 3.3, where is the substance concentration at tick at neighbor
i,
respectively.
and
α
and
β
n, Ci
Cn
is the substance concentration
are the diusion and evaporation coecients,
This equation is executed in cell instances; as such, for dif-
ferent spatial topologies, the cell implementation should adjust this formula appropriately.
C
t+1
t
= β C + α(
6 X
!
Cit
t
−C )
(3.3)
i=1 The bit string which uniquely identies a substance contains 64 bits, which permits a repertoire of
264 ≈ 1019
dierent substances. In the mod-
eling process one can attribute specic biological functions to dierent bit substrings (e.g., in the IS, antibodies have variable regions which bind to antigen (Fab), and a constant region (Fc), which carries out secondary functions such as macrophage binding or complement xation). The biological anity between substances primarily depends on the existence of complementary zones, i.e., regions where substances can t with each other. As discussed in the previous chapter, the widely used abstraction in IS simulation for anity determination is the Hamming distance between areas of the substance bit strings; as such, this approach is also used in the LAIS framework. This consists of applying a XOR logic operation to both substrings,
40
The LAIS Modeling Framework Substance 1: ... 0010100100101010 ... Substance 2: ... 1101101001101011 ... XOR: ... 1111001101000001 ... Number of ones: 8 Number of compared bits: 16 8 = 0.5 Anity = 16 Figure 3.4
Substance anity considering 16 bits of the 64 bit string.
and count the number of remaining ones. We continue by dividing the result by the length of the substring, in order to obtain a normalized anity value between zero and one. An example is given if g. 3.4.
Agents The
AgentManager
object has a list of
of the number of dierent
Agent
the course of the simulation.
AgentPrototypes
and keeps track
objects (by prototype and state) during
The
AgentPrototype
is the blueprint from
which agents of the same type are created and deployed in the simulation.
Agent cloning does not follow this process, however; cloned agents are cloned directly from the original agent.
When the modeler species an agent in
XML, it is in reality specifying its prototype.
AgentPrototype
During a simulation run,
objects contain information shared among agents of the
same type, saving computational resources.
Agents with the same proto-
type may dier in state, surface substance concentration and genetic code, which can be modied during the simulation. Agent deployment objects (see subsection 3.2.2) require a factory object to create agents; performs this task, but is passed as an
AgentFactory
interface (which it
implements), decoupling agent deployment objects from the logic. same
AgentManager
AgentManager provides information to data output way as SubstanceManager. Data provided may regard
AgentManager objects in the agent numbers
by type, or by type and state. An
Agent
has a set of conditional rules which evaluate the agent states
and supercial substance concentration and the current
Cell, analyzing local
substance concentration, as well as substances displayed by other agents.
3.2 Architecture
41
These rules are grouped in lists of rules; each list of rules is associated to a list of actions. A rule list - action list mapping is called a gene. In order to perform the actions in a list, all the rules in the associated gene rule list must yield true. Fig. 3.5 shows the schematics of a LAIS agent. Rules and actions are hard-coded Java classes, but accept instantiation parameters, making them exible. The grouping of rules and actions with dierent instantiation parameters permits a vast range of behaviors. If a particular behavior cannot be achieved using available rules and actions, it is relatively simple to code additional ones, following specic interfaces.
The agent set of genes (each
one being a rule list - action list mapping) can be referred as the agent's genotype. Evolution takes place when an agent creates another agent, either by a cloning process (e.g., cellular division) or by producing a dierent type of agent (e.g., an infected immune cell producing viruses).
In such cases,
rules and actions are also cloned. These have a mutation parameter which can modify referenced substances, thus, the behavior of the new agent cannot be exactly foreseen. Agent movement is controlled by these rules; currently, movement can be random, inertial (higher probability of moving forward) or
6
substance dependent (simulating chemotaxis ). LAIS supports the exchange of genetic code (at gene level), a feature introduced in AbAIS, and also used in Simmune, allowing the model to represent a true evolving system that can realistically mimic the biological IS. LAIS agent rules and actions presently available are described in appendix A. Agents use a reference system in order to maintain coherency in substance dependent rules and actions. The exact substance which is referenced may change, but the reference remains constant. Referenced substances may change due to agent cloning, or to allow the same agent to recognize and react to a variety of substances using the same rules and actions (mapping a substance to its reference when it initially recognizes it). Referenced substances don't need to be dened initially, as the agent may map the reference during the simulation run. Other degree of complexity, necessary for the agents to produce merged substances without knowing one or both of the original substances, is the fact that references don't reference substances directly;
6 Movement
of a cell directed by a chemical concentration gradient [1].
42
The LAIS Modeling Framework
Figure 3.5
The LAIS agent model.
3.2 Architecture instead they reference
43 SubstanceProxy
7
objects .
A substance proxy can
represent a substance, or a composition of yet unknown substances, which will be created according to a given
SubFamilyMergeRule;
in this last case
the substance proxy has the immutable agent reference to one or both of the yet unknown substances.
For example, a cell will present MHC Class I +
antigen complex at its surface when infected; however, how is it possible to implement such a rule, if the cell does not yet know what is an antigen, let alone a substance composed of it? First, the agent recognizes the antigen substance in the environment, setting a reference to it; then, when the time comes to produce MHC Class I + antigen complex, the antigen reference will be used, and MHC Class I + antigen complex will be created using a
SubFamilyMergeRule.
3.2.2 Scripting and Event Model In LAIS, behavior of simulation components, such as agents and substances, is clearly separated from user-dened simulation events (i.e., the simulation script). The simulation script, fully setup in a XML le, determines if, when and how certain events, such as agent and substance deployment, are performed. The
ScriptingType interface and the Event abstract class form the
basis of the model. Implementations of the former decide the when, while subclasses of the latter determine the if and how events take place. Fig. 3.6 presents the UML diagram of the model. There
are
currently
ScheduleAtInterval
and
three
implementations
ScheduleAtTick
use
of
the
ScriptingType. Repast Schedule
instance to set a timetable for event execution, programming events to occur at pre-determined intervals and at a specic simulation ticks, respectively.
PerformAtButtonPress sets an event to button via the Repast ModelManipulator
execute when the user click a
8
object , but only works in GUI
7 This is an implementation of the Proxy design pattern, where the proxy provides a surrogate or placeholder for another object to control access to it [30]. 8 Used by a modeler to create buttons, sliders and checkboxes that can alter the state of the model while its running. These buttons, sliders, and checkboxes are displayed in gui run of a model on the Custom Actions tab in the settings window (in RepastJ API).
44
The LAIS Modeling Framework
UML diagram of LAIS Scripting and Event Model (shaded boxes refer to Repast classes or interfaces). Figure 3.6
mode (subsection 3.2.3 describes LAIS execution modes). Subclasses of
Event
determine if and how the event takes place.
Two
implementations are currently available, addressing agent and substance deployment.
More types of events can be created by subclassing the
Event
abstract class.
AgentDeploy and SubstanceDeploy events control their impact depending on constrain specic environmental variables.
Substance deployment
considers two types of constrains, location constrains and concentration constrains, deciding the location of deployment and substance concentration deployed, respectively (table 3.3).
Agent deployment has four constrains,
determining deployment location, number of agents deployed, mutation rate and initial supercial substance concentration (table 3.4).
Constrains can
evaluate the simulation environment, controlling the impact of agent and substance deployment. Several concrete constrains are available, nonetheless, creating new ones is a matter of extending the respective abstract classes. However, it is important to realize that other
Event implementations are not
required to use this type of approach, which is completely invisible to LAIS classes, other than
AgentDeploy
and
SubstanceDeploy. 9
All constrains use the Decorator design pattern , which means constrains
9 The
Decorator Pattern attaches additional responsibilities to an object dynamically.
3.2 Architecture
45
Table 3.3
Substance deployment constrains.
Abstract class
Concrete classes
Description
LocationConstrain
RandomLocationConstrain
Deploy on random location(s). Deploy on a rectangular area.
RectangularLocationConstrain ConcentrationConstrain
FixedConcentrationConstrain
Table 3.4
Deploy xed substance concentration.
Agent deployment constrains.
Abstract class
Concrete classes
Description
LocationConstrain
RandomLocationConstrain
Deploy on random locations. Deploy linearly on a rectangular area.
RectangularLocationConstrain QuantityConstrain
FixedQuantityConstrain NumberDependentQuantityConstrain
RandomQuantityConstrain
Deploy xed quantity of agents. Deploy a number of agents depending on the quantity of agents (and their states) currently in the simulation. Deploy a random number of agents (up to a given maximum).
MutationRateConstrain
FixedMutationRateConstrain
Deploy agents with a xed mutation rate.
InitSupSubConConstrain
FixedInitSupSubConConstrain
Deploy agents with a xed number of substance concentrations.
46
The LAIS Modeling Framework
of the same abstract type can be stacked together, each one giving an answer to the upper constrain based on the answer given by the lower constrain.
The uppermost constrain gives the nal answer to the deploy-
RandomQuantityConstrain on top NumberDependentQuantityConstrain, resulting on a quantity constrain
ment class. For example, we could stack of
which would yield a random value based on a maximum dependent on the number of current agents in the simulation. The use of this complex tool allows detailed deployment control, but is entirely optional if the user decides to keep simulations simple.
In fact, both deployment classes have default
constrains for fast simulation development. At this stage, the use of events basically serves to put agents and substances in the simulation at pre-determined ticks under pre-determined conditions.
Other types of events can be added, however a heavily scripted
simulation is contrary to one of LAIS goals, the study of emergent behavior.
3.2.3 Data Output Model The data output model denes what simulation data is tracked and how it is presented, recorded or exported.
In order to better understand the
concepts of this model it is necessary to discuss an important part of the Repast architecture. Repast is loosely based on the Model-View-Controller
10
(MVC) design pattern
, being up to the developer to implement a true sep-
aration of view and model (the controller is clearly separated out of the box).
Repast supplies three main controllers implementing a common in-
terface (IController), described in table 3.5.
Repast has GUI and batch
run modes, both of which supply automatic loading of parameters, either through the GUI or a parameter text le, respectively. Batch runs perform parameter sweep. Only six of LAIS parameters are selectable or changeable using this system; the number and complexity of parameters does not allow
Decorators provide a exible alternative to subclassing for extending functionality [30]. 10 In MVC, the model represents the data and logic used to manipulate the data, the view corresponds to elements of the user interface such as menus, buttons, displays, etc., and the controller manages details involving the communication to the model of user actions such as key or mouse actions; MVC decouples these three key application aspects, facilitating the interchangeability of any one of them [30].
3.2 Architecture
47
Table 3.5
RepastJ controller implementations.
Controller
Context of use
Controller
Default controller for default Repast GUI view ; simulation parameters selected through the GUI. Default controller for default Repast batch runs; parameters loaded through a batch run parameter le. Provides minimal control over a simulation (start, stop, pause and exit) for performing batch type runs without default batch run mechanism (provided by BatchController); as such, loading simulation parameters should be done through a custom parameter le or mechanism.
BatchController ThinController
a more integrated use of Repast's provided solutions. As such, LAIS parameters are loaded using XML les passed in the command line; however, the development of a specic GUI for editing the LAIS conguration XML could improve the accessibility of the platform.
In the case of parameter sweep
batch runs, a specic mechanism, based on Repast's
ThinController
(see
table 3.5.) and XML, could be also developed, adding more consistence to LAIS as a fully XML based platform. In
the
LAIS
framework,
views
are
independent
from
the
model
(LAISModel), with the exception of the simulation environment visualization, handled by a
Display2D
object, which gathers information from the
Discrete2DSpace instance; when Display2D object is always created
the simulation runs in GUI mode, a to manage this display. Apart from the
graphical visualization of the simulation environment, LAIS associates views
Output interface, and two concrete output implementations, GraphicalOutput and FileOutput (g. 3.7). GraphicalOutput displays simulation output using Repast simple charting class OpenSequenceGraph), while FileOutput saves the output to CSV les using the Repast DataRecorder class. It is also possible to save les in this same format using GraphicalOutput. The inclusion of more types of outwith simulation output, providing a generic
put (e.g., a network output, a graphical output using more advance charting system such as JFreeChart
11 http://www.jfree.org/
11
, a le output exporting to Microsoft Excel le
48
The LAIS Modeling Framework
UML diagram of LAIS Output Model (shaded boxes refer to Repast classes or interfaces). Figure 3.7
format, etc.) is a matter of implementing the
Output
interface. Currently,
GraphicalOutput is the default output manager when LAIS is executed in GUI mode, and FileOutput is the default output manager when LAIS is executed in batch mode. LAIS uses a common XML format for specifying which data is to be collected or displayed, independently of the selected output manager. Currently LAIS can output data on quantity of agents by type, quantity of agents by type and state, substance concentration, substance family concentration, and substance family diversity (i.e., the number of dierent substances grouped by family). This information is supplied by sources provided by the
AgentManager
and
SubstanceManager,
as mentioned in section 3.2.
This data gives a good insight about what is happening in the simulation, however, additional data sources could be added, such as grouping of agents based on supercial substance concentration, or grouping of substances based on their anity regarding a given substance.
3.3 Summary The features presented in the LAIS framework are faithful to the discussion performed in section 2.2, achieving a good balance between biological significance, computational feasibility, model development and simulation setup and ne-tuning. It provides a modeling approach enabling the rapid development of simple simulations, yet being powerful enough to handle the most complex of tasks. A modular design based on object oriented design patterns
3.3 Summary
49
ensures an easily modiable and extendible platform. However, there are some negative aspects.
LAIS binds the researcher
to a modeling approach which may not be adequate for many problems. The limit of performing 2D simulations may also constrain the development of several higher complexity models. Heavy reliance on detailed molecular interactions slows down simulations considerably, being up to the modeler to choose those interactions which must really be modeled at such low-level (such as antibody-antigen dynamics).
Chapter 4 Simulations and Results
This chapter presents the IS simulations and experiments performed in the LAIS framework, and is divided in three sections of increased complexity. The rst section concerns the study of antibody properties; although simple, these experiments test two critical aspects of the model, a) substance interaction based on anity; and b) substance - agent interactions; if results prove to be as expected, validation of these aspects is performed. In the second section, the goal is to perform studies regarding the humoral immunity (i.e., the protection against extracellular microbes), one of the most explored areas in agent-based IS simulation.
These studies have
two objectives, a) validate the humoral dynamics of the model presented in B.1; and b) demonstrate that the LAIS framework can reproduce results obtained in other platforms. A generic bacteria, for which macrophages require assistance of Th cells to properly phagocyte, is the adversary of choice in this section, mimicking the behavior of Listeria, Mycobacterium tuberculosis, M.
leprae, among others. In section 4.3 the model described in B.1 is fully tested, with the inclusion of CMI actors. We have four objectives in this section, a) test the functions of Tc cells and their involvement in the overall immune response; b) investigate how the balance between inuenza A supercial antigens, HA and NA, inuences virus eectiveness asserting the lethality of inuenza A (as discussed in section 1.3); c) study antigenic drift, which occurs when the virus repli-
52
Simulations and Results
cates by subverting cellular mechanisms; and d) study antigenic shift, which occurs when two or more viruses of dierent strains infect the same cell. Two experiments are executed. In the rst simulation, four inuenza A subtypes are tested separately; the infectivity of each strain is asserted, the number of antigenic drift derived sub-strains is numbered and IS response and memory eect measured. In the second case, two dierent strains perform a simultaneous infection; we compare the registered values with the rst case, and expect to conrm the appearance of new, eventually more infectious strains. Section 4.3 is the main contribution of this thesis for two reasons: a) to the extent of our knowledge, this exact type of simulation as not been performed before; and b) this type of simulation can be important to study antigenic shift in current pandemic threats, such as avian inuenza (subtype H5N1).
4.1 Antibody simulations 4.1.1 Antigen-antibody dynamics Antigen-antibody interactions, and more generally, substance anity dynamics, play a crucial role in immune system modeling. As such, the following simulation aims to validate the proposed model, simultaneously demonstrating substance diusion and substance merging properties of LAIS. A number of substances, described in table 4.1, are initially dropped in the simulation environment with the same concentration. All substances have the same diusion rate and zero evaporation rate. Therefore, a substance only disappears when merged with another substance; evaporation was not taken into account in order to isolate and better understand LAIS merging features in this particular simulation. New substances are brought into existence by dynamically created sub-
stance merge rules, which in turn are produced by user-dened family merge rules (section 3.2.1). One such rule is dened for this experiment, stating that if given two substances, one belonging to the Antigens family, another belonging to the Antibodies family, a merge will occur if the anity in the least signicant 16 bits of their bit string IDs is greater than
0.7,
creating a
4.1 Antibody simulations
53
Substances used in antigen-antibody dynamics simulation and respective bitstring ID (only the sixteen less signicant bits are shown). Table 4.1
Substance
Family
Bit string ID
Antigen
Antigens
... 0000 0000 0000 0000
Antibody A
Antibodies
... 1111 1111 1111 1111
Antibody B
Antibodies
... 1111 1111 1111 0110
Antibody C
Antibodies
... 1111 1111 0000 0000
Anity of antigen with dierent antibodies considering the sixteen less signicant bit string ID bits. Table 4.2
Antibody
Anity
Merge
A
1.000
Yes
B
0.875
Yes
C
0.500
No
new substance belonging to the Antigen+Antibody Complex family. As such, the antigen is able to merge with antibodies with which it has the required anity. Analyzing table 4.2, which shows the anity between antigen and dierent antibodies (calculated as described in g.
3.4), it is possible to
conclude that antigen will bind antibodies A and B, but not antibody C. The dierent antibodies are initially placed equidistantly from the antigen (g. 4.1a). After the simulation starts, substances experience diusion through the lattice, as specied by eq. 3.3. When two or more substances are present in the same location, they ignore one another, continuing to diffuse unless relevant merge rules determine the merging of substance pairs. In this case, antibodies ignore each other, but antigen will react and merge with antibody A and B, ignoring antibody C. As such, two new substance types are dynamically created during the course of the simulation, both of which belong to the Antigen+Antibody Complex family. Because evaporation is ignored, the rate of elimination of antigen and antibodies A and B is solely due to substance merging (eq. 3.2). The same applies for the production of the two new Antigen+Antibody Complex substances (eq. 3.1). The observation of the full sequence of g. 4.1, reveals a diusion and
54
Simulations and Results
(a)
(b)
(c)
(d)
(e)
(f )
Figure 4.1
Evolution of antigen-antibody dynamics simulation.
4.1 Antibody simulations
55
4
5
x 10
x 10
10
2.5
Concentration
8 Concentration
Antigens Antibodies Antigen+Antibody Complex
3 Antigen Antibody B Antibody C Antibody A
6
4
2
1.5
1 2
0
0.5
0
500
1000
0
1500
0
500
1000
Time
(a)
1500
Time
Substance concentration.
(b)
Substance family concentration.
3.5
3 Antigens Antibodies Antigen+Antibody Complex
Number of substances
2.5
2
1.5
1
0.5
0 1
2
3
4
5
6
7
8
Time
(c) Figure 4.2
Substance family diversity.
Simulation of antigen-antibody dynamics.
merging pattern which conrms the presence of more antibody C (darker green) and Antigen+Antibody Complex (blue), less antibody A and B (lighter greens), partly used in the merging reactions, and no antigen (red), fully used in the merging reactions. Figures 4.2a and 4.2b show the evolution of substance and family concentration during the simulation run. Analysis of g. 4.2a conrms that antibody C never reacts with other substances, while antigen and antibodies A and B are consumed in the merging reactions; from the moment all antigen is consumed, concentration of antibody A and B remains constant. Fig. 4.2b displays concentration levels by family, corroborating the fact that while antigen and antibodies are being consumed in merging reactions, new substances of Antigen+Antibody Com-
56
Simulations and Results
plex family are produced by such reactions. Finally, in 4.2c it is possible to conclude that two new substances are created when original substances meet at simulation tick six.
4.1.2 Role of antibody in phagocytic action The antibody plays many roles in humoral immunity, depending primarily of its isotype class.
One of the roles of the IgG class antibody consists of
microbe opsonization, which helps the phagocytic activity of macrophages
1
[1, 65]. The goal of the present experiment is to perform verication of this antibody property within the context of the proposed model. Although other microbicidal qualities of antibody are taken into account in the overall model, they are not considered in this experiment, isolating the role of opsonization. In order to assert the importance of antibody in the paghocytic action of macrophages (which are represented as APCs in the model described in B.1.1), two scenarios were setup: one with a constant source of high anity antibodies, the other deprived of such source. It is considered that plasma B cells are the implicit antibody source, and as such, a B cell response is assumed in the rst case. In both scenarios there is a source of IFN-γ , having Th cells as its implicit producer.
This cytokine helps APCs kill ingested
microorganisms, and is only present when Th cells mount the appropriate response, which is assumed in both cases. A quantity of 25 bacteria agents is inserted in the environment at tick 500; performance of each simulation run is measured by the number of simulation ticks required to remove all bacteria from the environment. Ten runs were performed for each scenario.
Table 4.3 provides relevant statistics of the
experiment, giving a global view of the dierences between both simulation settings. As expected, when antibody is present, bacteria are in average removed
1 The IgG class antibody also performs eector functions such as neutralization of microbes and toxins, activation of the classical pathway of complement, NK cell mediated antibody-dependent cellular cytotoxicity, neonatal immunity and feedback inhibition of B cell activation; IgM, IgA, IgE and IgD are other classes of antibody which also provide additional functionality[1].
4.1 Antibody simulations Table 4.3
ination.
57
Statistics regarding number of simulation ticks for bacteria elim-
Presence of antibody Measure
Yes
No
Average
189.70
274.60
Std. Dev.
46.27
137.00
Min.
113.00
138.00
Max.
277.00
563.00
faster (189.7 ticks with the presence of antibody, 274.6 without). However, with a standard deviation of 137.0 ticks, it becomes dicult to predict the outcome of the simulation when antibody is not present. To further enlighten this fact, the minimum value is very close in both situations, with a dierence of only 25 ticks, compared with an average dierence of 84.9 ticks.
The
maximum value, which corresponds to the worst case scenario, eectively dierentiates the performance of both simulation settings, with the possibility of very long healing periods in the absence of an adequate antibody response.
Figures 4.3 and 4.4 show the bacterial progression and immune response, with the 10 runs overlapped in each scenario.
When antibody is present,
it rapidly opsonizes the bacteria; consequently, APCs recognize the invaders much faster (g. 4.3b vs. g. 4.4b), causing an immediate and steep reduction in the bacterial count (g. 4.3a vs.g. 4.4a).
Similar experiments could be performed by creating a scenario where APCs are deprived of IFN-γ , and comparing it with the case where IFN-γ is present. A yet more detailed simulation would consist of four scenarios, as described in table 4.4. However, these experiments merely demonstrate particular aspects of the proposed model, and as such, the following sections focus on its global behavior.
58
Simulations and Results
30
25 Bacteria
20
20
Number of agents
Number of agents
25
15
10
15
10
5
5
Activated Processing 0
0
500
1000
0
1500
0
500
Ticks
(a)
1000
1500
Ticks
Bacterial challenge.
(b)
700
APC response.
1800 Interleukin−2 Interleukin−12 Interferon−Gamma
600
Antigen Antibody Antigen+Antibody Complex
1600 1400
500 Concentration
Concentration
1200 400
300
1000 800 600
200 400 100
0
200
0
500
1000
1500
0
0
500
Ticks
(c)
Cytokine concentrations.
Figure 4.3
1000
1500
Ticks
Antigen, antibody and antigenantibody complex concentrations. (d)
Response to bacterial challenge with the presence of antibody.
Table 4.4
A possible demonstration experiment with four scenarios. Scenario
Antibody source
IFN-γ source
1
Yes
Yes
2
Yes
No
3
No
Yes
4
No
No
4.1 Antibody simulations
59
25
30 Activated Processing
Bacteria 25
Number of agents
Number of agents
20
15
10
5
0
20
15
10
5
0
500
1000
0
1500
0
500
Ticks
(a)
1000
1500
Ticks
Bacterial challenge.
(b)
800
APC response.
2500 Interleukin−2 Interleukin−12 Interferon−Gamma
700
Antigen Antobody Antigen+Antibody Complex 2000
500
Concentration
Concentration
600
400 300
1500
1000
200 500 100 0
0
500
1000
1500
0
0
Ticks
(c)
Cytokine concentrations.
Figure 4.4
500
1000
1500
Ticks
Antigen concentration (no antibody and antigen-antibody complex are produced). (d)
Response to bacterial challenge without the presence of antibody.
60
Simulations and Results
4.2 Humoral immune response 4.2.1 Immune memory The establishment of memory against previous infections is one of the most important characteristics of the adaptive immune system. This property is responsible for enhanced immune responses to recurrent infections [1].
As
such, the following experiment intends to validate the humoral part of the model proposed in B.1 regarding this particular feature of the immune system. Bacteria are inserted for the rst time in the simulation environment at tick 95 (g. 4.5a). The immune response ensues, with the rst APCs performing phagocytosis at tick 96 (g.
4.5c).
APCs go into the processing
state, unable to ingest any more bacteria, but releasing IL-12 cytokine (g. 4.6a). At this time, the APCs also start displaying MHC Class II + antigen complex. Specic Th cells become activated due to a) recognition of the antigen processed by the APCs, and b) IL-12 signaling. These activated Th cells release IL-2, which induces self-proliferation (autocrine function) and proliferation of B cells (paracrine function), a process called clonal expansion (i.e., the multiplication of cells specic for the invader). Th cells continue to proliferate, and become eector cells, i.e., cells which produce IFN-γ (g. 4.5b). This cytokine will in turn help the APCs digest the phagocyted bacteria, as can be observed in g. 4.5c: at tick 115, APCs begin to receive the inuence of IFN-γ (g. 4.6a), becoming available to continue the ght. Antigen specic B cells also take part in the initial activation of Th cells, as they also express MHC Class II + antigen complex, after engulng soluble antigen. However, they only become activated after IL-2 signaling. Some of the activated B cells become antibody producing plasma cells, while others will go
2
into somatic hypermutation state and others become memory
(g. 4.5d).
The model antibodies produced by plasma cells act in two fronts by a) opsonizing the bacteria, helping APCs perform phagocytosis (section 4.1.2),
2 Memory B and Th cells are disproportionate to the number of naive cells; in the case of B cells memory, creation also starts too early, as it should only occur at the end of the immune response. These issues are gradually resolved in the remaining sections.
4.2 Humoral immune response
61
Activated Effector Memory Naive
6000
Generic Bacteria
45 40
5000
Number of agents
Number of agents
35 30 25 20
4000
3000
2000
15 10
1000 5 0 0
100
200
(a)
300
400
500 Time
600
700
800
0
900
0
100
200
Number of bacteria.
(b)
300
400
500 Time
600
700
800
900
Number of Th cells.
5
10 Activated Processing
20
Activated Memory Naive Plasma Somatic hypermutation
4
15
Number of agents
Number of agents
10
10
5
0 0
3
10
2
10
1
10
0
100
200
(c)
300
400
500 Time
600
700
800
Number of APC cells.
Figure 4.5
900
10
0
100
200
(d)
300
400 500 Time
600
700
800
900
Number of B cells.
Agent dynamics during the establishment of immune memory.
and b) directly neutralizing bacteria when concentration is high enough. B cells in somatic hypermutation undergo a process called anity maturation, in which only high anity clones are able to survive; the surviving clones then become super specialized activated, plasma and memory cells. When the concerted response is in place, bacteria starts to be removed from the environment, lasting 51 ticks from initial insertion to full neutralization. When all bacteria are eliminated, the immune response must is hampered by the negative feedback rules in the agents, as described in B. All traces of the rst bacterial challenge, except for the long-lived memory cells, are cleared by tick 500 (gs. 4.5 and 4.6). At tick 533, a new dose of bacteria is introduced in the simulation environment (g. 4.5a), and it is immediately
62
Simulations and Results
4
x 10
4500
3.5 Interleukin−2 0 Interleukin−12 0 Interferon−Gamma 0
3
Antigens Antibodies Antigen+Antibody Complex
4000 3500
2.5 Concentration
Concentration
3000 2
1.5
2500 2000 1500
1 1000 0.5
0
500
0
100
200
300
400
500 Time
600
700
800
(a)
Substance concentration.
900
0
0
(b)
100
200
300
400
500 Time
600
700
800
900
Substance concentration by family.
60 Antigens Antibodies Antigen+Antibody Complex
Number of substances
50
40
30
20
10
0
0
100
(c)
200
400
500 Time
600
700
800
900
Substance family diversity.
Figure 4.6
ory.
300
Primary and secondary antibody response in literature. Published in page 126 of [1], Copyright Saunders Elsevier (2004). Used with permission. (d)
Substance dynamics during the establishment of immune mem-
4.2 Humoral immune response
63
possible to observe that they resist far less when compared to the primary attack, surviving 18 ticks. The secondary response was much faster, with a very short delay between antigen deployment and antibody production, as can be observed in g. 4.6b. Figs. 4.5b and 4.5d also show that the number of lymphocyte eectors was higher; consequently, the production of IFN-γ (g.
4.6a) and antibodies (g.
4.6b) was also higher.
By comparing this
last gure with a literature description of primary and secondary antibody response (g. 4.6d), it is possible to conclude that the LAIS framework in general and the proposed model in particular, are valid approaches for the simulation of the immune system.
Moreover, an empirical observation of
both gures, reveals that 10 simulation ticks correspond to approximately 1 day.
4.2.2 Specicity and specialization Like memory, specicity and specialization are two important properties of the adaptive immune system. Specicity is the ability to recognize and respond to a variety of microorganisms, while specialization refers to the fact that responses for distinct microbes are optimized for defense against these microbes [1]. This experiment aims to demonstrate these two characteristics. In order to verify specicity and specialization in the model, two types of bacteria, A and B, are introduced at simulation ticks 50 and 800, respectively (g. 4.7e). The bacteria are distinguished only by their antigen. The response to the rst challenge leads to the creation of specic memory against bacteria A (g. 4.7a and 4.7b). When the secondary challenge occurs, there is no evident improvement in the quality of the secondary response (gs. 4.7a to 4.7d), with bacteria B surviving slightly longer (g. 4.7e). This occurs because memory cells created during the rst challenge are specic for bacteria A, not recognizing bacteria B during the secondary response. Comparing the antibody response (g. 4.7d) with results from literature (g.
4.7f), it is possible to conclude that the model yields the expected
results.
64
Simulations and Results 300 Activated Effector Memory Naive
4000 3500
Number of agents
Number of agents
3000 2500 2000 1500
Activated Memory Naive Plasma Somatic hypermutation
250
200
150
100
1000 50 500 0
0
200
400
(a)
600
800 Time
1000
1200
1400
0
1600
0
200
Number of Th cells.
400
(b)
600
800 Time
1000
1200
1400
1600
1400
1600
Number of B cells.
4
x 10
3500
Interleukin−2 Interleukin−12 Interferon−Gamma
2.5
3000
2500 Concentration
2 Concentration
Antigens Antibodies Antigen+Antibody Complex
1.5
2000
1500
1 1000 0.5
0
500
0
200
(c)
400
600
800 Time
1000
1200
1400
1600
Substance concentration.
0
0
(d)
200
400
600
800 Time
1000
1200
Substance concentration by family.
Bacteria A Bacteria B 25
Number of agents
20
15
10
5
0
0
200
400
(e)
800 Time
1000
1200
Number of bacteria.
Figure 4.7
teria B.
600
1400
1600
Specicity of immune memory in literature. Published in page 6 of [1], Copyright Saunders Elsevier (2004). Used with permission. (f )
Specic memory created for bacteria A does not recognize bac-
4.2 Humoral immune response
65
4.2.3 A vaccine model Vaccination uses the memory property of the immune system to achieve a state of immunization against a given pathogen.
There are several types
of vaccine, such as the use of killed organisms, live attenuated organisms
3
or subunit vaccines , depending on the characteristics of the microorganism [65].
Nonetheless, many microbes have strategies to evade even the most
advanced vaccines; thus, research on prophylaxis is a continuous eort to keep pace with a multitude of ever-evolving threats, and at the same time avoid problematic secondary eects. The rst stages of vaccine testing constitute a perfect opportunity for the use of simulators, which can provide preliminary indications on the eectiveness and safety of new drugs. The use of killed organisms as a vaccine is one of the most common, although with limited eectiveness [65]. In this experiment, a virtual vaccine based on dead (non-replicating) bacteria is used to immunize the host, and its eectiveness measured (g. 4.8). The vaccine, compose of 50 non-replicating bacteria, is introduced at tick
4
50 (g. 4.8b ). The immune response is eventually mounted, accelerating the removal of vaccine from the system, creating memory cells in the process. At tick 500, 25 units of live replicating bacteria are deployed in the simulation environment (g.
4.8b).
The IS recognizes the invader and the response
is almost immediate when compared with the initial injection of vaccine (gs.
4.8c to 4.8f).
The immune response removes the bacteria without
diculty, asserting the eect of vaccination using dead microorganisms in the presented model.
3 Subunit vaccines seek to incorporate only those antigens which are related with protective immunity, which may be dicult to isolate; this avoids secondary eects caused by antigens which are irrelevant for inducing protection [65]. 4 In this gure the number does not reach 50 due to the simulation mechanism: rst the vaccine is deployed, then cells perform their steps (some vaccine disappears), and only then are the outputs updated.
66
Simulations and Results
50
Activated Processing
25
40 Number of agents
20 Number of agents
Bacteria Vaccine
45
15
10
35 30 25 20 15 10
5
5 0
0
100
200
(a)
300
400
500 Ticks
600
700
800
900
0 0
1000
100
Number of APC cells.
4000
(b)
300
400
500 Ticks
600
700
800
1000
Antigens Antibodies
1600
Antigen+ Antibody Complex
1400
3000 1200 Concentration
Number of agents
900
Number of bacteria.
1800
Activated Effector Memory Naive
3500
200
2500 2000
1000
1500
600
1000
400
500 0 0
800
200
100
200
(c)
300
400
500 Ticks
600
700
800
900
0
1000
Number of Th cells.
0
(d)
100
200
300
400
500 Ticks
600
700
800
900
1000
Substance concentration by family. 4
x 10 Activated Memory Naive Plasma Somatic hypermutation
160 140
2
Concentration
Number of agents
120 100 80
Interleukin−2 0 Interleukin−12 0 Interferon−Gamma 0
1.5
1
60 40
0.5
20 0
0
100
200
(e) Figure 4.8
munization.
300
400
500 Ticks
600
700
800
Number of B cells.
900
1000
0 0
100
(f )
200
300
400
500 Ticks
600
700
800
900
1000
Substance concentration.
Vaccine composed of attenuated bacteria causes a state of im-
4.3 Cell-mediated immunity and the Inuenza virus
67
Inuenza antigens bit string and anity with sialic acid; only the 16 less signicant bits are relevant for this anity; bits 16 to 31 (in italic) are used to determine anity with TCR when antigen is complexed with MHC; bits are presented in hexadecimal for simplication. Table 4.5
Antigen HA1 HA2 NA1 NA2
Bit string
0707 1616 2D2D 3C3C
7B21h 0622h 1B2Dh 0BDDh
Anity
0.8125 0.3125 0.8125 0.5000
4.3 Cell-mediated immunity and the Inuenza virus Tc and epithelial cells constitute two new types of host agents required to perform CMI simulations with inuenza A challenge.
The intervention of
Tc cells, whose main function is to eliminate infected host cells, is of major importance in CMI, while epithelial cells are the preferred target of inuenza infections.
4.3.1 Inuenza subtypes and antigenic drift The balance of sialic acid anity between HA and NA antigens is of major importance for ecient virus replication [72].
In this experiment, four
simulations are performed, each with the deployment of one inuenza subtype at ticks 50 and 500.
Each subtype has a dierent set of supercial
antigens, with specic anities for sialic acid (the supercial receptor of epithelial cells). Table 4.5 shows the dierent antigens bit string and anity with sialic acid (whose bit string is
04D2h), prior to mutation.
These anity
values are merely demonstrative, and do not correlate with sialic acid anity of real HA and NA types. The four antigens presented in table 4.5 allow to experiment with four inuenza subtypes:
H1N1, H1N2, H2N1 and H2N2.
correlate with the real subtypes.
Again, these do not
68
Simulations and Results
Analysis of results The H1N1 subtype has high anity HA and NA, meaning it can rapidly infect cells (due to HA), and proliferate in larger quantities (due to NA). In principle, this should be the most lethal strain. However, that is not the case. Its rapid proliferation, killing and infecting epithelial cells too fast (gs. 4.10a and 4.10b), limits its own expansion; the sudden high number of extracellular virions draws the attention of humoral mechanisms; the presence of a large number of locally infected cells provokes a strong Th cell reaction, g. 4.9b, due to B cell and APC antigen presentation; this leads to the production of IFN-γ (limiting the spread of the infection) and the activation of Tc cells; these destroy locally infected epithelials, putting a denitive stop to the viral infection (g. 4.9a). In its rst strike, the H1N1 strain lasted approximately 215 ticks (g.
4.10a), with a maximum of 80 simultaneous
epithelial infections (g. 4.10b). The H1N2 and H2N1 strains proved to be more infectious, lasting about 275 ticks in their rst strike (gs. 4.10d and 4.10g, respectively). H1N2 can infect cells quickly (high anity HA), but the number of released virions is low (low anity NA), resulting in a maximum of less than 20 virions simultaneously present in the extracellular milieu (g. 4.10d); however, a maximum of 80 simultaneous epithelial infections indicates this is not an handicap, on the contrary, the low virus titer allows it to remain concealed from humoral mechanisms, with barely detectable Th and B cell responses (gs. 4.9e and 4.9f, respectively). As a consequence, little humoral memory was created. In the second strike, the strain provokes a state of chronic illness lasting a record value of 390 ticks, the highest value of all eight infections (four primary, four secondary), with virus titer never reaching the 30 unit mark (g. 4.10d). On the other hand, the maximum viral titer in the primary H2N1 infection is of 46 units (the highest of all eight infections), but correspondently provokes the most powerful humoral response (gs. 4.9h and 4.9i); the immune memory created quickly eliminated the strain during the second strike, lasting no more than 130 ticks. The H2N2 strain, with low anity HA and NA, proved to be the least
4.3 Cell-mediated immunity and the Inuenza virus
69
resistant (g. 4.10j) and the least infectious (g. 4.10k).
Balance between HA and NA antigens This experiment demonstrated the ne balance between HA and NA antigens and their importance in a successful infection. A high anity HA antigen seems to be more important for kick starting the infection, while NA functions like a throttle, determining the number of released virions. As observed in the simulations, high anity NA is probably not an optimum companion for high anity HA. More testing is required in order to better explore HANA balance, and its exact eect on the success of an infection. Such a study must take into account that inuenza strains may have other infectivity parameters, and that antigenic drift causes noise which can dicult the analysis of results. In this last case, the solution is to perform a greater number of tests for the same parameters, in order to obtain more statistically signicant results.
Eects of antigenic drift in immune response, immune memory and antibody eectiveness Antigenic drift can be asserted indirectly in gs.
4.11c, 4.11f, 4.11i and
4.11l, by observing the number of dierent antigens present in the simulation environment. Notice that the IS tries to respond with the production of an even larger diversity of antibody, in a reaction to the stimulus from the many dierent antigens. In all cases, except for H1N2, immune memory was acquired against the invading strain. However, the eectiveness of memory is reduced when compared to the non-mutating bacteria presented in section 4.2. In gs. 4.6b, 4.7d and 4.8d, it is possible to observe a relatively high degree of antigenantibody complex; this occurs because B cells are stimulated by a single antigen, resulting in plasma cells which produce high anity antibody; this antibody binds large quantities of antigen, resulting in also large quantities of antigen-antibody complex. In the current case, gs. 4.11b, 4.11e, 4.11h and 4.11k show that very small quantities of antigen-antibody complex are
70
Simulations and Results
5
10
3000 Activated Effector Memory Naive
Number of agents
Number of agents
2500
3
10
2
10
2000
1500
1000
1
10
0
100
200
(a)
300
400
500 Ticks
600
700
800
900
0
1000
0
H1N1: Tc response.
4
200
300
400
500 Ticks
600
700
800
900
0
1000
180
140 Number of agents
2000
1500
300
400
500 Ticks
600
700
800
900
1000
H1N1: B response.
120 100 80 60
1
40
10
500 0
0
200
(d)
400
600 Ticks
800
1000
0
1200
20
0
H1N2: Tc response.
200
(e)
400
600 Ticks
800
1000
0
1200
3
2
10
3500
1
3000
600 Ticks
800
1000
1200
H1N2: B response.
2500 2000 1500
Activated Memory Naive Plasma Somatic hyperm.
200
1000
10
400
250 Activated Effector Memory Naive
4000
Number of agents
10
200
(f )
Number of agents
10
0
H1N2: Th response.
4500 Activated Effector Memory Naive
4
Number of agents
200
Activated Memory Naive Plasma Somatic hypermutation
160
1000
10
100
(c)
Activated Effector Memory Naive
3000
Number of agents
Number of agents
2
10
0
H1N1: Th response.
2500 3
10
100
3500
Activated Effector Memory Naive
10
100
(b)
5
10
150
50
500
0
10
Activated Memory Naive Plasma Somatic hypermutation
200
Number of agents
4
10
250 Activated Effector Memory Naive
150
100
50
500 0
10
0
100
(g)
200
300
400
500 Ticks
600
700
800
900
0
1000
0
H2N1: Tc response.
100
(h)
5
10
200
300
400
500 Ticks
600
700
800
900
0
1000
0
H2N1: Th response.
100
(i)
300
400
500 Ticks
600
700
800
900
1000
H2N1: B response.
3500 Activated Effector Memory Naive
4
10
Activated Effector Memory Naive
3000
Activated Memory Naive Plasma Somatic hypermutation
200
3
10
2
10
Number of agents
Number of agents
2500 Number of agents
200
2000
1500
150
100
1000 50
1
10
500 0
10
0
100
(j)
200
300
400
500 Ticks
600
700
800
900
H2N2: Tc response.
Figure 4.9
1000
0
0
100
(k)
200
300
400
500 Ticks
600
700
800
900
H2N2: Th response.
1000
0 0
100
(l)
200
300
400
500 Ticks
600
700
800
900
H2N2: B response.
Tc, Th and B cell response to four dierent Inuenza subtypes.
1000
4.3 Cell-mediated immunity and the Inuenza virus
200
200 Epithelial Influenza A
180
40 Healthy Infected
180
160
160
140
140
71
Activated Processing
35
120 100 80
Number of agents
Number of agents
Number of agents
30
120 100 80
60
60
40
40
20
20
0
0
25 20 15 10
100
(a)
200
300
400
500 Ticks
600
700
800
900
1000
H1N1: Flu + ep. cells.
200
300
400
500 Ticks
600
700
800
900
0
1000
H1N1: Epithelial cells.
140 Number of agents
160
140 120 100 80
100 80 60
40
40
20
20
0
200
400
600 Ticks
800
1000
0
1200
H1N2: Flu + ep. cells.
(d)
400
500 Ticks
600
700
800
900
1000
H1N1: APC response. Activated Processing
40
30 25 20 15
5
0
200
400
600 Ticks
800
1000
0
1200
H1N2: Epithelial cells.
160
140
140
200
400
600 Ticks
800
1000
1200
H1N2: APC response.
40 Healthy Infected
180
160
0
(f )
200 Epithelial Influenza A
180
300
10
(e)
200
200
35
120
60
100
45 Healthy Infected
180
160
0
(c)
200 Epithelial Influenza A
180
0
100
(b)
200
Number of agents
0
Number of agents
0
5
Activated Processing
35
120 100 80
Number of agents
Number of agents
Number of agents
30
120 100 80
60
60
40
40
20
20
0
0
25 20 15 10
0
100
(g)
200
300
400
500 Ticks
600
700
800
900
1000
H2N1: Flu + ep. cells.
5
0
100
(h)
200
200
180
180
200
300
400
500 Ticks
600
700
800
900
0
1000
H2N1: Epithelial cells.
0
100
(i)
120 100 80
100 80 60
40
40
500 Ticks
600
700
800
900
1000
Activated Processing
30
120
60
400
35
Number of agents
140 Number of agents
Number of agents
160
140
300
H2N1: APC response.
40
160
200
25 20 15 10
Epithelial Influenza A
20 0
0
100
(j)
200
300
400
500 Ticks
600
700
800
900
1000
H2N2: Flu + ep. cells.
Healthy Infected
20 0
0
100
(k)
200
300
400
500 Ticks
600
700
800
900
1000
H2N2: Epithelial cells.
5 0
0
100
(l)
200
300
400
500 Ticks
600
700
900
1000
H2N2: APC response.
Evolution of four dierent Inuenza subtypes, epithelial cell impact and APC response. Figure 4.10
800
72
Simulations and Results 4
x 10
3000 Interleukin−2 Interleukin−12 Interferon−Gamma
2
Antigens Antibodies Antigen+Antibody Complex
2500
Antigen+Antibody Complex Antibodies Antigens
350
Number of substances
300
Concentration
Concentration
2000 1.5
1
1500
1000
250 200 150 100
0.5 500 50 0
0
100
200
(a)
300
400
500 Ticks
600
700
800
900
0
1000
0
H1N1: Sub. con.
100
200
300
400
500 Ticks
600
700
800
900
0
1000
0
H1N1: Fam. con.
(b)
100
200
300
400
500 Ticks
600
700
800
900
1000
H1N1: Fam. div.
(c)
4
x 10
200 Interleukin−2 Interleukin−12 Interferon−Gamma
1.6 1.4 1.2 1 0.8
160
1000
0.6 500
0.4
140 120 100 80 60 40
0.2 0
Antigen+Antibody Complex Antibodies Antigens
180
1500 Concentration
Concentration
Antigens Antibodies Antigen+Antibody Complex
2000
Number of substances
2 1.8
20
0
200
(d)
400
600 Ticks
800
1000
0
1200
0
H1N2: Sub. con.
200
(e)
400
600 Ticks
800
1000
0
1200
0
H1N2: Fam. con.
200
400
600 Ticks
800
1000
1200
H1N2: Fam. div.
(f )
4
x 10
Interleukin−2 Interleukin−12 Interferon−Gamma
3
2500
2000 Concentration
Concentration
2.5
2
1.5
Antigens Antibodies Antigen+ Antibody Complex
350
Antigen+Antibody Complex Antibodies Antigens
300
Number of substances
3.5
1500
1000 1
250
200
150
100 500
0.5
0
50
0
100
200
(g)
300
400
500 Ticks
600
700
800
900
0
1000
0
H2N1: Sub. con.
100
200
(h)
300
400
500 Ticks
600
700
800
900
0 0
1000
H2N1: Fam. con.
100
200
(i)
300
400
500 Ticks
600
700
800
900
1000
900
1000
H2N1: Fam. div.
4
x 10
1.6
1600
1.4
1400
1.2 1 0.8
400
0.2
200 200
(j)
300
400
500 Ticks
600
700
800
H2N2: Sub. con.
900
1000
0 0
Antigen+Antibody Complex Antibodies Antigens
140
800
0.4
100
160
1000
600
0
180
1200
0.6
0
Antigens Antibodies Antigen+Antibody Complex
1800
Concentration
Concentration
2000
Interleukin−2 Interleukin−12 Interferon−Gamma
1.8
Number of substances
2
120 100 80 60 40 20
100
200
(k)
300
400
500 Ticks
600
700
800
900
H2N2: Fam. con.
1000
0
0
100
200
(l)
300
400
500 Ticks
600
700
H2N2: Fam. div.
Substance and family evolution during two challenges from four dierent Inuenza subtypes. Figure 4.11
800
4.3 Cell-mediated immunity and the Inuenza virus
73
produced. This happens due to antigenic drift; each newly created inuenza virion can be dierent from its precursor, deploying dierent types of antigen, not yet known to the latest versions of antibody.
Role of Tc cells As described in literature, the average number of Tc cells during an immune response is one order of magnitude above the number of Th cells [1], as can be observed in gs. 4.9a, 4.9d, 4.9g, 4.9j, 4.9b, 4.9e, 4.9h and 4.9k. Sudden drops in infected epithelial numbers, visible in gs. 4.10b, 4.10e, 4.10h and 4.10k, happen practically at the same time when eector Tc cells begin to be massively produced, thus demonstrating their cytotoxic function.
4.3.2 Antigenic shift Antigenic shift is a major antigenic change which occurs at irregular intervals, being the main responsible for inuenza pandemics. In the inuenza virus family, only inuenza A is susceptible to this event. Antigenic shift can lead to the evolution of new human inuenza A virus through the acquisition of a new HA gene encoding a dierent subtype from an avian inuenza, or by the adaptation of an avian virus, causing it to become transmissible between humans [37]. In this experiment we infect the host with two dierent inuenza strains, H1N2 and H2N1, which were studied separately in the previous subsection. The goal is to verify the occurrence of antigenic shift, and if it leads to the creation of a more infectious subtype. At tick 50, 25 units of H1N2 and 25 units of H2N1 are deployed in the simulation environment. Contrary to what was veried in the previous subsection, H2N1 seems to adapt better in a competitive situation; as can be veried in g. 4.12e, H2N1 virion titer is constantly superior to that of H1N2. The appearance of H1N1 subtype conrms the existence of antigenic shift; at tick 175, the emergent H1N1 subtype experiences a fast rise, surpassing the impact of the H1N2 subtype, which never really takes o, as opposed to what was observed in the previous experience.
However, the emergent
74
Simulations and Results
H1N1 subtype does not become more infectious than the original H1N2, which becomes the IS main adversary. The overall infection was eliminated in 250 ticks, slightly faster than what was veried in some of the previous cases. The higher number of initially inserted virions would suggest that this combination is weaker than the insertion of isolated strains; however, the elevated number of viral titter may also have conducted to a faster humoral response, accelerating the removal of infection; this is conrmed by gs. 4.12b and 4.12c, which indicate a 100 tick interval between virion insertion and beginning of humoral response, while in the previous cases this value was closer to 150 ticks (gs. 4.9b, 4.9c, 4.9h and 4.9i). The H2N1 original strain reached a maximum value of 65 units of circulating virion, g. 4.12e, higher than any of the previous cases.
From ticks 150 to 190, there were
more infected epithelials than healthy ones (g.
4.12f), a situation which
never occurred while the subtypes were studied isolated. When the B cell response takes place, it is possible to observe that cells undergoing somatic hypermutation don't often become plasma cells (g. 4.12c); in fact, plasma cell number barely surpasses half the number of cells in somatic hypermutation, conrming the diculty in keeping pace with continuously mutating and recombining antigens. This is further veried in gs. 4.13b and 4.13c, showing elevated antigen diversity (the highest in all inuenza simulations) and very low production of antigen + antibody complex, in spite of the variety of produced antibodies. Several Tc cells become activated at tick 75 (g. 4.12a) due to recognition of MHC Class I + antigen complex presented by epithelial cells; however, they lack the ability of becoming eector without the help of Th cells, which only occurs from tick 150 onward, when the humoral response takes place.
At
this stage, IFN-γ kicks in (g. 4.13a), slowing the spread of infection; a few eector Tc cells also begin to eliminate infected epithelials. At tick 200, a spike in Tc clonal expansion and eector production (g. 4.12a) results in the rapid extermination of infected cells (g. 4.12f); when the remaining virion infect healthy cells, the massive quantity of Tc eector clones immediately eliminates such cells, severely limiting the replication capabilities of the virus. After the infection is fully removed and IFN-γ dissipated, epithelials begin
4.3 Cell-mediated immunity and the Inuenza virus
75
to populate epithelial free spaces. This experiment allowed the observation of antigenic shift; however the appearance of a killer strain was not veried. To further study this event, more subtypes should be taken into account and other infectivity parameters, such as virion extracellular survival time, should be considered. Given the unpredictable outcome of each simulation and considering the complexity of simultaneous antigenic drift and shift, each set of parameters should be tested a sucient number of times in order to be adequately explored using statistical analysis. Nonetheless, the performed simulations, while not studied from a statistical point of view, show great potential for further investigation.
76
Simulations and Results
5
10
Activated Effector Memory Naive
4
2000
Number of agents
Number of agents
10
3
10
2
10
1500
1000
1
500
10
0
10
Activated Effector Memory Naive
0
50
100
150
(a)
200
250 Ticks
300
350
400
450
0
500
0
50
Tc cell response.
100
150
(b)
200
250 Ticks
300
350
400
450
500
400
450
500
Th cell response.
35 Activated Memory Naive Plasma Somatic hypermutation
180 160
25 Number of agents
Number of agents
140 120 100 80
Activated Processing
30
60
20
15
10
40 5 20 0
0
50
100
150
(c)
200
250 Ticks
300
350
400
450
0
500
0
50
B cell response.
100
(d)
150
200
250 Ticks
300
350
APC cell response.
200 60
HA1NA1 HA1NA2 HA2NA1 HA2NA2
160
50
140 Number of agents
Number of agents
Healthy Infected
180
40
30
120 100 80 60
20
40 10 20 0 0
50
100
150
200
250
300
350
0
0
50
Ticks
(e)
Evolution of Inuenza subtypes.
(f )
100
150
200
250 Ticks
300
350
400
450
500
Evolution of epithelial cells.
Antigenic shift simulation: immune response and evolution of epithelial cells and Inuenza.
Figure 4.12
4.3 Cell-mediated immunity and the Inuenza virus
77
18000 Interleukin−2 Interleukin−12 Interferon−Gamma
16000
Antigens Antibodies Antigen+Antibody Complex
1600 1400
14000 1200 Concentration
10000 8000
1000 800 600
6000 4000
400
2000
200
0
0
50
(a)
100
150
200
250 Ticks
300
350
400
450
0 0
500
Substance concentration.
(b)
50
100
150
200
250 Ticks
300
350
400
450
500
Substance family concentrations.
Antigen+Antibody Complex Antibodies Antigens
160 140 Number of substances
Concentration
12000
120 100 80 60 40 20 0
0
50
(c) Figure 4.13
evolution.
100
150
200
250 Ticks
300
350
400
450
500
Substance family diversity.
Antigenic shift simulation: substance and substance family
Chapter 5 Conclusions and Future Work
The goals proposed for this stage of the LAIS project have been achieved, both from framework functionally and produced results points of view. Regarding framework functionality, the use of Repast accelerated the development of the LAIS platform, solving recurrent programming problems which existed since the development of SimulIm [26]. From this experience, it is possible to conclude that the development of specic simulation software from scratch can be ineective.
The Java platform, the object-oriented
paradigm and design patterns, the multitude of open source libraries available, all contribute to facilitates software development and help programmers or researchers to avoid continuous reinventions of the wheel; it is a matter of picking the right tried and tested blocks and produce the desired software in a rapid, safe and extensible fashion. Repast itself is a good example, using more than a dozen of open source third-party libraries.
LAIS on its turn
uses three libraries as its solid foundations, keeping the end goal in sight: to create a simulation platform for biological systems in general, and the IS in particular. There are of course exceptions, in which the required software is so specic that it must be developed in an explicit form, rendering the use of third-party libraries unattractive. Globally, framework objectives for LAIS were accomplished; the software provides a modular, accessible and exible modeling approach with useful tools within a multithreaded environment. In spite of some limitations described in section 3.3, the LAIS framework has
80
Conclusions and Future Work
space to grow. Future developments or features may include:
•
Optimization of routines in the simulation engine.
•
Development of a GUI for XML editing and simulation le selection.
•
Improve multithreading capabilities, which become negligible for very small simulations.
•
Implement an eective computational distribution system using libraries
1
such as Terracotta
2
or Cajo .
The results produced were also within our initial expectations. The developed models were validated by humoral immunity simulations, such as immune memory, specicity and specialization, which yielded results qualitatively consistent with reality. Novel models of CMI regarding inuenza A infections were also developed and successfully tested, providing the major contribution of this thesis.
However, these results were not explored from
a statistical point of view, and require a more thorough and detailed analysis. Also, much more information can also be added to the model, such as the consideration of NK cells or Mast cells, division of the generic APC into proper macrophage and several types of dendritic cell, less restrictive rules for molecular interactions, allowing emergent self tolerance and autoimmunity behaviors, which in turn would require a proper lymphocyte selection process.
Other additions to the model are the consideration of many sec-
ondary stimulation signals not taken into account (allowing the introduction of adjuvants in vaccine simulations), the separation of the Th cell into Th1 and Th2 subfamilies, eective division of IS zones of action (lymph nodes, tissue, blood, lymph, etc.), consideration of complement pathways, among many others. Some of these features are present in the models discussed in chapter 2, but no model presents them simultaneously. However, the most important step will be the practical use of these models within a medical relevant context, such as the rst stages of drug testing. That is the denitive validation of the platform and the developed models.
1 http://www.terracotta.org/ 2 https://cajo.dev.java.net/
As such, many
81 possibilities are open for the LAIS framework and the future development of the models and simulations presented.
Appendix A Agent Rules and Actions
A.1 Rules AgentRule abstract class. More specically, agent rules implement the evaluate(Agent, Cell, Object[]) method. This class maps a boolean XML attribute named complement, valid for all subclasses, Agent rules subclass the
which will be XORed with the nal rule decision.
AgeRule
This rule yields true in average for n =
DebugRule
halflife
iterations.
Test rule for debugging purposes. Prints a message in the stan-
dard output. The printed message can be passed to the actions.
InertialMovementRule
This rule determines movement, taking inertia into
account. The chosen direction will be passed to the actions.
RandomWalkRule
This rule determines a random direction for the agent. The
chosen direction will be passed to the actions.
SimpleAffinityRule
This rule yields true if the anity between two of the
substances referenced by the agent is higher than a given threshold. There are no requirements for substance to be present in either the local cell or the agent surface.
StateRule
This rule yields true if the agent is in a given state or states.
84
Agent Rules and Actions
StochasticRule
Simple rule which yields true with a given probability. If
it yields true, it also returns the random value (lower than the given probability).
SubConAffinInAgentRule
This rule checks for any substance in the surface
of other agents which has functional anity greater than a given value with a given substance in the current agent surface.
SubConAffinInCellRule
This rule checks for any substance on the local cell
which has functional anity greater than a given value with a given substance in the current agent surface.
SubConInAgentRule
This rule veries if there is a more of a given substance
concentration in the surface of other local agents.
SubConNeighMovRule
This rule allows the agent to move with greater proba-
bility to a neighbor cell that contains given substances (in immunology it is said that such substance is a chemokine for the agent).
SubConRule
This rule checks for the presence of a given substance in a sub-
stance container (either the cell where the agent is located in, or the agent itself ).
SubFamilyConInAgentRule
This rule checks for the presence of a given sub-
stance family on the surface of a nearby agent.
SubFamilyConRule
This rule checks for the presence of a given substance
family in the cell where the agent is situated.
SubstanceStringRule
This rule creates a new string or appends a substring
to an existing string, with the name of a referenced substance, if the reference is valid. If the reference is not valid, the rule will yield false. Useful rule for providing dynamic state names based on currently referenced substances.
A.2 Actions
85
A.2 Actions Agent
actions
implement
More
specically,
agent
the actions
AgentAction classes
implement
performAction(Agent agent, Cell cell, Object[] message) ApoptosisAction
interface. the
method.
This action makes the agent commit suicide (cell apopto-
sis).
ChangeStateAction
Changes a specied agent state type to a specied state
value.
CloneAction
This action clones the respective agent.
DebugAction
Test action for debugging purposes. Prints a message on the
standard output. Can also receive and print values from rules.
InsertGeneAction KillAction
Insert a gene in another agent genome.
Kill another agent in the same location.
ProdConsSubAction
This action adds or removes a determined amount of
the given substance from the current location or from the agent's surface.
ProduceAgentAction
This action makes the agent produce other agents (e.g.
an infected cell producing viruses).
SetSubRefAction
Sets a substance reference in the agent in question (de-
fault) or in a given agent.
WalkAction
The agent walks to a neighborhood given by the respective rule.
Appendix B
Models of the Immune System and its Adversaries
This appendix presents the models developed on the LAIS framework, in the context of immune system simulation.
The models are presented in a
schematic form, showing agent genes based on the available LAIS rules and actions (appendix A).
B.1 A model of the immune response The developed IS model mimics both humoral and cell-mediated immunity. The rst three models (subsections B.1.1 to B.1.3) constitute the basis of humoral immunity, while the last three models are exclusively used in CMI simulations (subsections B.1.4 to B.1.6).
88
Models of the Immune System and its Adversaries
B.1.1 APC cell
States Phase: resting, activated Genome StateRule(phase,activated) StochasticRule(0.005) StateRule(phase,processing) StochasticRule(0.01) InertialMovementRule() StochasticRule(1) SubFamilyConInCellRule(antigens,qty=0)
StateRule(phase,processing) StateRule(phase,processing) SubConInCell(IFN‐ γ,1) StateRule(phase,activated) SubConAffinInAgentRule(FcR) SubFamilyConInAgentRule(antigens,qty=0.001)
StateRule(phase,activated) StochasticRule(0.2) SubFamilyConInAgentRule(antigens,qty=1)
Life ApoptosisAction() ApoptosisAction() Movement MovementAction() Behavior ProdConsSubAction(“FcR”, 1, surface,10) SetSubRefAction(ag) ProdConSubAction(local,ag,‐2) ProdConSubAction(surface, “MHC2+AG”, conInCell) ProdConSubAction(local,IL‐12,2) ProdConSubAction(local,IL‐12,8) ChangeStateAction(phase,activated) SetSubRefAction(ag) KillAgentAction(respective agent) ChangeStateAction(phase,processing) ProdConSubAction(surface,”MHCII+AG”, conInAgent) ProdConSubAction(local,IL‐12,4) SetSubRefAction(ag) KillAgentAction(respective agent) ChangeStateAction(phase,processing) ProdConSubAction(surface, “MHCII+AG”, conInAgent) ProdConSubAction(local,IL‐12,4)
B.1 A model of the immune response
B.1.2 Th cell
States Phase: naive, activated, effector, memory Genome StateRule(phase,naive) StochasticRule(0.005) StateRule(phase,activated) StochasticRule(0.01) StateRule(phase,effector) StochasticRule(0.05) StateRule(phase,memory) StochasticRule(0.0005) InertialMovementRule() StochasticRule(0.5) StateRule(phase,naive) SubConAffinInAgentRule(“TCR.CD4”,0.7) SubConInCellRule(“IL‐12”,0.5) StateRule(phase,activated) SubConInCellRule(“IL‐12”,1.0) StateRule(phase,activated) SubConInCellRule(“IL‐2”,3.0) !SubConInCellRule(“IL‐2”,16.0) SubConInCellRule(“IL‐12”,1.0) StateRule(phase,activated) SubConInCellRule(“IL‐2”,3.0) !SubConInCellRule(“IL‐2”,22.0) SubConInCellRule(“IL‐12”,1.0) StateRule(phase,activated) SubConInCellRule(“IL‐2”,4.0) SubConInCellRule(“IL‐12”,2.0) StateRule(phase,activated) SimpleAffin(0.80, “TCR.CD4+MHC2*AG”) !SubConInCellRule(“IL‐12”,2.0) !SubConInCellRule(“IL‐2”,2.0) StateRule(phase,effector) SubConInCellRule(“IL‐12”,1.0) StateRule(phase,memory) SubConAffinInAgentRule(“TCR.CD4”,0.80 SubConInCellRule(“IL‐12”,1.0)
Life ApoptosisAction() ApoptosisAction() ApoptosisAction() ApoptosisAction() Movement MovementAction() Behavior ProdConsSubAction(“TCR.CD4”, 1, surface,10) SetSubRefAction(“MHC2+AG”,given match) ChangeStateAction(phase,activated) ProdConSubAction(“IL‐2”,1.0) CloneAgentAction(1x,mut=0.01,active)
CloneAgentAction(1x,mut=0.01,active)
ChangeStateAction(phase,effector)
ChangeStateAction(phase,memory)
ProdConSubAction(“IFN‐γ”,0.5,local) CloneAgentAction(2x,mut=0.01,effector) CloneAgentAction(1x,mut=0.01,activated)
89
90
Models of the Immune System and its Adversaries
B.1 A model of the immune response
B.1.3 B cell States Phase: naive, activated, shm, plasma, memory Genome StateRule(phase, naive) StochasticRule(0.005) StateRule(phase, activated) StochasticRule(0.01) StateRule(phase,shm) StochasticRule(0.1) StateRule(phase, plasma) StochasticRule(0.05) StateRule(phase,memory) StochasticRule(0.001) InertialMovementRule() ProbabilityRule(0.5) StateRule(phase,naive) SubConAffinInCellRule(ab,0.74) StateRule(phase,naive) SubConAffinInCellRule(ab,0.74) SubConInCellRule(IL‐2, 1) StateRule(phase,naive) SubConAffinInAgentRule(ab,0.74) SubConInCellRule(IL‐2, 1) StateRule(phase,activated) SimpleAffinityRule(ag,ab,0.80) SubConInCellRule(IL‐2, 3) !SubFamilyConRule(local,ab,4) StateRule(phase,activated) SubConInCellRule(IL‐2, 3) !SubFamilyConRule(local,ab,5) StateRule(phase,activated) !SubConInCellRule(IL‐2, 1) !SubFamilyConRule(local,ab,4) SimpleAffinityRule(ag,ab,0.80) StateRule(phase,shm) SubConInCellRule(IL‐2, 6) !SubFamilyConRule(local,ab,4) StateRule(phase,shm) SubConInCellRule(IL‐2, 6) SimpleAffinityRule(ag,ab,0.80) !SubFamilyConRule(local,ab,4) StateRule(phase,shm) !SubConInCellRule(IL‐2, 1) !SubFamilyConRule(local,ab,4) SimpleAffinityRule(ag,ab,0.80) StateRule(phase,shm) !SimpleAffinityRule(ag,ab,0.80) StateRule(phase,plasma) StochasticRule(1) !SubFamilyConRule(local,ab,4) StateRule(phase,memory) SubConAffinInCellRule(ab,antigens,0.80)
Life ApoptosisAction() ApoptosisAction() ApoptosisAction() ApoptosisAction() ApoptosisAction() Movement MovementAction() Behavior ProdConsSubAction(ab, 1, surface,10) SetSubRefAction(ag) ProdConsSubAction(ag, ‐1, cell) ProdConsSubAction(mhc2+ag, 1, surface) SetSubRefAction(ag) ChangeStateAction(phase,activated) SetSubRefAction(ag) ChangeStateAction(phase,activated) ChangeStateAction(phase,Plasma)
CloneAction(1x,0.05,SHM)
ChangeStateAction(phase,memory)
CloneAction(1x,0.2,shm)
CloneAction(2x,0,Plasma) ChangeStateAction(phase,Activated)
ChangeStateAction(phase,memory)
ApoptosisAction() ProdConsSubAction(ab, 2xProbability, local)
CloneAction(4x,0,Plasma) CloneAction(2x,0,Activated)
91
92
Models of the Immune System and its Adversaries
B.1.4 Tc cell
States Phase: naive, activated, effector, memory Genome StateRule(phase,naive) StochasticRule(0.005) StateRule(phase,activated) StochasticRule(0.01) StateRule(phase,effector) StochasticRule(0.05) StateRule(phase,memory) StochasticRule(0.0005) InertialMovementRule() StochasticRule(0.5) StateRule(phase,naïve) SubConAffinInAgentRule(“TCR‐CD8”,0.7) SubConInCellRule(“IL‐12”,0.5) StateRule(phase,activated) SubConInCellRule(“IL‐12”,1.0) StateRule(phase,activated) SubConInCellRule(“IL‐2”,3.0) !SubConInCellRule(“IL‐2”,16.0) SubConInCellRule(“IL‐12”,1.0) StateRule(phase,activated) SubConInCellRule(“IL‐2”,3.0) !SubConInCellRule(“IL‐2”,22.0) SubConInCellRule(“IL‐12”,1.0) StateRule(phase,activated) SubConInCellRule(“IL‐2”,2.0) SubConInCellRule(“IL‐12”,1.0) StateRule(phase,activated) SimpleAffin(0.8, tcr.cd8+mhc1.ag) !SubConInCellRule(“IL‐12”,2.0) !SubConInCellRule(“IL‐2”,2.0) SubConInCellRule(“IL‐2”,1.0) StateRule(phase,effector) SubConAffinInAgentRule(“TCR‐CD8”,0.7) StateRule(phase,memory) SubConAffinInAgentRule(“tcr.cd8”,0.8) SubConInCellRule(“IL‐12”,1.0)
Life ApoptosisAction() ApoptosisAction() ApoptosisAction() ApoptosisAction() Movement MovementAction() Behavior ProdConsSubAction(“TCR‐CD8”, 1, surface,10) SetSubRefAction(“MHC1+AG”,given match) ChangeStateAction(phase,activated) ProdConSubAction(“IL‐2”,0.001) CloneAgentAction(1x,mut=0.01,active)
CloneAgentAction(1x,mut=0.01,active)
ChangeStateAction(phase,effector)
ChangeStateAction(phase,memory)
KillAction(agent) ProdConSubAction(“IFN‐γ”,0.1,local) CloneAgentAction(2x,mut=0.01,effector) CloneAgentAction(1x,mut=0.01,activated)
B.2 Adversarial models
93
B.1.5 Epithelial cell States Condition: healthy, infected Genome StochasticRule(1) !SubConInCell(IFN‐ γ,0.1) SubConInCell(IFN‐ γ,2.5) StochasticRule(0.001) !SubConInCell(IFN‐ γ,10)
Behavioral ProdConsSubAction(“Sialic Acid”, 1, surface,10) ProdConsSubAction(“Sialic Acid”, ‐0.5, surface) ApoptosisAction()
B.1.6 Epithelial builder States Status: build, no build Genome InertialMovementRule() StateRule(No Build) SubConInAgent(Sialic Acid,0.001) StateRule(Build) !SubConInAgent(Sialic Acid,0.001)
Movement MovementAction() Behavior ChangeState(Build) ProduceAgent(1,Epitelial) ChangeState(No Build)
B.2 Adversarial models Two adversarial models were developed. A bacteria model (B.2.1) is used in humoral immunity simulations, while a model of inuenza A virus (B.2.2) is used in CMI simulations.
94
Models of the Immune System and its Adversaries
B.2.1 Generic bacteria Genome StochasticRule(0.010) StochasticRule(0.011) InertialMovementRule() StochasticRule(1) SubConAffinInCellRule(ag,antibodies,0.8)
!SubFamilyConRule(superficial,ag+ab,2) StochasticRule(0.9)
Life ApoptosisAction() CloneAgentAction() Movement MovementAction() Behavior ProdConsSubAction(ag,10xprobability,local) ProdConsSubAction(ag,1xprobability,superficial,max20) SetSubRefAction(ab) ProdConsSubAction(ab,‐1,local) ProdConsSubAction(ag,‐1,superficial) ProdConsSubAction(ag+ab,1,superficial) ApoptosisAction()
B.2.2 Inuenza A Genome StochasticRule(0.01) RandomMovementRule() StochasticRule(1) StochasticRule(1) SubConAffinInAgent(HA,0) ProbabilityRule(Affin) SubConAffinInAgent(HA,0) StochasticRule(Affin) SubConAffinInAgent(HA,0) SubConInAgent(givenAgent,givSub,1.5) StochasticRule (Affin)
SubConAffinInCellRule(HA,antibodies,0.8)
SubConAffinInCellRule(NA,antibodies,0.8)
Life ApoptosisAction() Movement MovementAction() Behavior ProdConsSubAction(“HA”, 1, surface,10) ProdConsSubAction(“HA”, 0.05, local) ProdConsSubAction(“NA”, 1, surface,10) ProdConsSubAction(“NA”, 0.05,local) SetSubRef(Epitelial, HA,myHA) SetSubRef(Epitelial, Ag,HA) SetSubRef(Epitelial, NA,myNA) SetSubRef(Epitelial, Ag,NA) SetSubRef(Epitelial, NA,myNA) SetSubRef(Epitelial, HA,myHA) SetSubRef(Epitelial, Ag,HA) ChangeStateAction(Epitelial, Condition: Infected) ApoptosisAction() InsertGene(Agent) StochasticRule(0.005) ProduceAgent(affinDependent,FluA,0.01) SimpleAffinity(NA,SialicAcid) ApoptosisAction() StochasticRule(1) ProdConsSubAction(MHCI+ag,1,surf,10) StochasticRule(0.1) SetSubRef(Ag,HA) StochasticRule(0.1) SetSubRef(Ag,NA) SetSubRefAction(ab) ProdConsSubAction(ab,‐1,local) ProdConsSubAction(HA,‐1,superficial) ProdConsSubAction(HA+ab,1,superficial) SetSubRefAction(ab) ProdConsSubAction(ab,‐1,local) ProdConsSubAction(NA,‐1,superficial) ProdConsSubAction(NA+ab,1,superficial)
Bibliography
[1] Abbas, A., and Lichtman, A.
Basic immunology: functions and
disorders of the immune system, 2nd edition, updated edition 20062007 ed. Saunders Elsevier, 2006.
[2] Baldazzi, V., Castiglione, F., and Bernaschi, M. An enhanced agent based model of the immune system response. Cellular Immunology
244, 2 (2006), 7779. [3] Ballet, P., Tisseau, J., and Harrouet, F. to model an human humoral response.
Multiagent system
In Computational Cybernetics
and Simulation, IEEE International Conference on Systems, Man, and Cybernetics, 1997 (1997), vol. 1, pp. 357362. [4] Bar-Yam, Y. Dynamics of Complex Systems (Studies in Nonlinearity). Westview Press, October 2003.
[5] Beauchemin, C. Probing the eects of the well-mixed assumption on viral infection dynamics. Journal of Theoretical Biology 242, 2 (2006), 464477.
[6] Beauchemin, C., Forrest, S., and Koster, F. Modeling Inuenza Viral Dynamics in Tissue.
Lecture Notes in Computer Science 4163
(2006), 2336.
[7] Beauchemin, C., Samuel, J., and Tuszynski, J.
A Simple Cel-
lular Automaton Model for Inuenza A Viral Infections.
Theoretical Biology, 232 (2005), 223234.
Journal of
96
BIBLIOGRAPHY
[8] Bernaschi, M., and Castiglione, F. Design and implementation of an immune system simulator. Computers in Biology and Medicine 31, 5 (2001), 303331.
[9] Bernasconi, N., Traggiai, E., and Lanzavecchia, A.
Mainte-
nance of Serological Memory by Polyclonal Activation of Human Memory B Cells. Science 298, 5601 (2002), 21992202. [10] Boesch, J. Design and Implementation of a Scriptable Agent-Based Multi-Platform Simulation Engine.
Master's thesis,
University Of
Zurich, 2004.
[11] Bonabeau, E.
Agent-based modeling:
simulating human systems.
Methods and techniques for
Proceedings of the National Academy of
Sciences 99, 3 (May 2002), 72807287. [12] Borghans, J., Noest, A., and De Boer, R. How Specic Should Immunological Memory Be? The Journal of Immunology 163, 2 (1999), 569575.
[13] Bretscher, P., and Cohn, M. A Theory of Self-Nonself Discrimination. Science 169, 950 (1970), 10429. [14] Caetano, A., Grilo, A., and Rosa, A.
Modeling thymic selec-
tion and concomitant immune responses on CD4+ T lymphocyte subpopulations. In Proceedings of the 6th International Conference on Ar-
ticial life (1998), MIT Press Cambridge, MA, USA, pp. 143150. [15] Castiglione, F., and Bernaschi, M. HIV-1 Strategies of Immune Evasion.
International Journal of Modern Physics C 16, 12 (2005),
18691878.
[16] Castiglione, F., Duca, K., Jarrah, A., Laubenbacher, R., Hochberg, D., and Thorley-Lawson, D. Simulating Epstein-Barr
Virus Infection with C-ImmSim. 1377.
Bioinformatics 23, 11 (2007), 1371
BIBLIOGRAPHY
97
[17] Celada, F., and Seiden, P. A Computer Model of Cellular Interactions in the Immune System. Immunology Today 13, 2 (1992), 5662. [18] Celada,
F.,
and Seiden,
P.
Modeling Immune Cognition.
In
1998 IEEE International Conference on Systems, Man, and Cybernetics (1998), vol. 4, pp. 37873792. [19] Chao,
D.,
Davenport,
M.,
Forrest,
S.,
and Perelson,
A.
Stochastic stage-structured modeling of the adaptive immune system. In Proceedings of the 2003 IEEE Bioinformatics Conference, CSB 2003 (2003), pp. 124131. [20] Chao, D., Davenport, M., Forrest, S., and Perelson, A.
A
Stochastic Model of Cytotoxic T Cell Responses. J. Theor. Biol 228, 2 (2004), 227240. [21] Cohen, I. Modeling Immune Behavior for Experimentalists. Immuno-
logical Reviews 216, 1 (2007), 232236. [22] Cohn, M., and Langman, R.
The Protecton:
the Evolutionarily
Selected Unit of Humoral Immunity. Immunol. Rev 115, 1 (1990), 191 194. [23] Daigle, J. Human Immune System Simulation: A Survey of Current Approaches. Georgia State University, 2006. [24] Dasgupta, D. Advances in Articial Immune Systems. Computational
Intelligence Magazine, IEEE 1, 4 (2006), 4049. [25] Emerson, A., and Rossi, E.
ImmunoGrid - The Virtual Human
Immune System Project. Stud Health Technol Inform 126 (2007), 87 92. [26] Fachada, N. SimulIm: an application for the modelling and simulation of complex systems, using the immune system as an example. Graduation project report, Instituto Superior Técnico, Universidade Técnica de Lisboa, November 2005.
98
BIBLIOGRAPHY
[27] Fachada, N., Lopes, V. V., and Rosa, A. Agent Based Modelling and Simulation of the Immune System: a Review.
In New Trends in
Articial Intelligence. Proceedings of the 13th Portuguese Conference on Articial Intelligence, EPIA 2007 (December 2007), J. Neves, M. F. Santos, and J. M. Machado, Eds., APPIA, pp. 300315.
[28] Folcik, V., An, G., and Orosz, C. The Basic Immune Simulator: An agent-based model to study the interactions between innate and adaptive immunity.
Theoretical Biology and Medical Modelling 4, 39
(September 2007).
[29] Forrest, S., and Beauchemin, C.
Computer Immunology.
Im-
munological Reviews 216, 1 (2007), 176197.
[30] Freeman, E., Freeman, E., Sierra, K., and Bates, B. Head First
Design Patterns. O'Reilly Media, Inc., 2004.
[31] Gilbert, N., and Bankes, S. Based Modeling.
Platforms and Methods for Agent-
Proceedings of the National Academy of Sciences of
the United States of America 99, 10 (2002), 71977198.
[32] Gosling, J., and McGilton, H. The Java Language Environment: A White Paper, 1995.
[33] Gracias, N., Pereira, H., Lima, J., and Rosa, A. Gaia: An Articial Life Environment for Ecological Systems Simulation. In Articial
Life V: Proceedings of the Fifth International Workshop on the Synthesis and Simulation of Living Systems (1997), MA: MIT Press, pp. 124131.
[34] Grilo, A., Caetano, A., and Rosa, A. Immune System Simulation through a Complex Adaptive System Model. In Proceeding of the 3rd
Workshop on Genetic Algorithms and Articial Life (1999).
[35] Grilo, A., Caetano, A., and Rosa, A. Agent based Articial Immune System. In Proc. GECCO-01, Vol. LBP (2001), pp. 145151.
BIBLIOGRAPHY
99
[36] Guo, Z., Han, H. K., and Tay, J. C.
Suciency Verication of
HIV-1 Pathogenesis based on Multi-Agent Simulation. In Proceedings of
the 2005 conference on Genetic and Evolutionary Computation (2005), ACM Press New York, NY, USA, pp. 305312.
[37] Hampson, A., and Mackenzie, J.
The inuenza viruses.
Medical
Journal Australia 185, 10 Suppl (2006), S39S43. [38] Holland, J. Hidden Order: How Adaption Builds Complexity. Perseus Books, 1995.
[39] Hu, R., and Ruan, X. A Simple Cellular Automaton Model for TumorImmunity System. In Proceedings of the 2003 IEEE International Con-
ference on Robotics, Intelligent Systems and Signal Processing (2003), vol. 2, pp. 1031 1035.
[40] Jacob, C., Litorco, J., and Lee, L. Immunity Through Swarms: Agent-Based Simulations of the Human Immune System. In Articial
Immune Systems, G. Nicosia, V. Cutello, P. Bentley, and J. Timmis, Eds., vol. 3239/2004 of Lecture Notes in Computer Science. Springer Berlin / Heidelberg, 2004, ch. 6, pp. 400412. [41] Janssen, M. Agent-based modelling. In Modelling In Ecological Eco-
nomics, J. Proops and P. Safonov, Eds., Current Issues in Ecological Economics. Edward Elgar Publishing, 2004, pp. 155172.
[42] Klein, J.
BREVE: a 3D Environment for the Simulation of Decen-
tralized Systems and Articial Life.
In Proceedings of Articial Life
VIII, the 8th International Conference on the Simulation and Synthesis of Living Systems (2002), pp. 329334. [43] Kleinstein, S., and Seiden, P.
Simulating the Immune System.
Computing in Science and Engineering 2, 4 (2000), 6977. [44] Kohler, B., Puzone, R., Seiden, P., and Celada, F. A systematic approach to vaccine complexity using an automaton model of the
100
BIBLIOGRAPHY cellular and humoral immune system. i. viral characteristics and polarized responses. Vaccine 19, 7-8 (2000), 86276.
[45] Kreft,
J.,
Picioreanu,
C.,
Wimpenny,
J.,
and
van
Loos-
drecht, M. Individual-based Modelling of Biolms. Microbiology 147,
11 (2001), 28972912. [46] Louzoun, Y. The Evolution of Mathematical Immunology. Immuno-
logical Reviews 216, 1 (2007), 920. [47] Luke, S., Cioffi-Revilla, C., Panait, L., Sullivan, K., and Balan, G. MASON: A Multiagent Simulation Environment. Simula-
tion 81, 7 (2005), 517. [48] Mallet, D., and de Pillis, L. TumorImmune System Interactions.
A Cellular Automata Model of
Journal of Theoretical Biology
239, 3 (2006), 334350. [49] Mata, J., and Cohn, M. Manual for the use of a Cellular Automata
Based Synthetic Immune System. Conceptual Immunology Group, The Salk Institute, P.O. Box 85800, San Diego, CA 92186, 2005. [50] Mata, J., and Cohn, M.
Cellular Automata-based Modeling Pro-
gram: Synthetic Immune System. Immunological Reviews 216, 1 (2007), 198212. [51] Meier-Schellersheim, M. Understanding information processing in the immune system; computer modeling and simulations. In Proceedings
of the 2002 IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP'02) (2002), vol. 4, pp. 40364039. [52] Meier-Schellersheim, M., and Mack, G. SIMMUNE, a tool for simulating and analyzing immune system behavior. Tech. rep., Institut für Theoretische Physik, Universität Hamburg, 1999. [53] Meier-Schellersheim, M., Xu, X., Angermann, B., Kunkel, E. J., Jin, T., and Germain, R. N. Key Role of Local Regulation in
BIBLIOGRAPHY
101
Chemosensing Revealed by a New Molecular Interaction-Based Modeling Method. PLoS Computational Biology 2, 7 (July 2006), 710724. [54] Meredith, J., Alam, S., and Vetter, J. Analysis of a Computational Biology Simulation Technique on Emerging Processing Architectures. In IEEE International Parallel and Distributed Processing Sym-
posium, 2007, IPDPS 2007 (2007), pp. 18. [55] Minar, N., Burkhart, R., Langton, C., and Askenazi, M. The Swarm Simulation System: A Toolkit for Building Multi-agent Simulations. Tech. rep., Santa Fe Institute, Santa Fe, 1996. [56] Motta, S., Castiglione, F., Lollini, P., and Pappalardo, F. Modelling Vaccination Schedules for a Cancer Immunoprevention Vaccine. Immunome Research 1, 1 (2005), 5. [57] North, M., Collier, N., and Vos, J. Experiences Creating Three Implementations of the Repast Agent Modeling Toolkit. ACM Trans-
actions on Modeling and Computer Simulation 16, 1 (2006), 125. [58] Pappalardo, F., Lollini, P., Castiglione, F., and Motta, S. Modeling and simulation of cancer immunoprevention vaccine. Bioin-
formatics 21, 12 (2005), 28912897. [59] Pierre, D., Goldman, D., Bar-Yam, Y., and Perelson, A. Somatic Evolution in the Immune System: The Need for Germinal Centers for Ecient Anity Maturation. J. Theor. Biol 186 (1997), 159171. [60] Ploegh, H.
Viral strategies of immune evasion.
Science 280, 5361
(1998), 248253. [61] Puzone, R., Kohler, B., Seiden, P., and Celada, F. IMMSIM, a exible model for in machina experiments on immune system responses.
Future Generation Computer Systems 18, 7 (2002), 961972. [62] Rabson, A., Roitt, I., and Delves, P. Really essential medical im-
munology, 2nd ed. Blackwell Publishing, Inc., 350 Main Street, Malden, Massachusetts 02148-5020, USA, 2005.
102
BIBLIOGRAPHY
[63] Railsback, S., Lytinen, S., and Jackson, S. Agent-based Simulation Platforms: Review and Development Recommendations. Simula-
tion 82, 9 (2006), 609.
[64] Robbins, M., and Garrett, S.
Evaluating Theories of Immuno-
logical Memory Using Large-Scale Simulations.
In Articial Immune
Systems, C. Jacob, M. L. Pilat, P. J. Bentley, and J. Timmis, Eds., vol. 3627 of Lecture Notes in Computer Science. Springer Berlin / Heidelberg, 2005, ch. 16, pp. 193206.
[65] Roitt, I. M., and Delves, P. J.
Essential Immunology, 10th ed.
Blackwell Publishing, 2001.
[66] Ryan, K., and Ray, C. Sherris Medical Microbiology: An Introduction
to Infectious Diseases. McGraw-Hill Medical, 2004.
[67] Seiden, P., and Celada, F. A Model for Simulating Cognate Recognition and Response in the Immune System. J Theor Biol 158, 3 (1992), 32957.
[68] Tauber, A. I.
Conceptual Shifts in Immunology: Comments on the
'Two-Way Paradigm'. Theoretical Medicine and Bioethics 19, 5 (September 1998), 457473.
[69] Tauber, A. I.
Response to Melvin Cohn.
Theoretical Medicine and
Bioethics 19, 5 (Sept. 1998), 485494.
[70] Tay, J., and Jhavar, A. CAFISS: a Complex Adaptive Framework for Immune System Simulation. In Proceedings of the 2005 ACM sym-
posium on Applied Computing (2005), ACM Press New York, NY, USA, pp. 158164.
[71] Tobias, R., and Hofmann, C. Evaluation of free Java-libraries for social-scientic agent based simulation.
and Social Simulation 7, 1 (2004), 6.
Journal of Articial Societies
BIBLIOGRAPHY
103
[72] Wagner, R., Matrosovich, M., and Klenk, H. Functional balance between haemagglutinin and neuraminidase in inuenza virus infections.
Rev. Med. Virol. 12 (2002), 159166. [73] Warrender, C. Modeling intercellular interactions in the peripheral
immune system. PhD thesis, The University of New Mexico, 2004. [74] Wilson, W., and Garrett, S. Modelling Immune Memory for Prediction and Computation. In Proceedings of the 3rd international Con-
ference on Articial Immune Systems, ICARIS 2004 (2004), Springer, pp. 386399. [75] Yates, A., Chan, C. C. W., Callard, R. E., George, A. J. T., and Stark, J. An Approach to Modelling in Immunology. Briengs
in Bioinformatics 2, 3 (September 2001), 245257. [76] Zambon, M. Epidemiology and pathogenesis of inuenza. Journal of
Antimicrobial Chemotherapy 44 (1999), 39.