descend_template_phylogeny_posthoc

descend_template_phylogeny_posthoc(ascending_lineage_iterables: ~typing.Iterable[~typing.Iterable], descending_tree_iterable: ~typing.Iterable, get_parent: ~typing.Callable[[~typing.Any], ~typing.Any], get_stem_length: ~typing.Callable[[~typing.Any], int], seed_column: ~hstrat.genome_instrumentation.HereditaryStratigraphicColumn, demark: ~typing.Callable[[~typing.Any], ~typing.Hashable] = <function demark>, progress_wrap: ~typing.Callable = <function <lambda>>) List[HereditaryStratigraphicColumn]

Generate a population of hereditary stratigraphic columns that could have resulted from the template phylogeny.

Calculates required ranks according to stratum retention policy for each extant lineage member, creating returned columns with strata at those ranks. Uses cache lookup to ensure that identical strata are provided where extant lineage members share common ancestry.

Requires seed_column’s stratum retention policy to provide IterRetainedRanks() method.

Prefer to use descend_template_phylogeny, which will automatically delegate to posthoc implementation if stratum retention policy requirements are met. See descend_template_phylogeny for parameter and return value details.