MCPcopy Create free account
hub / github.com/OpenMS/OpenMS / main_

Method main_

src/topp/SpectraMerger.cpp:87–166  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

85 }
86
87 ExitCodes main_(int, const char **) override
88 {
89 //-------------------------------------------------------------
90 // parsing parameters
91 //-------------------------------------------------------------
92 String in(getStringOption_("in"));
93 String out(getStringOption_("out"));
94 String merging_method(getStringOption_("merging_method"));
95
96 //-------------------------------------------------------------
97 // reading input
98 //-------------------------------------------------------------
99
100 FileHandler fh;
101 FileTypes::Type in_type = fh.getType(in);
102
103 PeakMap exp;
104 fh.loadExperiment(in, exp, in_type, log_type_);
105 exp.sortSpectra();
106 exp.updateRanges();
107
108 auto levels = exp.getMSLevels();
109 if (levels.empty()) throw Exception::InvalidSize(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION, levels.size());
110 int min_ms_level = levels.front();
111 int max_ms_level = levels.back();
112 //-------------------------------------------------------------
113 // calculations
114 //-------------------------------------------------------------
115
116 SpectraMerger merger;
117 merger.setLogType(log_type_);
118 merger.setParameters(getParam_().copy("algorithm:", true));
119 if (merging_method == "precursor_method")
120 {
121 merger.mergeSpectraPrecursors(exp);
122 }
123 else if (merging_method == "block_method")
124 {
125 merger.mergeSpectraBlockWise(exp);
126 }
127 else if (merging_method == "average_gaussian")
128 {
129 int ms_level = merger.getParameters().getValue("average_gaussian:ms_level");
130 if (ms_level == 0)
131 {
132 for (int tmp_ms_level = min_ms_level; tmp_ms_level <= max_ms_level; tmp_ms_level++)
133 {
134 merger.average(exp, "gaussian", tmp_ms_level);
135 }
136 }
137 else
138 {
139 merger.average(exp, "gaussian", ms_level);
140 }
141 }
142 else if (merging_method == "average_tophat")
143 {
144 int ms_level = merger.getParameters().getValue("average_tophat:ms_level");

Callers

nothing calls this directly

Calls 14

loadExperimentMethod · 0.80
sortSpectraMethod · 0.80
frontMethod · 0.80
backMethod · 0.80
setLogTypeMethod · 0.80
setParametersMethod · 0.80
storeExperimentMethod · 0.80
getTypeMethod · 0.45
updateRangesMethod · 0.45
emptyMethod · 0.45
sizeMethod · 0.45
copyMethod · 0.45

Tested by

no test coverage detected