The Genesis of Helper T cells and the Self-Nonself Matzinger Model of Immune Regulation

Calculating the parameters and boundary conditions for the antigen-independent pathway for the origin of effector T-helpers

This program calculates the resulting Th immune system cell types from any choice of rate constants, using our time step simulator applied to the Matzinger model.

Link to Matzinger Model Math details.

Program Instructions:

What is it?

This program is a modified version of our Th Genesis Time Model that applies to Matzinger Model. The instructions for this program are similar to the other program, thus if you read the instructions for the Th Genesis Time Model, you might just want to jump into the program, and read these instructions only if you have trouble. Generally, again, this program will simulate the immune system in a step by step process. Self antigen is always present; the presence or absence of nonself antigen is controlled by the user.


Cells are initially produced by the thymus to seed the system in the specified number of steps. In addition, the thymus also produces new replacement cells for those that have gone to death. The conversion of cells, from one state to another, depends on SI, k4, k5 rates, as well as interaction with APCs (antigen presenting cells) and nonself antigenic load.

One important note is that k2 is not an input, but rather is calculated based on the antigenic load. Initally, when there is no nonself antigen (load=0) all APCs are in the S-APCt form, thus k3 is maximal, and k2 is non-existant. Similary as nonself antigen increases, S-APCt convert to S-APCi-NS, thus k3 decreases, and k2 increases.

For more math details see the link above at the top of this page.

Cell States:

Is Initial Self
Es Effector Self
Inse Initial Nonself Engaged by antigenic Load
Ense Effector Nonself Engaged by antigenic Load
Insu Initial Nonself Unengaged

Self and Nonself Antigen:

Self-antigen is always present in this model. New anti-self and anti-nonself Th cells are constantly generated by the thymus. The proportion of these new cells which are anti-self or anti-nonself cells is determined by SI and (1-SI) respectively.

The user can specify the number of steps to perform before adding the nonself antigen at the specified Load (L). On the program page, this is asked as the number of steps to perform BEFORE addition of the Load. It is important to note that there is another parameter ‘the number of steps in which the system in seeded’ or created, which should be less than the number of BEFORE steps. The system needs to grow gradually, and reach it final Protecton size (T) before nonself antigen is presented. This gradual growth of the immune system allows Is cells to go to death though the k3 pathway. This results in a small number of Is cells present when non-self antigen is introduced.

Nonself antigen is added after the number of BEFORE steps. The program then applies the system rules for another AFTER steps. Keep in mind that the nonself antigen is not automatically removed once it has been introduced. This causes the engaged cells (Ense and Es), to displace Insu cells in the system. Furthermore, a persistent non-self antigen can cause autoimmunity because it will eliminate the k3 pathway (for both self and nonself), making the k2 pathway dominant. Since Is cells are constantly produced by the thymus, a dominant k2 pathway will lead to production of anti-self effector cells. When the number of anti-self effectors cells becomes sufficiently high, the system becomes autoimmune.

Steps vs. Time:

Currently the program calculates data in terms of steps. It is up to the individual user to define how much time equals 1 step. If the average time for a cell type to change to a different cell type or to go to cell death is 4hrs, then 1 step will equal 4h. Thus one day would equal 24hr * (1step/4hr) = 6 steps. Likewise, if cell conversion is slower say 6hrs, then there will be 4 steps per day. In addition if you are including cell divisions in the model, you must consider the time it takes for a cell division relative to the amount of time that is represented by 1 step. For example if we say a cell division takes 12 hrs, then using 4hr/step it will take 3 steps to divide, whereas using 6hr/step will take 2 steps for a cellular division.

Effector cells may go through X number of divisions, each of which is delayed by Y number steps. For example, a cell in the Anticipatory state cell converting to effector state cell will occur in 1 step and then perform a cell division Y steps later (1 new cell added), and possibly another cell division after another Y steps (2 new cells added). Note that in order to maintain Total number of cells in the system constant, cells are removed from the Insu group.


Option (A) of the program allows the user to specify a the step number to remove the non-self antigen. The default value of 1e10, in essence places the removal process far into the future, out of our experimental time frame. A reasonable real life situation may be more in the area of removal at step 1030, or 30 steps (@5hr/step = 150hrs = 6.3 days) after addition of nonself antigen.

Option (B) is a method by which the user can investigate how the system responds to an elevated level of anti-self cells. The user can inject any number of Effector anti-Self cells at any point in the model and see how the system reacts.


Default input values are provided to illustrate what appears to be an acceptable output.

Graphing is available and is probably the easiest way to quickly view results. You can plot the number of cells in each state, k1*G = death = rebirth = turnover amount, and the number of Es cells / self peptide, and Ense cells/ nonself peptide.

Optionally, you may request Raw Data to be returned in a table, where you may look at the actual numbers, or copy and past it into your own spreadsheet. The size of the resulting page is proportional to the number of steps you ask the system to perform. This raw data in a table can get very large that some older web browsers cannot display it correctly. However, you may view the source of the page and grab the data from it, or optionally upgrade your browser.

Notes: One common mistake is to set graphing to use the log scale and then to set the "From" value to 0, it defaults to 1e-300, but try 1e-5 instead. Also if you are wondering where a graph line went, it may be hiding beneath a different line, in which case try graphing one line at a time. Another possibility is that it is outside the current graph scale in which case lower the minimum and increase the maximum. As a last resort you can always look at the raw data.

List of Abbreviations within graphs:

Seed # of steps to grow/seed the simulator from 0 to the total simulation size (T)
Before # of steps to simulate before addition of nonself antigen
After # of steps to simulate after addition of nonself antigen
EDivs # of divisions of a newly induced Ense
SEDivs # of steps for an Ense division
Total Total cells in simulation (T) or Protecton
RemL Step in which Nonself antigen is removed.
StepEs Step when Es is injected into the simulation.
AmtEs Amount of Es cells injected.
P Peptide, usually shown as /P meaning per peptide.


  Return to CIG Home Page