You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A burn-in before the root: burn_in=T (--burn-in T) runs origination, duplication and loss on one lineage for a time T before the species tree begins, from an empty genome, so the root holds families of many ages and copy numbers rather than initial_families of the same age. Its events carry negative times. At the ordered resolution the segmental events and the rearrangements run too, the chromosome events do not. Refused when duplication is not below loss, in a joint run, with a driver, with a draw among lineages, and on the per-family engine. Two validation checks pin the equilibrium it reaches. (#473)
A group at the ordered resolution takes three dials for a co-transfer benchmark: together, the probability that a transfer of a member carries the whole group as one event; adjacent=False, which keeps nothing positional, so a group at together=0 is no group at all; and fates, whether a loss or a duplication takes the whole group ("group") or the genes it draws ("family", now the default). The ordered resolution's genome_events.tsv gains an event column, the same id on every row of one event, so which families shared a transfer is read off the table; and genome_summary.json maps each declared family's name to the id the tables write. (#471)
Ordered genomes take groups=[group("operon1", ["A", "B", "C"])]: declared families that travel as one segment. The group is laid out whole in the initial genome; a duplication, a loss or a transfer that starts on any of its genes takes all of them, with the group counted as one gene of the extent; no rearrangement run, insertion or fission cut falls between its genes. The run writes groups.tsv, naming every gene copy of every copy of the group. Rates stay per copy; replacement=True is refused with groups. (#468)
Fixed
prune(), the trait engines, zombi2 tools recphylo and zombi2 tools markers walk a tree by its structure, not by its node ids. A hand-labelled Newick whose internal labels do not number a child above its parent used to raise a KeyError. ZOMBI2's own trees are walked in the same order as before, so seeded runs are unchanged. (#467)