def addModification(self, aa,position, modMass, modType):
        """
        !!!!MODIFICATION POSITION IS 0 BASED!!!!!!
        Modifications are stored internally as a tuple with this format:
        (amino acid modified, index in peptide of amino acid, modification type, modification mass)
        ie (M, 7, Oxidation, 15.9...)
        such as: M35(o) for an oxidized methionine at residue 35
        """
        #clean up xtandem
        if not modType:
            #try to figure out what it is
            tmass = abs(modMass)
            smass = str(tmass)
            prec = len(str(tmass-int(tmass)))-2
            precFormat = '%'+'0.%df'%prec
            # modType = ""
            # masses = config.MODIFICATION_MASSES
            # for i in masses:
            #     if tmass in masses[i] or smass == precFormat%masses[i][0]:
            #         #found it
            #         modType = i
            # if not modType:
            #     sys.stderr.write('mod not found %s\n'%modMass)
        self.mods.add((aa,str(position),str(modMass),str(modType)))