Skip to main content

Advertisement

Table 1 Types of evolutionary events and their costs

From: Cubic time algorithms of amalgamating gene trees and building evolutionary scenarios

i Condition Name Description Cost
0 cohered leaf edge e and leaf tube d fin evolution of gene e ends in species d c=0
1 non-cohered leaf edge e and leaf tube d, dd* tr_fin gene e evolves into a non-cohered species and transfers without retention to a cohered species c=с(tr_without)
2 same as #1 but d=d* ga_fin gene e emerges in a cohered terminal species c=с(gain)
3 tube d has the single child d1 pass gene e transfers to the next time slice, tube d1 c=c(e,d1)
4 edge e bifurcates into e1 and e2, tube d bifurcates into d1 and d2 fork_lr dd0: gene e evolves with speciation into two descendants: e1 transfers to d1, e2 – to d2; d=d0: one of the two descendants of gene e is absent in the root R c=c(e1,d1)+c(e2,d2)
5 same as #4 fork_rl dd0: gene e evolves with speciation into two descendants: e1 transfers to d2, e2 – to d1; d=d0: same as #4 c=c(e2,d1)+c(e1,d2)
6 dd0, tube d bifurcates into d1 and d2 pass_l gene e transfers with speciation to d1 and is lost in d2 c=c(e,d1)+c(loss)
7 same as #6 pass_r gene e transfers with speciation to d2 and is lost in d1 c=c(e,d2)+c(loss)
8 d=d0, tube d bifurcates into d1d*, d2=d* nout_l gene e is present in the root R c=c(e,d1)
9 d=d0, tube d bifurcates into d1=d*, d2d* nout_r same as #8 c=c(e,d2)
10 d=d0, tube d bifurcates into d1=d*, d2d* out_l gene e is absent in the root R c=c(e,d1)
11 d=d0, tube d bifurcates into d1d*, d2=d* out_r same as #10 c=c(e,d2)
12 edge e bifurcates into e1 and e2, dd* and genes e1 and e2 do not undergo the events out_l or out_r dupl gene e in d duplicated c=c(e1,d)+c(e2,d)+c(dupl)
13 same as #12 but d=d0 and at least one of the genes e1 or e2 undergoes the events out_l or out_r dup0 one of the descendants of e is absent in the root R c=c(e1,d)+c(e2,d)
14 edge e bifurcates into e1 and e2, d=d* outd gene e is duplicated in the outgroup c=c(e1,d)+c(e2,d)
15 edge e bifurcates into e1 and e2, dd*, dd0 tr1 one copy e1 of e from d transfers to d' ~ d, d'd*, another copy e2 of e retains in d с=c(e1,d')+c(e2,d)+c(tr_with) (minimization over d', if uncertainty select one closest to d)
16 same as #15 tr2 one copy e2 of e from d transfers to d' ~ d, d'd*, another copy e1 of e retains in d с=c(e2,d')+c(e1,d)+c(tr_with) (minimization over d', if uncertainty select one closest to d)
17 edge e bifurcates into e1 and e2, d=d* ga1 gene e1 emerges in the species d' ~ d с=c(e1,d')+c(e2,d)+c(gain) (minimization over d')
18 same as #17 ga2 gene e2 emerges in the species d' ~ d с=c(e2,d')+c(e1,d)+c(gain) (minimization over d')
19 ee0, dd*, dd0, d is not terminal sl gene e stops functioning c=c(e,d*)+c(sleep)
20 e=e0, d=d* ga_big gene e0 emerges in d' ~ d as a common ancestor of all G i с=c(e0,d')+c(gain_big) (minimization over d')
21 dd*, dd0 tr_pass gene e transfers without retention to d' ~ d, d'd*, that produces the single descendant d'1, and then transfers to d'1 c=c(e,d'1)+c(tr_without) (minimization over d', if uncertainty select one closest to d)
22 ee0, d=d* ga_pass gene e emerges in d' ~ d that produces the single descendant d'1, and then transfers to d'1 c=c(e,d'1)+c(gain) (minimization over d')
23 edge e bifurcates into e1 and e2, dd*, dd0 tr_lr gene e transfers without retention to d' ~ d, d'd*, that bifurcates into d'1 and d'2, then e1 transfers to d'1, and e2 – to d'2 с=c(e1,d'1)+c(e2,d'2)+ c(tr_without) (minimization over d', if uncertainty select one closest to d)
24 same as #23 tr_rl gene e transfers without retention to d' ~ d, d'd*, that bifurcates into d'1 and d'2, then e1 transfers to d'2, and e2 – to d'1 с=c(e1,d'2)+c(e2,d'1)+ c(tr_without) (minimization over d', if uncertainty select one closest to d)
25 ee0, edge e bifurcates into e1 and e2, dd* ga_lr gene e emerges in species d' ~ d that bifurcates into d'1 and d'2, then e1 transfers to d'1, and e2 – to d'2 с=c(e1,d'1)+c(e2,d'2)+c(gain) (minimization over d')
26 same as #25 ga_rl gene e emerges in species d' ~ d that bifurcates into d'1 and d'2, then e1 transfers to d'2, and e2 – to d'1 с=c(e1,d'2)+c(e2,d'1)+c(gain) (minimization over d')
27 dd*, dd0 tr_l gene e transfers without retention to species d' ~ d, d'd* that bifurcates into d'1 and d'2, and then transfers to d'1 and is lost in d'2 с=c(e,d'1)+c(tr_without)+ c(loss) (minimization over d', if uncertainty select one closest to d)
28 same as #27 tr_r gene e transfers without retention to species d' ~ d, d'd* that bifurcates into d'1 and d'2, and then transfers to d'2 and is lost in d'1 с=c(e,d'2)+c(tr_without)+ c(loss) (minimization over d', if uncertainty select one closest to d)
29 ee0, d=d* ga_l gene e emerges in species d' ~ d that bifurcates into d'1 and d'2, and then transfers to d'1 and is lost in d'2 с1=c(e,d'1)+c(gain)+c(loss) (minimization over d')
30 same as #29 ga_r gene e emerges in species d' ~ d that bifurcates into d'1 and d'2, and then transfers to d'2 and is lost in d'1 с1=c(e,d'2)+c(gain)+c(loss) (minimization over d')
31 edge e bifurcates into e1 and e2, dd*, dd0 tr_dupl gene e transfers without retention to species d' ~ d, d'd*, and then duplicates c=c(e1,d')+c(e2,d')+ c(tr_without)+c(dupl) (minimization over d', if uncertainty select one closest to d)
32 edge e bifurcates into e1 and e2, ee0, d=d* ga_dupl gene e emerges in species d' ~ d, and then duplicates c=c(e1,d')+c(e2,d')+c(gain)+ c(dupl) (minimization over d')
33 edge e bifurcates into e1 and e2, dd*, dd0 tr_double gene e transfers without retention to species d' ~ d, d'd*, then its copy e2 transfers to d” ~ d, d”d”, d”d*, and copy e1 – to d'; or vice versa replacing d' with d" and e1 with e2 c=c(e1,d')+c(e2,d")+ c(tr_without)+c(tr_with) (minimization over pair < d', d" >, if uncertainty select a pair closest to d as per the sum of distances)
34 ee0, edge e bifurcates into e1 and e2, d=d* ga_double gene e emerges in species d' ~ d, then its copy e2 transfers to d" ~ d, d" ≠ d', and copy e1 retains in d'; or vice versa replacing d' with d" and e1 with e2 c=c(e1,d')+c(e2,d")+c(gain)+ c(tr_with) (minimization over pair < d’, d" >)
  1. Consider i as the number of the event (and the row number) in a fixed enumeration pattern; “Condition” defines the applicability of the event to current pair < e, d >; “Name” is the event type; “Description” is the event synopsis; “Cost” contains formulas to compute the costs of scenarios initiated from an event in a current row. A notation d ~ d' designates that “tubes d and d' differ and belong to the same time slice”. The constants c(dupl), c(loss), c(gain), c(gain_big), c(tr_without), c(tr_with), c(sleep) define the costs of individual events and constitute parameters of the algorithm.