Finds the unique markers in a MAP.

    :param mapF: representation of a ``map`` file.

    :type mapF: list

    :returns: a :py:class:`dict` containing unique markers (according to their
              genomic localisation).

def findUniques(mapF):
    """Finds the unique markers in a MAP.

    :param mapF: representation of a ``map`` file.

    :type mapF: list

    :returns: a :py:class:`dict` containing unique markers (according to their
              genomic localisation).

    """
    uSNPs = {}
    dSNPs = defaultdict(list)
    for i, row in enumerate(mapF):
        chromosome = row[0]
        position = row[3]
        snpID = (chromosome, position)
        if snpID not in uSNPs:
            # This is the first time we see this sample
            uSNPs[snpID] = i
        else:
            # We have seen this sample at least once...
            if snpID not in dSNPs:
                # This is the second time we see this sample...
                dSNPs[snpID].extend([uSNPs[snpID], i])
            else:
                # We have seen this sample multiple times
                dSNPs[snpID].append(i)

    # Removing the duplicates from the unique samples
    for snpID in dSNPs.iterkeys():
        if snpID in uSNPs:
            del uSNPs[snpID]

    return uSNPs