Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef OPENMS_METADATA_MSQUANTIFICATIONS_H
00036 #define OPENMS_METADATA_MSQUANTIFICATIONS_H
00037
00038 #include <OpenMS/METADATA/ExperimentalSettings.h>
00039 #include <OpenMS/CONCEPT/Exception.h>
00040 #include <OpenMS/KERNEL/ConsensusMap.h>
00041
00042 #include <OpenMS/KERNEL/FeatureMap.h>
00043 #include <OpenMS/KERNEL/MSExperiment.h>
00044 #include <OpenMS/METADATA/DataProcessing.h>
00045
00046 #include <vector>
00047 #include <map>
00048
00049 namespace OpenMS
00050 {
00051 class OPENMS_DLLAPI MSQuantifications :
00052 public ExperimentalSettings
00053 {
00054 public:
00056
00057
00058 typedef CVTermList ParamGroupList;
00059
00060 enum QUANT_TYPES {MS1LABEL = 0, MS2LABEL, LABELFREE, SIZE_OF_QUANT_TYPES};
00061 static const std::string NamesOfQuantTypes[SIZE_OF_QUANT_TYPES];
00062
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094 struct AnalysisSummary
00095 {
00096 AnalysisSummary()
00097 {
00098 }
00099
00100 AnalysisSummary(const AnalysisSummary & rhs) :
00101 cv_params_(rhs.cv_params_)
00102 {
00103 user_params_ = rhs.user_params_;
00104 quant_type_ = rhs.quant_type_;
00105 }
00106
00107 virtual ~AnalysisSummary()
00108 {
00109 }
00110
00111 AnalysisSummary & operator=(const AnalysisSummary & rhs)
00112 {
00113 if (&rhs != this)
00114 {
00115 cv_params_ = rhs.cv_params_;
00116 user_params_ = rhs.user_params_;
00117 quant_type_ = rhs.quant_type_;
00118 }
00119 return *this;
00120 }
00121
00122 MetaInfo user_params_;
00123 CVTermList cv_params_;
00124 QUANT_TYPES quant_type_;
00125 };
00126
00127 struct Assay
00128 {
00129 Assay()
00130 {
00131 }
00132
00133 Assay(const Assay & rhs)
00134 {
00135 uid_ = rhs.uid_;
00136 mods_ = rhs.mods_;
00137 raw_files_ = rhs.raw_files_;
00138 feature_maps_ = rhs.feature_maps_;
00139 }
00140
00141 virtual ~Assay()
00142 {
00143 }
00144
00145 Assay & operator=(const Assay & rhs)
00146 {
00147 if (&rhs != this)
00148 {
00149 uid_ = rhs.uid_;
00150 mods_ = rhs.mods_;
00151 raw_files_ = rhs.raw_files_;
00152 feature_maps_ = rhs.feature_maps_;
00153 }
00154 return *this;
00155 }
00156
00157 String uid_;
00158 std::vector<std::pair<String, DoubleReal> > mods_;
00159 std::vector<ExperimentalSettings> raw_files_;
00160 std::map<size_t, FeatureMap<> > feature_maps_;
00161 };
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00184 MSQuantifications();
00185
00187 ~MSQuantifications();
00188
00190 MSQuantifications(const MSQuantifications & source);
00191
00193 MSQuantifications & operator=(const MSQuantifications & source);
00194
00196 bool operator==(const MSQuantifications & rhs) const;
00197
00199 bool operator!=(const MSQuantifications & rhs) const;
00200
00212 void load(const String & filename, bool trim_lines = false, Int first_n = -1);
00213
00214 const std::vector<DataProcessing> getDataProcessingList() const;
00215 const std::vector<Assay> & getAssays() const;
00216 std::vector<Assay> & getAssays();
00217 std::map<String, ConsensusFeature::Ratio> & getRatios();
00218 const std::vector<ConsensusMap> & getConsensusMaps() const;
00219 std::vector<ConsensusMap> & getConsensusMaps();
00220 const std::vector<FeatureMap<> > & getFeatureMaps() const;
00221 const AnalysisSummary & getAnalysisSummary() const;
00222 AnalysisSummary & getAnalysisSummary();
00223 void setDataProcessingList(std::vector<DataProcessing> & dpl);
00224 void setAnalysisSummaryQuantType(QUANT_TYPES r);
00225 void addConsensusMap(ConsensusMap & m);
00226 void assignUIDs();
00227 void registerExperiment(MSExperiment<Peak1D> & exp, std::vector<std::vector<std::pair<String, DoubleReal> > > labels);
00228
00229 private:
00230 AnalysisSummary analysis_summary_;
00231 std::vector<MetaInfo> bibliographic_reference_;
00232 std::vector<ConsensusMap> consensus_maps_;
00233 std::vector<FeatureMap<> > feature_maps_;
00234 std::vector<Assay> assays_;
00235 std::vector<DataProcessing> data_processings_;
00236
00237 };
00238
00239 }
00240
00241 #endif // OPENMS_METADATA_MSQUANTIFICATIONS_H