コード例 #1
0
ファイル: treeCombinatorics.py プロジェクト: JosiePark/biopy
def numberOfLabeledForests(forest) :
  """ Number of labeled ranked forests having the same unranked topology as
  forest."""

  # number of ranked possibilities for each tree
  z = [_LHsize(x) for x in forest]

  # prune single lineages 
  u = [(n,k) for n,k in z if n > 0]

  # same logic as for a single tree
  n,k = sum([x[0] for x in u]), prod([x[1] for x in u])
  return fac(n)//k
コード例 #2
0
ファイル: treeCombinatorics.py プロジェクト: JosiePark/biopy
def labeledHistoriesOfTree(p) :
  """ Number of labeled ranked histories of trees with the same unranked
  topology as p."""
  
  n,k = _LHsize(p)
  return fac(n)//k