code: def _parse_impute2_line(self, line):
          
          # Splitting
          row = line.rstrip("\r\n").split(" ")
  
          # Constructing the probabilities
          prob = np.array(row[5:], dtype=float)
          prob.shape = (prob.shape[0] // 3, 3)
  
          # Constructing the dosage
          dosage = 2 * prob[:, 2] + prob[:, 1]
          if self.prob_t > 0:
              dosage[~np.any(prob >= self.prob_t, axis=1)] = np.nan
  
          return Genotypes(
              Variant(row[1], CHROM_STR_ENCODE.get(row[0], row[0]), int(row[2]),
                      [row[3], row[4]]),
              dosage,
              reference=row[3],
              coded=row[4],
              multiallelic=False,
          )
docs: Parses the current IMPUTE2 line (a single variant).
  
          Args:
              line (str): An IMPUTE2 line.
  
          Returns:
              Genotypes: The genotype in dosage format.
  
          Warning
          =======
              By default, the genotypes object has multiallelic set to False.