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

Method writeFromPercolator

src/openms/source/FORMAT/OSWFile.cpp:171–246  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

169 }
170
171 void OSWFile::writeFromPercolator(const std::string& in_osw,
172 const OSWFile::OSWLevel osw_level,
173 const std::map< std::string, PercolatorFeature >& features)
174 {
175 std::string table;
176 std::string create_sql;
177
178 if (osw_level == OSWLevel::MS1)
179 {
180 table = "SCORE_MS1";
181 create_sql = "DROP TABLE IF EXISTS " + table + "; " \
182 "CREATE TABLE " + table + "(" \
183 "FEATURE_ID INT NOT NULL," \
184 "SCORE DOUBLE NOT NULL," \
185 "QVALUE DOUBLE NOT NULL," \
186 "PEP DOUBLE NOT NULL);";
187
188 }
189 else if (osw_level == OSWLevel::TRANSITION)
190 {
191 table = "SCORE_TRANSITION";
192 create_sql = "DROP TABLE IF EXISTS " + table + "; " \
193 "CREATE TABLE " + table + "(" \
194 "FEATURE_ID INT NOT NULL," \
195 "TRANSITION_ID INT NOT NULL," \
196 "SCORE DOUBLE NOT NULL," \
197 "QVALUE DOUBLE NOT NULL," \
198 "PEP DOUBLE NOT NULL);";
199
200 }
201 else
202 {
203 table = "SCORE_MS2";
204 create_sql = "DROP TABLE IF EXISTS " + table + "; " \
205 "CREATE TABLE " + table + "(" \
206 "FEATURE_ID INT NOT NULL," \
207 "SCORE DOUBLE NOT NULL," \
208 "QVALUE DOUBLE NOT NULL," \
209 "PEP DOUBLE NOT NULL);";
210 }
211
212 std::vector<std::string> insert_sqls;
213 for (auto const &feat : features)
214 {
215 std::stringstream insert_sql;
216 insert_sql << "INSERT INTO " << table;
217 if (osw_level == OSWLevel::TRANSITION)
218 {
219 std::vector<String> ids;
220 String(feat.first).split("_", ids);
221 insert_sql << " (FEATURE_ID, TRANSITION_ID, SCORE, QVALUE, PEP) VALUES (";
222 insert_sql << ids[0] << ",";
223 insert_sql << ids[1] << ",";
224 }
225 else
226 {
227 insert_sql << " (FEATURE_ID, SCORE, QVALUE, PEP) VALUES (";
228 insert_sql << feat.first << ",";

Callers

nothing calls this directly

Calls 5

executeStatementMethod · 0.80
StringClass · 0.50
splitMethod · 0.45
push_backMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected