libpappsomspp
Library for mass spectrometry
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
31namespace pappso
32{
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
65{
66 public:
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
101{
102 public:
103 virtual void setSink(EnzymeProductInterface *sink) = 0;
104};
105
106
108{
109 public:
110 virtual void setSink(PeptideModificatorInterface *sink) = 0;
111};
112} // namespace pappso
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
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
virtual void setSink(EnzymeProductInterface *sink)=0
virtual void setSink(PeptideModificatorInterface *sink)=0
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
Definition aa.cpp:39
QString PeptideStr
A type definition for PeptideStr.
Definition types.h:45
std::shared_ptr< const Peptide > PeptideSp
std::shared_ptr< const Protein > ProteinSp
shared pointer on a Protein object
Definition protein.h:47
peptide model
object to handle a protein