# C-ImmSim

C-ImmSim started, in 1995, as the C-language "version" of IMMSIM, the IMMune system SIMulator, a program written back in 1991 in APL-2 (APL2 is a Registered Trademark of IBM Corp.) by the astrophysicist Phil E. Seiden together with the immunologist Franco Celada to implement the Celada-Seiden model. The porting was mainly conducted and further developed by Filippo Castiglione with the help of few other people.

## The Celada-Seiden model

The Celada-Seiden model is a logical description of the mechanisms making up the adaptive immune humoral and cellular response to a genetic antigen at the mesoscopic level.
The computational counterpart of the Celada-Seiden model is the IMMSIM code.
The Celada-Seiden model, as well as C-ImmSim, is best viewed as a collection of models in a single program. In fact, there are various components realising a particular function which can be turned on or off. At its current stage, C-ImmSim incorporates the principal "core facts" of today's immunological knowledge, e.g.
* the diversity of specific elements,
* MHC restriction,
* clonal selection by antigen affinity,
* thymic education of T cells, antigen processing and presentation (both the cytosolic and endocytic pathways are implemented,
* cell-cell cooperation,
* homeostasis of cells created by the bone marrow,
* hypermutation of antibodies,
* maturation of the cellular and humoral response and memory.
Besides, an antigen can represent a bacterium, a virus or an allergen or a tumour cell.
The high degree of complexity of the Celada-Seiden model makes it suitable to simulate different immunological phenomena, e.g., the hypermutation of antibodies, the germinal centre reaction (GCR), immunization, Thymus selection, viral infections, hypersensitivity, etc.
Since the first release of C-ImmSim, the code has been modified many times. The actual version now includes features that were not in the original Celada-Seiden model.
C-ImmSim has been recently customised to simulate the HIV-1 infection. Moreover, it can simulate the immunotherapy to generic solid tumours. These features are all present in the code and people can choose to turn them on and off at compiling time. However, the present user guide deals with the description of the standard immune system response and gives no indication on the features of HIV-1 and cancer.
The latest version of C-ImmSim allows for the simulation of SARS-CoV-2 infection .

## Contributors

The porting was possible thank to the aid of Seiden, especially during the initial validation phase. Massimo Bernaschi contributed to the development of C-ImmSim starting as the "beta" release. Most of the optimization of the memory usage and I/O has been possible thanks to Bernaschi in particular for what concerns the development of the parallel version. Other few people contributed to the further development of the code in the coming years.

## Related projects

There are other computational models developed on the tracks of the Celada-Seiden model which come from (to a certain extent) the first porting in C-language of IMMSIM by F. Castiglione. They are IMMSIM++ developed by S. Kleinstein, IMMSIM-C developed by R. Puzone, Limmsim developed by J. Textor and SimTriplex developed by Pappalardo.
* IMMSIM++, http://www.cs.princeton.edu/immsim/software.html
* IMMSIM-C, http://www.immsim.org/
* LImmSim, http://johannes-textor.name/limmsim.html
* SimTriplex
C-ImmSim has been partially described in a series of publications but never extensively, in part because of the availability of other references for the IMMSIM code which could serve as manuals for C-ImmSim as well, in part because it is impractical to compress a full description of C-ImmSim in a regular paper.
IMMSIM, in the authors' minds, was built around the idea of developing a computerized system to perform experiments similar to the real laboratory in vivo and in vivo experiments; a tool developed and maintained to help biologists to test theories and hypothesis about how the immune system works. They called it "in Machina" or "in silico" experiments. IMMSIM was in part developed keeping an eye on the educational potentialities of these kind of tools, in order to provide to students of biology/immunology courses, a way to play with the immune mechanisms to get a grasp on the fundamental concepts of the cellular and/or molecular interactions in the immune response.
For this purpose, IMMSIM++ was developed for Microsoft Windows® and offers the chance to explore various (but not all) features of the Celada-Seiden model. However, since only the executable is available that code is not open for testing/development.
LImmSim is available under the GNU GPL.
SimTriplex is a customized version of the same model and derives from version 6 of C-ImmSim. It has been developed to simulate cancer immunoprevention.