Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages

SequestInfile.h (Maintainer: Martin Langwisch)

Go to the documentation of this file.
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