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 withN
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
andscale
attributes can be applied, withvalue
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 valueMAX
NORMAL
- Normal distribution with mean
MU
and stdevSIGMA
TRUNCATED_NORMAL
- Normal distribution with mean
MU
and stdevSIGMA
truncated at ± 2σ FRACTIONAL_NORMAL
- Normal distribution with mean
MU
and stdevSIGMA
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" />
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" />