00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 // -------------------------------------------------------------------------- 00005 // OpenMS Mass Spectrometry Framework 00006 // -------------------------------------------------------------------------- 00007 // Copyright (C) 2003-2008 -- Oliver Kohlbacher, Knut Reinert 00008 // 00009 // This library is free software; you can redistribute it and/or 00010 // modify it under the terms of the GNU Lesser General Public 00011 // License as published by the Free Software Foundation; either 00012 // version 2.1 of the License, or (at your option) any later version. 00013 // 00014 // This library is distributed in the hope that it will be useful, 00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 // Lesser General Public License for more details. 00018 // 00019 // You should have received a copy of the GNU Lesser General Public 00020 // License along with this library; if not, write to the Free Software 00021 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 // 00023 // -------------------------------------------------------------------------- 00024 // $Maintainer: Martin Langwisch $ 00025 // -------------------------------------------------------------------------- 00026 00027 #ifndef OPENMS_FORMAT_SEQUESTINFILE_H 00028 #define OPENMS_FORMAT_SEQUESTINFILE_H 00029 00030 #include <OpenMS/DATASTRUCTURES/String.h> 00031 00032 #include <map> 00033 00034 00035 namespace OpenMS 00036 { 00044 class SequestInfile 00045 { 00046 public: 00048 SequestInfile(); 00049 00051 SequestInfile(const SequestInfile& sequest_infile); 00052 00054 virtual ~SequestInfile(); 00055 00057 SequestInfile& operator=(const SequestInfile& sequest_infile); 00058 00060 bool operator==(const SequestInfile& sequest_infile) const; 00061 00063 void store(const String& filename) throw (Exception::UnableToCreateFile); 00064 00066 const String getEnzymeInfoAsString() const; 00067 00069 const String& getDatabase() const; 00071 void setDatabase(const String& database); 00072 00074 const String& getNeutralLossesForIons() const; 00076 void setNeutralLossesForIons(const String& neutral_losses_for_ions); 00077 00079 const String& getIonSeriesWeights() const; 00081 void setIonSeriesWeights(const String& ion_series_weights); 00082 00084 const String& getPartialSequence() const; 00086 void setPartialSequence(const String& partial_sequence); 00087 00089 const String& getSequenceHeaderFilter() const; 00091 void setSequenceHeaderFilter(const String& sequence_header_filter); 00092 00094 const String& getProteinMassFilter() const; 00096 void setProteinMassFilter(const String& protein_mass_filter); 00097 00098 00100 Real getPeakMassTolerance() const; 00102 void setPeakMassTolerance(Real peak_mass_tolerance); 00103 00105 Real getPrecursorMassTolerance() const; 00107 void setPrecursorMassTolerance(Real precursor_mass_tolerance); 00108 00110 Real getMatchPeakTolerance() const; 00112 void setMatchPeakTolerance(Real match_peak_tolerance); 00113 00115 Real getIonCutoffPercentage() const; 00117 void setIonCutoffPercentage(Real ion_cutoff_percentage); 00118 00120 UInt getPeptideMassUnit() const; 00122 void setPeptideMassUnit(UInt peptide_mass_unit); 00123 00125 UInt getOutputLines() const; 00127 void setOutputLines(UInt output_lines); 00128 00130 UInt getEnzymeNumber() const; 00132 String getEnzymeName() const; 00134 UInt setEnzyme(String enzyme_name); 00135 00137 UInt getMaxAAPerModPerPeptide() const; 00139 void setMaxAAPerModPerPeptide(UInt max_aa_per_mod_per_peptide); 00140 00142 UInt getMaxModsPerPeptide() const; 00144 void setMaxModsPerPeptide(UInt max_mods_per_peptide); 00145 00147 UInt getNucleotideReadingFrame() const; 00159 void setNucleotideReadingFrame(UInt nucleotide_reading_frame); 00160 00162 UInt getMaxInternalCleavageSites() const; 00164 void setMaxInternalCleavageSites(UInt max_internal_cleavage_sites); 00165 00167 UInt getMatchPeakCount() const; 00169 void setMatchPeakCount(UInt match_peak_count); 00170 00172 UInt getMatchPeakAllowedError() const; 00174 void setMatchPeakAllowedError(UInt match_peak_allowed_error); 00175 00176 00178 bool getShowFragmentIons() const; 00180 void setShowFragmentIons(bool show_fragments); 00181 00183 bool getPrintDuplicateReferences() const; 00185 void setPrintDuplicateReferences(bool print_duplicate_references); 00186 00188 bool getRemovePrecursorNearPeaks() const; 00190 void setRemovePrecursorNearPeaks(bool remove_precursor_near_peaks); 00191 00193 bool getMassTypeParent() const; 00195 void setMassTypeParent(bool mass_type_parent); 00196 00198 bool getMassTypeFragment() const; 00200 void setMassTypeFragment(bool mass_type_fragment); 00201 00203 bool getNormalizeXcorr() const; 00205 void setNormalizeXcorr(bool normalize_xcorr); 00206 00208 bool getResiduesInUpperCase() const; 00210 void setResiduesInUpperCase(bool residues_in_upper_case); 00211 00215 void addEnzymeInfo(std::vector< String >& enzyme_info); 00216 00218 const std::map< String, std::vector< String > >& getModifications() const; 00219 00221 void handlePTMs(const String& modification_line, const String& modifications_filename, const bool monoisotopic) throw (Exception::FileNotReadable, Exception::FileNotFound, Exception::ParseError); 00222 00223 protected: 00225 const std::map< String, std::vector< String > >& getEnzymeInfo_() const; 00226 00228 void setStandardEnzymeInfo_(); 00229 00231 static const String aas_single_letter_; 00232 00233 std::map< String, std::vector< String > > enzyme_info_; 00234 String database_; 00235 String snd_database_; 00236 String neutral_losses_for_ions_; 00237 String ion_series_weights_; 00238 String partial_sequence_; 00239 String sequence_header_filter_; 00240 String protein_mass_filter_; 00241 00242 Real precursor_mass_tolerance_; 00243 Real peak_mass_tolerance_; 00244 Real match_peak_tolerance_; 00245 Real ion_cutoff_percentage_; 00246 00247 UInt peptide_mass_unit_; 00248 UInt output_lines_; 00249 UInt enzyme_number_; 00250 UInt max_AA_per_mod_per_peptide_; 00251 UInt max_mods_per_peptide_; 00252 UInt nucleotide_reading_frame_; 00253 00254 00255 00256 00257 00258 00259 00260 00261 00262 00263 UInt max_internal_cleavage_sites_; 00264 UInt match_peak_count_; 00265 UInt match_peak_allowed_error_; 00266 00267 00268 bool show_fragment_ions_; 00269 bool print_duplicate_references_; 00270 bool remove_precursor_near_peaks_; 00271 bool mass_type_parent_; 00272 bool mass_type_fragment_; 00273 bool normalize_xcorr_; 00274 bool residues_in_upper_case_; 00275 00276 std::map< String, std::vector< String > > PTMname_residues_mass_type_; 00277 }; 00278 00279 } // namespace OpenMS 00280 00281 #endif // OPENMS_FORMAT_SEQUESTINFILE_H
Generated Tue Apr 1 15:36:37 2008 -- using doxygen 1.5.4 | OpenMS / TOPP 1.1 |