lineageEndCondition
Like the populationEndCondition, <lineageEndCondition>
elements specify a system state that, when reached by a simulation trajectory, signals MASTER to terminate the simulation of that trajectory and either discard it entirely (rejection) and restart the calculation, or mark it as finished and move on to the next trajectory (in the case of an ensemble simulation type). While the populationEndCondition element specifies an end condition which is met when sums of population sizes reach a particular value, the <lineageEndCondition>
element specifies end conditions that are met when the number of extant lineages of an inheritance simulation trajectory reach a threshold value. The element has the following form:
<lineageEndCondition spec='LineageEndCondition'
nLineages="INTEGER"
alsoGreaterThan="BOOLEAN"
isRejection="BOOLEAN">
<!-- Zero or more <population> elements -->
</lineageEndCondition>
The nLineages
attribute specifies the number of extant lineages that must coexist in the simulation for the end condition to be met. Note that there is no provision for end conditions being met when the number of lineages is greater or less than this threshold. The isRejection
element determines whether meeting this end condition will result in rejection or truncation of the trajectory.
Setting the optional alsoGreaterThan
attribute to "true" causes the condition to be met also when the number of lineages exceeds the value of nLineages
. (The default value of alsoGreaterThan
is "false".)
If specified, only those lineages currently existing in individuals belonging to the populations identified by the <population>
elements are included in the end condition check.
A number of <lineageEndCondition>
elements can be grouped together using CompositeLineageEndCondition
in the following way:
<lineageEndCondition spec='CompositeLineageEndCondition'
andMode="BOOLEAN">
<!-- One or more <lineageEndCondition> elements -->
</lineageEndCondition>
If true, the andMode
attribute causes the composite end condition to be met only if ALL of the constituent end conditions are met. If false, the composite condition is met if ANY of the constituent conditions are met. The default value for this attribute is "true" (i.e. ALL must match).