42 throw PappsoException(QObject::tr(
"unable to copy PeptideModificatorPipeline object"));
85 QObject::tr(
"Please use setSink before addLabeledModificationString function"));
121 QObject::tr(
"Unable to add fixed modification string after "
122 "addLabeledModificationString function"));
124 QStringList mod_list_str = mod_str.simplified().replace(
" ",
"").split(
",", Qt::SkipEmptyParts);
125 for(
auto i = 0; i < mod_list_str.size(); ++i)
139 QStringList str_split = mod_str.split(
"@", Qt::SkipEmptyParts);
191 QObject::tr(
"Unable to add potential modification string after "
192 "addLabeledModificationString function"));
195 QStringList mod_list_str = mod_str.simplified().replace(
" ",
"").split(
",", Qt::SkipEmptyParts);
196 for(
auto i = 0; i < mod_list_str.size(); ++i)
210 QStringList str_split = mod_str.split(
"@", Qt::SkipEmptyParts);
212 QString mod_acc_str = str_split[0];
213 QStringList str_acc_split = mod_acc_str.split(
"(", Qt::SkipEmptyParts);
219 if(str_acc_split.length() == 2)
221 QStringList max_num_str_list =
222 str_acc_split[1].replace(
")",
"").split(
"-", Qt::SkipEmptyParts);
223 if(max_num_str_list.length() == 1)
227 else if(max_num_str_list.length() == 2)
260 QObject::tr(
"Please use setSink before addLabeledModificationString function"));
279 QStringList mod_list_str = mod_str.simplified().replace(
" ",
"").split(
",", Qt::SkipEmptyParts);
280 for(
auto i = 0; i < mod_list_str.size(); ++i)
305 QStringList str_split = mod_str.split(
"@", Qt::SkipEmptyParts);
330 unsigned int missed_cleavage_number,
335 m_sink->setPeptideSp(sequence_database_id,
341 missed_cleavage_number,
352 missed_cleavage_number,
362 const QString &peptide_str,
365 unsigned int missed_cleavage_number,
369 qDebug() <<
"PeptideModificatorPipeline::setPeptide begin";
375 qDebug() <<
"PeptideModificatorPipeline::setPeptide m_sink->setPeptideSp";
382 missed_cleavage_number,
384 qDebug() <<
"PeptideModificatorPipeline::setPeptide end";
static AaModificationP getInstance(const QString &accession)
void setProtElse(bool arg1)
this modification concerns all peptides between Nter and Cter
void setProtCter(bool arg1)
this modification concerns the Cter peptide
void setSink(PeptideModificatorInterface *sink) override
void setProtNter(bool arg1)
this modification concerns the Nter peptide
virtual void setModificationPattern(QString &pattern) final
set the pattern on which the modification will be applied (usually the list of concerned AA)
PeptideModificatorInterface * m_sink
void addFixedNterModificationString(const QString &mod_str)
PeptideModificatorPipeline()
void addPotentialCterModificationString(const QString &mod_str)
void parsePotentialModification(const QString &mod_str, bool Nter, bool Cter, bool else_prot)
void addLabeledModificationString(const QString &mod_str)
virtual ~PeptideModificatorPipeline()
void setSink(PeptideModificatorInterface *sink) override
void parseLabeledModification(const QString &mod_str, bool Nter, bool Cter, bool else_prot)
void privAddFixedModificationString(const QString &mod_str, bool Nter, bool Cter, bool else_prot)
void privAddPotentialModificationString(const QString &mod_str, bool Nter, bool Cter, bool else_prot)
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
void addFixedModificationString(const QString &mod_str)
std::vector< PeptideModificatorInterface * > m_pepModificatorPtrList
PeptideModificatorInterface * mp_firstModificator
void setPeptide(std::int8_t sequence_database_id, const ProteinSp &protein_sp, bool is_decoy, const QString &peptide_str, unsigned int start, bool is_nter, unsigned int missed_cleavage_number, bool semi_enzyme) override
function to give the products of a protein digestion by an enzyme
PeptideSpSinkInterface * mp_lastPeptideSinkInterface
PeptideModificatorTee * mp_peptideModificatorTee
void addFixedCterModificationString(const QString &mod_str)
void addPotentialNterModificationString(const QString &mod_str)
void addPotentialModificationString(const QString &mod_str)
void parseFixedModification(const QString &mod_str, bool Nter, bool Cter, bool else_prot)
Modify a peptide shared pointer with a variable modification on one AA.
void setSink(PeptideModificatorInterface *sink) override
void setMinNumberMod(unsigned int min_num)
void setMaxNumberMod(unsigned int max_num)
void setModificationCounter(unsigned int counter)
void setProtNter(bool arg1)
this modification concerns the Nter peptide
void setProtElse(bool arg1)
this modification concerns all peptides between Nter and Cter
void setProtCter(bool arg1)
this modification concerns the Cter peptide
PeptideSp makePeptideSp() const
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
std::shared_ptr< const Peptide > PeptideSp
const AaModification * AaModificationP
std::shared_ptr< const Protein > ProteinSp
shared pointer on a Protein object