The connection reference
The tables of Chapter 8, in one place: every connection, every driver, every target, and the verbs and mappings of the link.
Every connection

| # |
Driver |
Target |
What it says |
Conditioned |
Joint |
| 1 |
a trait |
a gene family |
habitat sets the loss rate; all four rates take a driver |
Co1–Co8 |
Jo7 |
| 2 |
a trait |
an ordered or nucleotide genome |
eleven rates at the ordered resolution, thirteen at the nucleotide one, and the extents besides |
Co9 |
— |
| 3 |
a trait |
a sequence |
habitat sets the substitution rate |
Co10 |
Jo2 |
| 4 |
a trait |
a trait |
one character sets another's rate, switch or optimum |
Co11–Co12 |
Jo4–Jo6 |
| 5 |
a gene family |
a gene family |
a mobile element makes transfer likelier for the rest of the genome, one family's loss rate depends on whether the lineage carries another family, or one family's copies are transferred more often into lineages that carry another family |
Co13 |
Jo8 |
| 6 |
a gene family |
a sequence |
lose the repair gene and evolve faster |
Co14 |
— |
| 7 |
a gene family |
a trait |
carry the toxin family and turn pathogenic |
Co15 |
Jo7 |
| 8 |
an ordered or nucleotide genome |
a sequence |
as 6, with coordinates in the genome run |
Co16 |
— |
| 9 |
an ordered or nucleotide genome |
a trait |
as 7, with coordinates in the genome run |
Co17–Co18 |
— |
| 10 |
a sequence |
a sequence |
one gene's composition indexes something about the lineage, and that sets another gene's rate |
Co19–Co20 |
Jo3 |
| 11 |
a sequence |
a trait |
GC content sets how fast a trait changes |
Co21 |
Jo2 |
| 12 |
a sequence |
a genome |
composition sets the loss rate of the genome that carries the gene; it can never be simulated first |
— |
Jo1 |
| 13 |
a trait |
the species tree |
speciation and extinction follow the state; the tree comes out of the run |
— |
Jo10–Jo14 |
| 14 |
gene content |
the species tree |
carrying a key family sets the speciation rate |
— |
Jo9 |
What can be a driver
In a conditioned run, a driver is a finished result:
| Driver |
What it offers |
Gallery |
| a discrete trait |
one of its states |
Co1 |
| a continuous trait |
a number, taken every step of time |
Co4 |
| a gene family |
present or absent |
Co14–Co15 |
| a module |
a fraction, 0 to 1: how complete a declared group of families is |
Co17 |
| a sequence's composition |
a number, 0 to 1: the share of its letters in a given set |
Co19 |
| one family's composition |
the same, on a run restricted to that family, plus an absent= |
Co20 |
In a joint run, a driver is named, and the name says which level it comes from:
| Driver |
What it offers |
Mapping |
"traits:<name>", discrete |
that trait's current state |
a table over the states |
"traits:<name>", continuous |
that trait's current value |
a curve, or a Scalar |
"genomes:<family>" |
whether that family is there |
a table over present / absent, or for transfer_to a Between over them |
"genomes:module:<group>" |
how complete that module is: the share of its families the lineage carries, from 0 to 1 |
a curve, or a Scalar |
"genomes:count" |
how many genes the lineage has |
a curve, or a Scalar |
"sequences:<name>" |
how much of that gene is a given set of letters |
a curve, or a Scalar |
What can be a target
| Target |
Kind |
Level |
Gallery |
duplication, transfer, loss, origination |
how often |
genomes, every resolution |
Co1 |
a declared family's own duplication, transfer, loss |
how often |
genomes, family and ordered resolutions; Python only |
— |
a declared family's own transfer_to |
a choice |
genomes, family and ordered resolutions; Python only |
— |
inversion, transposition, translocation, fission, fusion, chromosome_origination, chromosome_loss |
how often |
genomes, ordered and nucleotide |
Co9 |
substitution |
how often |
sequences |
Co10 |
rate (continuous), switch (discrete) |
how often |
traits |
Co11–Co12 |
| every event's extent |
how much |
genomes, ordered and nucleotide; Python only |
Co9 |
transfer_to |
a choice |
genomes, every resolution |
Co3 |
| the substitution model |
a model |
sequences |
Sq2 |
birth, death |
how often |
species; joint runs only |
Jo10 |
The verbs
| Verb |
What the number does |
Written on |
Gallery |
scaled_by |
multiplies the base in front of it |
a rate, an extent |
Co1 |
set_by |
replaces the base, in the rate's own units, so nothing is written in front; on a substitution model it gives the model itself |
a rate, a substitution model |
Co7 |
weighted_by |
weighs the candidates against each other |
transfer_to, from Recipients() |
Co3 |
set_by is for when the literature states the rate itself (the loss rate is 1.0 in the water) rather than a multiple of a base you had to invent. weighted_by needs no base because its weights are normalised over whoever is alive when a transfer fires, so they choose the recipient and never change how many transfers happen.
The mappings
| The driver gives |
Mapping |
What it is |
Gallery |
| named states |
Table |
one factor per state; a bare dict is read as one, and a state left out is unchanged |
Co1 |
| a number |
Curve |
any function of it; a bare function is read as one, and bound= puts a ceiling on the factor, which an unbounded function needs |
Co5–Co6 |
| a number |
Scalar |
a strength, giving the factor exp(strength × value) |
Co8 |
| a pair of states |
Between |
one weight per ordered (donor, recipient) pair, default= for the rest; transfer_to only |
Ge3 |
Whatever the shape, the number that comes out of a mapping has no units and cannot be negative: it multiplies, or weighs, what it lands on. set_by is the one exception: its mapping gives the rate itself, in the rate's own units.