Loading...
Searching...
No Matches
msrungroup.h
Go to the documentation of this file.
/**
* \file pappsomspp/masschroq/msrungroup.h
* \date 10/10/2024
* \author Olivier Langella
* \brief group msrun together in masschroqlite
*/
/*******************************************************************************
* Copyright (c) 2024 Olivier Langella
*<Olivier.Langella@universite-paris-saclay.fr>.
*
* This file is part of MassChroQ.
*
* MassChroQ 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.
*
* MassChroQ 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 MassChroQ. If not, see <http://www.gnu.org/licenses/>.
*
******************************************************************************/
#pragma once
#include "msrunpeptidelist.h"
#include "quantificationmethod.h"
#include "alignmentmethod.h"
#include "pappsomspp/core/msrun/xiccoord/ionmobilitygrid.h"
#include "output/cboroutputstream.h"
namespace pappso::masschroq
{
class MsRunGroup;
typedef std::shared_ptr<MsRunGroup> MsRunGroupSp;
/**
* @todo write docs
*/
class MsRunGroup
{
public:
/**
* Default constructor
*/
MsRunGroup(const QString &id, const std::vector<MsRunPeptideListSp> &msrun_list);
/**
* Copy constructor
*
* @param other TODO
*/
MsRunGroup(const MsRunGroup &other);
/**
* Destructor
*/
virtual ~MsRunGroup();
void setIonMobilityGridSp(const std::shared_ptr<pappso::IonMobilityGrid> &ion_mobility_grid_sp);
void align(CborOutputStream &cbor_output,
const QString &align_id,
pappso::UiMonitorInterface &m_uiMonitor) const;
void quantify(CborOutputStream &cbor_output,
const QString &quantify_id,
const QString &tmp_dir,
pappso::UiMonitorInterface &m_uiMonitor,
const QuantificationMethodSp &quantification_method,
const std::vector<PeptideSp> &peptide_sp_list) const;
void setAlignmentMethodSp(const AlignmentMethodSp &alignment_method_sp,
const QString &msrun_ref_id);
bool contains(const MsRun *msrun_p) const;
bool hasTimsTofMobilityIndex() const;
const std::shared_ptr<pappso::IonMobilityGrid> &getIonMobilityGridSp() const;
const QString &getId() const;
private:
void alignRetentionTimeBetweenMsRuns(CborOutputStream &cbor_output,
pappso::UiMonitorInterface &m_uiMonitor) const;
private:
const QString m_id;
const std::vector<MsRunPeptideListSp> m_msRunPeptideListSpList;
AlignmentMethodSp msp_alignmentMethod;
MsRunPeptideListSp msp_msRunPeptideListAlignmentReference;
bool m_hasTimsTofMobilityIndex = false;
std::shared_ptr<pappso::IonMobilityGrid> msp_ionMobilityGrid;
};
} // namespace pappso::masschroq
alignmentmethod.h
cboroutputstream.h
pappso::UiMonitorInterface
Definition uimonitorinterface.h:50
pappso::masschroq::CborOutputStream
Definition cboroutputstream.h:51
pappso::masschroq::MsRunGroup
Definition msrungroup.h:48
pappso::masschroq::MsRunGroup::MsRunGroup
MsRunGroup(const QString &id, const std::vector< MsRunPeptideListSp > &msrun_list)
Definition msrungroup.cpp:32
pappso::masschroq::MsRunGroup::msp_ionMobilityGrid
std::shared_ptr< pappso::IonMobilityGrid > msp_ionMobilityGrid
Definition msrungroup.h:103
pappso::masschroq::MsRunGroup::quantify
void quantify(CborOutputStream &cbor_output, const QString &quantify_id, const QString &tmp_dir, pappso::UiMonitorInterface &m_uiMonitor, const QuantificationMethodSp &quantification_method, const std::vector< PeptideSp > &peptide_sp_list) const
Definition msrungroup.cpp:155
pappso::masschroq::MsRunGroup::setIonMobilityGridSp
void setIonMobilityGridSp(const std::shared_ptr< pappso::IonMobilityGrid > &ion_mobility_grid_sp)
Definition msrungroup.cpp:321
pappso::masschroq::MsRunGroup::hasTimsTofMobilityIndex
bool hasTimsTofMobilityIndex() const
Definition msrungroup.cpp:328
pappso::masschroq::MsRunGroup::contains
bool contains(const MsRun *msrun_p) const
Definition msrungroup.cpp:310
pappso::masschroq::MsRunGroup::getId
const QString & getId() const
Definition msrungroup.cpp:340
pappso::masschroq::MsRunGroup::align
void align(CborOutputStream &cbor_output, const QString &align_id, pappso::UiMonitorInterface &m_uiMonitor) const
Definition msrungroup.cpp:128
pappso::masschroq::MsRunGroup::m_hasTimsTofMobilityIndex
bool m_hasTimsTofMobilityIndex
Definition msrungroup.h:102
pappso::masschroq::MsRunGroup::m_id
const QString m_id
Definition msrungroup.h:98
pappso::masschroq::MsRunGroup::setAlignmentMethodSp
void setAlignmentMethodSp(const AlignmentMethodSp &alignment_method_sp, const QString &msrun_ref_id)
Definition msrungroup.cpp:280
pappso::masschroq::MsRunGroup::msp_msRunPeptideListAlignmentReference
MsRunPeptideListSp msp_msRunPeptideListAlignmentReference
Definition msrungroup.h:101
pappso::masschroq::MsRunGroup::~MsRunGroup
virtual ~MsRunGroup()
Definition msrungroup.cpp:49
pappso::masschroq::MsRunGroup::m_msRunPeptideListSpList
const std::vector< MsRunPeptideListSp > m_msRunPeptideListSpList
Definition msrungroup.h:99
pappso::masschroq::MsRunGroup::getIonMobilityGridSp
const std::shared_ptr< pappso::IonMobilityGrid > & getIonMobilityGridSp() const
Definition msrungroup.cpp:334
pappso::masschroq::MsRunGroup::msp_alignmentMethod
AlignmentMethodSp msp_alignmentMethod
Definition msrungroup.h:100
pappso::masschroq::MsRunGroup::alignRetentionTimeBetweenMsRuns
void alignRetentionTimeBetweenMsRuns(CborOutputStream &cbor_output, pappso::UiMonitorInterface &m_uiMonitor) const
Definition msrungroup.cpp:54
pappso::masschroq::MsRun
Definition msrun.h:50
ionmobilitygrid.h
msrunpeptidelist.h
pappso::masschroq
Definition alignmentmethod.h:38
pappso::masschroq::QuantificationMethodSp
std::shared_ptr< QuantificationMethod > QuantificationMethodSp
Definition quantificationmethod.h:46
pappso::masschroq::MsRunGroupSp
std::shared_ptr< MsRunGroup > MsRunGroupSp
Definition msrungroup.h:42
pappso::masschroq::MsRunPeptideListSp
std::shared_ptr< MsRunPeptideList > MsRunPeptideListSp
Definition msrunpeptidelist.h:47
pappso::masschroq::AlignmentMethodSp
std::shared_ptr< AlignmentMethod > AlignmentMethodSp
Definition alignmentmethod.h:42
quantificationmethod.h