docs: def compareSNPs(before, after, outFileName):
      """Compares two set of SNPs.
  
      :param before: the names of the markers in the ``before`` file.
      :param after: the names of the markers in the ``after`` file.
      :param outFileName: the name of the output file.
  
      :type before: set
      :type after: set
      :type outFileName: str
  
      Finds the difference between two sets of markers, and write them in the
      ``outFileName`` file.
  
      .. note::
          A :py:class:`ProgramError` is raised if:
  
          1. There are more markers in the ``after`` set than in the  ``before``
             set.
          2. Some markers that are in the ``after`` set are not in the ``before``
             set.
  
      """
      # First, check that "before" is larger than "after"
      if len(after) > len(before):
          msg = "there are more SNPs after than before"
          raise ProgramError(msg)
  
      # Checks that all the SNPs "after" are in "before"
      if not (after <= before):
          msg = "some after SNPs are not in before"
          raise ProgramError(msg)
  
      # Printing the SNPs
      try:
          with open(outFileName, "w") as outputFile:
              differences = before - after
              if len(differences) > 0:
                  print >>outputFile, "\n".join(differences)
      except IOError:
          msg = "%(outFileName)s: can't write to file" % locals()
          raise ProgramError(msg)