class_docstr: Container class for genotype likelihoods of allele configurations.
  
  When evaluating valid genotype configurations across multiple variants, we
  calculate the likelihood of each configuration. To then calculate the marginal
  likelihoods for each variant's genotypes, for each genotype we need to sum the
  probabilities of all configurations that include that genotype.
  
  For numerical stability we do this by storing the genotype likelihoods
  = log10(p) and then aggregate using the log-sum-exp trick.
docstr: Returns the scaled likelihood of each genotype.
docstr_tok: ["Returns","the","scaled","likelihood","of","each","genotype","."]
code: def scaled_likelihoods(self):
      """Returns the scaled likelihood of each genotype."""
      if not all(bool(x) for x in self._genotype_likelihood_containers):
          raise ValueError(
              "All genotypes must have some probability mass: {}".format(
                  self._genotype_likelihood_containers
              )
          )
  
      return genomics_math.normalize_log10_probs(
          [
              genomics_math.log10sumexp(unscaled)
              for unscaled in self._genotype_likelihood_containers
          ]
      )
  
imports: import copy
  import itertools
  from absl import flags
  from absl import logging
  import numpy
  from third_party.nucleus.util import genomics_math
  from third_party.nucleus.util import variant_utils
label_desc: Use image node_id 3 for calling the _LikelihoodAggregator obj's underlying member method code with example usage: obj.scaled_likelihoods() and returns: genomics_math