Skip to content

lineageEndCondition

Tim Vaughan edited this page Oct 11, 2018 · 4 revisions

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.

CompositeLineageEndCondition

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).