skbio.tree.TreeNode.compare_rfd

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

Calculates the Robinson and Foulds symmetric difference

State: Experimental as of 0.4.0.

Parameters
  • other (TreeNode) – A tree to compare against

  • proportion (bool) – Return a proportional difference

Returns

The distance between the trees

Return type

float

Notes

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

Raises

ValueError – If the tip names between self and other are equal.

References

1

Comparison of phylogenetic trees. Robinson and Foulds. Mathematical Biosciences. 1981. 53:131-141

Examples

>>> from skbio import TreeNode
>>> tree1 = TreeNode.read(["((a,b),(c,d));"])
>>> tree2 = TreeNode.read(["(((a,b),c),d);"])
>>> tree1.compare_rfd(tree2)
2.0