@@ -298,11 +298,20 @@ required for a valid set of mutations.
298298In simulations, trees can be thought of as spread across space, and it is
299299helpful for inferring demographic history to record this history.
300300Migrations are performed by individual ancestors, but most likely not by an
301- individual whose genome is tracked as a ` node ` (as in a discrete-deme model they are
302- unlikely to be both a migrant and a most recent common ancestor). So,
303- ` tskit ` records when a segment of ancestry has moved between
304- populations. This table is not required, even if different nodes come from
305- different populations.
301+ individual whose genome is tracked as a ` tskit ` node (as in a discrete-deme
302+ model they are unlikely to be both a migrant and a most recent common ancestor).
303+ The migrations table can be used to record when a segment of ancestry has moved
304+ between populations. Note that recording migrations is not compulsory: the migrations
305+ table can be left empty even if different nodes come from different populations.
306+
307+ Specifically, migrations chart how edges are associated with a population.
308+ A migration from source population X to destination population Y
309+ at a given time, node, and left/right coordinate means that at the edge (or edges)
310+ denoted by the node and coordinates, ancestors younger than the time of
311+ the migration on the relevant edges can be thought of as belonging to population X
312+ and the older ancestors along the relevant edges can be thought of as belonging to
313+ population Y (at least until an intervening migration occurs). Migrations are
314+ recorded as follows:
306315
307316| Column | Type | Description |
308317| :--------- | -------- | -----------------------------------------------------: |
@@ -316,18 +325,22 @@ different populations.
316325
317326
318327The ` left ` and ` right ` columns are floating point values defining the
319- half-open segment of genome affected. The ` source ` and ` dest ` columns
320- record the IDs of the respective populations. The ` node ` column records the
321- ID of the node that was associated with the ancestry segment in question
322- at the time of the migration event. The ` time ` column is holds floating
323- point values recording the time of the event.
328+ half-open segment of genome affected (these need not exactly correspond to
329+ breakpoints between edges). The ` source ` column records the ID of the
330+ population from which, considered in forward time, migration originates. The
331+ ` dest ` column records where the migrating material ends up. The ` time ` column
332+ holds floating point values recording the time of the event, with migrations
333+ assumed to occur instantaneously. The ` node ` column records the ID of the child
334+ node of the migrating segment; in consequence the population ID of the ` node ` will
335+ match the ` dest ` ID (unless sequential migrations affect the same ` node ` , in which
336+ case it will match the ` dest ` value of the youngest of those migrations).
324337
325338The ` metadata ` column provides a location for client code to store
326339information about each migration. See the {ref}` sec_metadata_definition ` section for
327340more details on how metadata columns should be used.
328341
329342See the {ref}` sec_migration_requirements ` section for details on the properties
330- required for a valid set of mutations .
343+ required for a valid set of migrations .
331344
332345
333346(sec_population_table_definition)=
0 commit comments