docs: def readPopulations(inputFileName):
      """Reads a population file.
  
      :param inputFileName: the name of the population file.
  
      :type inputFileName: str
  
      :returns: a :py:class:`dict` of population for each of the samples.
  
      """
      populations = {}
      with open(inputFileName, "r") as inputFile:
          for line in inputFile:
              row = line.rstrip("\r\n").split("\t")
  
              # Getting the informations
              famID = row[0]
              indID = row[1]
              pop = row[2]
  
              # Check if we already saw this sample
              if (famID, indID) in populations:
                  if pop != populations[(famID, indID)]:
                      msg = ("{} {}: sample has multiple population ({} and "
                             "{})".format(famID, indID, pop,
                                          populations[(famID, indID)]))
                      raise ProgramError(msg)
  
              # Save the population
              populations[(famID, indID)] = pop
  
      return populations