**Modelling the Innate Immune System**

Pedro Rocha, Alexandre Pigozzo, Bárbara Quintela, Gilson Macedo, Rodrigo Santos and Marcelo Lobosco *Federal University of Juiz de Fora, UFJF Brazil* 

#### **1. Introduction**

16 Will-be-set-by-IN-TECH

350 Bio-Inspired Computational Algorithms and Their Applications

[44] J. Timmis, A. Hone, T. Stibor and E. Clark. Theoretical advances in artificial immune

[45] R. Tinós and S. Yang. A self–organizing random immigrants genetic algorithm for dynamic optimization problems. *Genetic Programming and Evolvable Machines*, 8: 255–286,

systems. *Theoretical Computer Science*, 403: 11–32, 2008.

2007.

The Human Immune System (HIS) is a complex network composed of specialized cells, tissues, and organs that is responsible for protecting the organism against diseases caused by distinct pathogenic agents, such as viruses, bacteria and other parasites. The first line of defence against pathogenic agents consists of physical barriers of skin and the mucous membranes. If the pathogenic agents breach this first protection barrier, the innate immune system will be ready for recognize and combat them. The innate immune system is therefore responsible for powerful non-specific defences that prevent or limit infections by most pathogenic microorganisms.

The understanding of the innate system is therefore essential, not only because it is the first line of defence of the body, but also because of its quick response. However, its complexity and the intense interaction among several components, make this task extremely complex. Some of its aspects, however, may be better understood if a computational model is used. Modelling and simulation help to understand large complex processes, in particular processes with strongly coupled influences and time-dependent interactions as they occur in the HIS. Also, *in silico* simulations have the advantage that much less investment in technology, resources and time is needed compared to *in vivo* experiments, allowing researchers to test a large number of hypotheses in a short period of time.

A previous work (Pigozzo et al. (2011)) has developed a mathematical and computational model to simulate the immune response to Lipopolysaccharide (LPS) in a microscopic section of a tissue. The LPS endotoxin is a potent immunostimulant that can induce an acute inflammatory response comparable to that of a bacterial infection. A set of Partial Differential Equations (PDEs) were employed to reproduce the spatial and temporal behaviour of antigens (LPS), neutrophils and cytokines during the first phase of the innate response.

Good modelling practices require the evaluation of the confidence in the new proposed model. An important tool used for this purpose is the sensitivity analysis. The sensitivity analysis consists of the study of the impact caused by the variation of input values of a model on the output generated by it. However, this study can be a time consuming task due to the large number of scenarios that must be evaluated. This prohibitive computational cost leads us to develop a parallel version of the sensitivity analysis code using General-purpose Graphics Processing Units (GPGPUs). GPGPUs were chosen because of their ability to

Fig. 1. Relationship between the components.

hierarchy of threads, blocks of threads, and grids of blocks.

activated, are introduced in the current model.

After the kernel has finished, results must be copied back to the CPU.

hardware from programmers.

**3. Mathematical model**

(GPGPUs). CUDA includes C software development tools and libraries to hide the GPGPU

Modelling the Innate Immune System 353

In CUDA, a parallel function is called kernel. A kernel is a function callable from the CPU and executed on the GPU simultaneously by many threads. Each thread is run by a *stream processor*. They are grouped into blocks of threads or just blocks. A set of blocks of threads form a grid. When the CPU calls a kernel, it must specify how many threads will be created at runtime. The syntax that specifies the number of threads that will be created to execute a kernel is formally known as the execution configuration, and is flexible to support CUDA's

Some steps must be followed to use the GPU: first, the device must be initialized. Then, memory must be allocated in the GPU and data transferred to it. The kernel is then called.

The model proposed in this chapter is based on a set of Partial Differential Equations (PDEs) originally proposed by Pigozzo et al. (2011). In the original work, a set of PDEs describe the dynamics of the immune response to LPS in a microscopic section of tissue. In particular, the interactions among antigens (LPS molecules), neutrophils and cytokines were modelled. In this chapter, a simplified model of the innate immune system using ODEs is presented to simulate the temporal behaviour of LPS, neutrophils, macrophages and cytokines during the first phase of the immune response. The main differences between our model and the original one (Pigozzo et al. (2011)) are: a) the current model does not consider the spatial dynamics of the cells and molecules and b) the macrophages in two stages of readiness, resting and

process many streams simultaneously. This chapter describes the GPU-based implementation of the sensitivity analysis and also presents some of the sensitivity analysis results. Our experimental results showed that the parallelization was very effective in improving the sensitivity analysis performance, yielding speedups up to 276.

The remainder of this chapter is organized as follows. Section 2 includes the background necessary for understanding this chapter. Section 3 describes the mathematical model implemented. Section 4 describes the implementation of the GPU version of the sensitivity analysis. Section 5 presents some of the results of the sensitivity analysis and the speedup obtained. Section 7 presents related works. Our conclusions and plans of future works are presented in Section 8.
