code: def sample_call_summary_stats(
      genotypes: Union[Column, str],
      refAllele: Union[Column, str],
      alternateAlleles: Union[Column, str],
  ) -> Column:
      """
      Computes per-sample call summary statistics. See :ref:`sample-qc` for more details.
  
      Added in version 0.3.0.
  
      Examples:
          >>> sites = [
          ... {'refAllele': 'C', 'alternateAlleles': ['G'], 'genotypes': [{'sampleId': 'NA12878', 'calls': [0, 0]}]},
          ... {'refAllele': 'A', 'alternateAlleles': ['G'], 'genotypes': [{'sampleId': 'NA12878', 'calls': [1, 1]}]},
          ... {'refAllele': 'AG', 'alternateAlleles': ['A'], 'genotypes': [{'sampleId': 'NA12878', 'calls': [1, 0]}]}]
          >>> df = spark.createDataFrame(sites, 'refAllele: string, alternateAlleles: array<string>, genotypes: array<struct<sampleId: string, calls: array<int>>>')
          >>> df.select(glow.sample_call_summary_stats('genotypes', 'refAllele', 'alternateAlleles').alias('stats')).collect()
          [Row(stats=[Row(sampleId='NA12878', callRate=1.0, nCalled=3, nUncalled=0, nHomRef=1, nHet=1, nHomVar=1, nSnp=2, nInsertion=0, nDeletion=1, nTransition=2, nTransversion=0, nSpanningDeletion=0, rTiTv=inf, rInsertionDeletion=0.0, rHetHomVar=1.0)])]
  
      Args:
          genotypes : An array of genotype structs with ``calls`` field
          refAllele : The reference allele
          alternateAlleles : An array of alternate alleles
  
      Returns:
          A struct containing ``sampleId``, ``callRate``, ``nCalled``, ``nUncalled``, ``nHomRef``, ``nHet``, ``nHomVar``, ``nSnp``, ``nInsertion``, ``nDeletion``, ``nTransition``, ``nTransversion``, ``nSpanningDeletion``, ``rTiTv``, ``rInsertionDeletion``, ``rHetHomVar`` fields. See :ref:`sample-qc`.
      """
      assert check_argument_types()
      output = Column(
          sc()._jvm.io.projectglow.functions.sample_call_summary_stats(
              _to_java_column(genotypes),
              _to_java_column(refAllele),
              _to_java_column(alternateAlleles),
          )
      )
      assert check_return_type(output)
      return output
  
imports: from pyspark import SparkContext
  from pyspark.sql.column import Column, _to_java_column, _to_seq
  from typeguard import check_argument_types, check_return_type
  from typing import Union
label_desc: Use image node_id 18 for calling a global function with example usage: sample_call_summary_stats(genotypes, refAllele, alternateAlleles) and returns: output