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, useN%to initialize withNpercent 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
valueandscaleattributes can be applied, withvalueapplied first - Only numeric parameters can be modified using
scale - Changes for parameters specific to a module can be applied to using the
moduleattribute - Changes for parameters specific to a process can be applied to using the
processattribute
| 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
MINand maximum valueMAX NORMAL- Normal distribution with mean
MUand stdevSIGMA TRUNCATED_NORMAL- Normal distribution with mean
MUand stdevSIGMAtruncated at ± 2σ FRACTIONAL_NORMAL- Normal distribution with mean
MUand stdevSIGMAbounded 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" />
Links between populations
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 |
Example: Adding links with equal weights to other populations
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" />
Example: Adding links with unequal weights to other populations
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" />