code: def addLabel(self, aminoAcidLabels, excludingModifications=None):
          
          if excludingModifications is not None:
              self.excludingModifictions = True
  
          labelEntry = {'aminoAcidLabels': aminoAcidLabels,
                        'excludingModifications': excludingModifications
                        }
          self.labels[self._labelCounter] = labelEntry
          self._labelCounter += 1
docs: Adds a new labelstate.
  
          :param aminoAcidsLabels: Describes which amino acids can bear which
              labels. Possible keys are the amino acids in one letter code and
              'nTerm', 'cTerm'. Possible values are the modifications ids from
              :attr:`maspy.constants.aaModMass` as strings or a list of strings.
              An example for one expected label at the n-terminus and two expected
                  labels at each Lysine:
                  ``{'nTerm': 'u:188', 'K': ['u:188', 'u:188']}``
          :param excludingModifications: optional, A Dectionary that describes
              which modifications can prevent the addition of labels. Keys and
              values have to be the modifications ids from
              :attr:`maspy.constants.aaModMass`. The key specifies the
              modification that prevents the label modification specified by the
              value. For example for each modification 'u:1' that is present at an
              amino acid or terminus of a peptide the number of expected labels at
              this position is reduced by one: ``{'u:1':'u:188'}``