Patch cell populations

Table of Contents

The population tag defines a single population. Nested tags include population.parameter for parameters, population.process for processes, and population.link for links.

<populations>
    <population id="[ID]" class="[CLASS]" init="[INIT]">
        <population.parameter id="[ID]" value="[VALUE]" scale="[SCALE]" />
        <population.parameter id="[ID]" value="[VALUE]" scale="[SCALE]" module="[MODULE]" />
        <population.parameter id="[ID]" value="[VALUE]" scale="[SCALE]" process="[PROCESS]" />
        <population.process id="[ID]" version="[VERSION]" />
        <population.process id="[ID]" version="[VERSION]" />
        <population.link id="[ID]" weight="[WEIGHT]" />
        ...
    </population>
    ...
</populations>

Population initialization

The population tag attributes are used to initialize the population.

  • Each population must have a unique id
  • For init, use N% to initialize with N percent of the total patches with cells

Valid options for classes include:

tissue
Healthy tissue cell
cancer
Cancerous tissue cell (inherits from tissue)
cancer_stem
Cancerous stem cells (inherits from cancer)
random
Cell with randomly assigned states.
ATTRIBUTE DESCRIPTION TYPE DEFAULT REQUIRED
id unique name for the agent population string   Y
class population cell class string tissue N
init number of initial agents in population integer 0 N

Example: Initializing different agent classes

Specifies an agent population, A, with the tissue cell class.

<populations>
    <population id="A" class="tissue" />
</populations>

Example: Initializing one agent population

Specifies one agent population, A. Population A is initialized with 10 agents.

<populations>
    <population id="A" init="10" />
</populations>

Example: Initializing two agent populations

Specifies two agent populations, A and B. Population A is initialized with 10 agents, and population B is initialized with 5 agents.

<populations>
    <population id="A" init="10" />
    <population id="B" init="5" />
</populations>

Example: Initializing single agent population with percentage

Specifies one agent population, A. Population A is in 50% of the total patches in the simulation.

<populations>
    <population id="A" init="50%" />
</populations>

Population parameters

The population.parameter tag defines population parameters. Unless modified, default values are used for all parameters. Defaults are listed in parameter.patch.xml.

  • Either or both value and scale attributes can be applied, with value applied first
  • Only numeric parameters can be modified using scale
  • Changes for parameters specific to a module can be applied to using the module attribute
  • Changes for parameters specific to a process can be applied to using the process attribute
ATTRIBUTE DESCRIPTION
id parameter name
value new parameter value
scale scaling factor applied to parameter value
module module the parameter belongs to
process process the parameter belongs to

Parameter values can be defined as distributions, rather than a single value, using the value="DISTRIBUTION_TYPE(PARAM=VALUE,...)" syntax. Cells will draw from the parameter distribution for their population to set parameter values. Valid distributions include:

UNIFORM
Uniform distribution between minimum value MIN and maximum value MAX
NORMAL
Normal distribution with mean MU and stdev SIGMA
TRUNCATED_NORMAL
Normal distribution with mean MU and stdev SIGMA truncated at ± 2σ
FRACTIONAL_NORMAL
Normal distribution with mean MU and stdev SIGMA bounded between 0 and 1
BERNOULLI
Bernoulli distribution with probability of success PROBABILITY

Example: Modifying population parameters

The critical volume parameter is set to the new value 2000.

<population.parameter id="CRITICAL_VOLUME" value="2000" />

The default value of the critical volume parameter is scaled by 2.

<population.parameter id="CRITICAL_VOLUME" scale="2" />

The critical volume parameter is set to the new value 1000 * 2 = 2000.

<population.parameter id="CRITICAL_VOLUME" value="1000" scale="2" />

Example: Modifying population parameters with distributions

The critical volume parameter is drawn from a normal distribution with mean of 2000 and standard deviation of 100.

<population.parameter id="CRITICAL_VOLUME" value="NORMAL(MU=2000,SIGMA=100)" />

The critical volume parameter is drawn from uniform distribution between 1000 and 2000.

<population.parameter id="CRITICAL_VOLUME" value="UNIFORM(MIN=1000,MAX=2000)" />

Example: Modifying population module parameters

The cell growth rate parameter in the proliferation module is set to the new value 20.

<population.parameter id="CELL_GROWTH_RATE" module="proliferation" value="20" />

Example: Modifying population process parameters

The ATP production rate parameter in the metabolism process is set to the new value 10.

<population.parameter id="ATP_PRODUCTION_RATE" process="metabolism" value="10" />

Intracellular processes

The population.process tag lists intracellular process versions for the population. If process versions are not specified, the random version for each process is used. Valid options include:

METABOLISM
Process for cell metabolism (random, simple, medium, complex)
SIGNALING
Process for cell signaling (random, simple, medium, complex)
ATTRIBUTE DESCRIPTION
id process option id
version process version

To modify process parameters, use the population.parameter tag with the corresponding process attribute.

Example: Including process versions

Specifies a population with complex metabolism and simple signaling processes.

<population.process id="METABOLISM" version="complex" />
<population.process id="SIGNALING" version="simple" />

The population.link tag defines links between populations. These links define transitions between populations during cell division. If not defined, the default behavior is to produce a daughter cell in the same population as the mother cell.

ATTRIBUTE DESCRIPTION
id linked population id
weight relative probability weighting

Specifies links to populations A and B. When a cell in this population divides, the daughter cell has a 50% chance of being in population B and a 50% chance of being in population C.

<population.link id="A" weight="1" />
<population.link id="B" weight="1" />

Note that this specification is equivalent to:

<population.link id="A" weight="50" />
<population.link id="B" weight="50" />

Specifies links to populations A, B, and C. When a cell in this population divides, the daughter cell has a 20% chance of being in population A, a 30% change of being in population B, and a 50% chance of being in population C.

<population.link id="A" weight="20" />
<population.link id="B" weight="30" />
<population.link id="C" weight="50" />