Agent-based Simulation of the Immune System

0 downloads 0 Views 11MB Size Report
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.