docs: def variant(self, case_id, variant_id):
          """Return a specific variant.
  
              We solve this by building a gemini query and send it to _variants
  
              Args:
                  case_id (str): Path to a gemini database
                  variant_id (int): A gemini variant id
  
              Returns:
                  variant_obj (dict): A puzzle variant
  
          """
          #Use the gemini id for fast lookup
          variant_id = int(variant_id)
          gemini_query = "SELECT * from variants WHERE variant_id = {0}".format(
              variant_id
          )
  
          individuals = []
          # Get the individuals for the case
          case_obj = self.case(case_id)
          for individual in case_obj.individuals:
              individuals.append(individual)
  
          self.db = case_obj.variant_source
          self.variant_type = case_obj.variant_type
  
          gq = GeminiQuery(self.db)
          gq.run(gemini_query)
  
          for gemini_variant in gq:
              variant = self._format_variant(
                  case_id=case_id,
                  gemini_variant=gemini_variant,
                  individual_objs=individuals,
                  index=gemini_variant['variant_id'],
                  add_all_info = True
              )
              return variant
  
          return None