Learn R Programming

TreeSearch (version 0.3.2)

SplitMutualInformation: Mutual information of two splits

Description

Reports the mutual phylogenetic information, or variation of phylogenetic information, of two splits.

Usage

SplitMutualInformation(n, A1, A2 = A1)

SplitVariationOfInformation(n, A1, A2 = A1)

TreesConsistentWithTwoSplits(n, A1, A2 = A1)

LogTreesConsistentWithTwoSplits(n, A1, A2 = A1)

Arguments

n

Integer specifying the number of terminals.

A1, A2

Integers specifying the number of taxa in A1 and A2, once the splits have been arranged such that A1 overlaps with A2.

Value

TreesConsistentWithTwoSplits returns the number of unrooted bifurcating trees consistent with two splits.

SplitMutualInformation returns the information that two splits have in common, in bits.

SplitVariationOfInformation returns the variation of information (Meila 2007) between the two splits, a measure of their difference, in bits.

Functions

  • SplitVariationOfInformation: Variation of information between two splits.

  • TreesConsistentWithTwoSplits: Number of trees consistent with two splits.

  • LogTreesConsistentWithTwoSplits: Natural logarithm of TreesConsistentWithTwoSplits.

Details

The mutual phylogenetic information corresponds to the entropy of the subset of trees consistent with both splits; two splits that are consistent with a smaller number of trees will have a higher mutual information content.

Split 1 divides n terminals into two partitions, A1 and B1. Split 2 divides the same terminals into the partitions A2 and B2.

Partitions must be named such that A1 overlaps with A2: that is to say, all taxa in A1 are also in A2, or vice versa. Thus, all taxa in the smaller of A1 and A2 also occur in the larger.

References

Meila2007TreeSearch

Examples

Run this code
# NOT RUN {
  # Eight tips, labelled A to H.
  # Split 1: ABCD:EFGH
  # Split 2: ABC:DEFGH
  # Let A1 = ABCD (four taxa), and A2 = ABC (three taxa).
  # A1 and A2 overlap (both contain ABC).
  
  TreesConsistentWithTwoSplits(n=8, A1=4, A2=3)
  SplitMutualInformation(n=8, A1=4, A2=3)
  SplitVariationOfInformation(n=8, A1=4, A2=3)

  # If splits are identical, then their mutual information is the same
  # as the information of either split:
  SplitMutualInformation(n=8, A1=3, A2=3)
  SplitInformation(3, 5)
  
# }

Run the code above in your browser using DataLab