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
Certainly all DAG construction functions should be modified to expect only a generator containing trees, not an entire list, and iterate on that generator in a memory-efficient way.
Current situation:
Goal: build each node only once.
Input: list of ete trees?
build node dictionary node_dictnode -> node for existing DAG
for each ete tree:
Postorder traverse to build child clades at all nodes
Preorder traverse, adding each edge by looking up parent node in the node_dict (it must be there by preorder), looking up child node in node_dict, adding if necessary, and adding edge from parent to child
The method used to build the history DAG is slow (search entire DAG for duplicate nodes each time a history is added)
It certainly doesn't have to be this way. Let's think about this with the
__getstate__
and__setstate__
implementations as inspiration.The text was updated successfully, but these errors were encountered: