Loading...
Searching...
No Matches
massspectrumid.h
Go to the documentation of this file.
/*******************************************************************************
* Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
*
* This file is part of the PAPPSOms++ library.
*
* PAPPSOms++ is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* PAPPSOms++ is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
*
* Contributors:
* Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and
*implementation
******************************************************************************/
#pragma once
#include <cstddef>
#include <limits>
#include <QString>
#include "pappsomspp/export-import-config.h"
#include "pappsomspp/core/msrun/msrunid.h"
namespace pappso
{
class PMSPP_LIB_DECL MassSpectrumId
{
public:
MassSpectrumId();
MassSpectrumId(const MsRunIdCstSPtr &msrun_id);
MassSpectrumId(const MsRunIdCstSPtr &msrun_id, std::size_t spectrum_index);
MassSpectrumId(const MassSpectrumId &other);
~MassSpectrumId();
MassSpectrumId &operator=(const MassSpectrumId &other);
void setMsRunId(MsRunIdCstSPtr other);
const MsRunIdCstSPtr &getMsRunIdCstSPtr() const;
void setNativeId(const QString &native_id);
const QString &getNativeId() const;
/** @brief try to find scan id in the native id string
* @param is_ok true if scan number is found
* @return integer of the scan number
*/
std::size_t extractScanNumberFromNativeId(bool *is_ok) const;
void setSpectrumIndex(std::size_t index);
std::size_t getSpectrumIndex() const;
bool operator==(const MassSpectrumId &other) const;
bool isValid() const;
QString toString() const;
private:
MsRunIdCstSPtr mcsp_msRunId = nullptr;
// This is the native id string that is stored in the mzML file. Its structure
// is dependent on the vendor/format of the original data. In some cases, it
// is possible to ask libpwiz to extract from it the scan number of the
// spectrum. For water/mdsciex files, this is not possible. We thus need to
// rely on the index of the spectrum in the spectrum list for the ms run of
// interest. By combining the run id and the spectrum index, it is possible to
// unambiguously identify a mass spectrum from a given file.
QString m_nativeId;
// The index of the mass spectrum in the spectrum list of a given ms run is
// used when the scan number is not easily usable (see the native id comment
// above).
std::size_t m_spectrumIndex = std::numeric_limits<std::size_t>::max();
};
} // namespace pappso
pappso::MassSpectrumId::setNativeId
void setNativeId(const QString &native_id)
Definition massspectrumid.cpp:92
pappso::MassSpectrumId::setMsRunId
void setMsRunId(MsRunIdCstSPtr other)
Definition massspectrumid.cpp:77
pappso::MassSpectrumId::operator=
MassSpectrumId & operator=(const MassSpectrumId &other)
Definition massspectrumid.cpp:63
pappso::MassSpectrumId::MassSpectrumId
MassSpectrumId()
Definition massspectrumid.cpp:33
pappso::MassSpectrumId::toString
QString toString() const
Definition massspectrumid.cpp:133
pappso::MassSpectrumId::getSpectrumIndex
std::size_t getSpectrumIndex() const
Definition massspectrumid.cpp:113
pappso::MassSpectrumId::setSpectrumIndex
void setSpectrumIndex(std::size_t index)
Definition massspectrumid.cpp:106
pappso::MassSpectrumId::getNativeId
const QString & getNativeId() const
Definition massspectrumid.cpp:99
pappso::MassSpectrumId::extractScanNumberFromNativeId
std::size_t extractScanNumberFromNativeId(bool *is_ok) const
try to find scan id in the native id string
Definition massspectrumid.cpp:145
pappso::MassSpectrumId::m_spectrumIndex
std::size_t m_spectrumIndex
Definition massspectrumid.h:90
pappso::MassSpectrumId::isValid
bool isValid() const
Definition massspectrumid.cpp:126
pappso::MassSpectrumId::operator==
bool operator==(const MassSpectrumId &other) const
Definition massspectrumid.cpp:120
pappso::MassSpectrumId::mcsp_msRunId
MsRunIdCstSPtr mcsp_msRunId
Definition massspectrumid.h:76
pappso::MassSpectrumId::m_nativeId
QString m_nativeId
Definition massspectrumid.h:85
pappso::MassSpectrumId::getMsRunIdCstSPtr
const MsRunIdCstSPtr & getMsRunIdCstSPtr() const
Definition massspectrumid.cpp:85
export-import-config.h
PMSPP_LIB_DECL
#define PMSPP_LIB_DECL
Definition export-import-config.h:14
msrunid.h
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
pappso::MsRunIdCstSPtr
std::shared_ptr< const MsRunId > MsRunIdCstSPtr
Definition msrunid.h:46