I've been working with mass spectrum data analysis (but my field is computer science).

I'm using a library that allows me to get the entire Mass Intensity of the MS1 scan (such as [time, intensity]). However, by searching for the highest value for intensity, it is always a few integers lower than the base peak intensity.

I'm retrieving the information from a mzXML file, and the library that I'm using is ms-data-core-api. The method used to retrieve the intensity map, in case anyone has ever used this library, is this one: public double[][] getMassIntensityMap(). I retrieve the highest peek in the map by iterating the matrix returned and updating a variable with the highest value found in the y axis (given double [x = time][y = mass].

Examples of the difference of data include the following:

scan 1 (MS1): Highest peak in map: 789991.875 / base peak intensity: 793728.0
scan 2 (MS1): Highest peak in map: 714475.5  / base peak intensity: 719125.0
scan 3 (MS1): Highest peak in map: 673152.6875  / base peak intensity: 680567.0

From what I can tell, the instrument used for these scans is a fourier transform ion cyclotron resonance mass spectrometer, using Xcalibur as the software.

Does this makes sense, and why?

  • 1
    $\begingroup$ @CurtF. I'm sorry, I should have added this information in the first place. I'll update the question. $\endgroup$
    – streppel
    Jun 28, 2016 at 4:08

1 Answer 1


One possibility for the discrepancy is that different peak centroiding / integration algorithms were used at different stages in the data.

For example, the base peak intensity recorded in the plain-text (uncompressed) scan data is probably calculated by the instrument in real-time during acquisition. The intensities of all detected peaks are also recorded by the instrument, of course, but those intensities may be affected by processes such as centroiding that are not applied to the plain-text recorded base peak intensity.

An exact answer to your question will depend on many factors, such as whether spectra were recorded in profile mode or centroid mode, whether spectra were compressed during conversion to mzXML format, and also details of the (possible) centroiding algorithms and BPC algorithms used by the instrument firmware during data acquistion. (Good luck trying to find the exact code for vendor firmware...it's probably proprietary.)

  • $\begingroup$ Thank you for your answer. I know that this was a difficult question to answer, since it is very specific and a difficult one to reproduce, but I really appreciate your help. I believe that the spectra were recorded in centroid mode, but I have no access to the other information. You were really helpful, though; I thought I was missing something obvious, but that might not be exactly the case, then. $\endgroup$
    – streppel
    Jun 28, 2016 at 5:29
  • $\begingroup$ Just as a final thought though, but that's more of a soft doubt since it may not have a definitive answer: if this was caused by the algorithms, would you consider the base peak intensity to be of higher accuracy, or the mass intensity matrix? $\endgroup$
    – streppel
    Jun 28, 2016 at 5:34
  • 1
    $\begingroup$ Accuracy for what purpose? The differences are less than 0.5%. Does the rest of your analysis really depend so heavily on which number you use that a 0.5% difference matters? To actually answer your question, I would use the "scan-internal". It is the same for all peaks, and thus it makes sense to compare intensitities between base peaks and other peaks. $\endgroup$
    – Curt F.
    Jun 28, 2016 at 19:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.