docs: def read_population_file(file_name):
      """Reads the population file.
  
      :param file_name: the name of the population file.
  
      :type file_name: str
  
      :returns: a :py:class:`dict` containing the population for each of the
                samples.
  
      The population file should contain three columns:
  
      1. The family ID.
      2. The individual ID.
      3. The population of the file (one of ``CEU``, ``YRI``, ``JPT-CHB`` or
         ``SOURCE``).
  
      The outliers are from the ``SOURCE`` population, when compared to one of
      the three reference population (``CEU``, ``YRI`` or ``JPT-CHB``).
  
      """
      pops = {}
      required_pops = {"CEU", "YRI", "JPT-CHB", "SOURCE"}
      with open(file_name, 'rb') as input_file:
          for line in input_file:
              row = line.rstrip("\r\n").split("\t")
  
              # The data
              sample_id = tuple(row[:2])
              pop = row[-1]
  
              # Checking the pop
              if pop not in required_pops:
                  msg = ("{}: sample {}: unknown population "
                         "{}".format(file_name, " ".join(sample_id), pop))
                  raise ProgramError(msg)
  
              # Saving the population file
              pops[tuple(row[:2])] = row[-1]
  
      return pops