parameters: (allele_frequency_counts, theta=0.001)
return_statement: return math.factorial(M) \
          / (theta * product([theta + h for h in range(1, M)])) \
          * product([math.pow(theta, count) / math.pow(frequency, count) * math.factorial(count) \
              for frequency, count in allele_frequency_counts.iteritems()])
docstring: Implements Ewens' Sampling Formula.  allele_frequency_counts is a
      dictionary mapping count -> number of alleles with this count in the
      population.
docstring_summary: Implements Ewens' Sampling Formula.  allele_frequency_counts is a
      dictionary mapping count -> number of alleles with this count in the
      population.
docstring_tokens: Implements Ewens Sampling Formula . allele_frequency_counts is a dictionary mapping count - > number of alleles with this count in the population .
function: def allele_frequency_probability(allele_frequency_counts, theta=0.001):
      """Implements Ewens' Sampling Formula.  allele_frequency_counts is a
      dictionary mapping count -> number of alleles with this count in the
      population."""
      M = sum([frequency * count for frequency, count in allele_frequency_counts.iteritems()])
      return math.factorial(M) \
          / (theta * product([theta + h for h in range(1, M)])) \
          * product([math.pow(theta, count) / math.pow(frequency, count) * math.factorial(count) \
              for frequency, count in allele_frequency_counts.iteritems()])
function_tokens: def allele_frequency_probability ( allele_frequency_counts , theta = 0.001 ) : M = sum ( [ frequency * count for frequency , count in allele_frequency_counts . iteritems ( ) ] ) return math . factorial ( M ) / ( theta * product ( [ theta + h for h in range ( 1 , M ) ] ) ) * product ( [ math . pow ( theta , count ) / math . pow ( frequency , count ) * math . factorial ( count ) for frequency , count in allele_frequency_counts . iteritems ( ) ] )