skbio.core.tree.TreeNode.compare_rfd

TreeNode.compare_rfd(other, proportion=False)[source]

Calculates the Robinson and Foulds symmetric difference

Parameters:

other : TreeNode

A tree to compare against

proportion : bool

Return a proportional difference

Returns:

float

The distance between the trees

Raises:

ValueError

If the tip names between self and other are equal.

Notes

Implementation based off of code by Julia Goodrich. The original description of the algorithm can be found in [R25].

References

[R25](1, 2) Comparison of phylogenetic trees. Robinson and Foulds. Mathematical Biosciences. 1981. 53:131-141

Examples

>>> from skbio.core.tree import TreeNode
>>> tree1 = TreeNode.from_newick("((a,b),(c,d));")
>>> tree2 = TreeNode.from_newick("(((a,b),c),d);")
>>> tree1.compare_rfd(tree2)
2.0