OpenMS  2.4.0
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-2018.
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:
55  SequestInfile();
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 
76  const String getEnzymeInfoAsString() const;
77 
79  const String & getDatabase() const;
81  void setDatabase(const String & database);
82 
84  const String & getNeutralLossesForIons() const;
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 
99  const String & getSequenceHeaderFilter() const;
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 
115  float getPrecursorMassTolerance() const;
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 
130  Size getPeptideMassUnit() const;
132  void setPeptideMassUnit(Size peptide_mass_unit);
133 
135  Size getOutputLines() const;
137  void setOutputLines(Size output_lines);
138 
140  Size getEnzymeNumber() const;
142  String getEnzymeName() const;
144  Size setEnzyme(String enzyme_name);
145 
147  Size getMaxAAPerModPerPeptide() const;
149  void setMaxAAPerModPerPeptide(Size max_aa_per_mod_per_peptide);
150 
152  Size getMaxModsPerPeptide() const;
154  void setMaxModsPerPeptide(Size max_mods_per_peptide);
155 
157  Size getNucleotideReadingFrame() const;
169  void setNucleotideReadingFrame(Size nucleotide_reading_frame);
170 
172  Size getMaxInternalCleavageSites() const;
174  void setMaxInternalCleavageSites(Size max_internal_cleavage_sites);
175 
177  Size getMatchPeakCount() const;
179  void setMatchPeakCount(Size match_peak_count);
180 
182  Size getMatchPeakAllowedError() const;
184  void setMatchPeakAllowedError(Size match_peak_allowed_error);
185 
186 
188  bool getShowFragmentIons() const;
190  void setShowFragmentIons(bool show_fragments);
191 
193  bool getPrintDuplicateReferences() const;
195  void setPrintDuplicateReferences(bool print_duplicate_references);
196 
198  bool getRemovePrecursorNearPeaks() const;
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 
218  bool getResiduesInUpperCase() const;
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 
248  void setStandardEnzymeInfo_();
249 
250  std::map<String, std::vector<String> > enzyme_info_;
258 
263 
270  Size max_internal_cleavage_sites_;
283 
284 
292 
293  std::map<String, std::vector<String> > PTMname_residues_mass_type_;
294  };
295 
296 } // namespace OpenMS
297 
bool normalize_xcorr_
whether to display normalized xcorr values
Definition: SequestInfile.h:290
String database_
database used
Definition: SequestInfile.h:251
bool residues_in_upper_case_
whether residues are in upper case
Definition: SequestInfile.h:291
A more convenient string class.
Definition: String.h:57
Size enzyme_number_
number of the enzyme used for cleavage
Definition: SequestInfile.h:266
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
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
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
String partial_sequence_
space-delimited list of sequence parts that have to occur in the theoretical spectra ...
Definition: SequestInfile.h:255
bool mass_type_parent_
mass type of the parent peak (0 - monoisotopic; 1 - average)
Definition: SequestInfile.h:288
Size nucleotide_reading_frame_
Definition: SequestInfile.h:269
bool operator==(_Iterator< _Val, _Ref, _Ptr > const &, _Iterator< _Val, _Ref, _Ptr > const &)
Definition: KDTree.h:806
float precursor_mass_tolerance_
tolerance for matching a theoretical to an experimental peptide
Definition: SequestInfile.h:259
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
float match_peak_tolerance_
minimum distance between two experimental peaks
Definition: SequestInfile.h:261
bool remove_precursor_near_peaks_
whether peaks near (15 amu) the precursor peak are removed
Definition: SequestInfile.h:287
String snd_database_
second database used
Definition: SequestInfile.h:252
Size match_peak_allowed_error_
number of peaks that may lack this test
Definition: SequestInfile.h:282
Size max_AA_per_mod_per_peptide_
maximum number of amino acids containing the same modification in a peptide
Definition: SequestInfile.h:267
float ion_cutoff_percentage_
cutoff of the ratio matching theoretical peaks/theoretical peaks
Definition: SequestInfile.h:262
Size max_mods_per_peptide_
maximum number of modifications per peptide
Definition: SequestInfile.h:268
Size output_lines_
number of peptides to be displayed
Definition: SequestInfile.h:265
bool show_fragment_ions_
whether to display fragment ions
Definition: SequestInfile.h:285
float peak_mass_tolerance_
tolerance for matching a theoretical to an experimental peak
Definition: SequestInfile.h:260
Size match_peak_count_
number of the top abundant peaks to match with theoretical one
Definition: SequestInfile.h:281
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
bool print_duplicate_references_
whether all proteins containing a found peptide should be displayed
Definition: SequestInfile.h:286
String protein_mass_filter_
Definition: SequestInfile.h:257
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
Sequest input file adapter.
Definition: SequestInfile.h:51
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 peptide_mass_unit_
peptide mass unit (0 = amu; 1 = mmu; 2 = ppm)
Definition: SequestInfile.h:264
bool mass_type_fragment_
mass type of fragment peaks (0 - monoisotopic; 1 - average)
Definition: SequestInfile.h:289