From 1d45b982b8eba70c78eef9cd47b4d0cd654348a1 Mon Sep 17 00:00:00 2001
From: Olivier Langella <olivier.langella@u-psud.fr>
Date: Sat, 2 Feb 2019 23:27:46 +0100
Subject: [PATCH] WIP: adapt code to the new pappsoMS++ code policy

---
 src/config.h.cmake                            |  2 -
 .../identificationdatasource.cpp              |  8 +--
 .../identificationdatasource.h                |  5 +-
 .../identificationmascotdatfile.cpp           | 13 ++---
 .../identificationmascotdatfile.h             |  4 +-
 .../identificationpepxmlfile.cpp              | 12 ++---
 .../identificationpepxmlfile.h                |  4 +-
 .../identificationpwizfile.cpp                | 12 ++---
 .../identificationpwizfile.h                  |  4 +-
 .../identificationxtandemfile.cpp             | 13 ++---
 .../identificationxtandemfile.h               |  4 +-
 src/core/identificationgroup.cpp              |  2 +-
 src/core/peptideevidence.cpp                  |  8 +--
 src/core/peptideevidence.h                    |  6 +--
 src/core/peptidextp.cpp                       | 12 ++---
 src/core/peptidextp.h                         |  2 +-
 src/core/project.cpp                          |  8 +--
 src/core/project.h                            |  3 +-
 src/core/proteinxtp.cpp                       |  2 +-
 src/core/tandem_run/tandembatchprocess.cpp    |  4 +-
 src/core/tandem_run/tandembatchprocess.h      |  3 +-
 src/grouping/groupingpeptidemass.cpp          |  3 +-
 src/grouping/ptm/ptmgroupingexperiment.cpp    |  6 ++-
 src/grouping/ptm/ptmgroupingexperiment.h      |  2 +-
 src/grouping/ptm/ptmisland.cpp                | 15 ++++--
 src/grouping/ptm/ptmislandgroup.cpp           |  6 ++-
 src/grouping/ptm/ptmislandsubgroup.cpp        |  6 ++-
 src/grouping/ptm/ptmsamplescan.cpp            |  3 +-
 src/gui/about_dialog/aboutdialog.h            |  2 +-
 .../choosemodificationdialog.cpp              | 25 +++++++---
 .../choosemodificationdialog.h                |  6 +--
 .../edit_label_methods/editlabelmethods.cpp   | 16 +++---
 src/gui/edit_label_methods/editlabelmethods.h |  2 +-
 .../edit_modifications/editmodifications.cpp  | 35 +++++++++----
 .../edit_modifications/editmodifications.h    |  2 +-
 .../edittandempresetdialog.cpp                | 12 +++--
 .../edittandempresetdialog.h                  |  2 +-
 .../masschroqfileparameters.cpp               |  2 +-
 .../masschroqfileparameters.h                 | 14 +++---
 .../exportspreadsheetdialog.h                 |  4 +-
 .../load_results_dialog/loadresultsdialog.cpp |  9 ++--
 .../load_results_dialog/loadresultsdialog.h   |  2 +-
 src/gui/mainwindow.h                          |  6 ++-
 .../peptide_detail_view.ui                    |  6 +--
 src/gui/peptide_detail_view/peptidewindow.cpp | 39 +++++++--------
 src/gui/peptide_detail_view/peptidewindow.h   | 16 +++---
 .../peptide_list_view/peptidelistwindow.cpp   | 39 +++++++++++----
 src/gui/peptide_list_view/peptidelistwindow.h |  2 +-
 src/gui/peptide_list_view/peptidetablemodel.h |  4 +-
 .../peptidetableproxymodel.cpp                |  3 +-
 .../peptidetableproxymodel.h                  |  4 +-
 .../identificationgroupwidget.cpp             | 10 ++--
 .../identificationgroupwidget.h               |  2 +-
 src/gui/project_view/projectwindow.cpp        |  3 +-
 src/gui/protein_list_view/proteinlistwindow.h |  2 +-
 .../protein_list_view/proteintablemodel.cpp   |  3 +-
 src/gui/protein_list_view/proteintablemodel.h |  4 +-
 .../proteintableproxymodel.h                  |  4 +-
 src/gui/protein_view/proteinwindow.cpp        | 33 +++++++-----
 src/gui/protein_view/proteinwindow.h          |  2 +-
 .../ptmislandlistwindow.cpp                   | 36 +++++++++----
 .../ptmislandlistwindow.h                     |  2 +-
 .../ptmislandtablemodel.cpp                   |  3 +-
 .../ptmislandtablemodel.h                     |  4 +-
 .../ptmpeptidelistwindow.cpp                  | 16 ++++--
 .../ptmpeptidelistwindow.h                    |  2 +-
 .../ptmpeptidetablemodel.cpp                  |  3 +-
 .../ptmpeptidetablemodel.h                    |  4 +-
 .../ptmpeptidetableproxymodel.cpp             | 26 ++++++----
 .../ptmpeptidetableproxymodel.h               | 14 ++++--
 .../ptmsequencedelegate.h                     |  3 +-
 src/gui/tandem_run_dialog/tandemrundialog.cpp |  8 +--
 .../waitingmessagedialog.h                    |  2 +-
 .../automaticfilterwidget.h                   |  2 +-
 .../contaminant_widget/contaminantwidget.h    |  2 +-
 src/gui/workerthread.cpp                      |  6 ++-
 src/gui/workerthread.h                        |  7 ++-
 src/gui/xic_view/xic_box/xicbox.cpp           | 35 +++++++------
 src/gui/xic_view/xic_box/xicbox.h             | 30 +++++------
 src/gui/xic_view/xic_widgets/zivywidget.h     |  1 -
 src/gui/xic_view/xicwindow.cpp                | 11 ++--
 src/gui/xic_view/xicwindow.h                  |  6 +--
 src/gui/xic_view/xicworkerthread.cpp          | 16 +++---
 src/gui/xic_view/xicworkerthread.h            | 10 ++--
 src/input/condorqxmlsaxhandler.cpp            | 33 +++++++-----
 src/input/condorqxmlsaxhandler.h              |  9 ++--
 src/input/identificationpwizreader.cpp        |  2 +-
 src/input/identificationpwizreader.h          | 11 ++--
 src/input/pepxmlsaxhandler.cpp                | 38 ++++++++------
 src/input/pepxmlsaxhandler.h                  |  9 ++--
 src/input/xpipsaxhandler.cpp                  | 44 ++++++++--------
 src/input/xpipsaxhandler.h                    | 11 ++--
 src/input/xtandemparamsaxhandler.cpp          | 36 +++++++------
 src/input/xtandemparamsaxhandler.h            |  9 ++--
 src/input/xtandemsaxhandler.cpp               | 50 +++++++++++--------
 src/input/xtandemsaxhandler.h                 |  9 ++--
 src/input/xtpxpipsaxhandler.cpp               | 26 ++++++----
 src/input/xtpxpipsaxhandler.h                 |  9 ++--
 src/main.cpp                                  | 15 +++---
 src/output/exportfastafile.h                  |  3 +-
 src/output/masschroqml.cpp                    | 10 ++--
 src/output/mcqr/mcqrscpeptide.cpp             |  4 +-
 src/output/mcqr/mcqrscprotein.cpp             |  3 +-
 src/output/mcqrspectralcount.h                |  6 ++-
 src/output/ods/comparspecificspectrasheet.h   |  1 -
 src/output/ods/groupingsheet.cpp              | 15 ++++--
 src/output/ods/groupingsheet.h                |  3 +-
 src/output/ods/infosheet.cpp                  | 31 +++++++-----
 src/output/ods/infosheet.h                    |  3 +-
 src/output/ods/peptidepossheet.cpp            |  6 ++-
 src/output/ods/peptidepossheet.h              |  3 +-
 src/output/ods/peptidesheet.cpp               |  3 +-
 src/output/ods/peptidesheet.h                 |  3 +-
 src/output/ods/proteinsheet.cpp               |  3 +-
 src/output/ods/proteinsheet.h                 |  3 +-
 src/output/ods/ptm/ptmislandsheet.cpp         |  3 +-
 src/output/ods/ptm/ptmislandsheet.h           |  3 +-
 src/output/ods/ptm/ptmspectrasheet.h          |  9 ++--
 src/output/ods/samplesheet.cpp                | 18 ++++---
 src/output/ods/samplesheet.h                  |  3 +-
 src/output/ods/spectrasheet.cpp               | 10 ++--
 src/output/ods/spectrasheet.h                 |  9 ++--
 src/output/proticdbml.cpp                     | 23 +++++----
 src/output/xpip.cpp                           | 18 ++++---
 src/utils/httpversion.h                       |  4 +-
 src/utils/msrunstatisticshandler.cpp          |  8 +--
 src/utils/msrunstatisticshandler.h            |  4 +-
 src/utils/msrunstore.cpp                      | 11 ++--
 src/utils/peptideevidencestore.cpp            |  4 +-
 src/utils/peptideevidencestore.h              |  3 +-
 src/utils/peptidestore.cpp                    |  2 +-
 src/utils/types.h                             |  4 +-
 src/utils/utils.cpp                           | 28 +++++------
 src/utils/utils.h                             |  2 +-
 134 files changed, 779 insertions(+), 534 deletions(-)

diff --git a/src/config.h.cmake b/src/config.h.cmake
index cf5e13174..4bfd4ce1f 100644
--- a/src/config.h.cmake
+++ b/src/config.h.cmake
@@ -10,6 +10,4 @@
 #include <QDebug>
 
 
-
-
 #endif /* _CONFIG_H */
diff --git a/src/core/identification_sources/identificationdatasource.cpp b/src/core/identification_sources/identificationdatasource.cpp
index 9ef578db6..aa21e177a 100644
--- a/src/core/identification_sources/identificationdatasource.cpp
+++ b/src/core/identification_sources/identificationdatasource.cpp
@@ -191,8 +191,8 @@ IdentificationDataSource::getIdentificationEngineStatistics(
     }
 }
 
-pappso::SpectrumSp
-IdentificationDataSource::getSpectrumSp(unsigned int scan_number) const
+pappso::MassSpectrumCstSPtr
+IdentificationDataSource::getMassSpectrumCstSPtr(unsigned int scan_number) const
 {
 
   qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
@@ -222,8 +222,8 @@ IdentificationDataSource::getSpectrumSp(unsigned int scan_number) const
 
   // qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__  <<
   // _ms_run_sp.get()->getMsRunReaderSp().get()->getSpectrumListSize();
-  pappso::SpectrumSp spectrum_sp =
-    msrun_reader_sp.get()->getSpectrumSp(scan_number);
+  pappso::MassSpectrumCstSPtr spectrum_sp =
+    msrun_reader_sp.get()->massSpectrumCstSPtr(scan_number);
   qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
   return spectrum_sp;
 }
diff --git a/src/core/identification_sources/identificationdatasource.h b/src/core/identification_sources/identificationdatasource.h
index 519225b5f..69a26c70c 100644
--- a/src/core/identification_sources/identificationdatasource.h
+++ b/src/core/identification_sources/identificationdatasource.h
@@ -25,7 +25,7 @@
 #define IDENTIFICATIONDATASOURCE_H
 
 
-#include <pappsomspp/spectrum/spectrum.h>
+#include <pappsomspp/spectrum/massspectrum.h>
 #include <memory>
 #include <QVariant>
 #include "../msrun.h"
@@ -63,7 +63,8 @@ class IdentificationDataSource
   MsRunSp getMsRunSp() const;
   /** @brief get the spectrum with scan number
    * */
-  virtual pappso::SpectrumSp getSpectrumSp(unsigned int scan_number) const;
+  virtual pappso::MassSpectrumCstSPtr
+  getMassSpectrumCstSPtr(unsigned int scan_number) const;
 
 
   /** \brief read source content to store it in project
diff --git a/src/core/identification_sources/identificationmascotdatfile.cpp b/src/core/identification_sources/identificationmascotdatfile.cpp
index 01e804a3d..aacb8ea51 100644
--- a/src/core/identification_sources/identificationmascotdatfile.cpp
+++ b/src/core/identification_sources/identificationmascotdatfile.cpp
@@ -36,8 +36,8 @@
 
 IdentificationMascotDatFile::IdentificationMascotDatFile(
   const QFileInfo &mascot_dat_file)
-  : IdentificationDataSource(mascot_dat_file.absoluteFilePath())
-  , _mascot_dat_file(mascot_dat_file)
+  : IdentificationDataSource(mascot_dat_file.absoluteFilePath()),
+    _mascot_dat_file(mascot_dat_file)
 {
   _engine = IdentificationEngine::mascot;
 }
@@ -59,11 +59,12 @@ operator==(const IdentificationMascotDatFile &other) const
 {
 }
 
-pappso::SpectrumSp
-IdentificationMascotDatFile::getSpectrumSp(unsigned int scan_number) const
+pappso::MassSpectrumCstSPtr
+IdentificationMascotDatFile::getMassSpectrumCstSPtr(
+  unsigned int scan_number) const
 {
-  pappso::SpectrumSp spectrum_sp =
-    IdentificationDataSource::getSpectrumSp(scan_number);
+  pappso::MassSpectrumCstSPtr spectrum_sp =
+    IdentificationDataSource::getMassSpectrumCstSPtr(scan_number);
   return spectrum_sp;
 }
 
diff --git a/src/core/identification_sources/identificationmascotdatfile.h b/src/core/identification_sources/identificationmascotdatfile.h
index a1d856f03..e80602fae 100644
--- a/src/core/identification_sources/identificationmascotdatfile.h
+++ b/src/core/identification_sources/identificationmascotdatfile.h
@@ -42,8 +42,8 @@ class IdentificationMascotDatFile : public IdentificationDataSource
   ~IdentificationMascotDatFile();
   bool operator==(const IdentificationMascotDatFile &other) const;
 
-  virtual pappso::SpectrumSp
-  getSpectrumSp(unsigned int scan_number) const override;
+  virtual pappso::MassSpectrumCstSPtr
+  getMassSpectrumCstSPtr(unsigned int scan_number) const override;
   virtual void parseTo(Project *p_project) override;
 
   // virtual const bool isValid(const PeptideEvidence * p_peptide_evidence,
diff --git a/src/core/identification_sources/identificationpepxmlfile.cpp b/src/core/identification_sources/identificationpepxmlfile.cpp
index 464a691b8..563aea5cb 100644
--- a/src/core/identification_sources/identificationpepxmlfile.cpp
+++ b/src/core/identification_sources/identificationpepxmlfile.cpp
@@ -33,8 +33,8 @@
 
 IdentificationPepXmlFile::IdentificationPepXmlFile(
   const QFileInfo &mascot_dat_file)
-  : IdentificationDataSource(mascot_dat_file.absoluteFilePath())
-  , _pep_xml_file(mascot_dat_file)
+  : IdentificationDataSource(mascot_dat_file.absoluteFilePath()),
+    _pep_xml_file(mascot_dat_file)
 {
   _engine = IdentificationEngine::unknown;
 }
@@ -56,11 +56,11 @@ operator==(const IdentificationPepXmlFile &other) const
 {
 }
 
-pappso::SpectrumSp
-IdentificationPepXmlFile::getSpectrumSp(unsigned int scan_number) const
+pappso::MassSpectrumCstSPtr
+IdentificationPepXmlFile::getMassSpectrumCstSPtr(unsigned int scan_number) const
 {
-  pappso::SpectrumSp spectrum_sp =
-    IdentificationDataSource::getSpectrumSp(scan_number);
+  pappso::MassSpectrumCstSPtr spectrum_sp =
+    IdentificationDataSource::getMassSpectrumCstSPtr(scan_number);
   return spectrum_sp;
 }
 
diff --git a/src/core/identification_sources/identificationpepxmlfile.h b/src/core/identification_sources/identificationpepxmlfile.h
index 2a66e24c6..0075de6f3 100644
--- a/src/core/identification_sources/identificationpepxmlfile.h
+++ b/src/core/identification_sources/identificationpepxmlfile.h
@@ -39,8 +39,8 @@ class IdentificationPepXmlFile : public IdentificationDataSource
   ~IdentificationPepXmlFile();
   bool operator==(const IdentificationPepXmlFile &other) const;
 
-  virtual pappso::SpectrumSp
-  getSpectrumSp(unsigned int scan_number) const override;
+  virtual pappso::MassSpectrumCstSPtr
+  getMassSpectrumCstSPtr(unsigned int scan_number) const override;
   virtual void parseTo(Project *p_project) override;
 
   // virtual const bool isValid(const PeptideEvidence * p_peptide_evidence,
diff --git a/src/core/identification_sources/identificationpwizfile.cpp b/src/core/identification_sources/identificationpwizfile.cpp
index 2ee2672f2..e86cdda76 100644
--- a/src/core/identification_sources/identificationpwizfile.cpp
+++ b/src/core/identification_sources/identificationpwizfile.cpp
@@ -34,8 +34,8 @@
 #include <pappsomspp/pappsoexception.h>
 
 IdentificationPwizFile::IdentificationPwizFile(const QFileInfo &ident_file)
-  : IdentificationDataSource(ident_file.absoluteFilePath())
-  , _ident_file(ident_file)
+  : IdentificationDataSource(ident_file.absoluteFilePath()),
+    _ident_file(ident_file)
 {
   //_engine = IdentificationEngine::XTandem;
   _engine = IdentificationEngine::peptider;
@@ -57,11 +57,11 @@ IdentificationPwizFile::operator==(const IdentificationPwizFile &other) const
 {
 }
 
-pappso::SpectrumSp
-IdentificationPwizFile::getSpectrumSp(unsigned int scan_number) const
+pappso::MassSpectrumCstSPtr
+IdentificationPwizFile::getMassSpectrumCstSPtr(unsigned int scan_number) const
 {
-  pappso::SpectrumSp spectrum_sp =
-    IdentificationDataSource::getSpectrumSp(scan_number);
+  pappso::MassSpectrumCstSPtr spectrum_sp =
+    IdentificationDataSource::getMassSpectrumCstSPtr(scan_number);
   return spectrum_sp;
 }
 
diff --git a/src/core/identification_sources/identificationpwizfile.h b/src/core/identification_sources/identificationpwizfile.h
index 183041351..25712c79c 100644
--- a/src/core/identification_sources/identificationpwizfile.h
+++ b/src/core/identification_sources/identificationpwizfile.h
@@ -43,8 +43,8 @@ class IdentificationPwizFile : public IdentificationDataSource
   ~IdentificationPwizFile();
   bool operator==(const IdentificationPwizFile &other) const;
 
-  virtual pappso::SpectrumSp
-  getSpectrumSp(unsigned int scan_number) const override;
+  virtual pappso::MassSpectrumCstSPtr
+  getMassSpectrumCstSPtr(unsigned int scan_number) const override;
   virtual void parseTo(Project *p_project) override;
 
   private:
diff --git a/src/core/identification_sources/identificationxtandemfile.cpp b/src/core/identification_sources/identificationxtandemfile.cpp
index 74d631386..adc0ce556 100644
--- a/src/core/identification_sources/identificationxtandemfile.cpp
+++ b/src/core/identification_sources/identificationxtandemfile.cpp
@@ -28,8 +28,8 @@
 
 IdentificationXtandemFile::IdentificationXtandemFile(
   const QFileInfo &xtandem_file)
-  : IdentificationDataSource(xtandem_file.absoluteFilePath())
-  , _xtandem_file(xtandem_file)
+  : IdentificationDataSource(xtandem_file.absoluteFilePath()),
+    _xtandem_file(xtandem_file)
 {
   _engine = IdentificationEngine::XTandem;
 }
@@ -51,11 +51,12 @@ operator==(const IdentificationXtandemFile &other) const
 {
 }
 
-pappso::SpectrumSp
-IdentificationXtandemFile::getSpectrumSp(unsigned int scan_number) const
+pappso::MassSpectrumCstSPtr
+IdentificationXtandemFile::getMassSpectrumCstSPtr(
+  unsigned int scan_number) const
 {
-  pappso::SpectrumSp spectrum_sp =
-    IdentificationDataSource::getSpectrumSp(scan_number);
+  pappso::MassSpectrumCstSPtr spectrum_sp =
+    IdentificationDataSource::getMassSpectrumCstSPtr(scan_number);
   return spectrum_sp;
 }
 
diff --git a/src/core/identification_sources/identificationxtandemfile.h b/src/core/identification_sources/identificationxtandemfile.h
index 751eb6c9c..06e28cd67 100644
--- a/src/core/identification_sources/identificationxtandemfile.h
+++ b/src/core/identification_sources/identificationxtandemfile.h
@@ -35,8 +35,8 @@ class IdentificationXtandemFile : public IdentificationDataSource
   ~IdentificationXtandemFile();
   bool operator==(const IdentificationXtandemFile &other) const;
 
-  virtual pappso::SpectrumSp
-  getSpectrumSp(unsigned int scan_number) const override;
+  virtual pappso::MassSpectrumCstSPtr
+  getMassSpectrumCstSPtr(unsigned int scan_number) const override;
   virtual void parseTo(Project *p_project) override;
 
   private:
diff --git a/src/core/identificationgroup.cpp b/src/core/identificationgroup.cpp
index 13178ddf3..e668b13ef 100644
--- a/src/core/identificationgroup.cpp
+++ b/src/core/identificationgroup.cpp
@@ -445,7 +445,7 @@ IdentificationGroup::getTabName() const
 pappso::pappso_double
 IdentificationGroup::getPsmFdr(ValidationState state) const
 {
-    
+
   pappso::pappso_double total_peptide = countPeptideEvidence(state);
   pappso::pappso_double false_peptide = countDecoyPeptideEvidence(state);
 
diff --git a/src/core/peptideevidence.cpp b/src/core/peptideevidence.cpp
index be909da73..29c335e4a 100644
--- a/src/core/peptideevidence.cpp
+++ b/src/core/peptideevidence.cpp
@@ -62,7 +62,7 @@ PeptideEvidence::PeptideEvidence(const PeptideEvidence &other)
   _identification_engine   = other._identification_engine;
 }
 
-pappso::mz
+pappso::pappso_double
 PeptideEvidence::getTheoreticalMz() const
 {
   return (getPeptideXtpSp().get()->getMz(getCharge()));
@@ -166,7 +166,7 @@ PeptideEvidence::getExperimentalMhplus() const
 pappso::pappso_double
 PeptideEvidence::getExperimentalMz() const
 {
-  pappso::mz mz = _exp_mass;
+  pappso::pappso_double mz = _exp_mass;
   for(unsigned int i = 0; i < _charge; i++)
     {
       mz += pappso::MHPLUS;
@@ -179,12 +179,12 @@ PeptideEvidence::setExperimentalMass(pappso::pappso_double exp_mass)
 {
   _exp_mass = exp_mass;
 }
-pappso::mz
+pappso::pappso_double
 PeptideEvidence::getDeltaMass() const
 {
   return ((_exp_mass + pappso::MHPLUS) - _peptide_sp.get()->getMz(1));
 }
-pappso::mz
+pappso::pappso_double
 PeptideEvidence::getPpmDeltaMass() const
 {
   // return (_peptide_sp.get()->getMz(1) - (_exp_mass+pappso::MHPLUS));
diff --git a/src/core/peptideevidence.h b/src/core/peptideevidence.h
index 490aec2b7..b532c3360 100644
--- a/src/core/peptideevidence.h
+++ b/src/core/peptideevidence.h
@@ -135,19 +135,19 @@ class PeptideEvidence
   /** @brief get delta between theoretical mhplus mass and mhplus experimental
    * mass mhplus experimental mass - theoretical mhplus mass
    */
-  pappso::mz getDeltaMass() const;
+  pappso::pappso_double getDeltaMass() const;
 
   /** @brief get delta in ppm between theoretical mhplus mass and mhplus
    * experimental mass
    * @return mhplus experimental mass - theoretical mhplus mass
    */
-  pappso::mz getPpmDeltaMass() const;
+  pappso::pappso_double getPpmDeltaMass() const;
 
   /** @brief get theoretical (not observed) m/z based on peptide composition and
    * charge
    * @return theoretical mz mass
    */
-  pappso::mz getTheoreticalMz() const;
+  pappso::pappso_double getTheoreticalMz() const;
 
   ValidationState getValidationState() const;
 
diff --git a/src/core/peptidextp.cpp b/src/core/peptidextp.cpp
index 598a1222f..7330913b0 100644
--- a/src/core/peptidextp.cpp
+++ b/src/core/peptidextp.cpp
@@ -44,7 +44,7 @@ PeptideXtp::getModifString() const
 {
   QStringList modif_list;
   unsigned int i = 1;
-  for(const pappso::Aa &amino_acid : _aa_vec)
+  for(const pappso::Aa &amino_acid : m_aaVec)
     {
       std::list<pappso::AaModificationP> aa_modif_list =
         amino_acid.getModificationList();
@@ -79,7 +79,7 @@ PeptideXtp::makePeptideXtpSp() const
 }
 
 
-pappso::mz
+pappso::pappso_double
 PeptideXtp::getGroupingMass() const
 {
   return getNativePeptideP()->getMass();
@@ -117,16 +117,16 @@ void
 PeptideXtp::applyLabelingMethod(LabelingMethodSp labeling_method_sp)
 {
   std::list<pappso::AaModificationP> modification_set;
-  for(const pappso::Aa &amino_acid : _aa_vec)
+  for(const pappso::Aa &amino_acid : m_aaVec)
     {
       std::list<pappso::AaModificationP> aa_modif_list =
         amino_acid.getModificationList();
-      modification_set.insert(modification_set.begin(), aa_modif_list.begin(),
-                              aa_modif_list.end());
+      modification_set.insert(
+        modification_set.begin(), aa_modif_list.begin(), aa_modif_list.end());
     }
   modification_set.unique();
 
-  _p_label       = nullptr;
+  _p_label             = nullptr;
   const Label *p_label = labeling_method_sp.get()->getLabel(modification_set);
   if(p_label != nullptr)
     {
diff --git a/src/core/peptidextp.h b/src/core/peptidextp.h
index dc545559a..3d92e6e1f 100644
--- a/src/core/peptidextp.h
+++ b/src/core/peptidextp.h
@@ -48,7 +48,7 @@ class PeptideXtp : public pappso::Peptide
    * tagged peptide with taget modification is a light, inter or heavy version
    * of the same peptide
    */
-  pappso::mz getGroupingMass() const;
+  pappso::pappso_double getGroupingMass() const;
 
   const pappso::Peptide *getNativePeptideP() const;
 
diff --git a/src/core/project.cpp b/src/core/project.cpp
index effd7a3af..fb5ee702a 100644
--- a/src/core/project.cpp
+++ b/src/core/project.cpp
@@ -281,11 +281,13 @@ Project::hasPtmExperiment() const
 void
 Project::getSameXicPeptideEvidenceList(
   std::vector<const PeptideEvidence *> &peptide_evidence_list,
-  const MsRun *p_msrun, const PeptideXtp *p_peptide, unsigned int charge) const
+  const MsRun *p_msrun,
+  const PeptideXtp *p_peptide,
+  unsigned int charge) const
 {
   for(const IdentificationGroup *p_ident_group : _identification_goup_list)
     {
-      p_ident_group->getSameXicPeptideEvidenceList(peptide_evidence_list,
-                                                   p_msrun, p_peptide, charge);
+      p_ident_group->getSameXicPeptideEvidenceList(
+        peptide_evidence_list, p_msrun, p_peptide, charge);
     }
 }
diff --git a/src/core/project.h b/src/core/project.h
index 3fbbdd7ae..6db5c633b 100644
--- a/src/core/project.h
+++ b/src/core/project.h
@@ -98,7 +98,8 @@ class Project
    */
   void getSameXicPeptideEvidenceList(
     std::vector<const PeptideEvidence *> &peptide_evidence_list,
-    const MsRun *p_msrun, const PeptideXtp *p_peptide,
+    const MsRun *p_msrun,
+    const PeptideXtp *p_peptide,
     unsigned int charge) const;
 
   private:
diff --git a/src/core/proteinxtp.cpp b/src/core/proteinxtp.cpp
index bca7524ce..c46f92ebb 100644
--- a/src/core/proteinxtp.cpp
+++ b/src/core/proteinxtp.cpp
@@ -218,7 +218,7 @@ ProteinXtp::countTrypticPeptidesForPAI() const
       for(const QString &peptide_str : digestion._peptide_list)
         {
           pappso::Peptide peptide(peptide_str);
-          pappso::mz mass = peptide.getMass();
+          pappso::pappso_double mass = peptide.getMass();
           if((mass > 800) && (mass < 2500))
             {
               count++;
diff --git a/src/core/tandem_run/tandembatchprocess.cpp b/src/core/tandem_run/tandembatchprocess.cpp
index b1f6b7067..6683cb5a2 100644
--- a/src/core/tandem_run/tandembatchprocess.cpp
+++ b/src/core/tandem_run/tandembatchprocess.cpp
@@ -93,7 +93,9 @@ TandemBatchProcess::writeXmlDatabaseFile(QXmlStreamWriter *p_out)
       if(!QFileInfo(fasta_file).isWritable())
         {
           throw pappso::PappsoException(
-            QObject::tr("error : Fasta file %1 is not writable.\n\"tandem.exe\" requires write permission on fasta files to run correctly.")
+            QObject::tr(
+              "error : Fasta file %1 is not writable.\n\"tandem.exe\" requires "
+              "write permission on fasta files to run correctly.")
               .arg(_tmp_database_file.fileName()));
         }
       p_out->writeStartElement("file");
diff --git a/src/core/tandem_run/tandembatchprocess.h b/src/core/tandem_run/tandembatchprocess.h
index 0c1029745..dbd7ca8f0 100644
--- a/src/core/tandem_run/tandembatchprocess.h
+++ b/src/core/tandem_run/tandembatchprocess.h
@@ -35,7 +35,8 @@
 class TandemBatchProcess
 {
   public:
-  TandemBatchProcess(MainWindow *p_main_window, WorkMonitorInterface *p_monitor,
+  TandemBatchProcess(MainWindow *p_main_window,
+                     WorkMonitorInterface *p_monitor,
                      const TandemRunBatch &tandem_run_batch);
   virtual ~TandemBatchProcess();
 
diff --git a/src/grouping/groupingpeptidemass.cpp b/src/grouping/groupingpeptidemass.cpp
index 4e8e373f2..d2d75064d 100644
--- a/src/grouping/groupingpeptidemass.cpp
+++ b/src/grouping/groupingpeptidemass.cpp
@@ -113,7 +113,8 @@ GroupingPeptideMass::setGrpPeptide(pappso::GrpProteinSp proteinSp,
 {
 
   return _p_grp_experiment->setGrpPeptide(
-    proteinSp, p_peptide_evidence->getPeptideXtpSp().get()->getSequence(),
+    proteinSp,
+    p_peptide_evidence->getPeptideXtpSp().get()->getSequence(),
     p_peptide_evidence->getPeptideXtpSp().get()->getGroupingMass());
 }
 
diff --git a/src/grouping/ptm/ptmgroupingexperiment.cpp b/src/grouping/ptm/ptmgroupingexperiment.cpp
index 903b26226..dc25f640c 100644
--- a/src/grouping/ptm/ptmgroupingexperiment.cpp
+++ b/src/grouping/ptm/ptmgroupingexperiment.cpp
@@ -99,7 +99,8 @@ PtmGroupingExperiment::getPtmIslandList() const
 void
 PtmGroupingExperiment::numbering()
 {
-  std::sort(_ptm_island_group_list.begin(), _ptm_island_group_list.end(),
+  std::sort(_ptm_island_group_list.begin(),
+            _ptm_island_group_list.end(),
             [](const PtmIslandGroupSp a, const PtmIslandGroupSp b) {
               return *(a.get()) < *(b.get());
             });
@@ -192,7 +193,8 @@ PtmGroupingExperiment::mergePeptideMatchPtmIslandList(
   for(PtmIslandSp ptm_island_sp : ptm_island_list)
     {
       // http://en.cppreference.com/w/cpp/algorithm/all_any_none_of
-      if(std::none_of(new_ptm_island_list.begin(), new_ptm_island_list.end(),
+      if(std::none_of(new_ptm_island_list.begin(),
+                      new_ptm_island_list.end(),
                       [ptm_island_sp](PtmIslandSp element) {
                         return element.get()->merge(ptm_island_sp);
                       }))
diff --git a/src/grouping/ptm/ptmgroupingexperiment.h b/src/grouping/ptm/ptmgroupingexperiment.h
index 686889bfd..84442a060 100644
--- a/src/grouping/ptm/ptmgroupingexperiment.h
+++ b/src/grouping/ptm/ptmgroupingexperiment.h
@@ -82,7 +82,7 @@ class PtmGroupingExperiment
   getPtmPositions(const ProteinMatch *protein_match) const;
 
   std::vector<PtmIslandSp>
-  mergePeptideMatchPtmIslandList(vector<PtmIslandSp> ptm_island_list);
+  mergePeptideMatchPtmIslandList(std::vector<PtmIslandSp> ptm_island_list);
   void addPtmIsland(PtmIslandSp ptm_island);
   void numbering();
 
diff --git a/src/grouping/ptm/ptmisland.cpp b/src/grouping/ptm/ptmisland.cpp
index 98c15f4a2..17cc60d32 100644
--- a/src/grouping/ptm/ptmisland.cpp
+++ b/src/grouping/ptm/ptmisland.cpp
@@ -152,7 +152,8 @@ bool
 PtmIsland::containsPeptideMatch(const PeptideMatch &peptide_match) const
 {
 
-  return std::any_of(_peptide_match_list.begin(), _peptide_match_list.end(),
+  return std::any_of(_peptide_match_list.begin(),
+                     _peptide_match_list.end(),
                      [peptide_match](const PeptideMatch &element) {
                        return (peptide_match == element);
                      });
@@ -199,7 +200,8 @@ PtmIsland::getProteinStartPosition() const
 bool
 PtmIsland::merge(PtmIslandSp ptm_island_sp)
 {
-  if(std::none_of(_peptide_match_list.begin(), _peptide_match_list.end(),
+  if(std::none_of(_peptide_match_list.begin(),
+                  _peptide_match_list.end(),
                   [ptm_island_sp](const PeptideMatch &element) {
                     return ptm_island_sp.get()->containsPeptideMatch(element);
                   }))
@@ -213,7 +215,8 @@ PtmIsland::merge(PtmIslandSp ptm_island_sp)
         _peptide_match_list.begin(),
         ptm_island_sp.get()->_peptide_match_list.begin(),
         ptm_island_sp.get()->_peptide_match_list.end());
-      std::sort(_peptide_match_list.begin(), _peptide_match_list.end(),
+      std::sort(_peptide_match_list.begin(),
+                _peptide_match_list.end(),
                 [](const PeptideMatch &a, const PeptideMatch &b) {
                   return (a.operator<(b));
                 });
@@ -231,14 +234,16 @@ PtmIsland::merge(PtmIslandSp ptm_island_sp)
 
 
       std::vector<PeptideMatch>::const_iterator it_result =
-        std::max_element(_peptide_match_list.begin(), _peptide_match_list.end(),
+        std::max_element(_peptide_match_list.begin(),
+                         _peptide_match_list.end(),
                          [](const PeptideMatch &a, const PeptideMatch &b) {
                            return (a.getStop() < b.getStop());
                          });
       _protein_stop = it_result->getStop();
 
       it_result =
-        std::min_element(_peptide_match_list.begin(), _peptide_match_list.end(),
+        std::min_element(_peptide_match_list.begin(),
+                         _peptide_match_list.end(),
                          [](const PeptideMatch &a, const PeptideMatch &b) {
                            return a.getStart() < b.getStart();
                          });
diff --git a/src/grouping/ptm/ptmislandgroup.cpp b/src/grouping/ptm/ptmislandgroup.cpp
index 0f3a2b384..ca793c67f 100644
--- a/src/grouping/ptm/ptmislandgroup.cpp
+++ b/src/grouping/ptm/ptmislandgroup.cpp
@@ -80,7 +80,8 @@ PtmIslandGroup::setGroupNumber(unsigned int number)
     {
       ptm_island_subgroup.get()->setPtmIslandGroup(this);
     }
-  std::sort(_ptm_island_subgroup_list.begin(), _ptm_island_subgroup_list.end(),
+  std::sort(_ptm_island_subgroup_list.begin(),
+            _ptm_island_subgroup_list.end(),
             [](const PtmIslandSubgroupSp &a, const PtmIslandSubgroupSp &b) {
               return (a.get()->getFirstPtmIsland()->getProteinStartPosition() <
                       b.get()->getFirstPtmIsland()->getProteinStartPosition());
@@ -116,7 +117,8 @@ unsigned int
 PtmIslandGroup::maxCountSampleScan() const
 {
   std::vector<PtmIslandSubgroupSp>::const_iterator it_result = std::max_element(
-    _ptm_island_subgroup_list.begin(), _ptm_island_subgroup_list.end(),
+    _ptm_island_subgroup_list.begin(),
+    _ptm_island_subgroup_list.end(),
     [](const PtmIslandSubgroupSp &a, const PtmIslandSubgroupSp &b) {
       return (a.get()->countSampleScan() < b.get()->countSampleScan());
     });
diff --git a/src/grouping/ptm/ptmislandsubgroup.cpp b/src/grouping/ptm/ptmislandsubgroup.cpp
index d43c016a8..7a5c334e4 100644
--- a/src/grouping/ptm/ptmislandsubgroup.cpp
+++ b/src/grouping/ptm/ptmislandsubgroup.cpp
@@ -73,7 +73,8 @@ PtmIslandSubgroup::setSubgroupNumber(unsigned int number)
       ptm_island.get()->setPtmIslandSubgroup(this);
     }
   std::sort(
-    _ptm_island_list.begin(), _ptm_island_list.end(),
+    _ptm_island_list.begin(),
+    _ptm_island_list.end(),
     [](const PtmIslandSp &a, const PtmIslandSp &b) {
       return (
         a.get()->getProteinMatch()->getProteinXtpSp().get()->getAccession() <
@@ -92,7 +93,8 @@ PtmIslandSubgroup::setPtmIslandGroup(PtmIslandGroup *p_ptm_island_group)
 {
   _ptm_island_group_p = p_ptm_island_group;
   std::sort(
-    _ptm_island_list.begin(), _ptm_island_list.end(),
+    _ptm_island_list.begin(),
+    _ptm_island_list.end(),
     [](const PtmIslandSp &a, const PtmIslandSp &b) {
       return (
         a.get()->getProteinMatch()->getProteinXtpSp().get()->getAccession() <
diff --git a/src/grouping/ptm/ptmsamplescan.cpp b/src/grouping/ptm/ptmsamplescan.cpp
index 623eb6d9d..3837399f2 100644
--- a/src/grouping/ptm/ptmsamplescan.cpp
+++ b/src/grouping/ptm/ptmsamplescan.cpp
@@ -95,7 +95,8 @@ PtmSampleScan::add(const PeptideMatch &peptide_match)
   // qDebug() << __FILE__ << " " << __FUNCTION__<< " " << __LINE__ ;
 
   // sort list
-  std::sort(_peptide_match_list.begin(), _peptide_match_list.end(),
+  std::sort(_peptide_match_list.begin(),
+            _peptide_match_list.end(),
             [](const PeptideMatch &first, const PeptideMatch &second) {
               return (first.getPeptideEvidence()->getEvalue() <
                       second.getPeptideEvidence()->getEvalue());
diff --git a/src/gui/about_dialog/aboutdialog.h b/src/gui/about_dialog/aboutdialog.h
index fe2b90f2b..260a04352 100644
--- a/src/gui/about_dialog/aboutdialog.h
+++ b/src/gui/about_dialog/aboutdialog.h
@@ -30,7 +30,7 @@
 
 namespace Ui
 {
-  class AboutDialog;
+class AboutDialog;
 }
 
 class AboutDialog : public QDialog
diff --git a/src/gui/choose_modification_dialog/choosemodificationdialog.cpp b/src/gui/choose_modification_dialog/choosemodificationdialog.cpp
index 9d682cdc9..1a9fd6256 100644
--- a/src/gui/choose_modification_dialog/choosemodificationdialog.cpp
+++ b/src/gui/choose_modification_dialog/choosemodificationdialog.cpp
@@ -48,17 +48,25 @@ ChooseModificationDialog::ChooseModificationDialog(QWidget *parent)
 
 #if QT_VERSION >= 0x050000
   // Qt5 code
-  connect(ui->modification_listview, &QListView::clicked, this,
+  connect(ui->modification_listview,
+          &QListView::clicked,
+          this,
           &ChooseModificationDialog::ItemClicked);
-  connect(ui->modification_listview, &QListView::doubleClicked, this,
+  connect(ui->modification_listview,
+          &QListView::doubleClicked,
+          this,
           &ChooseModificationDialog::ItemDoubleClicked);
 #else
   // Qt4 code
 
-  connect(ui->modification_listview, SIGNAL(clicked(const QModelIndex)), this,
+  connect(ui->modification_listview,
+          SIGNAL(clicked(const QModelIndex)),
+          this,
           SLOT(ItemClicked(QModelIndex)));
-  connect(ui->modification_listview, SIGNAL(doubleClicked(const QModelIndex)),
-          this, SLOT(ItemDoubleClicked(QModelIndex)));
+  connect(ui->modification_listview,
+          SIGNAL(doubleClicked(const QModelIndex)),
+          this,
+          SLOT(ItemDoubleClicked(QModelIndex)));
 
 #endif
 }
@@ -72,7 +80,7 @@ ChooseModificationDialog::~ChooseModificationDialog()
 }
 
 void
-ChooseModificationDialog::setMassRange(const pappso::MassRange &massrange)
+ChooseModificationDialog::setMassRange(const pappso::MzRange &massrange)
 {
 
   qDebug() << "ChooseModificationDialog::setMassRange " << massrange.toString();
@@ -93,10 +101,11 @@ ChooseModificationDialog::setMassRange(const pappso::MassRange &massrange)
 
       QStandardItem *item;
       item = new QStandardItem(
-        QString("[%1] %2").arg(term._accession).arg(term._name));
+        QString("[%1] %2").arg(term.m_accession).arg(term.m_name));
       item->setEditable(false);
       _p_modification_str_li->appendRow(item);
-      item->setData(QVariant(QString("%1").arg(term._accession)), Qt::UserRole);
+      item->setData(QVariant(QString("%1").arg(term.m_accession)),
+                    Qt::UserRole);
     }
 }
 
diff --git a/src/gui/choose_modification_dialog/choosemodificationdialog.h b/src/gui/choose_modification_dialog/choosemodificationdialog.h
index 32479c43f..c641196ff 100644
--- a/src/gui/choose_modification_dialog/choosemodificationdialog.h
+++ b/src/gui/choose_modification_dialog/choosemodificationdialog.h
@@ -27,13 +27,13 @@
 
 #include <QDialog>
 #include <QStandardItemModel>
-#include <pappsomspp/mass_range.h>
+#include <pappsomspp/mzrange.h>
 #include <pappsomspp/amino_acid/aamodification.h>
 
 
 namespace Ui
 {
-  class ChooseModificationDialog;
+class ChooseModificationDialog;
 }
 
 class ChooseModificationDialog : public QDialog
@@ -44,7 +44,7 @@ class ChooseModificationDialog : public QDialog
   explicit ChooseModificationDialog(QWidget *parent);
   ~ChooseModificationDialog();
 
-  void setMassRange(const pappso::MassRange &massrange);
+  void setMassRange(const pappso::MzRange &massrange);
   public slots:
   void ItemClicked(QModelIndex index);
   void ItemDoubleClicked(QModelIndex index);
diff --git a/src/gui/edit_label_methods/editlabelmethods.cpp b/src/gui/edit_label_methods/editlabelmethods.cpp
index 738841833..b965d07c9 100644
--- a/src/gui/edit_label_methods/editlabelmethods.cpp
+++ b/src/gui/edit_label_methods/editlabelmethods.cpp
@@ -40,11 +40,15 @@ EditLabelMethods::EditLabelMethods(ProjectWindow *parent)
 
 #if QT_VERSION >= 0x050000
   // Qt5 code
-  connect(ui->method_list_view, &QListView::clicked, this,
+  connect(ui->method_list_view,
+          &QListView::clicked,
+          this,
           &EditLabelMethods::ItemClicked);
 #else
 
-  connect(ui->method_list_view, SIGNAL(clicked(const QModelIndex)), this,
+  connect(ui->method_list_view,
+          SIGNAL(clicked(const QModelIndex)),
+          this,
           SLOT(ItemClicked(QModelIndex)));
 
 
@@ -70,15 +74,15 @@ EditLabelMethods::setProjectSp(ProjectSp project_sp)
   if(!xml_doc.open(QIODevice::ReadOnly))
     {
       // error
-      QMessageBox::warning(this, tr("error"),
-                           tr("error opening catalog_label resource file"));
+      QMessageBox::warning(
+        this, tr("error"), tr("error opening catalog_label resource file"));
       return;
     }
   if(!dom->setContent(&xml_doc))
     {
       xml_doc.close();
-      QMessageBox::warning(this, tr("error"),
-                           tr("error setting catalog_label xml content"));
+      QMessageBox::warning(
+        this, tr("error"), tr("error setting catalog_label xml content"));
       return;
     }
 
diff --git a/src/gui/edit_label_methods/editlabelmethods.h b/src/gui/edit_label_methods/editlabelmethods.h
index 5b05b7b32..4bfb8a5f0 100644
--- a/src/gui/edit_label_methods/editlabelmethods.h
+++ b/src/gui/edit_label_methods/editlabelmethods.h
@@ -35,7 +35,7 @@ class ProjectWindow;
 
 namespace Ui
 {
-  class EditLabelMethodView;
+class EditLabelMethodView;
 }
 
 class EditLabelMethods : public QDialog
diff --git a/src/gui/edit_modifications/editmodifications.cpp b/src/gui/edit_modifications/editmodifications.cpp
index 8cfacd24f..f5064ff99 100644
--- a/src/gui/edit_modifications/editmodifications.cpp
+++ b/src/gui/edit_modifications/editmodifications.cpp
@@ -42,21 +42,33 @@ EditModifications::EditModifications(ProjectWindow *parent)
 
 #if QT_VERSION >= 0x050000
   // Qt5 code
-  connect(ui->modification_list_view, &QListView::clicked, this,
+  connect(ui->modification_list_view,
+          &QListView::clicked,
+          this,
           &EditModifications::ItemClicked);
-  connect(ui->modification_list_view, &QListView::doubleClicked, this,
+  connect(ui->modification_list_view,
+          &QListView::doubleClicked,
+          this,
           &EditModifications::ItemDoubleClicked);
 
-  connect(_p_browse_modification_dialog, &ChooseModificationDialog::accepted,
-          this, &EditModifications::doAcceptedBrowseDialog);
+  connect(_p_browse_modification_dialog,
+          &ChooseModificationDialog::accepted,
+          this,
+          &EditModifications::doAcceptedBrowseDialog);
 #else
 
-  connect(ui->modification_list_view, SIGNAL(clicked(const QModelIndex)), this,
+  connect(ui->modification_list_view,
+          SIGNAL(clicked(const QModelIndex)),
+          this,
           SLOT(ItemClicked(QModelIndex)));
-  connect(ui->modification_list_view, SIGNAL(doubleClicked(const QModelIndex)),
-          this, SLOT(ItemDoubleClicked(QModelIndex)));
-
-  connect(_p_browse_modification_dialog, SIGNAL(accepted()), this,
+  connect(ui->modification_list_view,
+          SIGNAL(doubleClicked(const QModelIndex)),
+          this,
+          SLOT(ItemDoubleClicked(QModelIndex)));
+
+  connect(_p_browse_modification_dialog,
+          SIGNAL(accepted()),
+          this,
           SLOT(doAcceptedBrowseDialog()));
 
 #endif
@@ -165,8 +177,9 @@ EditModifications::doActionBrowse()
   qDebug() << "EditModifications::doActionBrowse begin";
   if(_selected_modification != nullptr)
     {
-      pappso::MassRange massrange(_selected_modification->getMass(),
-                                  pappso::Precision::getDaltonInstance(0.05));
+      pappso::MzRange massrange(
+        _selected_modification->getMass(),
+        pappso::PrecisionFactory::getDaltonInstance(0.05));
       _p_browse_modification_dialog->setMassRange(massrange);
       _p_browse_modification_dialog->show();
       _p_browse_modification_dialog->raise();
diff --git a/src/gui/edit_modifications/editmodifications.h b/src/gui/edit_modifications/editmodifications.h
index 36f0b1416..3758ea3f2 100644
--- a/src/gui/edit_modifications/editmodifications.h
+++ b/src/gui/edit_modifications/editmodifications.h
@@ -36,7 +36,7 @@ class ProjectWindow;
 // http://doc.qt.io/qt-4.8/qt-itemviews-chart-mainwindow-cpp.html
 namespace Ui
 {
-  class EditModificationView;
+class EditModificationView;
 }
 
 class EditModifications : public QMainWindow
diff --git a/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.cpp b/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.cpp
index 598e3a75e..2ef02ef41 100644
--- a/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.cpp
+++ b/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.cpp
@@ -140,7 +140,8 @@ EditTandemPresetDialog::doSelectDir()
   catch(pappso::PappsoException &error)
     {
       QMessageBox::warning(
-        this, tr("Error :"),
+        this,
+        tr("Error :"),
         tr("Error choosing preset directory : %1").arg(error.qwhat()));
     }
 }
@@ -187,7 +188,8 @@ EditTandemPresetDialog::doLoad()
       else
         {
           QMessageBox::warning(
-            this, tr("Error :"),
+            this,
+            tr("Error :"),
             tr("%1 is not an X!Tandem parameter file")
               .arg(p_tandem_preset_file->getAbsoluteFilePath()));
         }
@@ -1290,7 +1292,8 @@ EditTandemPresetDialog::done(int r)
       if(!_p_tandem_preset_file->exists())
         {
           QMessageBox::warning(
-            this, tr("Save parameters"),
+            this,
+            tr("Save parameters"),
             tr("Parameters file does not exists.\nPlease save it before "
                "pressing ok or cancel edition"));
           return;
@@ -1305,7 +1308,8 @@ EditTandemPresetDialog::done(int r)
       else
         {
           QMessageBox::warning(
-            this, tr("Save parameters"),
+            this,
+            tr("Save parameters"),
             tr("Parameters modified but not saved.\nPlease save it before "
                "pressing ok or cancel edition"));
           return;
diff --git a/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.h b/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.h
index fffcef167..871142793 100644
--- a/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.h
+++ b/src/gui/edit_tandem_preset_dialog/edittandempresetdialog.h
@@ -36,7 +36,7 @@
 
 namespace Ui
 {
-  class EditTandemPresetView;
+class EditTandemPresetView;
 }
 
 class EditTandemPresetDialog : public QDialog
diff --git a/src/gui/export/export_masschroq_dialog/masschroqfileparameters.cpp b/src/gui/export/export_masschroq_dialog/masschroqfileparameters.cpp
index 533c3b97a..e8e28f2f0 100644
--- a/src/gui/export/export_masschroq_dialog/masschroqfileparameters.cpp
+++ b/src/gui/export/export_masschroq_dialog/masschroqfileparameters.cpp
@@ -120,7 +120,7 @@ MasschroqFileParameters::load()
     settings.value("export_masschroqml/ms1_smoothing_half_window", "0")
       .toUInt();
 
-  xic_extraction_range = pappso::Precision::fromString(
+  xic_extraction_range = pappso::PrecisionFactory::fromString(
     settings.value("export_masschroqml/xic_extraction_range", "10 ppm")
       .toString());
 
diff --git a/src/gui/export/export_masschroq_dialog/masschroqfileparameters.h b/src/gui/export/export_masschroq_dialog/masschroqfileparameters.h
index fb01242da..a4dda270b 100644
--- a/src/gui/export/export_masschroq_dialog/masschroqfileparameters.h
+++ b/src/gui/export/export_masschroq_dialog/masschroqfileparameters.h
@@ -32,7 +32,7 @@
 
 #include "../../../utils/types.h"
 #include <QString>
-#include <pappsomspp/mass_range.h>
+#include <pappsomspp/mzrange.h>
 
 struct MasschroqFileParameters
 {
@@ -48,15 +48,15 @@ struct MasschroqFileParameters
   bool export_compar_file = false;
   QString compar_file_name;
   TableFileFormat compar_file_format = TableFileFormat::ods;
-  
+
   bool write_alignment_times;
   QString alignment_times_directory;
-  
+
   unsigned int ms2_tendency_half_window;
   unsigned int ms2_smoothing_half_window;
   unsigned int ms1_smoothing_half_window;
-  
-  pappso::PrecisionP xic_extraction_range;
-  
-  QString xic_extraction_method; //sum or max
+
+  pappso::PrecisionPtr xic_extraction_range;
+
+  QString xic_extraction_method; // sum or max
 };
diff --git a/src/gui/export/export_spreadsheet_dialog/exportspreadsheetdialog.h b/src/gui/export/export_spreadsheet_dialog/exportspreadsheetdialog.h
index a95b8e5e8..d13ee34e2 100644
--- a/src/gui/export/export_spreadsheet_dialog/exportspreadsheetdialog.h
+++ b/src/gui/export/export_spreadsheet_dialog/exportspreadsheetdialog.h
@@ -39,7 +39,7 @@
 
 namespace Ui
 {
-  class ExportSpreadsheetDialog;
+class ExportSpreadsheetDialog;
 }
 
 class ExportSpreadsheetDialog : public QDialog
@@ -49,7 +49,7 @@ class ExportSpreadsheetDialog : public QDialog
   public:
   explicit ExportSpreadsheetDialog(QWidget *parent);
   ~ExportSpreadsheetDialog();
-  
+
   QString getExportFormat() const;
 
   void setProject(const Project *p_project);
diff --git a/src/gui/load_results_dialog/loadresultsdialog.cpp b/src/gui/load_results_dialog/loadresultsdialog.cpp
index efcbf6104..8e9d1f8fe 100644
--- a/src/gui/load_results_dialog/loadresultsdialog.cpp
+++ b/src/gui/load_results_dialog/loadresultsdialog.cpp
@@ -104,9 +104,12 @@ LoadResultsDialog::chooseFiles()
         settings.value("path/identificationfiles", "").toString();
 
       QStringList filenames = QFileDialog::getOpenFileNames(
-        this, tr("identification files"), default_location,
-        tr("X!Tandem, Mascot DAT, pepXML or mzIdentML files (*.xml *.mzid *.dat "
-           "*.pepxml *.pepXML);;all files (*)"));
+        this,
+        tr("identification files"),
+        default_location,
+        tr(
+          "X!Tandem, Mascot DAT, pepXML or mzIdentML files (*.xml *.mzid *.dat "
+          "*.pepxml *.pepXML);;all files (*)"));
 
       if(filenames.size() > 0)
         {
diff --git a/src/gui/load_results_dialog/loadresultsdialog.h b/src/gui/load_results_dialog/loadresultsdialog.h
index 613e058c2..6ba44e428 100644
--- a/src/gui/load_results_dialog/loadresultsdialog.h
+++ b/src/gui/load_results_dialog/loadresultsdialog.h
@@ -33,7 +33,7 @@
 
 namespace Ui
 {
-  class LoadResultsDialog;
+class LoadResultsDialog;
 }
 
 
diff --git a/src/gui/mainwindow.h b/src/gui/mainwindow.h
index c93a4cc32..e55123a45 100644
--- a/src/gui/mainwindow.h
+++ b/src/gui/mainwindow.h
@@ -31,7 +31,7 @@
 #include <QCloseEvent>
 #include <pappsomspp/types.h>
 #include <pappsomspp/peptide/peptide.h>
-#include <pappsomspp/spectrum/spectrum.h>
+#include <pappsomspp/spectrum/massspectrum.h>
 #include "core/project.h"
 #include "project_view/projectwindow.h"
 #include "load_results_dialog/loadresultsdialog.h"
@@ -108,7 +108,9 @@ class MainWindow : public QMainWindow
   void operateWritingXpipFile(QString filename, ProjectSp project_sp);
   void
   operateWritingOdsFile(QString filename, QString format, ProjectSp project_sp);
-  void operateWritingMassChroqFile(QString filename, ProjectSp project_sp, MasschroqFileParameters params);
+  void operateWritingMassChroqFile(QString filename,
+                                   ProjectSp project_sp,
+                                   MasschroqFileParameters params);
   void operateWritingMassChroqPrmFile(QString filename, ProjectSp project_sp);
   void operateWritingProticFile(QString filename, ProjectSp project_sp);
   void operateWritingMcqrSpectralCountFile(QString filename,
diff --git a/src/gui/peptide_detail_view/peptide_detail_view.ui b/src/gui/peptide_detail_view/peptide_detail_view.ui
index e4a10ea88..409568153 100644
--- a/src/gui/peptide_detail_view/peptide_detail_view.ui
+++ b/src/gui/peptide_detail_view/peptide_detail_view.ui
@@ -165,7 +165,7 @@
             <item>
              <layout class="QHBoxLayout" name="horizontalLayout_4">
               <item>
-               <widget class="pappso::SpectrumWidget" name="spectrum_widget" native="true">
+               <widget class="pappso::MassSpectrumWidget" name="spectrum_widget" native="true">
                 <property name="sizePolicy">
                  <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                   <horstretch>0</horstretch>
@@ -372,9 +372,9 @@
  </widget>
  <customwidgets>
   <customwidget>
-   <class>pappso::SpectrumWidget</class>
+   <class>pappso::MassSpectrumWidget</class>
    <extends>QWidget</extends>
-   <header>pappsomspp/widget/spectrumwidget/spectrumwidget.h</header>
+   <header>pappsomspp/widget/massspectrumwidget/massspectrumwidget.h</header>
    <container>1</container>
    <slots>
     <signal>mzChanged(double)</signal>
diff --git a/src/gui/peptide_detail_view/peptidewindow.cpp b/src/gui/peptide_detail_view/peptidewindow.cpp
index 979b4b78c..4172be076 100644
--- a/src/gui/peptide_detail_view/peptidewindow.cpp
+++ b/src/gui/peptide_detail_view/peptidewindow.cpp
@@ -27,7 +27,7 @@
 #include "../../config.h"
 #include "ui_peptide_detail_view.h"
 #include <pappsomspp/exception/exceptionnotfound.h>
-#include <pappsomspp/spectrum/qualifiedspectrum.h>
+#include <pappsomspp/spectrum/qualifiedmassspectrum.h>
 #include <QMessageBox>
 #include <QFileDialog>
 #include <QSettings>
@@ -42,12 +42,11 @@ void
 SpectrumSpLoaderThread::doLoadSpectrumSp(PeptideEvidence *p_peptide_evidence)
 {
   qDebug() << "SpectrumSpLoaderThread::doLoadSpectrumSp begin";
-  pappso::SpectrumSp spectrum;
+  pappso::MassSpectrumCstSPtr spectrum;
   try
     {
-      spectrum =
-        p_peptide_evidence->getIdentificationDataSource()->getSpectrumSp(
-          p_peptide_evidence->getScan());
+      spectrum = p_peptide_evidence->getIdentificationDataSource()
+                   ->getMassSpectrumCstSPtr(p_peptide_evidence->getScan());
       emit spectrumSpReady(spectrum, QString(""), QString(""));
     }
 
@@ -91,7 +90,7 @@ PeptideWindow::PeptideWindow(ProjectWindow *parent)
   QString precision_str =
     settings.value("peptideview/precision", "0.2 dalton").toString();
 
-  _p_precision = pappso::Precision::fromString(precision_str);
+  _p_precision = pappso::PrecisionFactory::fromString(precision_str);
 
   ui->file_not_found->setVisible(false);
 
@@ -133,7 +132,6 @@ PeptideWindow::PeptideWindow(ProjectWindow *parent)
           &pappso::SpectrumWidget::mzChanged,
           this,
           &PeptideWindow::setMz);
-          */
   connect(ui->spectrum_widget,
           qOverload<const pappso::Peak *>(&pappso::SpectrumWidget::peakChanged),
           this,
@@ -144,6 +142,7 @@ PeptideWindow::PeptideWindow(ProjectWindow *parent)
     this,
     &PeptideWindow::setIon);
 
+          */
 #else
   // Qt4 code
   connect(_p_project_window,
@@ -178,26 +177,26 @@ PeptideWindow::~PeptideWindow()
 
 
 void
-PeptideWindow::setIon(pappso::PeakIonIsotopeMatch ion)
+PeptideWindow::setIon(pappso::PeakIonIsotopeMatchCstSPtr ion)
 {
   QString plusstr = "+";
-  plusstr         = plusstr.repeated(ion.getCharge());
+  plusstr         = plusstr.repeated(ion->getCharge());
   _ion_label->setText(
     QString("%1%2%3 (+%4) - th. isotope ratio %5%")
-      .arg(ion.getPeptideFragmentIonSp().get()->getPeptideIonName())
-      .arg(ion.getPeptideFragmentIonSp().get()->size())
+      .arg(ion->getPeptideFragmentIonSp().get()->getPeptideIonName())
+      .arg(ion->getPeptideFragmentIonSp().get()->size())
       .arg(plusstr)
-      .arg(ion.getPeptideNaturalIsotopeAverageSp().get()->getIsotopeNumber())
-      .arg((int)(ion.getPeptideNaturalIsotopeAverageSp()
+      .arg(ion->getPeptideNaturalIsotopeAverageSp().get()->getIsotopeNumber())
+      .arg((int)(ion->getPeptideNaturalIsotopeAverageSp()
                    .get()
                    ->getIntensityRatio() *
                  100)));
 }
 
 void
-PeptideWindow::setPeak(const pappso::Peak *p_peak_match)
+PeptideWindow::setPeak(pappso::DataPointCstSPtr p_peak_match)
 {
-  qDebug() << "PeptideWindow::setPeak begin" << p_peak_match;
+  qDebug() << "PeptideWindow::setPeak begin";
   if(p_peak_match == nullptr)
     {
       _peak_label->setText(QString("no peak"));
@@ -206,8 +205,8 @@ PeptideWindow::setPeak(const pappso::Peak *p_peak_match)
   else
     {
       _peak_label->setText(QString("peak mz=%1 intensity=%2")
-                             .arg(QString::number(p_peak_match->mz, 'g', 10))
-                             .arg(p_peak_match->intensity));
+                             .arg(QString::number(p_peak_match->x, 'g', 10))
+                             .arg(p_peak_match->y));
     }
 }
 
@@ -339,7 +338,7 @@ PeptideWindow::openInXicViewer()
 }
 
 void
-PeptideWindow::doSpectrumSpReady(pappso::SpectrumSp spectrum_sp,
+PeptideWindow::doSpectrumSpReady(pappso::MassSpectrumCstSPtr spectrum_sp,
                                  QString error,
                                  QString fatal_error)
 {
@@ -353,7 +352,7 @@ PeptideWindow::doSpectrumSpReady(pappso::SpectrumSp spectrum_sp,
       ui->xic_button->setEnabled(true);
 
       ui->spectrum_widget->setMsLevel(2);
-      ui->spectrum_widget->setSpectrumSp(spectrum_sp);
+      ui->spectrum_widget->setMassSpectrumCstSPtr(spectrum_sp);
       qDebug() << "PeptideWindow::doSpectrumSpReady plot";
       ui->spectrum_widget->plot();
       qDebug() << "PeptideWindow::doSpectrumSpReady rescale";
@@ -427,7 +426,7 @@ PeptideWindow::setPeptideEvidence(PeptideEvidence *p_peptide_evidence)
 }
 
 void
-PeptideWindow::doMsmsPrecisionChanged(pappso::PrecisionP precision)
+PeptideWindow::doMsmsPrecisionChanged(pappso::PrecisionPtr precision)
 {
 
   qDebug() << "PeptideWindow::doMsmsPrecisionChanged begin "
diff --git a/src/gui/peptide_detail_view/peptidewindow.h b/src/gui/peptide_detail_view/peptidewindow.h
index 97e30f8d1..f5629040a 100644
--- a/src/gui/peptide_detail_view/peptidewindow.h
+++ b/src/gui/peptide_detail_view/peptidewindow.h
@@ -27,8 +27,8 @@
 #include <QTextDocument>
 #include <QThread>
 #include <QLabel>
-#include <pappsomspp/mass_range.h>
-#include <pappsomspp/spectrum/spectrum.h>
+#include <pappsomspp/mzrange.h>
+#include <pappsomspp/spectrum/massspectrum.h>
 #include <pappsomspp/psm/peakionisotopematch.h>
 #include "../../core/peptidematch.h"
 #include "../../core/identificationgroup.h"
@@ -49,7 +49,7 @@ class SpectrumSpLoaderThread : public QObject
   void doLoadSpectrumSp(PeptideEvidence *p_peptide_evidence);
 
   signals:
-  void spectrumSpReady(pappso::SpectrumSp spectrum_sp,
+  void spectrumSpReady(pappso::MassSpectrumCstSPtr spectrum_sp,
                        QString error,
                        QString fatal_error);
 
@@ -71,17 +71,17 @@ class PeptideWindow : public QMainWindow
   void
   doIdentificationGroupGrouped(IdentificationGroup *p_identification_group);
   void setMz(double);
-  void setPeak(const pappso::Peak *p_peak_match);
-  void setIon(pappso::PeakIonIsotopeMatch ion);
+  void setPeak(pappso::DataPointCstSPtr p_peak_match);
+  void setIon(pappso::PeakIonIsotopeMatchCstSPtr ion);
 
   signals:
   void loadSpectrumSp(PeptideEvidence *p_peptide_evidence);
 
   protected slots:
-  void doSpectrumSpReady(pappso::SpectrumSp spectrum_sp,
+  void doSpectrumSpReady(pappso::MassSpectrumCstSPtr spectrum_sp,
                          QString error,
                          QString fatal_error);
-  void doMsmsPrecisionChanged(pappso::PrecisionP);
+  void doMsmsPrecisionChanged(pappso::PrecisionPtr);
   void doSaveSvg();
   void chooseDefaultMzDataDir();
   void openInPeptideViewer();
@@ -99,7 +99,7 @@ class PeptideWindow : public QMainWindow
   Ui::PeptideDetailView *ui;
   ProjectWindow *_p_project_window;
   PeptideEvidence *_p_peptide_evidence = nullptr;
-  pappso::PrecisionP _p_precision;
+  pappso::PrecisionPtr _p_precision;
 
   bool _spectrum_is_ready = false;
 };
diff --git a/src/gui/peptide_list_view/peptidelistwindow.cpp b/src/gui/peptide_list_view/peptidelistwindow.cpp
index 533afa4a0..f3cd586a0 100644
--- a/src/gui/peptide_list_view/peptidelistwindow.cpp
+++ b/src/gui/peptide_list_view/peptidelistwindow.cpp
@@ -47,7 +47,9 @@ PeptideListQactionColumn::PeptideListQactionColumn(PeptideListWindow *parent,
 
 #if QT_VERSION >= 0x050000
   // Qt5 code
-  connect(this, &PeptideListQactionColumn::toggled, this,
+  connect(this,
+          &PeptideListQactionColumn::toggled,
+          this,
           &PeptideListQactionColumn::doToggled);
 #else
   // Qt4 code
@@ -119,30 +121,47 @@ PeptideListWindow::PeptideListWindow(ProjectWindow *parent)
 
 #if QT_VERSION >= 0x050000
   // Qt5 code
-  connect(_project_window, &ProjectWindow::identificationGroupGrouped, this,
+  connect(_project_window,
+          &ProjectWindow::identificationGroupGrouped,
+          this,
           &PeptideListWindow::doIdentificationGroupGrouped);
 
-  connect(this, &PeptideListWindow::peptideDataChanged, _peptide_table_model_p,
+  connect(this,
+          &PeptideListWindow::peptideDataChanged,
+          _peptide_table_model_p,
           &PeptideTableModel::onPeptideDataChanged);
 
-  connect(ui->tableView, &QTableView::clicked, _p_proxy_model,
+  connect(ui->tableView,
+          &QTableView::clicked,
+          _p_proxy_model,
           &PeptideTableProxyModel::onTableClicked);
-  connect(_peptide_table_model_p, &PeptideTableModel::layoutChanged, this,
+  connect(_peptide_table_model_p,
+          &PeptideTableModel::layoutChanged,
+          this,
           &PeptideListWindow::updateStatusBar);
-  connect(ui->centralwidget, &QWidget::customContextMenuRequested, this,
+  connect(ui->centralwidget,
+          &QWidget::customContextMenuRequested,
+          this,
           &PeptideListWindow::showContextMenu);
 #else
   // Qt4 code
   connect(_project_window,
-          SIGNAL(identificationGroupGrouped(IdentificationGroup *)), this,
+          SIGNAL(identificationGroupGrouped(IdentificationGroup *)),
+          this,
           SLOT(doIdentificationGroupGrouped(IdentificationGroup *)));
 
-  connect(this, SIGNAL(peptideDataChanged()), _peptide_table_model_p,
+  connect(this,
+          SIGNAL(peptideDataChanged()),
+          _peptide_table_model_p,
           SLOT(onPeptideDataChanged()));
 
-  connect(ui->tableView, SIGNAL(clicked(const QModelIndex &)), _p_proxy_model,
+  connect(ui->tableView,
+          SIGNAL(clicked(const QModelIndex &)),
+          _p_proxy_model,
           SLOT(onTableClicked(const QModelIndex &)));
-  connect(_peptide_table_model_p, SIGNAL(layoutChanged()), this,
+  connect(_peptide_table_model_p,
+          SIGNAL(layoutChanged()),
+          this,
           SLOT(updateStatusBar()));
 
   /*
diff --git a/src/gui/peptide_list_view/peptidelistwindow.h b/src/gui/peptide_list_view/peptidelistwindow.h
index 3aecc9243..ffea46d7a 100644
--- a/src/gui/peptide_list_view/peptidelistwindow.h
+++ b/src/gui/peptide_list_view/peptidelistwindow.h
@@ -36,7 +36,7 @@ class ProjectWindow;
 // http://doc.qt.io/qt-4.8/qt-itemviews-chart-mainwindow-cpp.html
 namespace Ui
 {
-  class PeptideView;
+class PeptideView;
 }
 
 
diff --git a/src/gui/peptide_list_view/peptidetablemodel.h b/src/gui/peptide_list_view/peptidetablemodel.h
index 82addadd8..eeee8485f 100644
--- a/src/gui/peptide_list_view/peptidetablemodel.h
+++ b/src/gui/peptide_list_view/peptidetablemodel.h
@@ -88,8 +88,8 @@ class PeptideTableModel : public QAbstractTableModel
   PeptideTableModel(PeptideListWindow *parent);
   int rowCount(const QModelIndex &parent = QModelIndex()) const override;
   int columnCount(const QModelIndex &parent = QModelIndex()) const override;
-  QVariant headerData(int section, Qt::Orientation orientation,
-                      int role) const override;
+  QVariant
+  headerData(int section, Qt::Orientation orientation, int role) const override;
   QVariant data(const QModelIndex &index,
                 int role = Qt::DisplayRole) const override;
 
diff --git a/src/gui/peptide_list_view/peptidetableproxymodel.cpp b/src/gui/peptide_list_view/peptidetableproxymodel.cpp
index 3993cd412..3c0ec4d7c 100644
--- a/src/gui/peptide_list_view/peptidetableproxymodel.cpp
+++ b/src/gui/peptide_list_view/peptidetableproxymodel.cpp
@@ -317,7 +317,8 @@ PeptideTableProxyModel::lessThan(const QModelIndex &left,
 
 
 QVariant
-PeptideTableProxyModel::headerData(int section, Qt::Orientation orientation,
+PeptideTableProxyModel::headerData(int section,
+                                   Qt::Orientation orientation,
                                    int role) const
 {
   int col = mapToSource(index(0, section)).column();
diff --git a/src/gui/peptide_list_view/peptidetableproxymodel.h b/src/gui/peptide_list_view/peptidetableproxymodel.h
index 569bc2016..123ce4b4f 100644
--- a/src/gui/peptide_list_view/peptidetableproxymodel.h
+++ b/src/gui/peptide_list_view/peptidetableproxymodel.h
@@ -47,8 +47,8 @@ class PeptideTableProxyModel : public QSortFilterProxyModel
   bool filterAcceptsColumn(int source_column,
                            const QModelIndex &source_parent) const override;
 
-  QVariant headerData(int section, Qt::Orientation orientation,
-                      int role) const override;
+  QVariant
+  headerData(int section, Qt::Orientation orientation, int role) const override;
   QVariant data(const QModelIndex &index,
                 int role = Qt::DisplayRole) const override;
   bool lessThan(const QModelIndex &left,
diff --git a/src/gui/project_view/identification_group_widget/identificationgroupwidget.cpp b/src/gui/project_view/identification_group_widget/identificationgroupwidget.cpp
index ac279cfd1..d95594793 100644
--- a/src/gui/project_view/identification_group_widget/identificationgroupwidget.cpp
+++ b/src/gui/project_view/identification_group_widget/identificationgroupwidget.cpp
@@ -52,13 +52,16 @@ IdentificationGroupWidget::setIdentificationGroup(
   _p_project_window = parent;
 #if QT_VERSION >= 0x050000
   // Qt5 code
-  connect(_p_project_window, &ProjectWindow::identificationGroupGrouped, this,
+  connect(_p_project_window,
+          &ProjectWindow::identificationGroupGrouped,
+          this,
           &IdentificationGroupWidget::doIdentificationGroupGrouped);
 #else
   // Qt4 code
 
   connect(_p_project_window,
-          SIGNAL(identificationGroupGrouped(IdentificationGroup *)), this,
+          SIGNAL(identificationGroupGrouped(IdentificationGroup *)),
+          this,
           SLOT(doIdentificationGroupGrouped(IdentificationGroup *)));
 #endif
 }
@@ -90,7 +93,8 @@ IdentificationGroupWidget::doIdentificationGroupGrouped(
            << _p_identification_group << " " << p_identification_group;
   if(_p_identification_group == p_identification_group)
     {
-      vector<MsRunSp> ms_run_list = _p_identification_group->getMsRunSpList();
+      std::vector<MsRunSp> ms_run_list =
+        _p_identification_group->getMsRunSpList();
       ui->sample_number_display->setText(QString("%1").arg(ms_run_list.size()));
 
       ui->group_number_display->setText(
diff --git a/src/gui/project_view/identification_group_widget/identificationgroupwidget.h b/src/gui/project_view/identification_group_widget/identificationgroupwidget.h
index 94d03b4be..0e34d4b4d 100644
--- a/src/gui/project_view/identification_group_widget/identificationgroupwidget.h
+++ b/src/gui/project_view/identification_group_widget/identificationgroupwidget.h
@@ -29,7 +29,7 @@
 
 namespace Ui
 {
-  class IdentificationGroupWidget;
+class IdentificationGroupWidget;
 }
 
 
diff --git a/src/gui/project_view/projectwindow.cpp b/src/gui/project_view/projectwindow.cpp
index 6a0aae86b..b4422aa6c 100644
--- a/src/gui/project_view/projectwindow.cpp
+++ b/src/gui/project_view/projectwindow.cpp
@@ -280,8 +280,7 @@ ProjectWindow::computeFdr()
           total_prot += identification_group->countProteinMatch(state);
           false_prot += identification_group->countDecoyProteinMatch(state);
           total_psm += identification_group->countPeptideEvidence(state);
-          false_psm +=
-            identification_group->countDecoyPeptideEvidence(state);
+          false_psm += identification_group->countDecoyPeptideEvidence(state);
 
           total_peptide += identification_group->countPeptideMassSample(state);
           false_peptide +=
diff --git a/src/gui/protein_list_view/proteinlistwindow.h b/src/gui/protein_list_view/proteinlistwindow.h
index a1015a9a3..b7ed2a105 100644
--- a/src/gui/protein_list_view/proteinlistwindow.h
+++ b/src/gui/protein_list_view/proteinlistwindow.h
@@ -37,7 +37,7 @@ class ProjectWindow;
 // http://doc.qt.io/qt-4.8/qt-itemviews-chart-mainwindow-cpp.html
 namespace Ui
 {
-  class ProteinView;
+class ProteinView;
 }
 
 class ProteinListWindow;
diff --git a/src/gui/protein_list_view/proteintablemodel.cpp b/src/gui/protein_list_view/proteintablemodel.cpp
index 490f40bb9..cbe0d4ec5 100644
--- a/src/gui/protein_list_view/proteintablemodel.cpp
+++ b/src/gui/protein_list_view/proteintablemodel.cpp
@@ -209,7 +209,8 @@ ProteinTableModel::getDescription(std::int8_t column)
   return "";
 }
 QVariant
-ProteinTableModel::headerData(int section, Qt::Orientation orientation,
+ProteinTableModel::headerData(int section,
+                              Qt::Orientation orientation,
                               int role) const
 {
   if(_p_identification_group == nullptr)
diff --git a/src/gui/protein_list_view/proteintablemodel.h b/src/gui/protein_list_view/proteintablemodel.h
index 6cdaa1ce2..86734bcf8 100644
--- a/src/gui/protein_list_view/proteintablemodel.h
+++ b/src/gui/protein_list_view/proteintablemodel.h
@@ -62,8 +62,8 @@ class ProteinTableModel : public QAbstractTableModel
   rowCount(const QModelIndex &parent = QModelIndex()) const override;
   virtual int
   columnCount(const QModelIndex &parent = QModelIndex()) const override;
-  virtual QVariant headerData(int section, Qt::Orientation orientation,
-                              int role) const override;
+  virtual QVariant
+  headerData(int section, Qt::Orientation orientation, int role) const override;
   virtual QVariant data(const QModelIndex &index,
                         int role = Qt::DisplayRole) const override;
 
diff --git a/src/gui/protein_list_view/proteintableproxymodel.h b/src/gui/protein_list_view/proteintableproxymodel.h
index adefbcb08..d4f687700 100644
--- a/src/gui/protein_list_view/proteintableproxymodel.h
+++ b/src/gui/protein_list_view/proteintableproxymodel.h
@@ -48,8 +48,8 @@ class ProteinTableProxyModel : public QSortFilterProxyModel
   bool filterAcceptsColumn(int source_column,
                            const QModelIndex &source_parent) const override;
 
-  QVariant headerData(int section, Qt::Orientation orientation,
-                      int role) const override;
+  QVariant
+  headerData(int section, Qt::Orientation orientation, int role) const override;
   QVariant data(const QModelIndex &index,
                 int role = Qt::DisplayRole) const override;
   bool lessThan(const QModelIndex &left,
diff --git a/src/gui/protein_view/proteinwindow.cpp b/src/gui/protein_view/proteinwindow.cpp
index 397c5aea1..9b17a7741 100644
--- a/src/gui/protein_view/proteinwindow.cpp
+++ b/src/gui/protein_view/proteinwindow.cpp
@@ -39,8 +39,8 @@ DbXrefButton::DbXrefButton(QWidget *parent, DbXref dbxref) : QPushButton(parent)
   _dbxref = dbxref;
 #if QT_VERSION >= 0x050000
   // Qt5 code
-  QObject::connect(this, &DbXrefButton::clicked, this,
-                   &DbXrefButton::clickedSlot);
+  QObject::connect(
+    this, &DbXrefButton::clicked, this, &DbXrefButton::clickedSlot);
 #else
   // Qt4 code
   QObject::connect(this, SIGNAL(clicked()), this, SLOT(clickedSlot()));
@@ -67,16 +67,23 @@ ProteinWindow::ProteinWindow(ProjectWindow *parent)
 
 #if QT_VERSION >= 0x050000
   // Qt5 code
-  connect(_p_project_window, &ProjectWindow::identificationGroupGrouped, this,
+  connect(_p_project_window,
+          &ProjectWindow::identificationGroupGrouped,
+          this,
           &ProteinWindow::doIdentificationGroupGrouped);
-  connect(_p_project_window, &ProjectWindow::peptideEvidenceSelected, this,
+  connect(_p_project_window,
+          &ProjectWindow::peptideEvidenceSelected,
+          this,
           &ProteinWindow::doPeptideEvidenceSelected);
 #else
   // Qt4 code
   connect(_p_project_window,
-          SIGNAL(identificationGroupGrouped(IdentificationGroup *)), this,
+          SIGNAL(identificationGroupGrouped(IdentificationGroup *)),
+          this,
           SLOT(doIdentificationGroupGrouped(IdentificationGroup *)));
-  connect(_p_project_window, SIGNAL(peptideMatchSelected(PeptideMatch *)), this,
+  connect(_p_project_window,
+          SIGNAL(peptideMatchSelected(PeptideMatch *)),
+          this,
           SLOT(doPeptideMatchSelected(PeptideMatch *)));
 
   // connect(_protein_table_model_p, SIGNAL(layoutChanged()), this,
@@ -143,9 +150,10 @@ ProteinWindow::updateDisplay()
           _p_protein_match->getProteinXtpSp().get()->getDbxrefList())
         {
           QString accession = ui->accession_label->text().replace(
-            dbxref.accession, QString("<span style=\"color:%2;\">%1</span>")
-                                .arg(dbxref.accession)
-                                .arg("blue"));
+            dbxref.accession,
+            QString("<span style=\"color:%2;\">%1</span>")
+              .arg(dbxref.accession)
+              .arg("blue"));
           ui->accession_label->setText(accession);
           qDebug() << "ProteinWindow::updateDisplay " << accession;
 
@@ -171,13 +179,14 @@ ProteinWindow::updateDisplay()
     }
   catch(pappso::PappsoException exception_pappso)
     {
-      QMessageBox::warning(this, tr("Unable to display protein details :"),
+      QMessageBox::warning(this,
+                           tr("Unable to display protein details :"),
                            exception_pappso.qwhat());
     }
   catch(std::exception exception_std)
     {
-      QMessageBox::warning(this, tr("Unable to display protein details :"),
-                           exception_std.what());
+      QMessageBox::warning(
+        this, tr("Unable to display protein details :"), exception_std.what());
     }
 }
 
diff --git a/src/gui/protein_view/proteinwindow.h b/src/gui/protein_view/proteinwindow.h
index 8bb6fcf33..1e2885b4f 100644
--- a/src/gui/protein_view/proteinwindow.h
+++ b/src/gui/protein_view/proteinwindow.h
@@ -46,7 +46,7 @@ class ProjectWindow;
 
 namespace Ui
 {
-  class ProteinDetailView;
+class ProteinDetailView;
 }
 
 class ProteinWindow : public QMainWindow
diff --git a/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp b/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp
index 5114d8f0d..880533bae 100644
--- a/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp
+++ b/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp
@@ -63,30 +63,46 @@ PtmIslandListWindow::PtmIslandListWindow(ProjectWindow *parent)
 
 #if QT_VERSION >= 0x050000
   // Qt5 code
-  connect(this, &PtmIslandListWindow::ptmIslandDataChanged, _ptm_table_model_p,
+  connect(this,
+          &PtmIslandListWindow::ptmIslandDataChanged,
+          _ptm_table_model_p,
           &PtmIslandTableModel::onPtmIslandDataChanged);
 
-  connect(_project_window, &ProjectWindow::identificationPtmGroupGrouped, this,
+  connect(_project_window,
+          &ProjectWindow::identificationPtmGroupGrouped,
+          this,
           &PtmIslandListWindow::doIdentificationPtmGroupGrouped);
-  connect(_project_window, &ProjectWindow::identificationGroupGrouped, this,
+  connect(_project_window,
+          &ProjectWindow::identificationGroupGrouped,
+          this,
           &PtmIslandListWindow::doIdentificationGroupGrouped);
-  connect(ui->ptm_island_tableview, &QTableView::clicked, _ptm_proxy_model_p,
+  connect(ui->ptm_island_tableview,
+          &QTableView::clicked,
+          _ptm_proxy_model_p,
           &PtmIslandProxyModel::onTableClicked);
-  connect(_ptm_table_model_p, &PtmIslandTableModel::layoutChanged, this,
+  connect(_ptm_table_model_p,
+          &PtmIslandTableModel::layoutChanged,
+          this,
           &PtmIslandListWindow::updateStatusBar);
 #else
   // Qt4 code
-  connect(this, SIGNAL(ptmIslandDataChanged()), _ptm_table_model_p,
+  connect(this,
+          SIGNAL(ptmIslandDataChanged()),
+          _ptm_table_model_p,
           SLOT(onPtmIslandDataChanged()));
 
   connect(_project_window,
-          SIGNAL(identificationPtmGroupGrouped(IdentificationGroup *)), this,
+          SIGNAL(identificationPtmGroupGrouped(IdentificationGroup *)),
+          this,
           SLOT(doIdentificationPtmGroupGrouped(IdentificationGroup *)));
   connect(_project_window,
-          SIGNAL(identificationGroupGrouped(IdentificationGroup *)), this,
+          SIGNAL(identificationGroupGrouped(IdentificationGroup *)),
+          this,
           SLOT(doIdentificationGroupGrouped(IdentificationGroup *)));
-  connect(ui->ptm_island_tableview, SIGNAL(clicked(const QModelIndex &)),
-          _ptm_proxy_model_p, SLOT(onTableClicked(const QModelIndex &)));
+  connect(ui->ptm_island_tableview,
+          SIGNAL(clicked(const QModelIndex &)),
+          _ptm_proxy_model_p,
+          SLOT(onTableClicked(const QModelIndex &)));
 
 #endif
 }
diff --git a/src/gui/ptm_island_list_view/ptmislandlistwindow.h b/src/gui/ptm_island_list_view/ptmislandlistwindow.h
index 70cb8e168..e5f49d377 100644
--- a/src/gui/ptm_island_list_view/ptmislandlistwindow.h
+++ b/src/gui/ptm_island_list_view/ptmislandlistwindow.h
@@ -42,7 +42,7 @@ class PtmPeptideListWindow;
 // http://doc.qt.io/qt-4.8/qt-itemviews-chart-mainwindow-cpp.html
 namespace Ui
 {
-  class PtmIslandListWindow;
+class PtmIslandListWindow;
 }
 
 class PtmIslandListWindow : public QMainWindow
diff --git a/src/gui/ptm_island_list_view/ptmislandtablemodel.cpp b/src/gui/ptm_island_list_view/ptmislandtablemodel.cpp
index d039db1fe..9057339b4 100644
--- a/src/gui/ptm_island_list_view/ptmislandtablemodel.cpp
+++ b/src/gui/ptm_island_list_view/ptmislandtablemodel.cpp
@@ -178,7 +178,8 @@ PtmIslandTableModel::columnCount(const QModelIndex &parent) const
   return 0;
 }
 QVariant
-PtmIslandTableModel::headerData(int section, Qt::Orientation orientation,
+PtmIslandTableModel::headerData(int section,
+                                Qt::Orientation orientation,
                                 int role) const
 {
   if(getPtmGroupingExperiment() == nullptr)
diff --git a/src/gui/ptm_island_list_view/ptmislandtablemodel.h b/src/gui/ptm_island_list_view/ptmislandtablemodel.h
index 2cee9bc62..da20d0d4a 100644
--- a/src/gui/ptm_island_list_view/ptmislandtablemodel.h
+++ b/src/gui/ptm_island_list_view/ptmislandtablemodel.h
@@ -70,8 +70,8 @@ class PtmIslandTableModel : public QAbstractTableModel
   rowCount(const QModelIndex &parent = QModelIndex()) const override;
   virtual int
   columnCount(const QModelIndex &parent = QModelIndex()) const override;
-  virtual QVariant headerData(int section, Qt::Orientation orientation,
-                              int role) const override;
+  virtual QVariant
+  headerData(int section, Qt::Orientation orientation, int role) const override;
   virtual QVariant data(const QModelIndex &index,
                         int role = Qt::DisplayRole) const override;
 
diff --git a/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.cpp b/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.cpp
index 5fb53774e..da29d9267 100644
--- a/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.cpp
+++ b/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.cpp
@@ -62,9 +62,12 @@ PtmPeptideListWindow::PtmPeptideListWindow(PtmIslandListWindow *parent)
 
 #if QT_VERSION >= 0x050000
   // Qt5 code
-  connect(ui->ptm_peptide_tableview, &QTableView::clicked, _ptm_proxy_model_p,
+  connect(ui->ptm_peptide_tableview,
+          &QTableView::clicked,
+          _ptm_proxy_model_p,
           &PtmPeptideTableProxyModel::onTableClicked);
-  connect(this, &PtmPeptideListWindow::requestPeptideDetailView,
+  connect(this,
+          &PtmPeptideListWindow::requestPeptideDetailView,
           _p_ptm_island_list_window->getProjectWindowP(),
           &ProjectWindow::doViewPeptideDetail);
 #else
@@ -77,9 +80,12 @@ PtmPeptideListWindow::PtmPeptideListWindow(PtmIslandListWindow *parent)
   // this,SLOT(doIdentificationPtmGroupGrouped(IdentificationGroup *))); connect
   // (_project_window, SIGNAL(identificationGroupGrouped(IdentificationGroup
   // *)), this,SLOT(doIdentificationGroupGrouped(IdentificationGroup *)));
-  connect(ui->ptm_peptide_tableview, SIGNAL(clicked(const QModelIndex &)),
-          _ptm_proxy_model_p, SLOT(onTableClicked(const QModelIndex &)));
-  connect(this, SIGNAL(requestPeptideDetailView(PeptideMatch *)),
+  connect(ui->ptm_peptide_tableview,
+          SIGNAL(clicked(const QModelIndex &)),
+          _ptm_proxy_model_p,
+          SLOT(onTableClicked(const QModelIndex &)));
+  connect(this,
+          SIGNAL(requestPeptideDetailView(PeptideMatch *)),
           _p_ptm_island_list_window->getProjectWindowP(),
           SLOT(doViewPeptideDetail(PeptideMatch *)));
 
diff --git a/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.h b/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.h
index d49489ef7..b4bcc15c8 100644
--- a/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.h
+++ b/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.h
@@ -40,7 +40,7 @@ class PtmIslandListWindow;
 
 namespace Ui
 {
-  class PtmPeptideListWindow;
+class PtmPeptideListWindow;
 }
 
 
diff --git a/src/gui/ptm_peptide_list_view/ptmpeptidetablemodel.cpp b/src/gui/ptm_peptide_list_view/ptmpeptidetablemodel.cpp
index ca333c6a2..2f9fbd0e2 100644
--- a/src/gui/ptm_peptide_list_view/ptmpeptidetablemodel.cpp
+++ b/src/gui/ptm_peptide_list_view/ptmpeptidetablemodel.cpp
@@ -188,7 +188,8 @@ PtmPeptideTableModel::columnCount(const QModelIndex &parent) const
   return 15;
 }
 QVariant
-PtmPeptideTableModel::headerData(int section, Qt::Orientation orientation,
+PtmPeptideTableModel::headerData(int section,
+                                 Qt::Orientation orientation,
                                  int role) const
 {
   if(orientation == Qt::Horizontal)
diff --git a/src/gui/ptm_peptide_list_view/ptmpeptidetablemodel.h b/src/gui/ptm_peptide_list_view/ptmpeptidetablemodel.h
index 76c02ce65..59ae24348 100644
--- a/src/gui/ptm_peptide_list_view/ptmpeptidetablemodel.h
+++ b/src/gui/ptm_peptide_list_view/ptmpeptidetablemodel.h
@@ -71,8 +71,8 @@ class PtmPeptideTableModel : public QAbstractTableModel
   rowCount(const QModelIndex &parent = QModelIndex()) const override;
   virtual int
   columnCount(const QModelIndex &parent = QModelIndex()) const override;
-  virtual QVariant headerData(int section, Qt::Orientation orientation,
-                              int role) const override;
+  virtual QVariant
+  headerData(int section, Qt::Orientation orientation, int role) const override;
   virtual QVariant data(const QModelIndex &index,
                         int role = Qt::DisplayRole) const override;
   static const QString getTitle(PtmPeptideListColumn column);
diff --git a/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.cpp b/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.cpp
index 4a15cc548..e37056413 100644
--- a/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.cpp
+++ b/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.cpp
@@ -35,7 +35,8 @@
 
 PtmPeptideMenuQicon::PtmPeptideMenuQicon(
   const PtmGroupingExperiment *p_ptm_grouping_experiment,
-  const PtmSampleScan *p_ptm_sample, const PeptideMatch *p_peptide_match)
+  const PtmSampleScan *p_ptm_sample,
+  const PeptideMatch *p_peptide_match)
   : QIcon(), _peptide_match(*p_peptide_match)
 {
   _p_ptm_sample_scan         = p_ptm_sample;
@@ -45,8 +46,10 @@ PtmPeptideMenuQicon::~PtmPeptideMenuQicon()
 {
 }
 void
-PtmPeptideMenuQicon::paint(QPainter *painter, const QRect &rect,
-                           Qt::Alignment alignment, Mode mode,
+PtmPeptideMenuQicon::paint(QPainter *painter,
+                           const QRect &rect,
+                           Qt::Alignment alignment,
+                           Mode mode,
                            State state) const
 {
 
@@ -69,14 +72,15 @@ PtmPeptideMenuQicon::paint(QPainter *painter, const QRect &rect,
 PtmPeptideMenuQaction::PtmPeptideMenuQaction(
   PtmPeptideTableProxyModel *parent,
   const PtmGroupingExperiment *p_ptm_grouping_experiment,
-  const PtmSampleScan *p_ptm_sample, PeptideMatch *p_peptide_match)
+  const PtmSampleScan *p_ptm_sample,
+  PeptideMatch *p_peptide_match)
   : QAction(parent)
 {
 
   _p_ptm_peptide_table_proxy_model = parent;
   _peptide_match                   = *p_peptide_match;
-  this->setIcon(PtmPeptideMenuQicon(p_ptm_grouping_experiment, p_ptm_sample,
-                                    p_peptide_match));
+  this->setIcon(PtmPeptideMenuQicon(
+    p_ptm_grouping_experiment, p_ptm_sample, p_peptide_match));
   // this->setText(p_peptide_match->getPeptideXtpSp().get()->getSequence());
 
   QStringList position_list;
@@ -97,7 +101,9 @@ PtmPeptideMenuQaction::PtmPeptideMenuQaction(
 
 #if QT_VERSION >= 0x050000
   // Qt5 code
-  connect(this, &PtmPeptideMenuQaction::triggered, this,
+  connect(this,
+          &PtmPeptideMenuQaction::triggered,
+          this,
           &PtmPeptideMenuQaction::doTriggered);
 #else
   // Qt4 code
@@ -187,8 +193,10 @@ PtmPeptideTableProxyModel::showContextMenu(const QModelIndex &index)
   for(auto p_peptide_match : sp_ptm_sample_scan.get()->getPeptideMatchList())
     {
       p_action = new PtmPeptideMenuQaction(
-        this, _p_ptm_table_model->getPtmGroupingExperiment(),
-        sp_ptm_sample_scan.get(), &p_peptide_match);
+        this,
+        _p_ptm_table_model->getPtmGroupingExperiment(),
+        sp_ptm_sample_scan.get(),
+        &p_peptide_match);
       _p_context_menu->addAction(p_action);
     }
 
diff --git a/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.h b/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.h
index 3b458883b..fc1211ecc 100644
--- a/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.h
+++ b/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.h
@@ -46,12 +46,15 @@ class PtmPeptideMenuQicon : public QIcon
   public:
   explicit PtmPeptideMenuQicon(
     const PtmGroupingExperiment *p_ptm_grouping_experiment,
-    const PtmSampleScan *p_ptm_sample, const PeptideMatch *p_peptide_match);
+    const PtmSampleScan *p_ptm_sample,
+    const PeptideMatch *p_peptide_match);
   ~PtmPeptideMenuQicon();
 
-  void paint(QPainter *painter, const QRect &rect,
-             Qt::Alignment alignment = Qt::AlignCenter, Mode mode = Normal,
-             State state = Off) const;
+  void paint(QPainter *painter,
+             const QRect &rect,
+             Qt::Alignment alignment = Qt::AlignCenter,
+             Mode mode               = Normal,
+             State state             = Off) const;
 
   private:
   const PtmSampleScan *_p_ptm_sample_scan;
@@ -66,7 +69,8 @@ class PtmPeptideMenuQaction : public QAction
   explicit PtmPeptideMenuQaction(
     PtmPeptideTableProxyModel *parent,
     const PtmGroupingExperiment *p_ptm_grouping_experiment,
-    const PtmSampleScan *p_ptm_sample, PeptideMatch *p_peptide_match);
+    const PtmSampleScan *p_ptm_sample,
+    PeptideMatch *p_peptide_match);
   ~PtmPeptideMenuQaction();
 
   public slots:
diff --git a/src/gui/ptm_peptide_list_view/ptmsequencedelegate.h b/src/gui/ptm_peptide_list_view/ptmsequencedelegate.h
index e9b786bcc..fef38bde8 100644
--- a/src/gui/ptm_peptide_list_view/ptmsequencedelegate.h
+++ b/src/gui/ptm_peptide_list_view/ptmsequencedelegate.h
@@ -41,7 +41,8 @@ class PtmSequenceDelegate : public QStyledItemDelegate
   PtmSequenceDelegate(PtmIslandListWindow *p_ptm_island_list_window,
                       QWidget *parent = 0);
 
-  void paint(QPainter *painter, const QStyleOptionViewItem &option,
+  void paint(QPainter *painter,
+             const QStyleOptionViewItem &option,
              const QModelIndex &index) const override;
   // QSize sizeHint(const QStyleOptionViewItem &option,
   //              const QModelIndex &index) const override;
diff --git a/src/gui/tandem_run_dialog/tandemrundialog.cpp b/src/gui/tandem_run_dialog/tandemrundialog.cpp
index 56569fa43..596819d18 100644
--- a/src/gui/tandem_run_dialog/tandemrundialog.cpp
+++ b/src/gui/tandem_run_dialog/tandemrundialog.cpp
@@ -473,16 +473,16 @@ TandemRunDialog::fillTandemBinPath(const QString &tandem_bin_path_in,
   if(tandem_bin_path_in.isEmpty())
     {
       // try to find default X!Tandem, depending on platform
-        ui->tandem_bin_label->setText(
-        "");
+      ui->tandem_bin_label->setText("");
       if(QFileInfo("/usr/bin/tandem").exists())
         {
           fillTandemBinPath("/usr/bin/tandem", false);
         }
       else
         {
-      ui->tandem_version_label->setText(
-        "<font color=\"red\">Please select the tandem.exe file path</font>");
+          ui->tandem_version_label->setText(
+            "<font color=\"red\">Please select the tandem.exe file "
+            "path</font>");
           ui->exe_groupbox->setChecked(true);
         }
     }
diff --git a/src/gui/waiting_message_dialog/waitingmessagedialog.h b/src/gui/waiting_message_dialog/waitingmessagedialog.h
index 50a73da76..a20c256b4 100644
--- a/src/gui/waiting_message_dialog/waitingmessagedialog.h
+++ b/src/gui/waiting_message_dialog/waitingmessagedialog.h
@@ -34,7 +34,7 @@
 
 namespace Ui
 {
-  class WaitingMessageDialog;
+class WaitingMessageDialog;
 }
 
 
diff --git a/src/gui/widgets/automatic_filter_widget/automaticfilterwidget.h b/src/gui/widgets/automatic_filter_widget/automaticfilterwidget.h
index a01b80525..5b2fa39f1 100644
--- a/src/gui/widgets/automatic_filter_widget/automaticfilterwidget.h
+++ b/src/gui/widgets/automatic_filter_widget/automaticfilterwidget.h
@@ -31,7 +31,7 @@
 
 namespace Ui
 {
-  class AutomaticFilterWidget;
+class AutomaticFilterWidget;
 }
 
 class AutomaticFilterWidget : public QWidget
diff --git a/src/gui/widgets/contaminant_widget/contaminantwidget.h b/src/gui/widgets/contaminant_widget/contaminantwidget.h
index ffea09bd5..0a79d0958 100644
--- a/src/gui/widgets/contaminant_widget/contaminantwidget.h
+++ b/src/gui/widgets/contaminant_widget/contaminantwidget.h
@@ -40,7 +40,7 @@
 
 namespace Ui
 {
-  class ContaminantWidget;
+class ContaminantWidget;
 }
 
 class ContaminantWidget : public QWidget
diff --git a/src/gui/workerthread.cpp b/src/gui/workerthread.cpp
index be10ce490..f432d576d 100644
--- a/src/gui/workerthread.cpp
+++ b/src/gui/workerthread.cpp
@@ -547,7 +547,9 @@ WorkerThread::doWritingOdsFile(QString filename,
 
 
 void
-WorkerThread::doWritingMassChroqFile(QString filename, ProjectSp project_sp, MasschroqFileParameters params)
+WorkerThread::doWritingMassChroqFile(QString filename,
+                                     ProjectSp project_sp,
+                                     MasschroqFileParameters params)
 {
 
   try
@@ -750,7 +752,7 @@ WorkerThread::doWritingFastaFile(QString filename,
       qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
       emit loadingMessage(tr("writing FASTA file, please wait"));
 
-      
+
       ExportFastaFile output(filename, type);
       output.write(project_sp);
       output.close();
diff --git a/src/gui/workerthread.h b/src/gui/workerthread.h
index 686485d74..42c9ced2e 100644
--- a/src/gui/workerthread.h
+++ b/src/gui/workerthread.h
@@ -57,11 +57,14 @@ class WorkerThread : public QObject
 
   public slots:
   void doXpipFileLoad(QString filename);
-  void doLoadingResults(bool is_individual, AutomaticFilterParameters param,
+  void doLoadingResults(bool is_individual,
+                        AutomaticFilterParameters param,
                         QStringList file_list);
   void doWritingXpipFile(QString filename, ProjectSp project_sp);
   void doWritingOdsFile(QString filename, QString format, ProjectSp project_sp);
-  void doWritingMassChroqFile(QString filename, ProjectSp project_sp, MasschroqFileParameters params);
+  void doWritingMassChroqFile(QString filename,
+                              ProjectSp project_sp,
+                              MasschroqFileParameters params);
   void doWritingMassChroqPrmFile(QString filename, ProjectSp project_sp);
   void doWritingProticFile(QString filename, ProjectSp project_sp);
   void doWritingMcqrSpectralCountFile(QString filename, ProjectSp project_sp);
diff --git a/src/gui/xic_view/xic_box/xicbox.cpp b/src/gui/xic_view/xic_box/xicbox.cpp
index ebf3711c3..b4e36d96c 100644
--- a/src/gui/xic_view/xic_box/xicbox.cpp
+++ b/src/gui/xic_view/xic_box/xicbox.cpp
@@ -38,9 +38,9 @@
 
 
 bool
-XicBoxNaturalIsotope::contains(const pappso::XicPeakSp &peak) const
+XicBoxNaturalIsotope::contains(const pappso::XicPeakCstSPtr &peak) const
 {
-  for(const pappso::XicPeakSp &peak_i : detected_peak_list)
+  for(const pappso::XicPeakCstSPtr &peak_i : detected_peak_list)
     {
       if(peak_i.get() == peak.get())
         {
@@ -69,7 +69,7 @@ class XicDetectionList : public pappso::XicDetectionSinkInterface
   void
   setXicPeak(pappso::XicPeak &xic_peak) override
   {
-    pappso::XicPeakSp peak_sp = xic_peak.makeXicPeakSp();
+    pappso::XicPeakCstSPtr peak_sp = xic_peak.makeXicPeakCstSPtr();
     _peak_list.push_back(peak_sp);
 
     for(pappso::pappso_double rt : _rt_list)
@@ -84,12 +84,12 @@ class XicDetectionList : public pappso::XicDetectionSinkInterface
           }
       }
   };
-  const pappso::XicPeakSp &
+  const pappso::XicPeakCstSPtr &
   getMatchedPeak() const
   {
     return _max_peak;
   }
-  const std::vector<pappso::XicPeakSp> &
+  const std::vector<pappso::XicPeakCstSPtr> &
   getXicPeakList() const
   {
     return _peak_list;
@@ -103,9 +103,9 @@ class XicDetectionList : public pappso::XicDetectionSinkInterface
 
   private:
   unsigned int _count = 0;
-  std::vector<pappso::XicPeakSp> _peak_list;
+  std::vector<pappso::XicPeakCstSPtr> _peak_list;
   std::vector<pappso::pappso_double> _rt_list;
-  pappso::XicPeakSp _max_peak;
+  pappso::XicPeakCstSPtr _max_peak;
 };
 
 
@@ -150,12 +150,11 @@ XicBox::XicBox(XicWindow *parent) : QWidget(parent), ui(new Ui::XicBox)
 
   connect(
     _p_xic_window, &XicWindow::reExtractXicNeeded, this, &XicBox::reExtractXic);
-  connect(ui->xic_widget,
-          qOverload<std::vector<std::pair<pappso::XicSp, pappso::XicPeakSp>>>(
-            &pappso::XicWidget::xicPeakListChanged),
-          this,
+  /*  connect(ui->xic_widget,
+          qOverload<std::vector<std::pair<pappso::XicCstSPtr,
+  pappso::XicPeakSp>>>( &pappso::XicWidget::xicPeakListChanged), this,
           &XicBox::setXicPeakList);
-  /*
+
   connect(ui->xic_widget,
           &pappso::XicWidget::clicked,
           this,
@@ -201,7 +200,7 @@ XicBox::onXicWidgetClick(double rt, double intensity)
 {
   qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
   ui->xic_widget->clearXicPeakBorders();
-  std::vector<pappso::XicPeakSp> draw_peak_borders;
+  std::vector<pappso::XicPeakCstSPtr> draw_peak_borders;
   for(XicBoxNaturalIsotope peak : _natural_isotope_list)
     {
       qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
@@ -318,7 +317,7 @@ XicBox::setPeptideEvidenceInMsRun(const PeptideEvidence *p_peptide_evidence,
 }
 
 void
-XicBox::setXic(std::vector<pappso::XicSp> xic_sp_list)
+XicBox::setXic(std::vector<pappso::XicCstSPtr> xic_sp_list)
 {
   qDebug() << "XicBox::setXic begin " << xic_sp_list.size();
   ui->xic_widget->clear();
@@ -384,7 +383,7 @@ XicBox::setXic(std::vector<pappso::XicSp> xic_sp_list)
   XicDetectionList xic_list;
   xic_list.setPeptideEvidenceList(_peptide_evidence_list);
 
-  std::vector<pappso::XicPeakSp> draw_peak_borders;
+  std::vector<pappso::XicPeakCstSPtr> draw_peak_borders;
 
   for(XicBoxNaturalIsotope &xic_isotope : _natural_isotope_list)
     {
@@ -412,7 +411,7 @@ XicBox::setXic(std::vector<pappso::XicSp> xic_sp_list)
 
 void
 XicBox::drawObservedAreaBars(
-  const std::vector<pappso::XicPeakSp> &observed_peak_to_draw_list)
+  const std::vector<pappso::XicPeakCstSPtr> &observed_peak_to_draw_list)
 {
   if(_isotope_ratio_graph_observed_intensity == nullptr)
     {
@@ -439,8 +438,8 @@ XicBox::drawObservedAreaBars(
   qDebug() << "XicBox::setXic plot _isotope_mass_list";
   for(const XicBoxNaturalIsotope &xic_isotope : _natural_isotope_list)
     {
-      pappso::XicPeakSp peak_to_draw;
-      for(pappso::XicPeakSp observed_peak : observed_peak_to_draw_list)
+      pappso::XicPeakCstSPtr peak_to_draw;
+      for(pappso::XicPeakCstSPtr observed_peak : observed_peak_to_draw_list)
         {
           if(xic_isotope.contains(observed_peak))
             {
diff --git a/src/gui/xic_view/xic_box/xicbox.h b/src/gui/xic_view/xic_box/xicbox.h
index f675882ad..b7acc1f17 100644
--- a/src/gui/xic_view/xic_box/xicbox.h
+++ b/src/gui/xic_view/xic_box/xicbox.h
@@ -40,20 +40,20 @@
 
 namespace Ui
 {
-  class XicBox;
+class XicBox;
 }
 
 
 struct XicBoxNaturalIsotope
 {
 
-  bool contains(const pappso::XicPeakSp &peak) const;
+  bool contains(const pappso::XicPeakCstSPtr &peak) const;
 
-  pappso::XicSp xic_sp;
+  pappso::XicCstSPtr xic_sp;
   pappso::PeptideNaturalIsotopeAverageSp peptide_natural_isotope_sp;
-  pappso::XicPeakSp matched_peak_sp;
-  pappso::XicPeakSp one_peak_sp;
-  std::vector<pappso::XicPeakSp> detected_peak_list;
+  pappso::XicPeakCstSPtr matched_peak_sp;
+  pappso::XicPeakCstSPtr one_peak_sp;
+  std::vector<pappso::XicPeakCstSPtr> detected_peak_list;
 };
 
 class XicBox : public QWidget
@@ -67,28 +67,30 @@ class XicBox : public QWidget
                                  MsRunSp msrun_sp);
 
   signals:
-  void loadXic(MsRunSp p_msrun, std::vector<pappso::mz> mz_list,
-               pappso::PrecisionP precision, pappso::XicExtractMethod method);
-  void computeIsotopeMassList(pappso::PeptideSp peptide_sp, unsigned int charge,
-                              pappso::PrecisionP precision,
+  void loadXic(MsRunSp p_msrun,
+               std::vector<pappso::pappso_double> mz_list,
+               pappso::PrecisionPtr precision,
+               pappso::XicExtractMethod method);
+  void computeIsotopeMassList(pappso::PeptideSp peptide_sp,
+                              unsigned int charge,
+                              pappso::PrecisionPtr precision,
                               double minimum_isotope_pattern_ratio);
   private slots:
   void remove();
   void reExtractXic();
-  void setXic(std::vector<pappso::XicSp> xic_sp_list);
+  void setXic(std::vector<pappso::XicCstSPtr> xic_sp_list);
   void setIsotopeMassList(
     std::vector<pappso::PeptideNaturalIsotopeAverageSp> isotope_mass_list);
   void error(QString error_message);
   void extractXicInOtherMsRun();
   void setRetentionTime(double rt);
-  void setXicPeakList(
-    std::vector<std::pair<pappso::XicSp, pappso::XicPeakSp>> xic_peak_list);
+  void setXicPeakList(pappso::XicXicPeakPairList xic_peak_list);
   void onRtUnitChanged();
   void onXicWidgetClick(double rt, double intensity);
 
   private:
   void drawObservedAreaBars(
-    const std::vector<pappso::XicPeakSp> &observed_peak_to_draw);
+    const std::vector<pappso::XicPeakCstSPtr> &observed_peak_to_draw);
 
   private:
   Ui::XicBox *ui;
diff --git a/src/gui/xic_view/xic_widgets/zivywidget.h b/src/gui/xic_view/xic_widgets/zivywidget.h
index 19560c1d2..bc48fe3fc 100644
--- a/src/gui/xic_view/xic_widgets/zivywidget.h
+++ b/src/gui/xic_view/xic_widgets/zivywidget.h
@@ -71,4 +71,3 @@ class ZivyWidget : public QWidget
   private:
   Ui::ZivyWidget *ui;
 };
-
diff --git a/src/gui/xic_view/xicwindow.cpp b/src/gui/xic_view/xicwindow.cpp
index 039383fa5..e4ea18390 100644
--- a/src/gui/xic_view/xicwindow.cpp
+++ b/src/gui/xic_view/xicwindow.cpp
@@ -43,7 +43,8 @@ XicWindow::XicWindow(ProjectWindow *parent)
   QSettings settings;
   QString precision_str = settings.value("xic/precision", "10 ppm").toString();
 
-  ui->xic_precision->setPrecision(pappso::Precision::fromString(precision_str));
+  ui->xic_precision->setPrecision(
+    pappso::PrecisionFactory::fromString(precision_str));
 
 
   ZivyParams zivy_params;
@@ -56,7 +57,9 @@ XicWindow::XicWindow(ProjectWindow *parent)
   _p_zivy_dialog->setZivyParams(zivy_params);
 
 
-  connect(_p_zivy_dialog, &ZivyDialog::accepted, this,
+  connect(_p_zivy_dialog,
+          &ZivyDialog::accepted,
+          this,
           &XicWindow::doAcceptedZivyDialog);
 
 #if QT_VERSION >= 0x050000
@@ -121,14 +124,14 @@ XicWindow::removeXicBox(XicBox *xic_box)
   delete xic_box;
 }
 
-pappso::PrecisionP
+pappso::PrecisionPtr
 XicWindow::getXicExtractPrecision() const
 {
   return (ui->xic_precision->getPrecision());
 }
 
 void
-XicWindow::xicPrecisionChanged(pappso::PrecisionP precision)
+XicWindow::xicPrecisionChanged(pappso::PrecisionPtr precision)
 {
   qDebug() << "XicWindow::xicPrecisionChanged begin";
   qDebug() << "XicWindow::xicPrecisionChanged emit";
diff --git a/src/gui/xic_view/xicwindow.h b/src/gui/xic_view/xicwindow.h
index 1598c977b..a83ae03b3 100644
--- a/src/gui/xic_view/xicwindow.h
+++ b/src/gui/xic_view/xicwindow.h
@@ -43,7 +43,7 @@ class ProjectWindow;
 
 namespace Ui
 {
-  class XicWindow;
+class XicWindow;
 }
 
 class XicBox;
@@ -61,13 +61,13 @@ class XicWindow : public QMainWindow
   void addXicInMsRun(const PeptideEvidence *p_peptide_evidence,
                      MsRunSp msrun_sp);
 
-  pappso::PrecisionP getXicExtractPrecision() const;
+  pappso::PrecisionPtr getXicExtractPrecision() const;
 
   bool isRetentionTimeSeconds() const;
 
   void clear();
   public slots:
-  void xicPrecisionChanged(pappso::PrecisionP precision);
+  void xicPrecisionChanged(pappso::PrecisionPtr precision);
   void rtUnitChanged(QAbstractButton *button);
 
   protected slots:
diff --git a/src/gui/xic_view/xicworkerthread.cpp b/src/gui/xic_view/xicworkerthread.cpp
index 9039b5eba..6aef044af 100644
--- a/src/gui/xic_view/xicworkerthread.cpp
+++ b/src/gui/xic_view/xicworkerthread.cpp
@@ -42,17 +42,17 @@ XicWorkerThread::~XicWorkerThread()
 }
 void
 XicWorkerThread::doXicLoad(MsRunSp p_msrun,
-                           std::vector<pappso::mz> mz_list,
-                           pappso::PrecisionP precision,
+                           std::vector<pappso::pappso_double> mz_list,
+                           pappso::PrecisionPtr precision,
                            pappso::XicExtractMethod method)
 {
 
   try
     {
-      std::vector<pappso::MassRange> mass_list;
-      for(pappso::mz mass : mz_list)
+      std::vector<pappso::MzRange> mass_list;
+      for(pappso::pappso_double mass : mz_list)
         {
-          mass_list.push_back(pappso::MassRange(mass, precision));
+          mass_list.push_back(pappso::MzRange(mass, precision));
         }
       // std::vector<pappso::XicSp> xic_sp_list =
       // SpectrumStore::getXicSpFromMsRunSp(p_msrun.get(), mass_list, method);
@@ -66,8 +66,8 @@ XicWorkerThread::doXicLoad(MsRunSp p_msrun,
 
 
           qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
-          std::vector<pappso::XicSp> xic_sp_list =
-            extractor.get()->getXicSpList(mass_list);
+          std::vector<pappso::XicCstSPtr> xic_sp_list =
+            extractor.get()->getXicCstSPtrList(mass_list);
 
           qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
           emit xicLoaded(xic_sp_list);
@@ -85,7 +85,7 @@ XicWorkerThread::doXicLoad(MsRunSp p_msrun,
 void
 XicWorkerThread::doComputeIsotopeMassList(pappso::PeptideSp peptide_sp,
                                           unsigned int charge,
-                                          pappso::PrecisionP precision,
+                                          pappso::PrecisionPtr precision,
                                           double minimum_isotope_pattern_ratio)
 {
   qDebug() << "XicWorkerThread::doComputeIsotopeMassList "
diff --git a/src/gui/xic_view/xicworkerthread.h b/src/gui/xic_view/xicworkerthread.h
index 66081f2a3..bb9cffb8e 100644
--- a/src/gui/xic_view/xicworkerthread.h
+++ b/src/gui/xic_view/xicworkerthread.h
@@ -43,15 +43,17 @@ class XicWorkerThread : public QObject
   XicWorkerThread(XicBox *parent);
   virtual ~XicWorkerThread();
   public slots:
-  void doXicLoad(MsRunSp p_msrun, std::vector<pappso::mz> mz_list,
-                 pappso::PrecisionP precision, pappso::XicExtractMethod method);
+  void doXicLoad(MsRunSp p_msrun,
+                 std::vector<pappso::pappso_double> mz_list,
+                 pappso::PrecisionPtr precision,
+                 pappso::XicExtractMethod method);
   void doComputeIsotopeMassList(pappso::PeptideSp peptide_sp,
                                 unsigned int charge,
-                                pappso::PrecisionP precision,
+                                pappso::PrecisionPtr precision,
                                 double minimum_isotope_pattern_ratio);
 
   signals:
-  void xicLoaded(std::vector<pappso::XicSp> xic_sp_list);
+  void xicLoaded(std::vector<pappso::XicCstSPtr> xic_sp_list);
   void isotopeMassListComputed(
     std::vector<pappso::PeptideNaturalIsotopeAverageSp> isotope_mass_list);
   void operationFailed(QString error);
diff --git a/src/input/condorqxmlsaxhandler.cpp b/src/input/condorqxmlsaxhandler.cpp
index 0b7081d37..726e9b8b6 100644
--- a/src/input/condorqxmlsaxhandler.cpp
+++ b/src/input/condorqxmlsaxhandler.cpp
@@ -72,16 +72,18 @@ CondorQxmlSaxHandler::startElement(const QString &namespaceURI,
     }
   catch(pappso::PappsoException exception_pappso)
     {
-      _errorStr = QObject::tr("ERROR in CondorQxmlSaxHandler::startElement tag "
-                              "%1, PAPPSO exception:\n%2")
+      _errorStr = QObject::tr(
+                    "ERROR in CondorQxmlSaxHandler::startElement tag "
+                    "%1, PAPPSO exception:\n%2")
                     .arg(qName)
                     .arg(exception_pappso.qwhat());
       return false;
     }
   catch(std::exception exception_std)
     {
-      _errorStr = QObject::tr("ERROR in CondorQxmlSaxHandler::startElement tag "
-                              "%1, std exception:\n%2")
+      _errorStr = QObject::tr(
+                    "ERROR in CondorQxmlSaxHandler::startElement tag "
+                    "%1, std exception:\n%2")
                     .arg(qName)
                     .arg(exception_std.what());
       return false;
@@ -91,7 +93,8 @@ CondorQxmlSaxHandler::startElement(const QString &namespaceURI,
 
 bool
 CondorQxmlSaxHandler::endElement(const QString &namespaceURI,
-                                 const QString &localName, const QString &qName)
+                                 const QString &localName,
+                                 const QString &qName)
 {
 
   bool is_ok = true;
@@ -118,16 +121,18 @@ CondorQxmlSaxHandler::endElement(const QString &namespaceURI,
     }
   catch(pappso::PappsoException exception_pappso)
     {
-      _errorStr = QObject::tr("ERROR in CondorQxmlSaxHandler::endElement tag "
-                              "%1, PAPPSO exception:\n%2")
+      _errorStr = QObject::tr(
+                    "ERROR in CondorQxmlSaxHandler::endElement tag "
+                    "%1, PAPPSO exception:\n%2")
                     .arg(qName)
                     .arg(exception_pappso.qwhat());
       return false;
     }
   catch(std::exception exception_std)
     {
-      _errorStr = QObject::tr("ERROR in CondorQxmlSaxHandler::endElement tag "
-                              "%1, std exception:\n%2")
+      _errorStr = QObject::tr(
+                    "ERROR in CondorQxmlSaxHandler::endElement tag "
+                    "%1, std exception:\n%2")
                     .arg(qName)
                     .arg(exception_std.what());
       return false;
@@ -143,8 +148,9 @@ CondorQxmlSaxHandler::endElement(const QString &namespaceURI,
 bool
 CondorQxmlSaxHandler::error(const QXmlParseException &exception)
 {
-  _errorStr = QObject::tr("Parse error at line %1, column %2 :\n"
-                          "%3")
+  _errorStr = QObject::tr(
+                "Parse error at line %1, column %2 :\n"
+                "%3")
                 .arg(exception.lineNumber())
                 .arg(exception.columnNumber())
                 .arg(exception.message());
@@ -156,8 +162,9 @@ CondorQxmlSaxHandler::error(const QXmlParseException &exception)
 bool
 CondorQxmlSaxHandler::fatalError(const QXmlParseException &exception)
 {
-  _errorStr = QObject::tr("Parse error at line %1, column %2 :\n"
-                          "%3")
+  _errorStr = QObject::tr(
+                "Parse error at line %1, column %2 :\n"
+                "%3")
                 .arg(exception.lineNumber())
                 .arg(exception.columnNumber())
                 .arg(exception.message());
diff --git a/src/input/condorqxmlsaxhandler.h b/src/input/condorqxmlsaxhandler.h
index 4fd269c61..9b2e05b9f 100644
--- a/src/input/condorqxmlsaxhandler.h
+++ b/src/input/condorqxmlsaxhandler.h
@@ -55,10 +55,13 @@ class CondorQxmlSaxHandler : public QXmlDefaultHandler
   CondorQxmlSaxHandler(TandemCondorProcess *tandem_condor_process);
   ~CondorQxmlSaxHandler();
 
-  bool startElement(const QString &namespaceURI, const QString &localName,
-                    const QString &qName, const QXmlAttributes &attributes);
+  bool startElement(const QString &namespaceURI,
+                    const QString &localName,
+                    const QString &qName,
+                    const QXmlAttributes &attributes);
 
-  bool endElement(const QString &namespaceURI, const QString &localName,
+  bool endElement(const QString &namespaceURI,
+                  const QString &localName,
                   const QString &qName);
 
   bool startDocument();
diff --git a/src/input/identificationpwizreader.cpp b/src/input/identificationpwizreader.cpp
index 85cc572bd..73b854753 100644
--- a/src/input/identificationpwizreader.cpp
+++ b/src/input/identificationpwizreader.cpp
@@ -472,7 +472,7 @@ IdentificationPwizReader::read(
                                       .c_str())
                               .toULong();
                         }
-                      catch(runtime_error &pwiz_error)
+                      catch(std::runtime_error &pwiz_error)
                         {
                           throw pappso::PappsoException(
                             QObject::tr("Pwiz runtime error :\n%1\n parsing "
diff --git a/src/input/identificationpwizreader.h b/src/input/identificationpwizreader.h
index 4738d65f6..7ed1fde50 100644
--- a/src/input/identificationpwizreader.h
+++ b/src/input/identificationpwizreader.h
@@ -42,10 +42,10 @@
 
 namespace pwiz
 {
-  namespace identdata
-  {
-    class IdentDataFile;
-  }
+namespace identdata
+{
+  class IdentDataFile;
+}
 } // namespace pwiz
 
 class IdentificationPwizReader
@@ -57,7 +57,8 @@ class IdentificationPwizReader
   IdentificationEngine getIdentificationEngine() const;
 
   void read(IdentificationDataSource *p_identification_data_source,
-            Project *p_project, IdentificationGroup *p_identification_group);
+            Project *p_project,
+            IdentificationGroup *p_identification_group);
 
   private:
   IdentificationEngine getIdentificationEngine(const QString &xml_id) const;
diff --git a/src/input/pepxmlsaxhandler.cpp b/src/input/pepxmlsaxhandler.cpp
index 5076fc346..bc0ad83d3 100644
--- a/src/input/pepxmlsaxhandler.cpp
+++ b/src/input/pepxmlsaxhandler.cpp
@@ -38,7 +38,8 @@
 
 
 PepXmlSaxHandler::PepXmlSaxHandler(
-  Project *p_project, IdentificationGroup *p_identification_group,
+  Project *p_project,
+  IdentificationGroup *p_identification_group,
   IdentificationDataSource *p_identification_data_source)
   : _p_project(p_project)
 {
@@ -55,7 +56,8 @@ PepXmlSaxHandler::~PepXmlSaxHandler()
 
 bool
 PepXmlSaxHandler::startElement(const QString &namespaceURI,
-                               const QString &localName, const QString &qName,
+                               const QString &localName,
+                               const QString &qName,
                                const QXmlAttributes &attributes)
 {
   // qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
@@ -128,8 +130,9 @@ PepXmlSaxHandler::startElement(const QString &namespaceURI,
     }
   catch(pappso::PappsoException exception_pappso)
     {
-      _errorStr = QObject::tr("ERROR in PepXmlSaxHandler::startElement tag "
-                              "%1, PAPPSO exception:\n%2")
+      _errorStr = QObject::tr(
+                    "ERROR in PepXmlSaxHandler::startElement tag "
+                    "%1, PAPPSO exception:\n%2")
                     .arg(qName)
                     .arg(exception_pappso.qwhat());
       return false;
@@ -148,7 +151,8 @@ PepXmlSaxHandler::startElement(const QString &namespaceURI,
 
 bool
 PepXmlSaxHandler::endElement(const QString &namespaceURI,
-                             const QString &localName, const QString &qName)
+                             const QString &localName,
+                             const QString &qName)
 {
 
   // qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
@@ -171,8 +175,9 @@ PepXmlSaxHandler::endElement(const QString &namespaceURI,
     }
   catch(pappso::PappsoException exception_pappso)
     {
-      _errorStr = QObject::tr("ERROR in PepXmlSaxHandler::endElement tag %1, "
-                              "PAPPSO exception:\n%2")
+      _errorStr = QObject::tr(
+                    "ERROR in PepXmlSaxHandler::endElement tag %1, "
+                    "PAPPSO exception:\n%2")
                     .arg(qName)
                     .arg(exception_pappso.qwhat());
       return false;
@@ -304,9 +309,10 @@ PepXmlSaxHandler::startElement_spectrum_query(QXmlAttributes attributes)
   if(attributes.value("retention_time_sec").isEmpty())
     {
       QString message =
-        QObject::tr("ERROR reading pepxml file :\n"
-                    "unable to read search results from '%1' as retention time "
-                    "is not given in spectrum_query elements")
+        QObject::tr(
+          "ERROR reading pepxml file :\n"
+          "unable to read search results from '%1' as retention time "
+          "is not given in spectrum_query elements")
           .arg(_current_search_engine);
       qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__ << " "
                << message;
@@ -326,7 +332,7 @@ PepXmlSaxHandler::startElement_spectrum_query(QXmlAttributes attributes)
 
 //<alternative_protein protein="sp|P46784|RS10B_YEAST" protein_descr="40S
 //       ribosomal protein S10-B OS=Saccharomyces cerevisiae (strain ATCC 204508
-//                                                \
+//                                                 \
 //S288c) GN=RPS10B PE=1 SV=1" num_tol_term="2" peptide_prev_aa="K"
 // peptide_next_aa="N"/>
 bool
@@ -690,8 +696,9 @@ PepXmlSaxHandler::endElement_modification_info()
 bool
 PepXmlSaxHandler::error(const QXmlParseException &exception)
 {
-  _errorStr = QObject::tr("Parse error at line %1, column %2 :\n"
-                          "%3")
+  _errorStr = QObject::tr(
+                "Parse error at line %1, column %2 :\n"
+                "%3")
                 .arg(exception.lineNumber())
                 .arg(exception.columnNumber())
                 .arg(exception.message());
@@ -703,8 +710,9 @@ PepXmlSaxHandler::error(const QXmlParseException &exception)
 bool
 PepXmlSaxHandler::fatalError(const QXmlParseException &exception)
 {
-  _errorStr = QObject::tr("Parse error at line %1, column %2 :\n"
-                          "%3")
+  _errorStr = QObject::tr(
+                "Parse error at line %1, column %2 :\n"
+                "%3")
                 .arg(exception.lineNumber())
                 .arg(exception.columnNumber())
                 .arg(exception.message());
diff --git a/src/input/pepxmlsaxhandler.h b/src/input/pepxmlsaxhandler.h
index 8856408c8..ac42d0184 100644
--- a/src/input/pepxmlsaxhandler.h
+++ b/src/input/pepxmlsaxhandler.h
@@ -46,10 +46,13 @@ class PepXmlSaxHandler : public QXmlDefaultHandler
                    IdentificationDataSource *p_identification_data_source);
   ~PepXmlSaxHandler();
 
-  bool startElement(const QString &namespaceURI, const QString &localName,
-                    const QString &qName, const QXmlAttributes &attributes);
+  bool startElement(const QString &namespaceURI,
+                    const QString &localName,
+                    const QString &qName,
+                    const QXmlAttributes &attributes);
 
-  bool endElement(const QString &namespaceURI, const QString &localName,
+  bool endElement(const QString &namespaceURI,
+                  const QString &localName,
                   const QString &qName);
 
   bool startDocument();
diff --git a/src/input/xpipsaxhandler.cpp b/src/input/xpipsaxhandler.cpp
index 9e921ab29..275cc3d1d 100644
--- a/src/input/xpipsaxhandler.cpp
+++ b/src/input/xpipsaxhandler.cpp
@@ -50,7 +50,8 @@ XpipSaxHandler::isJavaXpip() const
 
 bool
 XpipSaxHandler::startElement(const QString &namespaceURI,
-                             const QString &localName, const QString &qName,
+                             const QString &localName,
+                             const QString &qName,
                              const QXmlAttributes &attributes)
 {
   qDebug() << "XpipSaxHandler::startElement begin" << namespaceURI << " "
@@ -137,7 +138,8 @@ XpipSaxHandler::startElement(const QString &namespaceURI,
 
 bool
 XpipSaxHandler::endElement(const QString &namespaceURI,
-                           const QString &localName, const QString &qName)
+                           const QString &localName,
+                           const QString &qName)
 {
 
   bool is_ok = true;
@@ -262,7 +264,7 @@ XpipSaxHandler::startElement_modifs_mass(QXmlAttributes attributes)
   */
   qDebug() << "startElement_modifs_mass ";
   QString mass_str(attributes.value("modvalue").simplified());
-  pappso::mz mass = mass_str.toDouble();
+  pappso::pappso_double mass = mass_str.toDouble();
 
   pappso::AaModificationP mod = getAaModificationP(mass);
 
@@ -470,8 +472,9 @@ XpipSaxHandler::endElement_match()
 bool
 XpipSaxHandler::error(const QXmlParseException &exception)
 {
-  _errorStr = QObject::tr("Parse error at line %1, column %2 :\n"
-                          "%3")
+  _errorStr = QObject::tr(
+                "Parse error at line %1, column %2 :\n"
+                "%3")
                 .arg(exception.lineNumber())
                 .arg(exception.columnNumber())
                 .arg(exception.message());
@@ -483,8 +486,9 @@ XpipSaxHandler::error(const QXmlParseException &exception)
 bool
 XpipSaxHandler::fatalError(const QXmlParseException &exception)
 {
-  _errorStr = QObject::tr("Parse error at line %1, column %2 :\n"
-                          "%3")
+  _errorStr = QObject::tr(
+                "Parse error at line %1, column %2 :\n"
+                "%3")
                 .arg(exception.lineNumber())
                 .arg(exception.columnNumber())
                 .arg(exception.message());
@@ -522,70 +526,70 @@ XpipSaxHandler::characters(const QString &str)
 
 
 pappso::AaModificationP
-XpipSaxHandler::getAaModificationP(pappso::mz mass) const
+XpipSaxHandler::getAaModificationP(pappso::pappso_double mass) const
 {
-  pappso::PrecisionP precision = pappso::Precision::getDaltonInstance(0.01);
+  pappso::PrecisionPtr precision =
+    pappso::PrecisionFactory::getDaltonInstance(0.01);
 
   pappso::AaModificationP oxidation =
     pappso::AaModification::getInstance("MOD:00719");
-  if(pappso::MassRange(oxidation->getMass(), precision).contains(mass))
+  if(pappso::MzRange(oxidation->getMass(), precision).contains(mass))
     {
       return oxidation;
     }
   pappso::AaModificationP iodoacetamide =
     pappso::AaModification::getInstance("MOD:00397");
-  if(pappso::MassRange(iodoacetamide->getMass(), precision).contains(mass))
+  if(pappso::MzRange(iodoacetamide->getMass(), precision).contains(mass))
     {
       return iodoacetamide;
     }
   pappso::AaModificationP acetylated =
     pappso::AaModification::getInstance("MOD:00408");
-  if(pappso::MassRange(acetylated->getMass(), precision).contains(mass))
+  if(pappso::MzRange(acetylated->getMass(), precision).contains(mass))
     {
       return acetylated;
     }
   pappso::AaModificationP phosphorylated =
     pappso::AaModification::getInstance("MOD:00696");
-  if(pappso::MassRange(phosphorylated->getMass(), precision).contains(mass))
+  if(pappso::MzRange(phosphorylated->getMass(), precision).contains(mass))
     {
       return phosphorylated;
     }
   pappso::AaModificationP ammonia =
     pappso::AaModification::getInstance("MOD:01160");
-  if(pappso::MassRange(ammonia->getMass(), precision).contains(mass))
+  if(pappso::MzRange(ammonia->getMass(), precision).contains(mass))
     {
       return ammonia;
     }
   pappso::AaModificationP dehydrated =
     pappso::AaModification::getInstance("MOD:00704");
-  if(pappso::MassRange(dehydrated->getMass(), precision).contains(mass))
+  if(pappso::MzRange(dehydrated->getMass(), precision).contains(mass))
     {
       return dehydrated;
     }
   pappso::AaModificationP dimethylated =
     pappso::AaModification::getInstance("MOD:00429");
-  if(pappso::MassRange(dimethylated->getMass(), precision).contains(mass))
+  if(pappso::MzRange(dimethylated->getMass(), precision).contains(mass))
     {
       return dimethylated;
     }
 
   pappso::AaModificationP dimethylated_medium =
     pappso::AaModification::getInstance("MOD:00552");
-  if(pappso::MassRange(dimethylated_medium->getMass(), precision)
-       .contains(mass))
+  if(pappso::MzRange(dimethylated_medium->getMass(), precision).contains(mass))
     {
       return dimethylated_medium;
     }
 
   pappso::AaModificationP dimethylated_heavy =
     pappso::AaModification::getInstance("MOD:00638");
-  if(pappso::MassRange(dimethylated_heavy->getMass(), precision).contains(mass))
+  if(pappso::MzRange(dimethylated_heavy->getMass(), precision).contains(mass))
     {
       return dimethylated_heavy;
     }
   pappso::AaModificationP DimethylpyrroleAdduct =
     pappso::AaModification::getInstance("MOD:00628");
-  if(pappso::MassRange(DimethylpyrroleAdduct->getMass(), precision)
+  if(pappso::MzRange(DimethylpyrroleAdduct->getMass(), precision)
        .contains(mass))
     {
       return DimethylpyrroleAdduct;
diff --git a/src/input/xpipsaxhandler.h b/src/input/xpipsaxhandler.h
index fdb335a17..cc692ecd2 100644
--- a/src/input/xpipsaxhandler.h
+++ b/src/input/xpipsaxhandler.h
@@ -39,10 +39,13 @@ class XpipSaxHandler : public QXmlDefaultHandler
   XpipSaxHandler(WorkMonitorInterface *p_monitor, Project *p_project);
   ~XpipSaxHandler();
 
-  bool startElement(const QString &namespaceURI, const QString &localName,
-                    const QString &qName, const QXmlAttributes &attributes);
+  bool startElement(const QString &namespaceURI,
+                    const QString &localName,
+                    const QString &qName,
+                    const QXmlAttributes &attributes);
 
-  bool endElement(const QString &namespaceURI, const QString &localName,
+  bool endElement(const QString &namespaceURI,
+                  const QString &localName,
                   const QString &qName);
 
   bool startDocument();
@@ -74,7 +77,7 @@ class XpipSaxHandler : public QXmlDefaultHandler
   bool endElement_peptide();
   bool endElement_match();
 
-  pappso::AaModificationP getAaModificationP(pappso::mz mass) const;
+  pappso::AaModificationP getAaModificationP(pappso::pappso_double mass) const;
 
   private:
   WorkMonitorInterface *_p_monitor;
diff --git a/src/input/xtandemparamsaxhandler.cpp b/src/input/xtandemparamsaxhandler.cpp
index 08b9feed0..3d0e2f437 100644
--- a/src/input/xtandemparamsaxhandler.cpp
+++ b/src/input/xtandemparamsaxhandler.cpp
@@ -67,10 +67,10 @@ XtandemParamSaxHandler::startElement(const QString &namespaceURI,
         {
           if(qName != "bioml")
             {
-              _errorStr =
-                QObject::tr("ERROR in XtandemParamSaxHandler::startElement "
+              _errorStr = QObject::tr(
+                            "ERROR in XtandemParamSaxHandler::startElement "
                             "root tag %1 is not <bioml>")
-                  .arg(qName);
+                            .arg(qName);
               return false;
             }
         }
@@ -84,16 +84,18 @@ XtandemParamSaxHandler::startElement(const QString &namespaceURI,
     }
   catch(pappso::PappsoException exception_pappso)
     {
-      _errorStr = QObject::tr("ERROR in XtandemParamSaxHandler::startElement "
-                              "tag %1, PAPPSO exception:\n%2")
+      _errorStr = QObject::tr(
+                    "ERROR in XtandemParamSaxHandler::startElement "
+                    "tag %1, PAPPSO exception:\n%2")
                     .arg(qName)
                     .arg(exception_pappso.qwhat());
       return false;
     }
   catch(std::exception exception_std)
     {
-      _errorStr = QObject::tr("ERROR in XtandemParamSaxHandler::startElement "
-                              "tag %1, std exception:\n%2")
+      _errorStr = QObject::tr(
+                    "ERROR in XtandemParamSaxHandler::startElement "
+                    "tag %1, std exception:\n%2")
                     .arg(qName)
                     .arg(exception_std.what());
       return false;
@@ -119,16 +121,18 @@ XtandemParamSaxHandler::endElement(const QString &namespaceURI,
     }
   catch(pappso::PappsoException exception_pappso)
     {
-      _errorStr = QObject::tr("ERROR in XtandemParamSaxHandler::endElement tag "
-                              "%1, PAPPSO exception:\n%2")
+      _errorStr = QObject::tr(
+                    "ERROR in XtandemParamSaxHandler::endElement tag "
+                    "%1, PAPPSO exception:\n%2")
                     .arg(qName)
                     .arg(exception_pappso.qwhat());
       return false;
     }
   catch(std::exception exception_std)
     {
-      _errorStr = QObject::tr("ERROR in XtandemParamSaxHandler::endElement tag "
-                              "%1, std exception:\n%2")
+      _errorStr = QObject::tr(
+                    "ERROR in XtandemParamSaxHandler::endElement tag "
+                    "%1, std exception:\n%2")
                     .arg(qName)
                     .arg(exception_std.what());
       return false;
@@ -144,8 +148,9 @@ XtandemParamSaxHandler::endElement(const QString &namespaceURI,
 bool
 XtandemParamSaxHandler::error(const QXmlParseException &exception)
 {
-  _errorStr = QObject::tr("Parse error at line %1, column %2 :\n"
-                          "%3")
+  _errorStr = QObject::tr(
+                "Parse error at line %1, column %2 :\n"
+                "%3")
                 .arg(exception.lineNumber())
                 .arg(exception.columnNumber())
                 .arg(exception.message());
@@ -157,8 +162,9 @@ XtandemParamSaxHandler::error(const QXmlParseException &exception)
 bool
 XtandemParamSaxHandler::fatalError(const QXmlParseException &exception)
 {
-  _errorStr = QObject::tr("Parse error at line %1, column %2 :\n"
-                          "%3")
+  _errorStr = QObject::tr(
+                "Parse error at line %1, column %2 :\n"
+                "%3")
                 .arg(exception.lineNumber())
                 .arg(exception.columnNumber())
                 .arg(exception.message());
diff --git a/src/input/xtandemparamsaxhandler.h b/src/input/xtandemparamsaxhandler.h
index 398f516ca..f475174c9 100644
--- a/src/input/xtandemparamsaxhandler.h
+++ b/src/input/xtandemparamsaxhandler.h
@@ -41,10 +41,13 @@ class XtandemParamSaxHandler : public QXmlDefaultHandler
   XtandemParamSaxHandler(TandemParameters *p_tandem_parameters);
   ~XtandemParamSaxHandler();
 
-  bool startElement(const QString &namespaceURI, const QString &localName,
-                    const QString &qName, const QXmlAttributes &attributes);
+  bool startElement(const QString &namespaceURI,
+                    const QString &localName,
+                    const QString &qName,
+                    const QXmlAttributes &attributes);
 
-  bool endElement(const QString &namespaceURI, const QString &localName,
+  bool endElement(const QString &namespaceURI,
+                  const QString &localName,
                   const QString &qName);
 
   bool startDocument();
diff --git a/src/input/xtandemsaxhandler.cpp b/src/input/xtandemsaxhandler.cpp
index 57b17071e..30df3c4a8 100644
--- a/src/input/xtandemsaxhandler.cpp
+++ b/src/input/xtandemsaxhandler.cpp
@@ -40,7 +40,8 @@
 
 
 XtandemSaxHandler::XtandemSaxHandler(
-  Project *p_project, IdentificationGroup *p_identification_group,
+  Project *p_project,
+  IdentificationGroup *p_identification_group,
   IdentificationDataSource *p_identification_data_source)
   : _p_project(p_project)
 {
@@ -57,7 +58,8 @@ XtandemSaxHandler::~XtandemSaxHandler()
 
 bool
 XtandemSaxHandler::startElement(const QString &namespaceURI,
-                                const QString &localName, const QString &qName,
+                                const QString &localName,
+                                const QString &qName,
                                 const QXmlAttributes &attributes)
 {
   // qDebug() << namespaceURI << " " << localName << " " << qName ;
@@ -96,8 +98,9 @@ XtandemSaxHandler::startElement(const QString &namespaceURI,
     }
   catch(pappso::PappsoException &exception_pappso)
     {
-      _errorStr = QObject::tr("ERROR in XtandemSaxHandler::startElement tag "
-                              "%1, PAPPSO exception:\n%2")
+      _errorStr = QObject::tr(
+                    "ERROR in XtandemSaxHandler::startElement tag "
+                    "%1, PAPPSO exception:\n%2")
                     .arg(qName)
                     .arg(exception_pappso.qwhat());
       return false;
@@ -116,7 +119,8 @@ XtandemSaxHandler::startElement(const QString &namespaceURI,
 
 bool
 XtandemSaxHandler::endElement(const QString &namespaceURI,
-                              const QString &localName, const QString &qName)
+                              const QString &localName,
+                              const QString &qName)
 {
 
   bool is_ok = true;
@@ -138,8 +142,9 @@ XtandemSaxHandler::endElement(const QString &namespaceURI,
     }
   catch(pappso::PappsoException &exception_pappso)
     {
-      _errorStr = QObject::tr("ERROR in XtandemSaxHandler::endElement tag %1, "
-                              "PAPPSO exception:\n%2")
+      _errorStr = QObject::tr(
+                    "ERROR in XtandemSaxHandler::endElement tag %1, "
+                    "PAPPSO exception:\n%2")
                     .arg(qName)
                     .arg(exception_pappso.qwhat());
       return false;
@@ -219,9 +224,10 @@ XtandemSaxHandler::startElement_file(QXmlAttributes attributes)
       //                     attrs.getValue("URL")));
       if(_p_protein_match == nullptr)
         {
-          throw pappso::PappsoException("ERROR in "
-                                        "XtandemSaxHandler::startElement_file "
-                                        ": _p_protein_match == nullptr");
+          throw pappso::PappsoException(
+            "ERROR in "
+            "XtandemSaxHandler::startElement_file "
+            ": _p_protein_match == nullptr");
         }
       _p_protein_match->getProteinXtpSp().get()->setFastaFileP(
         _p_project->getFastaFileStore()
@@ -251,9 +257,10 @@ XtandemSaxHandler::startElement_domain(QXmlAttributes attributes)
       //""));
       if(_p_protein_match == nullptr)
         {
-          throw pappso::PappsoException("ERROR in "
-                                        "XtandemSaxHandler::startElement_"
-                                        "domain : _p_protein_match == nullptr");
+          throw pappso::PappsoException(
+            "ERROR in "
+            "XtandemSaxHandler::startElement_"
+            "domain : _p_protein_match == nullptr");
         }
 
       _p_protein_match->getProteinXtpSp().get()->setSequence(_current_text);
@@ -415,9 +422,10 @@ XtandemSaxHandler::endElement_domain()
       .getInstance(_p_peptide_evidence));
   if(_p_protein_match == nullptr)
     {
-      throw pappso::PappsoException("ERROR in "
-                                    "XtandemSaxHandler::endElement_domain : "
-                                    "_p_protein_match == nullptr");
+      throw pappso::PappsoException(
+        "ERROR in "
+        "XtandemSaxHandler::endElement_domain : "
+        "_p_protein_match == nullptr");
     }
 
   _p_protein_match->addPeptideMatch(_current_peptide_match);
@@ -713,8 +721,9 @@ XtandemSaxHandler::endElement_note()
 bool
 XtandemSaxHandler::error(const QXmlParseException &exception)
 {
-  _errorStr = QObject::tr("Parse error at line %1, column %2 :\n"
-                          "%3")
+  _errorStr = QObject::tr(
+                "Parse error at line %1, column %2 :\n"
+                "%3")
                 .arg(exception.lineNumber())
                 .arg(exception.columnNumber())
                 .arg(exception.message());
@@ -726,8 +735,9 @@ XtandemSaxHandler::error(const QXmlParseException &exception)
 bool
 XtandemSaxHandler::fatalError(const QXmlParseException &exception)
 {
-  _errorStr = QObject::tr("Parse error at line %1, column %2 :\n"
-                          "%3")
+  _errorStr = QObject::tr(
+                "Parse error at line %1, column %2 :\n"
+                "%3")
                 .arg(exception.lineNumber())
                 .arg(exception.columnNumber())
                 .arg(exception.message());
diff --git a/src/input/xtandemsaxhandler.h b/src/input/xtandemsaxhandler.h
index aa5bef914..75502f33f 100644
--- a/src/input/xtandemsaxhandler.h
+++ b/src/input/xtandemsaxhandler.h
@@ -49,10 +49,13 @@ class XtandemSaxHandler : public QXmlDefaultHandler
                     IdentificationDataSource *p_identification_data_source);
   ~XtandemSaxHandler();
 
-  bool startElement(const QString &namespaceURI, const QString &localName,
-                    const QString &qName, const QXmlAttributes &attributes);
+  bool startElement(const QString &namespaceURI,
+                    const QString &localName,
+                    const QString &qName,
+                    const QXmlAttributes &attributes);
 
-  bool endElement(const QString &namespaceURI, const QString &localName,
+  bool endElement(const QString &namespaceURI,
+                  const QString &localName,
                   const QString &qName);
 
   bool startDocument();
diff --git a/src/input/xtpxpipsaxhandler.cpp b/src/input/xtpxpipsaxhandler.cpp
index d577fd393..7c006d9f1 100644
--- a/src/input/xtpxpipsaxhandler.cpp
+++ b/src/input/xtpxpipsaxhandler.cpp
@@ -58,7 +58,8 @@ XtpXpipSaxHandler::isXtpXpip() const
 }
 bool
 XtpXpipSaxHandler::startElement(const QString &namespaceURI,
-                                const QString &localName, const QString &qName,
+                                const QString &localName,
+                                const QString &qName,
                                 const QXmlAttributes &attributes)
 {
   qDebug() << "XtpXpipSaxHandler::startElement begin" << namespaceURI << " "
@@ -195,8 +196,9 @@ XtpXpipSaxHandler::startElement(const QString &namespaceURI,
     }
   catch(pappso::PappsoException exception_pappso)
     {
-      _errorStr = QObject::tr("ERROR in XtpXpipSaxHandler::startElement tag "
-                              "%1, PAPPSO exception:\n%2")
+      _errorStr = QObject::tr(
+                    "ERROR in XtpXpipSaxHandler::startElement tag "
+                    "%1, PAPPSO exception:\n%2")
                     .arg(qName)
                     .arg(exception_pappso.qwhat());
       return false;
@@ -215,7 +217,8 @@ XtpXpipSaxHandler::startElement(const QString &namespaceURI,
 
 bool
 XtpXpipSaxHandler::endElement(const QString &namespaceURI,
-                              const QString &localName, const QString &qName)
+                              const QString &localName,
+                              const QString &qName)
 {
 
   qDebug() << "XtpXpipSaxHandler::endElement begin" << namespaceURI << " "
@@ -267,8 +270,9 @@ XtpXpipSaxHandler::endElement(const QString &namespaceURI,
     }
   catch(pappso::PappsoException exception_pappso)
     {
-      _errorStr = QObject::tr("ERROR in XtpXpipSaxHandler::endElement tag %1, "
-                              "PAPPSO exception:\n%2")
+      _errorStr = QObject::tr(
+                    "ERROR in XtpXpipSaxHandler::endElement tag %1, "
+                    "PAPPSO exception:\n%2")
                     .arg(qName)
                     .arg(exception_pappso.qwhat());
       return false;
@@ -864,8 +868,9 @@ XtpXpipSaxHandler::endElement_protein_match()
 bool
 XtpXpipSaxHandler::error(const QXmlParseException &exception)
 {
-  _errorStr = QObject::tr("Parse error at line %1, column %2 :\n"
-                          "%3")
+  _errorStr = QObject::tr(
+                "Parse error at line %1, column %2 :\n"
+                "%3")
                 .arg(exception.lineNumber())
                 .arg(exception.columnNumber())
                 .arg(exception.message());
@@ -877,8 +882,9 @@ XtpXpipSaxHandler::error(const QXmlParseException &exception)
 bool
 XtpXpipSaxHandler::fatalError(const QXmlParseException &exception)
 {
-  _errorStr = QObject::tr("Parse error at line %1, column %2 :\n"
-                          "%3")
+  _errorStr = QObject::tr(
+                "Parse error at line %1, column %2 :\n"
+                "%3")
                 .arg(exception.lineNumber())
                 .arg(exception.columnNumber())
                 .arg(exception.message());
diff --git a/src/input/xtpxpipsaxhandler.h b/src/input/xtpxpipsaxhandler.h
index 29f876795..1c595984d 100644
--- a/src/input/xtpxpipsaxhandler.h
+++ b/src/input/xtpxpipsaxhandler.h
@@ -47,10 +47,13 @@ class XtpXpipSaxHandler : public QXmlDefaultHandler
   XtpXpipSaxHandler(WorkMonitorInterface *p_monitor, Project *p_project);
   ~XtpXpipSaxHandler();
 
-  bool startElement(const QString &namespaceURI, const QString &localName,
-                    const QString &qName, const QXmlAttributes &attributes);
+  bool startElement(const QString &namespaceURI,
+                    const QString &localName,
+                    const QString &qName,
+                    const QXmlAttributes &attributes);
 
-  bool endElement(const QString &namespaceURI, const QString &localName,
+  bool endElement(const QString &namespaceURI,
+                  const QString &localName,
                   const QString &qName);
 
   bool startDocument();
diff --git a/src/main.cpp b/src/main.cpp
index d3ad894d1..67b076de8 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -39,22 +39,21 @@ main(int argc, char *argv[])
   QApplication app(argc, argv);
 
   qRegisterMetaType<TandemRunBatch>("TandemRunBatch");
-  qRegisterMetaType<std::vector<pappso::mz>>("std::vector<pappso::mz>");
-  qRegisterMetaType<pappso::PrecisionP>("pappso::PrecisionP");
-  qRegisterMetaType<std::vector<pappso::XicSp>>("std::vector<pappso::XicSp>");
+  qRegisterMetaType<std::vector<pappso::pappso_double>>(
+    "std::vector<pappso::pappso_double>");
+  qRegisterMetaType<pappso::PrecisionPtr>("pappso::PrecisionPtr");
+  qRegisterMetaType<std::vector<pappso::XicCstSPtr>>(
+    "std::vector<pappso::XicCstSPtr>");
   qRegisterMetaType<pappso::PeptideSp>("pappso::PeptideSp");
   qRegisterMetaType<pappso::XicExtractMethod>("pappso::XicExtractMethod");
-  qRegisterMetaType<pappso::SpectrumSp>("pappso::SpectrumSp");
+  qRegisterMetaType<pappso::MassSpectrumCstSPtr>("pappso::MassSpectrumCstSPtr");
   qRegisterMetaType<MsRunSp>("MsRunSp");
   qRegisterMetaType<std::vector<pappso::PeptideNaturalIsotopeAverageSp>>(
     "std::vector<pappso::PeptideNaturalIsotopeAverageSp>");
   qRegisterMetaType<ExportFastaType>("ExportFastaType");
   qRegisterMetaType<MasschroqFileParameters>("MasschroqFileParameters");
 
-  qRegisterMetaType<std::vector<std::pair<pappso::XicSp, pappso::XicPeakSp>>>(
-    "std::vector<std::pair<pappso::XicSp, pappso::XicPeakSp>>");
-  qRegisterMetaType<pappso::Peak>("pappso::Peak");
-  //qRegisterMetaType<pappso::PeakIonIsotopeMatch>("pappso::PeakIonIsotopeMatch");
+  // qRegisterMetaType<pappso::PeakIonIsotopeMatch>("pappso::PeakIonIsotopeMatch");
 
   try
     {
diff --git a/src/output/exportfastafile.h b/src/output/exportfastafile.h
index ef99fe55e..e6c2b4303 100644
--- a/src/output/exportfastafile.h
+++ b/src/output/exportfastafile.h
@@ -39,7 +39,8 @@ class ExportFastaFile
   ExportFastaType m_exportType;
 
   private:
-  void writeIdentificationGroup(pappso::FastaOutputStream & fasta_output,IdentificationGroup *p_ident);
+  void writeIdentificationGroup(pappso::FastaOutputStream &fasta_output,
+                                IdentificationGroup *p_ident);
 
   public:
   ExportFastaFile(QString filename, ExportFastaType type);
diff --git a/src/output/masschroqml.cpp b/src/output/masschroqml.cpp
index 809cbbf80..c23754a28 100644
--- a/src/output/masschroqml.cpp
+++ b/src/output/masschroqml.cpp
@@ -32,7 +32,7 @@
 #include <pappsomspp/pappsoexception.h>
 #include <pappsomspp/utils.h>
 #include <pappsomspp/grouping/grpprotein.h>
-#include <pappsomspp/amino_acid/Aa.h>
+#include <pappsomspp/amino_acid/aa.h>
 #include <QStringList>
 #include <QSettings>
 
@@ -305,11 +305,11 @@ MassChroQml::writeQuantificationMethods()
 
 
   _output_stream->writeComment("For XIC extraction on Da use: mz_range");
-  if(m_params.xic_extraction_range->getUnit() == pappso::PrecisionUnit::ppm)
+  if(m_params.xic_extraction_range->unit() == pappso::PrecisionUnit::ppm)
     {
       _output_stream->writeStartElement("ppm_range");
     }
-  if(m_params.xic_extraction_range->getUnit() == pappso::PrecisionUnit::dalton)
+  if(m_params.xic_extraction_range->unit() == pappso::PrecisionUnit::dalton)
     {
       _output_stream->writeStartElement("mz_range");
     }
@@ -322,9 +322,9 @@ MassChroQml::writeQuantificationMethods()
           .arg(m_params.xic_extraction_range->toString()));
     }
   _output_stream->writeAttribute(
-    "min", QString("%1").arg(m_params.xic_extraction_range->getValue()));
+    "min", QString("%1").arg(m_params.xic_extraction_range->getNominal()));
   _output_stream->writeAttribute(
-    "max", QString("%1").arg(m_params.xic_extraction_range->getValue()));
+    "max", QString("%1").arg(m_params.xic_extraction_range->getNominal()));
   _output_stream->writeEndElement();
   //</xic_extraction>
   _output_stream->writeEndElement();
diff --git a/src/output/mcqr/mcqrscpeptide.cpp b/src/output/mcqr/mcqrscpeptide.cpp
index 6bbcf76c1..8d9bca9bd 100644
--- a/src/output/mcqr/mcqrscpeptide.cpp
+++ b/src/output/mcqr/mcqrscpeptide.cpp
@@ -35,8 +35,8 @@
 bool
 ScPeptideLabel::operator<(const ScPeptideLabel &other) const
 {
-  return tie(_p_grp_peptide, _p_label) <
-         tie(other._p_grp_peptide, other._p_label);
+  return std::tie(_p_grp_peptide, _p_label) <
+         std::tie(other._p_grp_peptide, other._p_label);
 }
 
 McqRscPeptide::McqRscPeptide(CalcWriterInterface *p_writer,
diff --git a/src/output/mcqr/mcqrscprotein.cpp b/src/output/mcqr/mcqrscprotein.cpp
index b77b4830c..c6c34ce3c 100644
--- a/src/output/mcqr/mcqrscprotein.cpp
+++ b/src/output/mcqr/mcqrscprotein.cpp
@@ -87,7 +87,8 @@ McqRscProtein::writeIdentificationGroup(IdentificationGroup *p_ident)
       std::vector<const ProteinMatch *> protein_match_list =
         group_pair.second.get()->getProteinMatchList();
 
-      std::sort(protein_match_list.begin(), protein_match_list.end(),
+      std::sort(protein_match_list.begin(),
+                protein_match_list.end(),
                 [](const ProteinMatch *a, const ProteinMatch *b) {
                   return a->getGrpProteinSp().get()->getSubGroupNumber() <
                          b->getGrpProteinSp().get()->getSubGroupNumber();
diff --git a/src/output/mcqrspectralcount.h b/src/output/mcqrspectralcount.h
index 9401ade80..d6a401335 100644
--- a/src/output/mcqrspectralcount.h
+++ b/src/output/mcqrspectralcount.h
@@ -46,7 +46,11 @@ class McqrSpectralCount
   void writeHeaders(IdentificationGroup *p_ident);
   void writeOneProtein(const GroupingGroup *p_group,
                        const ProteinMatch *p_protein_match);
-  void writeOneProteinLabel(const pappso::GrpProtein *p_grp_protein, const MsRun * p_msrun, const Label *p_label, const  ProteinXtp *p_protein, const ProteinMatch *p_protein_match);
+  void writeOneProteinLabel(const pappso::GrpProtein *p_grp_protein,
+                            const MsRun *p_msrun,
+                            const Label *p_label,
+                            const ProteinXtp *p_protein,
+                            const ProteinMatch *p_protein_match);
 
   private:
   const Project *_p_project;
diff --git a/src/output/ods/comparspecificspectrasheet.h b/src/output/ods/comparspecificspectrasheet.h
index e09db019a..e677f28f9 100644
--- a/src/output/ods/comparspecificspectrasheet.h
+++ b/src/output/ods/comparspecificspectrasheet.h
@@ -61,4 +61,3 @@ class ComparSpecificSequenceSheet : public ComparBaseSheet
 };
 
 #endif // COMPARSPECIFICSPECTRASHEET_H
-
diff --git a/src/output/ods/groupingsheet.cpp b/src/output/ods/groupingsheet.cpp
index 372c521ed..524e37dc6 100644
--- a/src/output/ods/groupingsheet.cpp
+++ b/src/output/ods/groupingsheet.cpp
@@ -73,8 +73,10 @@ GroupingSheet::writeIdentificationGroup(IdentificationGroup *p_ident)
   //_p_writer->writeCell(p_ident->countSequence(ValidationState::grouped));
   _p_writer->writeCell(
     p_ident->countPeptideMassSample(ValidationState::grouped));
-  _p_writer->writeCellPercentage(p_ident->getProteinFdr(ValidationState::valid));
-  _p_writer->writeCellPercentage(p_ident->getPeptideMassFdr(ValidationState::valid));
+  _p_writer->writeCellPercentage(
+    p_ident->getProteinFdr(ValidationState::valid));
+  _p_writer->writeCellPercentage(
+    p_ident->getPeptideMassFdr(ValidationState::valid));
   _p_writer->writeCellPercentage(p_ident->getPsmFdr(ValidationState::valid));
 }
 
@@ -103,8 +105,9 @@ GroupingSheet::writeHeaders()
     "identification engine");
   _p_writer->writeCell("psm");
   //_p_writer->writeCell("sequences");
-  _p_writer->setCellAnnotation("number of unique combinations : grouped "
-                               "peptide sequence+modifications+sample name");
+  _p_writer->setCellAnnotation(
+    "number of unique combinations : grouped "
+    "peptide sequence+modifications+sample name");
   _p_writer->writeCell("peptide/mass/sample");
   _p_writer->setCellAnnotation(
     "FDR at the protein level (number of decoy valid proteins / total number "
@@ -115,7 +118,9 @@ GroupingSheet::writeHeaders()
     "of valid peptides)");
   _p_writer->writeCell("pep FDR");
   _p_writer->setCellAnnotation(
-    "FDR at the peptide spectrum match (peptide evidences for each association of a spectrum to a peptide, overall identification engines) level (number of decoy valid psm / total number "
+    "FDR at the peptide spectrum match (peptide evidences for each association "
+    "of a spectrum to a peptide, overall identification engines) level (number "
+    "of decoy valid psm / total number "
     "of valid psm)");
   _p_writer->writeCell("psm FDR");
 }
diff --git a/src/output/ods/groupingsheet.h b/src/output/ods/groupingsheet.h
index 9202bc4fd..ec253be64 100644
--- a/src/output/ods/groupingsheet.h
+++ b/src/output/ods/groupingsheet.h
@@ -38,7 +38,8 @@
 class GroupingSheet
 {
   public:
-  GroupingSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
+  GroupingSheet(OdsExport *p_ods_export,
+                CalcWriterInterface *p_writer,
                 const Project *p_project);
 
   private:
diff --git a/src/output/ods/infosheet.cpp b/src/output/ods/infosheet.cpp
index 364bacfba..4b6699e6f 100644
--- a/src/output/ods/infosheet.cpp
+++ b/src/output/ods/infosheet.cpp
@@ -34,7 +34,8 @@
 #include <QSettings>
 
 
-InfoSheet::InfoSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
+InfoSheet::InfoSheet(OdsExport *p_ods_export,
+                     CalcWriterInterface *p_writer,
                      const Project *p_project)
   : _p_project(p_project)
 {
@@ -129,8 +130,9 @@ InfoSheet::InfoSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
   if(settings.value("export_ods/groups", "true").toBool())
     {
       p_writer->writeCell("groups");
-      p_writer->writeCell("simple statistics on the current grouping "
-                          "experiment (numbers of groups, subgroups...)");
+      p_writer->writeCell(
+        "simple statistics on the current grouping "
+        "experiment (numbers of groups, subgroups...)");
       p_writer->writeLine();
     }
 
@@ -144,26 +146,29 @@ InfoSheet::InfoSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
   if(settings.value("export_ods/peptides", "true").toBool())
     {
       p_writer->writeCell("peptides");
-      p_writer->writeCell("list of peptides used by the grouping algorithm. "
-                          "Beware : peptides are intended as unique pairs of "
-                          "sequence+mass, given that Leucine and Isoleucine as "
-                          "the same mass, all Leucines are considered as "
-                          "Isoleucines");
+      p_writer->writeCell(
+        "list of peptides used by the grouping algorithm. "
+        "Beware : peptides are intended as unique pairs of "
+        "sequence+mass, given that Leucine and Isoleucine as "
+        "the same mass, all Leucines are considered as "
+        "Isoleucines");
       p_writer->writeLine();
     }
   if(settings.value("export_ods/spectra", "true").toBool())
     {
       p_writer->writeCell("spectra");
-      p_writer->writeCell("list of all validated and checked spectrum match. "
-                          "Only the best assigned peptide (best Evalue) is "
-                          "reported ");
+      p_writer->writeCell(
+        "list of all validated and checked spectrum match. "
+        "Only the best assigned peptide (best Evalue) is "
+        "reported ");
       p_writer->writeLine();
     }
   if(settings.value("export_ods/peptidepos", "true").toBool())
     {
       p_writer->writeCell("peptide pos");
-      p_writer->writeCell("list of all *real* peptides identified on their "
-                          "proteins, with their position on the sequence.");
+      p_writer->writeCell(
+        "list of all *real* peptides identified on their "
+        "proteins, with their position on the sequence.");
       p_writer->writeLine();
     }
 }
diff --git a/src/output/ods/infosheet.h b/src/output/ods/infosheet.h
index e3ec4d420..c85a4f673 100644
--- a/src/output/ods/infosheet.h
+++ b/src/output/ods/infosheet.h
@@ -39,7 +39,8 @@
 class InfoSheet
 {
   public:
-  InfoSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
+  InfoSheet(OdsExport *p_ods_export,
+            CalcWriterInterface *p_writer,
             const Project *p_project);
 
   private:
diff --git a/src/output/ods/peptidepossheet.cpp b/src/output/ods/peptidepossheet.cpp
index 9918513ab..e3e859627 100644
--- a/src/output/ods/peptidepossheet.cpp
+++ b/src/output/ods/peptidepossheet.cpp
@@ -149,7 +149,8 @@ PeptidePosSheet::writeIdentificationGroup(IdentificationGroup *p_ident)
     }
 
   std::sort(
-    protein_match_list.begin(), protein_match_list.end(),
+    protein_match_list.begin(),
+    protein_match_list.end(),
     [](const ProteinMatch *a, const ProteinMatch *b) {
       unsigned int agroup    = a->getGrpProteinSp().get()->getGroupNumber();
       unsigned int asubgroup = a->getGrpProteinSp().get()->getSubGroupNumber();
@@ -174,7 +175,8 @@ PeptidePosSheet::writeIdentificationGroup(IdentificationGroup *p_ident)
             continue;
           peptide_match_list.push_back(peptide_match);
         }
-      std::sort(peptide_match_list.begin(), peptide_match_list.end(),
+      std::sort(peptide_match_list.begin(),
+                peptide_match_list.end(),
                 [](const PeptideMatch &a, const PeptideMatch &b) {
                   unsigned int arank =
                     a.getPeptideEvidence()->getGrpPeptideSp().get()->getRank();
diff --git a/src/output/ods/peptidepossheet.h b/src/output/ods/peptidepossheet.h
index a7b32bf8c..d65740fd4 100644
--- a/src/output/ods/peptidepossheet.h
+++ b/src/output/ods/peptidepossheet.h
@@ -41,7 +41,8 @@
 class PeptidePosSheet
 {
   public:
-  PeptidePosSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
+  PeptidePosSheet(OdsExport *p_ods_export,
+                  CalcWriterInterface *p_writer,
                   const Project *p_project);
 
   private:
diff --git a/src/output/ods/peptidesheet.cpp b/src/output/ods/peptidesheet.cpp
index 8e97e737a..c05710d44 100644
--- a/src/output/ods/peptidesheet.cpp
+++ b/src/output/ods/peptidesheet.cpp
@@ -101,7 +101,8 @@ PeptideSheet::writeIdentificationGroup(IdentificationGroup *p_ident)
       std::vector<const PeptideEvidence *> peptide_evidence_list =
         group_pair.second.get()->getPeptideEvidenceList();
 
-      std::sort(peptide_evidence_list.begin(), peptide_evidence_list.end(),
+      std::sort(peptide_evidence_list.begin(),
+                peptide_evidence_list.end(),
                 [](const PeptideEvidence *a, const PeptideEvidence *b) {
                   return a->getGrpPeptideSp().get()->getRank() <
                          b->getGrpPeptideSp().get()->getRank();
diff --git a/src/output/ods/peptidesheet.h b/src/output/ods/peptidesheet.h
index 7db49c459..1f64c4bed 100644
--- a/src/output/ods/peptidesheet.h
+++ b/src/output/ods/peptidesheet.h
@@ -39,7 +39,8 @@
 class PeptideSheet
 {
   public:
-  PeptideSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
+  PeptideSheet(OdsExport *p_ods_export,
+               CalcWriterInterface *p_writer,
                const Project *p_project);
 
   private:
diff --git a/src/output/ods/proteinsheet.cpp b/src/output/ods/proteinsheet.cpp
index 70fc14d52..90a6d82e4 100644
--- a/src/output/ods/proteinsheet.cpp
+++ b/src/output/ods/proteinsheet.cpp
@@ -141,7 +141,8 @@ ProteinSheet::writeIdentificationGroup(IdentificationGroup *p_ident)
       std::vector<const ProteinMatch *> protein_match_list =
         group_pair.second.get()->getProteinMatchList();
 
-      std::sort(protein_match_list.begin(), protein_match_list.end(),
+      std::sort(protein_match_list.begin(),
+                protein_match_list.end(),
                 [](const ProteinMatch *a, const ProteinMatch *b) {
                   return a->getGrpProteinSp().get()->getGroupingId() <
                          b->getGrpProteinSp().get()->getGroupingId();
diff --git a/src/output/ods/proteinsheet.h b/src/output/ods/proteinsheet.h
index 660256246..a4e7347af 100644
--- a/src/output/ods/proteinsheet.h
+++ b/src/output/ods/proteinsheet.h
@@ -40,7 +40,8 @@
 class ProteinSheet
 {
   public:
-  ProteinSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
+  ProteinSheet(OdsExport *p_ods_export,
+               CalcWriterInterface *p_writer,
                const Project *p_project);
 
   private:
diff --git a/src/output/ods/ptm/ptmislandsheet.cpp b/src/output/ods/ptm/ptmislandsheet.cpp
index 87e15abec..e6d9489f0 100644
--- a/src/output/ods/ptm/ptmislandsheet.cpp
+++ b/src/output/ods/ptm/ptmislandsheet.cpp
@@ -133,7 +133,8 @@ PtmIslandSheet::writeIdentificationGroup(IdentificationGroup *p_ident)
       ptm_island_list.push_back(ptm_island_sp);
     }
   qDebug() << "PtmIslandSheet::writeIdentificationGroup sort";
-  std::sort(ptm_island_list.begin(), ptm_island_list.end(),
+  std::sort(ptm_island_list.begin(),
+            ptm_island_list.end(),
             [](PtmIslandSp &a, PtmIslandSp &b) {
               return a.get()->getGroupingId() < b.get()->getGroupingId();
             });
diff --git a/src/output/ods/ptm/ptmislandsheet.h b/src/output/ods/ptm/ptmislandsheet.h
index b9e9071fd..dcf46ad29 100644
--- a/src/output/ods/ptm/ptmislandsheet.h
+++ b/src/output/ods/ptm/ptmislandsheet.h
@@ -40,7 +40,8 @@
 class PtmIslandSheet
 {
   public:
-  PtmIslandSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
+  PtmIslandSheet(OdsExport *p_ods_export,
+                 CalcWriterInterface *p_writer,
                  const Project *p_project);
 
   private:
diff --git a/src/output/ods/ptm/ptmspectrasheet.h b/src/output/ods/ptm/ptmspectrasheet.h
index 6b589c045..4832ebeeb 100644
--- a/src/output/ods/ptm/ptmspectrasheet.h
+++ b/src/output/ods/ptm/ptmspectrasheet.h
@@ -40,12 +40,15 @@
 class PtmSpectraSheet
 {
   public:
-  PtmSpectraSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
+  PtmSpectraSheet(OdsExport *p_ods_export,
+                  CalcWriterInterface *p_writer,
                   const Project *p_project);
 
   protected:
-  PtmSpectraSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
-                  const Project *p_project, const QString &sheet_name);
+  PtmSpectraSheet(OdsExport *p_ods_export,
+                  CalcWriterInterface *p_writer,
+                  const Project *p_project,
+                  const QString &sheet_name);
   virtual void writeIdentificationGroup(IdentificationGroup *p_ident);
   void writeHeaders(IdentificationGroup *p_ident);
   void writeBestPeptideEvidence(
diff --git a/src/output/ods/samplesheet.cpp b/src/output/ods/samplesheet.cpp
index 5fe39259f..a3c78b2a6 100644
--- a/src/output/ods/samplesheet.cpp
+++ b/src/output/ods/samplesheet.cpp
@@ -30,7 +30,8 @@
 
 #include "samplesheet.h"
 
-SampleSheet::SampleSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
+SampleSheet::SampleSheet(OdsExport *p_ods_export,
+                         CalcWriterInterface *p_writer,
                          const Project *p_project)
   : _p_project(p_project)
 {
@@ -118,16 +119,19 @@ SampleSheet::writeHeaders()
         "total number of MS level 3 during the MS run (from mz file)");
       _p_writer->writeCell("Total MS3");
 
-      _p_writer->setCellAnnotation("total ion current in MS level 1 spectra "
-                                   "during the MS run (from mz file)");
+      _p_writer->setCellAnnotation(
+        "total ion current in MS level 1 spectra "
+        "during the MS run (from mz file)");
       _p_writer->writeCell("TIC MS1");
 
-      _p_writer->setCellAnnotation("total ion current in MS level 2 spectra "
-                                   "during the MS run (from mz file)");
+      _p_writer->setCellAnnotation(
+        "total ion current in MS level 2 spectra "
+        "during the MS run (from mz file)");
       _p_writer->writeCell("TIC MS2");
 
-      _p_writer->setCellAnnotation("total ion current in MS level 3 spectra "
-                                   "during the MS run (from mz file)");
+      _p_writer->setCellAnnotation(
+        "total ion current in MS level 3 spectra "
+        "during the MS run (from mz file)");
       _p_writer->writeCell("TIC MS3");
     }
 
diff --git a/src/output/ods/samplesheet.h b/src/output/ods/samplesheet.h
index 12677f5f2..ce0181945 100644
--- a/src/output/ods/samplesheet.h
+++ b/src/output/ods/samplesheet.h
@@ -38,7 +38,8 @@
 class SampleSheet
 {
   public:
-  SampleSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
+  SampleSheet(OdsExport *p_ods_export,
+              CalcWriterInterface *p_writer,
               const Project *p_project);
 
   private:
diff --git a/src/output/ods/spectrasheet.cpp b/src/output/ods/spectrasheet.cpp
index c260028ca..4fc181276 100644
--- a/src/output/ods/spectrasheet.cpp
+++ b/src/output/ods/spectrasheet.cpp
@@ -34,7 +34,8 @@
 
 SpectraSheet::SpectraSheet(OdsExport *p_ods_export,
                            CalcWriterInterface *p_writer,
-                           const Project *p_project, const QString &sheet_name)
+                           const Project *p_project,
+                           const QString &sheet_name)
   : _p_project(p_project)
 {
   _p_ods_export = p_ods_export;
@@ -175,7 +176,8 @@ SpectraSheet::writeIdentificationGroup(IdentificationGroup *p_ident)
         group_pair.second.get()->getPeptideEvidenceList();
 
       std::sort(
-        peptide_evidence_list.begin(), peptide_evidence_list.end(),
+        peptide_evidence_list.begin(),
+        peptide_evidence_list.end(),
         [](const PeptideEvidence *a, const PeptideEvidence *b) {
           unsigned int arank = a->getGrpPeptideSp().get()->getRank();
           unsigned int ascan = a->getScan();
@@ -204,8 +206,8 @@ SpectraSheet::writeIdentificationGroup(IdentificationGroup *p_ident)
           if(std::tie(arank,
                       p_best_peptide_evidence->getMsRunP()->getSampleName(),
                       ascan) !=
-             std::tie(brank, peptide_evidence->getMsRunP()->getSampleName(),
-                      bscan))
+             std::tie(
+               brank, peptide_evidence->getMsRunP()->getSampleName(), bscan))
             {
               // write p_best_peptide_match
               writeBestPeptideEvidence(group_pair.second.get(),
diff --git a/src/output/ods/spectrasheet.h b/src/output/ods/spectrasheet.h
index 5035d45ae..afbecc2c1 100644
--- a/src/output/ods/spectrasheet.h
+++ b/src/output/ods/spectrasheet.h
@@ -40,12 +40,15 @@
 class SpectraSheet
 {
   public:
-  SpectraSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
+  SpectraSheet(OdsExport *p_ods_export,
+               CalcWriterInterface *p_writer,
                const Project *p_project);
 
   protected:
-  SpectraSheet(OdsExport *p_ods_export, CalcWriterInterface *p_writer,
-               const Project *p_project, const QString &sheet_name);
+  SpectraSheet(OdsExport *p_ods_export,
+               CalcWriterInterface *p_writer,
+               const Project *p_project,
+               const QString &sheet_name);
   virtual void writeIdentificationGroup(IdentificationGroup *p_ident);
   void writeHeaders(IdentificationGroup *p_ident);
   void writeBestPeptideEvidence(const GroupingGroup *p_group,
diff --git a/src/output/proticdbml.cpp b/src/output/proticdbml.cpp
index b6a7faafc..8e08e19f9 100644
--- a/src/output/proticdbml.cpp
+++ b/src/output/proticdbml.cpp
@@ -32,7 +32,7 @@
 #include <pappsomspp/pappsoexception.h>
 #include <pappsomspp/utils.h>
 #include <pappsomspp/grouping/grpprotein.h>
-#include <pappsomspp/amino_acid/Aa.h>
+#include <pappsomspp/amino_acid/aa.h>
 #include "../core/msrun.h"
 #include "../config.h"
 #include "../utils/utils.h"
@@ -542,7 +542,8 @@ ProticdbMl::writepeptideHitsbyGroup(GroupingGroup *p_group)
           protic_peptide_hit_list.push_back(protic_peptide_hit);
         }
     }
-  std::sort(protic_peptide_hit_list.begin(), protic_peptide_hit_list.end(),
+  std::sort(protic_peptide_hit_list.begin(),
+            protic_peptide_hit_list.end(),
             [](const ProticPeptideHit &first, const ProticPeptideHit &second) {
               return (first.key < second.key);
             });
@@ -615,9 +616,10 @@ ProticdbMl::writePeptideHit(QString xml_id,
       protic_peptide_hit.peptide_match.getPeptideEvidence()->getScan()));
   qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
   _output_stream->writeAttribute(
-    "ms_run_id", protic_peptide_hit.peptide_match.getPeptideEvidence()
-                   ->getMsRunP()
-                   ->getXmlId());
+    "ms_run_id",
+    protic_peptide_hit.peptide_match.getPeptideEvidence()
+      ->getMsRunP()
+      ->getXmlId());
   _output_stream->writeAttribute("id", xml_id);
   _output_stream->writeAttribute(
     "exp_z",
@@ -737,7 +739,8 @@ ProticdbMl::writeMatchs(IdentificationGroup *p_identification)
       std::vector<const ProteinMatch *> protein_match_list =
         group_pair.second.get()->getProteinMatchList();
       // sort protein match by subgroup
-      std::sort(protein_match_list.begin(), protein_match_list.end(),
+      std::sort(protein_match_list.begin(),
+                protein_match_list.end(),
                 [](const ProteinMatch *a, const ProteinMatch *b) {
                   return a->getGrpProteinSp().get()->getSubGroupNumber() <
                          b->getGrpProteinSp().get()->getSubGroupNumber();
@@ -850,8 +853,9 @@ ProticdbMl::writeMatch(std::vector<const ProteinMatch *> &protein_match_sg_list)
               .arg(p_protein_match->getProteinXtpSp().get()->getDescription()));
           // proteinHit.setAttribute("score", "");
           _output_stream->writeAttribute(
-            "rank", QString("%1").arg(
-                      p_protein_match->getGrpProteinSp().get()->getRank()));
+            "rank",
+            QString("%1").arg(
+              p_protein_match->getGrpProteinSp().get()->getRank()));
 
           // //cvparam
           writeCvParam("PROTICdbO:0000284",
@@ -872,7 +876,8 @@ ProticdbMl::writeMatch(std::vector<const ProteinMatch *> &protein_match_sg_list)
           // id: PROTICdbO:0000335
           // name: X!TandemPipeline PAI
           writeCvParam("PROTICdbO:0000335",
-                       Utils::getXmlDouble(p_protein_match->getPAI()), "PAI");
+                       Utils::getXmlDouble(p_protein_match->getPAI()),
+                       "PAI");
 
           // [Term]
           // id: PROTICdbO:0000337
diff --git a/src/output/xpip.cpp b/src/output/xpip.cpp
index ad9205994..2d3290c4b 100644
--- a/src/output/xpip.cpp
+++ b/src/output/xpip.cpp
@@ -253,8 +253,9 @@ Xpip::writeIdentificationDataSourceList(
                                      ident_source_sp.get()->getResourceName());
 
       _output_stream->writeAttribute(
-        "engine", QString("%1").arg(static_cast<std::int8_t>(
-                    ident_source_sp.get()->getIdentificationEngine())));
+        "engine",
+        QString("%1").arg(static_cast<std::int8_t>(
+          ident_source_sp.get()->getIdentificationEngine())));
       _output_stream->writeAttribute(
         "version", ident_source_sp.get()->getIdentificationEngineVersion());
 
@@ -317,9 +318,9 @@ Xpip::writeMsrunList(const MsRunStore &msrun_store)
       _output_stream->writeStartElement("msrun");
       _output_stream->writeAttribute("id", msrun_sp.get()->getXmlId());
       _output_stream->writeAttribute("name", msrun_sp.get()->getSampleName());
-      _output_stream->writeAttribute(
-        "format", QString("%1").arg(
-                    static_cast<std::int8_t>(msrun_sp.get()->getMzFormat())));
+      _output_stream->writeAttribute("format",
+                                     QString("%1").arg(static_cast<std::int8_t>(
+                                       msrun_sp.get()->getMzFormat())));
       QFileInfo mz_info(msrun_sp.get()->getFilename());
       if(mz_info.exists())
         {
@@ -578,7 +579,7 @@ Xpip::writePeptideEvidence(const PeptideEvidence *p_peptide_evidence)
         "peptide_id",
         _map_peptides.at(p_peptide_evidence->getPeptideXtpSp().get()));
     }
-  catch(out_of_range exception_std)
+  catch(std::out_of_range exception_std)
     {
       throw pappso::PappsoException(
         QObject::tr("ERROR in Xpip::writePeptideEvidence peptide %1 not found "
@@ -591,8 +592,9 @@ Xpip::writePeptideEvidence(const PeptideEvidence *p_peptide_evidence)
     "scan", QString("%1").arg(p_peptide_evidence->getScan()));
   writeDoubleAttribute("rt", p_peptide_evidence->getRetentionTime());
   _output_stream->writeAttribute(
-    "eng", QString("%1").arg(
-             (unsigned int)p_peptide_evidence->getIdentificationEngine()));
+    "eng",
+    QString("%1").arg(
+      (unsigned int)p_peptide_evidence->getIdentificationEngine()));
   writeDoubleAttribute("evalue", p_peptide_evidence->getEvalue());
   writeDoubleAttribute("exp_mass", p_peptide_evidence->getExperimentalMass());
   _output_stream->writeAttribute(
diff --git a/src/utils/httpversion.h b/src/utils/httpversion.h
index d37da9e44..5680dc65d 100644
--- a/src/utils/httpversion.h
+++ b/src/utils/httpversion.h
@@ -40,8 +40,8 @@ class HttpVersion : public QObject
   QNetworkAccessManager *mpa_manager;
   QNetworkRequest m_request;
   QString m_onlineVersion;
-  
-public:
+
+  public:
   signals:
   void httpVersionReady();
 
diff --git a/src/utils/msrunstatisticshandler.cpp b/src/utils/msrunstatisticshandler.cpp
index cd1c3d0d8..23120773b 100644
--- a/src/utils/msrunstatisticshandler.cpp
+++ b/src/utils/msrunstatisticshandler.cpp
@@ -37,8 +37,8 @@ MsRunStatisticsHandler::needPeakList() const
   return true;
 }
 void
-MsRunStatisticsHandler::setQualifiedSpectrum(
-  const pappso::QualifiedSpectrum &qspectrum)
+MsRunStatisticsHandler::setQualifiedMassSpectrum(
+  const pappso::QualifiedMassSpectrum &qspectrum)
 {
   unsigned int ms_level = qspectrum.getMsLevel();
   if(ms_level == 0)
@@ -50,13 +50,13 @@ MsRunStatisticsHandler::setQualifiedSpectrum(
     }
   _count_ms_level_spectrum[ms_level - 1]++;
 
-  pappso::SpectrumSp spectrum_sp = qspectrum.getOriginalSpectrumSp();
+  pappso::MassSpectrumCstSPtr spectrum_sp = qspectrum.getMassSpectrumCstSPtr();
   if(spectrum_sp != nullptr)
     {
       for(auto &&peak : *(spectrum_sp.get()))
         {
 
-          _tic_ms_level_spectrum[ms_level - 1] += peak.intensity;
+          _tic_ms_level_spectrum[ms_level - 1] += peak.y;
         }
     }
 }
diff --git a/src/utils/msrunstatisticshandler.h b/src/utils/msrunstatisticshandler.h
index c0a645ef6..974545ecb 100644
--- a/src/utils/msrunstatisticshandler.h
+++ b/src/utils/msrunstatisticshandler.h
@@ -34,8 +34,8 @@
 class MsRunStatisticsHandler : public pappso::SpectrumCollectionHandlerInterface
 {
   public:
-  virtual void
-  setQualifiedSpectrum(const pappso::QualifiedSpectrum &qspectrum) override;
+  virtual void setQualifiedMassSpectrum(
+    const pappso::QualifiedMassSpectrum &qspectrum) override;
   virtual bool needPeakList() const override;
 
   unsigned long getMsLevelCount(unsigned int ms_level) const;
diff --git a/src/utils/msrunstore.cpp b/src/utils/msrunstore.cpp
index f867fb0b9..d5312dc88 100644
--- a/src/utils/msrunstore.cpp
+++ b/src/utils/msrunstore.cpp
@@ -46,8 +46,9 @@ MsRunSp
 MsRunStore::getInstance(const MsRun *p_msrun)
 {
   auto it = std::find_if(
-    _map_msrun.begin(), _map_msrun.end(),
-    [p_msrun](const MsRunSp &msrun_sp) { return msrun_sp.get() == p_msrun; });
+    _map_msrun.begin(), _map_msrun.end(), [p_msrun](const MsRunSp &msrun_sp) {
+      return msrun_sp.get() == p_msrun;
+    });
   if(it != _map_msrun.end())
     {
       return (*it);
@@ -65,7 +66,8 @@ MsRunStore::getInstance(const QString &location)
   if(file_ondisk.baseName() == location)
     {
       // look only for the same sample name
-      it = std::find_if(_map_msrun.begin(), _map_msrun.end(),
+      it = std::find_if(_map_msrun.begin(),
+                        _map_msrun.end(),
                         [location](const MsRunSp &msrun_sp) {
                           return msrun_sp.get()->getSampleName() == location;
                         });
@@ -73,7 +75,8 @@ MsRunStore::getInstance(const QString &location)
   else
     {
       // look for an absolute file path
-      it = std::find_if(_map_msrun.begin(), _map_msrun.end(),
+      it = std::find_if(_map_msrun.begin(),
+                        _map_msrun.end(),
                         [location](const MsRunSp &msrun_sp) {
                           if(msrun_sp.get()->getSampleName() ==
                              msrun_sp.get()->getFilename())
diff --git a/src/utils/peptideevidencestore.cpp b/src/utils/peptideevidencestore.cpp
index a99100907..ea5318fa3 100644
--- a/src/utils/peptideevidencestore.cpp
+++ b/src/utils/peptideevidencestore.cpp
@@ -129,7 +129,9 @@ PeptideEvidenceStore::getPeptideEvidenceList() const
 void
 PeptideEvidenceStore::getSameXicPeptideEvidenceList(
   std::vector<const PeptideEvidence *> &peptide_evidence_list,
-  const MsRun *p_msrun, const PeptideXtp *p_peptide, unsigned int charge) const
+  const MsRun *p_msrun,
+  const PeptideXtp *p_peptide,
+  unsigned int charge) const
 {
   for(const PeptideEvidenceSp &peptide_evidence_sp : _peptide_evidence_list)
     {
diff --git a/src/utils/peptideevidencestore.h b/src/utils/peptideevidencestore.h
index 515cc6605..ed356fc64 100644
--- a/src/utils/peptideevidencestore.h
+++ b/src/utils/peptideevidencestore.h
@@ -70,7 +70,8 @@ class PeptideEvidenceStore
    */
   void getSameXicPeptideEvidenceList(
     std::vector<const PeptideEvidence *> &peptide_evidence_list,
-    const MsRun *p_msrun, const PeptideXtp *p_peptide,
+    const MsRun *p_msrun,
+    const PeptideXtp *p_peptide,
     unsigned int charge) const;
 
   private:
diff --git a/src/utils/peptidestore.cpp b/src/utils/peptidestore.cpp
index f22a1e6c6..6001f0025 100644
--- a/src/utils/peptidestore.cpp
+++ b/src/utils/peptidestore.cpp
@@ -29,7 +29,7 @@
  ******************************************************************************/
 
 #include "peptidestore.h"
-#include <pappsomspp/amino_acid/Aa.h>
+#include <pappsomspp/amino_acid/aa.h>
 #include <pappsomspp/pappsoexception.h>
 
 PeptideStore::PeptideStore()
diff --git a/src/utils/types.h b/src/utils/types.h
index 6615853b2..7e0417f75 100644
--- a/src/utils/types.h
+++ b/src/utils/types.h
@@ -185,8 +185,8 @@ enum class ExportFastaType : std::int8_t
  */
 enum class TableFileFormat : std::int8_t
 {
-  ods     = 1, ///< Open Document Spreadsheet
-  tsv     = 2, ///< tabulated separated values
+  ods = 1, ///< Open Document Spreadsheet
+  tsv = 2, ///< tabulated separated values
 };
 
 
diff --git a/src/utils/utils.cpp b/src/utils/utils.cpp
index 25e82c8b3..db8dfd052 100644
--- a/src/utils/utils.cpp
+++ b/src/utils/utils.cpp
@@ -1,6 +1,6 @@
 #include "utils.h"
 #include <pappsomspp/exception/exceptionnotfound.h>
-#include <pappsomspp/mass_range.h>
+#include <pappsomspp/mzrange.h>
 #include <cmath>
 #include <QProcess>
 #include <QDebug>
@@ -129,70 +129,70 @@ Utils::getHistogram(std::vector<pappso::pappso_double> data_values,
 
 
 pappso::AaModificationP
-Utils::guessAaModificationPbyMonoisotopicMassDelta(pappso::mz mass)
+Utils::guessAaModificationPbyMonoisotopicMassDelta(pappso::pappso_double mass)
 {
-  pappso::PrecisionP precision = pappso::Precision::getDaltonInstance(0.01);
+  pappso::PrecisionPtr precision =
+    pappso::PrecisionFactory::getDaltonInstance(0.01);
 
   pappso::AaModificationP oxidation =
     pappso::AaModification::getInstance("MOD:00719");
-  if(pappso::MassRange(oxidation->getMass(), precision).contains(mass))
+  if(pappso::MzRange(oxidation->getMass(), precision).contains(mass))
     {
       return oxidation;
     }
   pappso::AaModificationP iodoacetamide =
     pappso::AaModification::getInstance("MOD:00397");
-  if(pappso::MassRange(iodoacetamide->getMass(), precision).contains(mass))
+  if(pappso::MzRange(iodoacetamide->getMass(), precision).contains(mass))
     {
       return iodoacetamide;
     }
   pappso::AaModificationP acetylated =
     pappso::AaModification::getInstance("MOD:00408");
-  if(pappso::MassRange(acetylated->getMass(), precision).contains(mass))
+  if(pappso::MzRange(acetylated->getMass(), precision).contains(mass))
     {
       return acetylated;
     }
   pappso::AaModificationP phosphorylated =
     pappso::AaModification::getInstance("MOD:00696");
-  if(pappso::MassRange(phosphorylated->getMass(), precision).contains(mass))
+  if(pappso::MzRange(phosphorylated->getMass(), precision).contains(mass))
     {
       return phosphorylated;
     }
   pappso::AaModificationP ammonia =
     pappso::AaModification::getInstance("MOD:01160");
-  if(pappso::MassRange(ammonia->getMass(), precision).contains(mass))
+  if(pappso::MzRange(ammonia->getMass(), precision).contains(mass))
     {
       return ammonia;
     }
   pappso::AaModificationP dehydrated =
     pappso::AaModification::getInstance("MOD:00704");
-  if(pappso::MassRange(dehydrated->getMass(), precision).contains(mass))
+  if(pappso::MzRange(dehydrated->getMass(), precision).contains(mass))
     {
       return dehydrated;
     }
   pappso::AaModificationP dimethylated =
     pappso::AaModification::getInstance("MOD:00429");
-  if(pappso::MassRange(dimethylated->getMass(), precision).contains(mass))
+  if(pappso::MzRange(dimethylated->getMass(), precision).contains(mass))
     {
       return dimethylated;
     }
 
   pappso::AaModificationP dimethylated_medium =
     pappso::AaModification::getInstance("MOD:00552");
-  if(pappso::MassRange(dimethylated_medium->getMass(), precision)
-       .contains(mass))
+  if(pappso::MzRange(dimethylated_medium->getMass(), precision).contains(mass))
     {
       return dimethylated_medium;
     }
 
   pappso::AaModificationP dimethylated_heavy =
     pappso::AaModification::getInstance("MOD:00638");
-  if(pappso::MassRange(dimethylated_heavy->getMass(), precision).contains(mass))
+  if(pappso::MzRange(dimethylated_heavy->getMass(), precision).contains(mass))
     {
       return dimethylated_heavy;
     }
   pappso::AaModificationP DimethylpyrroleAdduct =
     pappso::AaModification::getInstance("MOD:00628");
-  if(pappso::MassRange(DimethylpyrroleAdduct->getMass(), precision)
+  if(pappso::MzRange(DimethylpyrroleAdduct->getMass(), precision)
        .contains(mass))
     {
       return DimethylpyrroleAdduct;
diff --git a/src/utils/utils.h b/src/utils/utils.h
index 52ecc77f5..847d54049 100644
--- a/src/utils/utils.h
+++ b/src/utils/utils.h
@@ -38,7 +38,7 @@ class Utils
   static const QString getXmlDouble(pappso::pappso_double number);
   static const QString checkXtandemVersion(const QString &tandem_bin_path);
   static pappso::AaModificationP
-  guessAaModificationPbyMonoisotopicMassDelta(pappso::mz mass);
+  guessAaModificationPbyMonoisotopicMassDelta(pappso::pappso_double mass);
   static pappso::AaModificationP
   translateAaModificationFromUnimod(const QString &unimod_accession);
   static std::vector<std::pair<pappso::pappso_double, size_t>>
-- 
GitLab