libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
peptidespectrum.h
Go to the documentation of this file.
1/**
2 * \file pappsomspp/processing/specglob/peptidespectrum.h
3 * \date 06/11/2023
4 * \author Olivier Langella
5 * \brief transform a peptide to SpecGlob spectrum
6 *
7 * C++ implementation of the SpecGlob algorithm described in :
8 * 1. Prunier, G. et al. Fast alignment of mass spectra in large proteomics
9 * datasets, capturing dissimilarities arising from multiple complex
10 * modifications of peptides. BMC Bioinformatics 24, 421 (2023).
11 *
12 * HAL Id : hal-04296170 , version 1
13 * Mot de passe : hxo20cl
14 * DOI : 10.1186/s12859-023-05555-y
15 */
16
17
18/*
19 * SpecGlobTool, Spectra to peptide alignment tool
20 * Copyright (C) 2023 Olivier Langella
21 * <olivier.langella@universite-paris-saclay.fr>
22 *
23 * This program is free software: you can redistribute it and/or modify
24 * it under the terms of the GNU General Public License as published by
25 * the Free Software Foundation, either version 3 of the License, or
26 * (at your option) any later version.
27 *
28 * This program is distributed in the hope that it will be useful,
29 * but WITHOUT ANY WARRANTY; without even the implied warranty of
30 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31 * GNU General Public License for more details.
32 *
33 * You should have received a copy of the GNU General Public License
34 * along with this program. If not, see <http://www.gnu.org/licenses/>.
35 *
36 */
37
38#pragma once
39
40#include "../../peptide/peptide.h"
41#include <memory>
42#include "../../exportinmportconfig.h"
43
44namespace pappso
45{
46namespace specglob
47{
49{
50 double mz;
51 double diff_mz;
52};
53
54class PeptideSpectrum;
55
56typedef std::shared_ptr<const PeptideSpectrum> PeptideSpectraCsp;
57/**
58 * @todo write docs
59 */
60class PMSPP_LIB_DECL PeptideSpectrum : public std::vector<PeptideSpectrumDataPoint>
61{
62 public:
63 /**
64 * Default constructor
65 */
66 PeptideSpectrum(const pappso::PeptideSp peptide_sp);
67
68 /**
69 * Copy constructor
70 *
71 * @param other TODO
72 */
73 PeptideSpectrum(const PeptideSpectrum &other);
74
75 /**
76 * Destructor
77 */
78 virtual ~PeptideSpectrum();
79
80 std::vector<double> getMassList() const;
81
82 pappso::PeptideSp getPeptideSp() const;
83
84 private:
86 // std::vector<double> m_massList;
87};
88} // namespace specglob
89} // namespace pappso
#define PMSPP_LIB_DECL
std::shared_ptr< const PeptideSpectrum > PeptideSpectraCsp
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
std::shared_ptr< const Peptide > PeptideSp