Skip to content

RobbenRoll/emgfit

Repository files navigation

emgfit

image

image

Fitting of time-of-flight mass spectra with Hyper-EMG models

emgfit is a Python package for peak fitting of time-of-flight (TOF) mass spectra with hyper-exponentially modified Gaussian (Hyper-EMG1) model functions. emgfit is a wrapper around the lmfit2 curve fitting package and uses many of lmfit's user-friendly high-level features. Experience with lmfit can be helpful but is not an essential prerequisite for using emgfit since the lmfit features stay largely 'hidden under the hood'. emgfit is designed to be user-friendly and offers automation features whenever reasonable while also supporting a large amount of flexibility and control for the user. Depending on the user's preferences an entire spectrum can be rapidly analyzed with only a few lines of code. Alternatively, various optional features are available to aid the user in a more rigorous analysis. The model functions and statistical methods provided by emgfit could be useful for analyses of spectroscopic data from a variety of other fields.

Amongst other features, the emgfit toolbox includes:

  • Automatic and sensitive peak detection
  • Automatic import of literature values from the AME20203 (or AME20164) mass database
  • Automatic selection of the best suited peak-shape model
  • Fitting of low-statistics peaks with a binned maximum likelihood method
  • Simultaneous fitting of an entire spectrum with various peaks
  • Export of all relevant fit results including fit statistics and plots to an EXCEL output file for convenient post-processing

emgfit is designed to be used within Jupyter Notebooks which have become a standard tool in the data science community. The usage and capabilities of emgfit are best explored by looking at the tutorial. The tutorial and more details can be found in the online documentation.

References


  1. Purushothaman, S., et al. "Hyper-EMG: A new probability distribution function composed of Exponentially Modified Gaussian distributions to analyze asymmetric peak shapes in high-resolution time-of-flight mass spectrometry." International Journal of Mass Spectrometry 421 (2017): 245-254.

  2. Newville, M., et al. "LMFIT: Non-linear least-square minimization and curve-fitting for Python." Astrophysics Source Code Library (2016): ascl-1606.

  3. Wang, M., et al. "The AME2020 atomic mass evaluation (II). Tables, graphs and references." Chinese Physics C 45 (2021): 030003.

  4. Wang, M., et al. "The AME2016 atomic mass evaluation (II). Tables, graphs and references." Chinese Physics C 41.3 (2017): 030003.

About

Fitting of time-of-flight mass spectra with hyper-EMG models

Resources

License

Stars

Watchers

Forks

Packages

No packages published