OpenMS
SequestInfile.h
Go to the documentation of this file.
1 // --------------------------------------------------------------------------
2 // OpenMS -- Open-Source Mass Spectrometry
3 // --------------------------------------------------------------------------
4 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5 // ETH Zurich, and Freie Universitaet Berlin 2002-2023.
6 //
7 // This software is released under a three-clause BSD license:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of any author or any participating institution
14 // may be used to endorse or promote products derived from this software
15 // without specific prior written permission.
16 // For a full list of authors, refer to the file AUTHORS.
17 // --------------------------------------------------------------------------
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // --------------------------------------------------------------------------
31 // $Maintainer: Timo Sachsenberg $
32 // $Authors: Martin Langwisch $
33 // --------------------------------------------------------------------------
34 
35 #pragma once
36 
38 
39 #include <map>
40 
41 
42 namespace OpenMS
43 {
51  class OPENMS_DLLAPI SequestInfile
52  {
53 public:
56 
58  SequestInfile(const SequestInfile & sequest_infile);
59 
61  virtual ~SequestInfile();
62 
64  SequestInfile & operator=(const SequestInfile & sequest_infile);
65 
67  bool operator==(const SequestInfile & sequest_infile) const;
68 
73  void store(const String & filename);
74 
77 
79  const String & getDatabase() const;
81  void setDatabase(const String & database);
82 
86  void setNeutralLossesForIons(const String & neutral_losses_for_ions);
87 
89  const String & getIonSeriesWeights() const;
91  void setIonSeriesWeights(const String & ion_series_weights);
92 
94  const String & getPartialSequence() const;
96  void setPartialSequence(const String & partial_sequence);
97 
101  void setSequenceHeaderFilter(const String & sequence_header_filter);
102 
104  const String & getProteinMassFilter() const;
106  void setProteinMassFilter(const String & protein_mass_filter);
107 
108 
110  float getPeakMassTolerance() const;
112  void setPeakMassTolerance(float peak_mass_tolerance);
113 
117  void setPrecursorMassTolerance(float precursor_mass_tolerance);
118 
120  float getMatchPeakTolerance() const;
122  void setMatchPeakTolerance(float match_peak_tolerance);
123 
125  float getIonCutoffPercentage() const;
127  void setIonCutoffPercentage(float ion_cutoff_percentage);
128 
132  void setPeptideMassUnit(Size peptide_mass_unit);
133 
137  void setOutputLines(Size output_lines);
138 
144  Size setEnzyme(const String& enzyme_name);
145 
149  void setMaxAAPerModPerPeptide(Size max_aa_per_mod_per_peptide);
150 
154  void setMaxModsPerPeptide(Size max_mods_per_peptide);
155 
169  void setNucleotideReadingFrame(Size nucleotide_reading_frame);
170 
174  void setMaxInternalCleavageSites(Size max_internal_cleavage_sites);
175 
179  void setMatchPeakCount(Size match_peak_count);
180 
184  void setMatchPeakAllowedError(Size match_peak_allowed_error);
185 
186 
188  bool getShowFragmentIons() const;
190  void setShowFragmentIons(bool show_fragments);
191 
195  void setPrintDuplicateReferences(bool print_duplicate_references);
196 
200  void setRemovePrecursorNearPeaks(bool remove_precursor_near_peaks);
201 
203  bool getMassTypeParent() const;
205  void setMassTypeParent(bool mass_type_parent);
206 
208  bool getMassTypeFragment() const;
210  void setMassTypeFragment(bool mass_type_fragment);
211 
213  bool getNormalizeXcorr() const;
215  void setNormalizeXcorr(bool normalize_xcorr);
216 
220  void setResiduesInUpperCase(bool residues_in_upper_case);
221 
225  void addEnzymeInfo(std::vector<String> & enzyme_info);
226 
228  const std::map<String, std::vector<String> > & getModifications() const;
229 
241  void handlePTMs(const String & modification_line, const String & modifications_filename, const bool monoisotopic);
242 
243 protected:
245  const std::map<String, std::vector<String> > & getEnzymeInfo_() const;
246 
249 
250  std::map<String, std::vector<String> > enzyme_info_;
258 
263 
283 
284 
292 
293  std::map<String, std::vector<String> > PTMname_residues_mass_type_;
294  };
295 
296 } // namespace OpenMS
297 
Sequest input file adapter.
Definition: SequestInfile.h:52
void setShowFragmentIons(bool show_fragments)
sets whether fragment ions shall be displayed
String protein_mass_filter_
Definition: SequestInfile.h:257
void setIonSeriesWeights(const String &ion_series_weights)
sets the weights for the a-, b-, c-, d-, v-, w-, x-, y- and z-ion series
Size getMaxInternalCleavageSites() const
returns the maximum number of internal cleavage sites
void setOutputLines(Size output_lines)
sets the number of peptides to be displayed
void handlePTMs(const String &modification_line, const String &modifications_filename, const bool monoisotopic)
bool getResiduesInUpperCase() const
returns whether residues are in upper case
void setMatchPeakTolerance(float match_peak_tolerance)
sets the match peak tolerance
float match_peak_tolerance_
minimum distance between two experimental peaks
Definition: SequestInfile.h:261
void setMatchPeakAllowedError(Size match_peak_allowed_error)
sets the number of top abundant peaks that are allowed not to match with a theoretical peak
void setMaxAAPerModPerPeptide(Size max_aa_per_mod_per_peptide)
sets the maximum number of amino acids containing the same modification in a peptide
Size max_mods_per_peptide_
maximum number of modifications per peptide
Definition: SequestInfile.h:268
const String & getPartialSequence() const
returns the partial sequences (space delimited) that have to occur in the theoretical spectra
const String & getDatabase() const
returns the used database
SequestInfile & operator=(const SequestInfile &sequest_infile)
assignment operator
Size getMaxModsPerPeptide() const
returns the maximum number of modifications that are allowed in a peptide
Size output_lines_
number of peptides to be displayed
Definition: SequestInfile.h:265
void setPeakMassTolerance(float peak_mass_tolerance)
sets the peak mass tolerance
void setIonCutoffPercentage(float ion_cutoff_percentage)
sets the ion cutoff of the ratio matching theoretical peaks/theoretical peaks
void addEnzymeInfo(std::vector< String > &enzyme_info)
void setNucleotideReadingFrame(Size nucleotide_reading_frame)
void setResiduesInUpperCase(bool residues_in_upper_case)
sets whether residues are in upper case
void setPrintDuplicateReferences(bool print_duplicate_references)
sets whether all proteins containing a found peptide should be displayed
void setMaxModsPerPeptide(Size max_mods_per_peptide)
set the maximum number of modifications that are allowed in a peptide
const String & getNeutralLossesForIons() const
returns whether neutral losses are considered for the a-, b- and y-ions
float ion_cutoff_percentage_
cutoff of the ratio matching theoretical peaks/theoretical peaks
Definition: SequestInfile.h:262
const std::map< String, std::vector< String > > & getModifications() const
return the modifications (the modification names map to the affected residues, the mass change and th...
void setProteinMassFilter(const String &protein_mass_filter)
sets the protein mass filter (either min and max mass, or mass and tolerance value in percent)
String ion_series_weights_
weights for the a-; b-; c-; d-; v-; w-; x-; y- and z-ion series; space delimited
Definition: SequestInfile.h:254
float getPrecursorMassTolerance() const
returns the precursor mass tolerance
float precursor_mass_tolerance_
tolerance for matching a theoretical to an experimental peptide
Definition: SequestInfile.h:259
Size getEnzymeNumber() const
returns the enzyme used for cleavage (by means of the number from a list of enzymes)
void store(const String &filename)
bool getRemovePrecursorNearPeaks() const
return whether peaks near (15 amu) the precursor peak are removed
void setRemovePrecursorNearPeaks(bool remove_precursor_near_peaks)
sets whether peaks near (15 amu) the precursor peak are removed
bool residues_in_upper_case_
whether residues are in upper case
Definition: SequestInfile.h:291
const std::map< String, std::vector< String > > & getEnzymeInfo_() const
returns the enzyme list
Size max_internal_cleavage_sites_
maximum number of internal cleavage sites
Definition: SequestInfile.h:280
float getIonCutoffPercentage() const
returns the the cutoff of the ratio matching theoretical peaks/theoretical peaks
const String & getProteinMassFilter() const
returns the protein mass filter (either min and max mass, or mass and tolerance value in percent)
Size nucleotide_reading_frame_
Definition: SequestInfile.h:269
float peak_mass_tolerance_
tolerance for matching a theoretical to an experimental peak
Definition: SequestInfile.h:260
Size getPeptideMassUnit() const
returns the peptide mass unit
String neutral_losses_for_ions_
whether neutral losses are considered for the a-; b- and y-ions (e.g. 011 for b- and y-ions)
Definition: SequestInfile.h:253
void setSequenceHeaderFilter(const String &sequence_header_filter)
sets the sequences (space delimited) that have to occur, or be absent (preceded by a tilde) in the he...
Size getMatchPeakCount() const
returns the number of top abundant peaks to match with theoretical ones
float getMatchPeakTolerance() const
returns the match peak tolerance
void setMassTypeParent(bool mass_type_parent)
sets the mass type of the parent (0 - monoisotopic, 1 - average mass)
bool getNormalizeXcorr() const
returns whether normalized xcorr values are displayed
Size peptide_mass_unit_
peptide mass unit (0 = amu; 1 = mmu; 2 = ppm)
Definition: SequestInfile.h:264
bool remove_precursor_near_peaks_
whether peaks near (15 amu) the precursor peak are removed
Definition: SequestInfile.h:287
String partial_sequence_
space-delimited list of sequence parts that have to occur in the theoretical spectra
Definition: SequestInfile.h:255
bool show_fragment_ions_
whether to display fragment ions
Definition: SequestInfile.h:285
void setMatchPeakCount(Size match_peak_count)
sets the number of top abundant peaks to with theoretical ones
std::map< String, std::vector< String > > enzyme_info_
an endline-delimited list of enzymes; each with cutting direction 0 (N to C) /1; cuts after (list of ...
Definition: SequestInfile.h:250
Size getMaxAAPerModPerPeptide() const
returns the maximum number of amino acids containing the same modification in a peptide
String sequence_header_filter_
space-delimited list of sequences that have to occur or be absent (preceded by a tilde) in a protein ...
Definition: SequestInfile.h:256
Size match_peak_count_
number of the top abundant peaks to match with theoretical one
Definition: SequestInfile.h:281
SequestInfile()
default constructor
bool operator==(const SequestInfile &sequest_infile) const
equality operator
String snd_database_
second database used
Definition: SequestInfile.h:252
void setNormalizeXcorr(bool normalize_xcorr)
sets whether normalized xcorr values are displayed
bool mass_type_parent_
mass type of the parent peak (0 - monoisotopic; 1 - average)
Definition: SequestInfile.h:288
void setStandardEnzymeInfo_()
returns some standard enzymes (used to initialize the enzyme list)
String database_
database used
Definition: SequestInfile.h:251
String getEnzymeName() const
returns the enzyme used for cleavage
Size enzyme_number_
number of the enzyme used for cleavage
Definition: SequestInfile.h:266
bool print_duplicate_references_
whether all proteins containing a found peptide should be displayed
Definition: SequestInfile.h:286
const String & getIonSeriesWeights() const
returns the weights for the a-, b-, c-, d-, v-, w-, x-, y- and z-ion series
Size getNucleotideReadingFrame() const
returns the nucleotide reading frame
void setPrecursorMassTolerance(float precursor_mass_tolerance)
sets the precursor mass tolerance
Size getMatchPeakAllowedError() const
returns the number of top abundant peaks that are allowed not to match with a theoretical peak
std::map< String, std::vector< String > > PTMname_residues_mass_type_
the modification names map to the affected residues, the mass change and the type
Definition: SequestInfile.h:293
void setPartialSequence(const String &partial_sequence)
sets the partial sequences (space delimited) that have to occur in the theoretical spectra
virtual ~SequestInfile()
destructor
bool mass_type_fragment_
mass type of fragment peaks (0 - monoisotopic; 1 - average)
Definition: SequestInfile.h:289
bool getShowFragmentIons() const
returns whether fragment ions shall be displayed
void setDatabase(const String &database)
sets the used database
Size match_peak_allowed_error_
number of peaks that may lack this test
Definition: SequestInfile.h:282
void setMassTypeFragment(bool mass_type_fragment)
sets the mass type of the fragments (0 - monoisotopic, 1 - average mass)
Size setEnzyme(const String &enzyme_name)
sets the enzyme used for cleavage (by means of the number from a list of enzymes)
bool getMassTypeFragment() const
return the mass type of the fragments (0 - monoisotopic, 1 - average mass)
float getPeakMassTolerance() const
returns the peak mass tolerance
void setNeutralLossesForIons(const String &neutral_losses_for_ions)
sets whether neutral losses are considered for the a-, b- and y-ions
bool getPrintDuplicateReferences() const
returns whether all proteins containing a found peptide should be displayed
bool normalize_xcorr_
whether to display normalized xcorr values
Definition: SequestInfile.h:290
const String & getSequenceHeaderFilter() const
returns the sequences (space delimited) that have to occur, or be absent (preceded by a tilde) in the...
void setPeptideMassUnit(Size peptide_mass_unit)
sets the peptide mass unit
Size max_AA_per_mod_per_peptide_
maximum number of amino acids containing the same modification in a peptide
Definition: SequestInfile.h:267
SequestInfile(const SequestInfile &sequest_infile)
copy constructor
const String getEnzymeInfoAsString() const
returns the enzyme list as a string
bool getMassTypeParent() const
return the mass type of the parent (0 - monoisotopic, 1 - average mass)
Size getOutputLines() const
return the number of peptides to be displayed
void setMaxInternalCleavageSites(Size max_internal_cleavage_sites)
sets the maximum number of internal cleavage sites
A more convenient string class.
Definition: String.h:60
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:48