Skip to main content

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.