Loading...
Searching...
No Matches
peptidevariablemodificationbuilder.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 "peptidemodificatorbase.h"
namespace pappso
{
/** \brief Modify a peptide shared pointer with a variable modification on one
* AA
* */
class PMSPP_LIB_DECL PeptideVariableModificationBuilder
: public PeptideModificatorBase
{
public:
PeptideVariableModificationBuilder(AaModificationP mod);
virtual ~PeptideVariableModificationBuilder();
void setPeptideSp(std::int8_t sequence_database_id,
const ProteinSp &protein_sp,
bool is_decoy,
const PeptideSp &peptide_sp_original,
unsigned int start,
bool is_nter,
unsigned int missed_cleavage_number,
bool semi_enzyme) override;
void addAa(char aa);
void
setMaxNumberMod(unsigned int max_num)
{
m_maxNumberMod = max_num;
};
void
setMinNumberMod(unsigned int min_num)
{
m_minNumberMod = min_num;
};
void
setModificationCounter(unsigned int counter)
{
m_modificationCount = counter;
};
void
setSink(PeptideModificatorInterface *sink) override
{
m_sink = sink;
};
/** \brief this modification concerns the Nter peptide
* */
void
setProtNter(bool arg1)
{
m_isProtNterMod = arg1;
};
/** \brief this modification concerns the Cter peptide
* */
void
setProtCter(bool arg1)
{
m_isProtCterMod = arg1;
};
/** \brief this modification concerns all peptides between Nter and Cter
* */
void
setProtElse(bool arg1)
{
m_isProtElseMod = arg1;
};
protected:
static bool next_combination(const std::vector<unsigned int>::iterator first,
std::vector<unsigned int>::iterator k,
const std::vector<unsigned int>::iterator last);
PeptideModificatorInterface *m_sink = nullptr;
AaModificationP mp_mod;
// minimum number of positions to modify
unsigned int m_minNumberMod = 0;
// maximum number of positions to modify
unsigned int m_maxNumberMod = 30000;
// modification counter per site
unsigned int m_modificationCount = 0;
// protein Nter modification
bool m_isProtNterMod = true;
// protein Cter modification
bool m_isProtCterMod = true;
bool m_isProtElseMod = true;
private:
QString m_aaModificationList;
};
} // namespace pappso
pappso::PeptideModificatorBase::PeptideModificatorBase
PeptideModificatorBase()
Definition peptidemodificatorbase.cpp:35
pappso::PeptideModificatorInterface
Definition enzymeproductinterface.h:65
pappso::PeptideVariableModificationBuilder::setSink
void setSink(PeptideModificatorInterface *sink) override
Definition peptidevariablemodificationbuilder.h:70
pappso::PeptideVariableModificationBuilder::mp_mod
AaModificationP mp_mod
Definition peptidevariablemodificationbuilder.h:104
pappso::PeptideVariableModificationBuilder::setMinNumberMod
void setMinNumberMod(unsigned int min_num)
Definition peptidevariablemodificationbuilder.h:59
pappso::PeptideVariableModificationBuilder::setMaxNumberMod
void setMaxNumberMod(unsigned int max_num)
Definition peptidevariablemodificationbuilder.h:54
pappso::PeptideVariableModificationBuilder::setModificationCounter
void setModificationCounter(unsigned int counter)
Definition peptidevariablemodificationbuilder.h:64
pappso::PeptideVariableModificationBuilder::setProtNter
void setProtNter(bool arg1)
this modification concerns the Nter peptide
Definition peptidevariablemodificationbuilder.h:79
pappso::PeptideVariableModificationBuilder::m_maxNumberMod
unsigned int m_maxNumberMod
Definition peptidevariablemodificationbuilder.h:108
pappso::PeptideVariableModificationBuilder::m_isProtNterMod
bool m_isProtNterMod
Definition peptidevariablemodificationbuilder.h:113
pappso::PeptideVariableModificationBuilder::setProtElse
void setProtElse(bool arg1)
this modification concerns all peptides between Nter and Cter
Definition peptidevariablemodificationbuilder.h:93
pappso::PeptideVariableModificationBuilder::m_sink
PeptideModificatorInterface * m_sink
Definition peptidevariablemodificationbuilder.h:103
pappso::PeptideVariableModificationBuilder::m_modificationCount
unsigned int m_modificationCount
Definition peptidevariablemodificationbuilder.h:110
pappso::PeptideVariableModificationBuilder::addAa
void addAa(char aa)
Definition peptidevariablemodificationbuilder.cpp:82
pappso::PeptideVariableModificationBuilder::m_isProtElseMod
bool m_isProtElseMod
Definition peptidevariablemodificationbuilder.h:117
pappso::PeptideVariableModificationBuilder::setPeptideSp
void setPeptideSp(std::int8_t sequence_database_id, const ProteinSp &protein_sp, bool is_decoy, const PeptideSp &peptide_sp_original, unsigned int start, bool is_nter, unsigned int missed_cleavage_number, bool semi_enzyme) override
function to give the products of modifications for a digested peptide
Definition peptidevariablemodificationbuilder.cpp:91
pappso::PeptideVariableModificationBuilder::setProtCter
void setProtCter(bool arg1)
this modification concerns the Cter peptide
Definition peptidevariablemodificationbuilder.h:86
pappso::PeptideVariableModificationBuilder::m_aaModificationList
QString m_aaModificationList
Definition peptidevariablemodificationbuilder.h:121
pappso::PeptideVariableModificationBuilder::m_minNumberMod
unsigned int m_minNumberMod
Definition peptidevariablemodificationbuilder.h:106
pappso::PeptideVariableModificationBuilder::PeptideVariableModificationBuilder
PeptideVariableModificationBuilder(AaModificationP mod)
Definition peptidevariablemodificationbuilder.cpp:72
pappso::PeptideVariableModificationBuilder::m_isProtCterMod
bool m_isProtCterMod
Definition peptidevariablemodificationbuilder.h:115
PMSPP_LIB_DECL
#define PMSPP_LIB_DECL
Definition export-import-config.h:14
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
pappso::PeptideSp
std::shared_ptr< const Peptide > PeptideSp
Definition aamodification.h:48
pappso::AaModificationP
const AaModification * AaModificationP
Definition aamodification.h:52
pappso::ProteinSp
std::shared_ptr< const Protein > ProteinSp
shared pointer on a Protein object
Definition protein.h:47
peptidemodificatorbase.h
base class for all peptide modification builders