def make_ultrametric(self, strategy=<NUM_LIT:1>):
ctree = self._ttree.copy()<EOL>if strategy == <NUM_LIT:1>:<EOL><INDENT>for node in ctree.treenode.traverse():<EOL><INDENT>if node.is_leaf():<EOL><INDENT>node.dist = node.height + <NUM_LIT:1><EOL><DEDENT><DEDENT><DEDENT>else:<EOL><INDENT>raise NotImplementedError(<EOL>"<STR_LIT>"<EOL>.format(strategy))<EOL><DEDENT>return ctree<EOL>
Returns a tree with branch lengths transformed so that the tree is 
ultrametric. Strategies include (1) tip-align: extend tips to the length
of the fartest tip from the root; (2) non-parametric rate-smoothing: 
minimize ancestor-descendant local rates on branches to align tips (
not yet supported); and (3) penalized-likelihood: not yet supported.