class_docstr: An object that represents an individual's call at a genomic locus.
  
  Parameters
  ----------
  alleles : :obj:`list` of :obj:`int`
      List of alleles that compose the call.
  phased : :obj:`bool`
      If ``True``, the alleles are phased and the order is specified by
      `alleles`.
  
  Note
  ----
  This object refers to the Python value returned by taking or collecting
  Hail expressions, e.g. ``mt.GT.take(5`)``. This is rare; it is much
  more common to manipulate the :class:`.CallExpression` object, which is
  constructed using the following functions:
  
   - :func:`.call`
   - :func:`.unphased_diploid_gt_index_call`
   - :func:`.parse_call`
code: def __init__(self, alleles, phased=False):
      # Intentionally not using the type check annotations which are too slow.
      assert isinstance(alleles, Sequence)
      assert isinstance(phased, bool)
  
      if len(alleles) > 2:
          raise NotImplementedError(
              "Calls with greater than 2 alleles are not supported."
          )
      self._phased = phased
      ploidy = len(alleles)
      if phased or ploidy < 2:
          self._alleles = alleles
      else:
          assert ploidy == 2
          a0 = alleles[0]
          a1 = alleles[1]
          if a1 < a0:
              a0, a1 = a1, a0
          self._alleles = [a0, a1]
  
imports: from collections.abc import Sequence
  from hail.typecheck import typecheck_method
  from hail.utils import FatalError
label_desc: Use image node_id 1 to create a new Call object from inherited base classes: object with example: obj = Call(alleles, phased)