docs: def get_variant_genotypes(self, variant):
          """Get the genotypes from a well formed variant instance.
  
          Args:
              marker (Variant): A Variant instance.
  
          Returns:
              A list of Genotypes instance containing a pointer to the variant as
              well as a vector of encoded genotypes.
  
          """
          if not self.has_index:
              raise NotImplementedError("Not implemented when IMPUTE2 file is "
                                        "not indexed (see genipe)")
  
          # Find the variant in the index
          try:
              impute2_chrom = CHROM_STR_TO_INT[variant.chrom.name]
          except KeyError:
              raise ValueError(
                  "Invalid chromosome ('{}') for IMPUTE2.".format(variant.chrom)
              )
  
          variant_info = self._impute2_index[
              (self._impute2_index.chrom == impute2_chrom) &
              (self._impute2_index.pos == variant.pos)
          ]
  
          if variant_info.shape[0] == 0:
              logging.variant_not_found(variant)
              return []
  
          elif variant_info.shape[0] == 1:
              return self._get_biallelic_variant(variant, variant_info)
  
          else:
              return self._get_multialleic_variant(variant, variant_info)