libpappsomspp
Library for mass spectrometry
Toggle main menu visibility
Loading...
Searching...
No Matches
enzymeproductinterface.h
Go to the documentation of this file.
1
2
/*******************************************************************************
3
* Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
4
*
5
* This file is part of the PAPPSOms++ library.
6
*
7
* PAPPSOms++ is free software: you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published by
9
* the Free Software Foundation, either version 3 of the License, or
10
* (at your option) any later version.
11
*
12
* PAPPSOms++ is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with PAPPSOms++. If not, see <http://www.gnu.org/licenses/>.
19
*
20
* Contributors:
21
* Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and
22
*implementation
23
******************************************************************************/
24
25
#pragma once
26
27
#include "
protein.h
"
28
#include "
../peptide/peptide.h
"
29
#include <QStringList>
30
31
namespace
pappso
32
{
33
class
EnzymeProductInterface
34
{
35
public
:
36
/** @brief function to give the products of a protein digestion by an enzyme
37
* @param sequence_database_id integer that references the sequence fatabase
38
* (file, stream, url...)
39
* @param protein_sp shared pointer on the protein that was digested
40
* @param is_decoy tell if the current protein is a decoy (true) or normal
41
* (false) protein
42
* @param peptide amino acid sequence of the peptide (string) produced by the
43
* digestion
44
* @param start the position of the first amino acid of the peptide in the
45
* original protein sequence. the first amino acid of the protein is at
46
* position 1.
47
* @param is_nter boolean to tell if the peptide is an Nter peptide (to allow
48
* Methionin Nter removal)
49
* @param missed_cleavage_number number of missed cleavage sites (that the
50
* enzyme has not cut) fot the product
51
* @param semi_enzyme boolean that tells if this peptide is the produce of a
52
* semi enzymatic lysis
53
* */
54
virtual
void
setPeptide
(std::int8_t sequence_database_id,
55
const
ProteinSp
&protein_sp,
56
bool
is_decoy,
57
const
PeptideStr
&peptide,
58
unsigned
int
start,
59
bool
is_nter,
60
unsigned
int
missed_cleavage_number,
61
bool
semi_enzyme) = 0;
62
};
63
64
class
PeptideModificatorInterface
65
{
66
public
:
67
virtual
~PeptideModificatorInterface
(){};
68
/** @brief function to give the products of modifications for a digested
69
* peptide
70
* @param sequence_database_id integer that references the sequence fatabase
71
* (file, stream, url...)
72
* @param protein_sp shared pointer on the
73
* protein that was initialy digested
74
* @param is_decoy tell if the current
75
* protein is a decoy (true) or normal (false) protein
76
* @param peptide Peptide
77
* object containing sequence and possible modifications
78
* @param start the
79
* position of the first amino acid of the peptide in the original protein
80
* sequence. the first amino acid of the protein is at position 1.
81
* @param
82
* is_nter boolean to tell if the peptide is an Nter peptide (to allow
83
* Methionin Nter removal)
84
* @param missed_cleavage_number number of missed
85
* cleavage sites (that the enzyme has not cut) fot the product
86
* @param
87
* semi_enzyme boolean that tells if this peptide is the produce of a semi
88
* enzymatic lysis
89
* */
90
virtual
void
setPeptideSp
(std::int8_t sequence_database_id,
91
const
ProteinSp
&protein_sp,
92
bool
is_decoy,
93
const
PeptideSp
&peptide_sp,
94
unsigned
int
start,
95
bool
is_nter,
96
unsigned
int
missed_cleavage_number,
97
bool
semi_enzyme) = 0;
98
};
99
100
class
PeptideSinkInterface
101
{
102
public
:
103
virtual
void
setSink
(
EnzymeProductInterface
*sink) = 0;
104
};
105
106
107
class
PeptideSpSinkInterface
108
{
109
public
:
110
virtual
void
setSink
(
PeptideModificatorInterface
*sink) = 0;
111
};
112
}
// namespace pappso
pappso::EnzymeProductInterface
Definition
enzymeproductinterface.h:34
pappso::EnzymeProductInterface::setPeptide
virtual void setPeptide(std::int8_t sequence_database_id, const ProteinSp &protein_sp, bool is_decoy, const PeptideStr &peptide, unsigned int start, bool is_nter, unsigned int missed_cleavage_number, bool semi_enzyme)=0
function to give the products of a protein digestion by an enzyme
pappso::PeptideModificatorInterface
Definition
enzymeproductinterface.h:65
pappso::PeptideModificatorInterface::setPeptideSp
virtual void setPeptideSp(std::int8_t sequence_database_id, const ProteinSp &protein_sp, bool is_decoy, const PeptideSp &peptide_sp, unsigned int start, bool is_nter, unsigned int missed_cleavage_number, bool semi_enzyme)=0
function to give the products of modifications for a digested peptide
pappso::PeptideModificatorInterface::~PeptideModificatorInterface
virtual ~PeptideModificatorInterface()
Definition
enzymeproductinterface.h:67
pappso::PeptideSinkInterface
Definition
enzymeproductinterface.h:101
pappso::PeptideSinkInterface::setSink
virtual void setSink(EnzymeProductInterface *sink)=0
pappso::PeptideSpSinkInterface
Definition
enzymeproductinterface.h:108
pappso::PeptideSpSinkInterface::setSink
virtual void setSink(PeptideModificatorInterface *sink)=0
pappso
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition
aa.cpp:39
pappso::PeptideStr
QString PeptideStr
A type definition for PeptideStr.
Definition
types.h:55
pappso::PeptideSp
std::shared_ptr< const Peptide > PeptideSp
Definition
aamodification.h:48
pappso::ProteinSp
std::shared_ptr< const Protein > ProteinSp
shared pointer on a Protein object
Definition
protein.h:47
peptide.h
protein.h
pappsomspp
core
protein
enzymeproductinterface.h
Generated on
for libpappsomspp by
1.17.0