docs: def calcMz(self, specfiles=None, guessCharge=True, obsMzKey='obsMz'):
          """Calculate the exact mass for ``Sii`` elements from the
          ``Sii.peptide`` sequence.
  
          :param specfiles: the name of an ms-run file or a list of names. If None
              all specfiles are selected.
          :param guessCharge: bool, True if the charge should be guessed if the
              attribute ``charge`` is missing from ``Sii``. Uses the calculated
              peptide mass and the observed m/z value to calculate the charge.
          :param obsMzKey: attribute name of the observed m/z value in ``Sii``.
          """
          #TODO: important to test function, since changes were made
          _calcMass = maspy.peptidemethods.calcPeptideMass
          _calcMzFromMass = maspy.peptidemethods.calcMzFromMass
          _massProton = maspy.constants.atomicMassProton
          _guessCharge = lambda mass, mz: round(mass / (mz - _massProton), 0)
  
          if specfiles is None:
              specfiles = [_ for _ in viewkeys(self.info)]
          else:
              specfiles = aux.toList(specfiles)
  
          tempMasses = dict()
          for specfile in specfiles:
              if specfile not in self.info:
                  warntext = 'Error while calling "SiiContainer.calcMz()": '\
                             '"%s" is not present in "SiiContainer.info"!'\
                              % (specfile, )
                  warnings.warn(warntext)
              else:
                  for sii in self.getItems(specfiles=specfile):
                      peptide = sii.peptide
                      if peptide not in tempMasses:
                          if hasattr(sii, 'diPeptide'):
                              tempMasses[peptide] = (_calcMass(sii.peptide1) +
                                                     _calcMass(sii.peptide2)
                                                     )
                          else:
                              tempMasses[peptide] = _calcMass(peptide)
                      peptideMass = tempMasses[peptide]
                      if sii.charge is not None:
                          sii.excMz = _calcMzFromMass(peptideMass, sii.charge)
                      elif guessCharge:
                          guessedCharge = _guessCharge(peptideMass,
                                                       getattr(sii, obsMzKey)
                                                       )
                          sii.excMz = _calcMzFromMass(peptideMass, guessedCharge)
                          sii.charge = guessedCharge
                      else:
                          sii.excMz = None
          del(tempMasses)