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

Method loadDBSearchParams_

src/openms/source/FORMAT/OMSFileLoad.cpp:279–335  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

277
278
279 void OMSFileLoad::loadDBSearchParams_(IdentificationData& id_data)
280 {
281 if (!db_->tableExists("ID_DBSearchParam")) return;
282
283 SQLite::Statement query(*db_, "SELECT * FROM ID_DBSearchParam");
284 while (query.executeStep())
285 {
286 Key id = query.getColumn("id").getInt64();
287 ID::DBSearchParam param;
288 int molecule_type_index = query.getColumn("molecule_type_id").getInt() - 1;
289 param.molecule_type = ID::MoleculeType(molecule_type_index);
290 int mass_type_index = query.getColumn("mass_type_average").getInt();
291 param.mass_type = ID::MassType(mass_type_index);
292 param.database = query.getColumn("database").getString();
293 param.database_version = query.getColumn("database_version").getString();
294 param.taxonomy = query.getColumn("taxonomy").getString();
295 vector<Int> charges =
296 ListUtils::create<Int>(query.getColumn("charges").getString());
297 param.charges.insert(charges.begin(), charges.end());
298 vector<String> fixed_mods =
299 ListUtils::create<String>(query.getColumn("fixed_mods").getString());
300 param.fixed_mods.insert(fixed_mods.begin(), fixed_mods.end());
301 vector<String> variable_mods =
302 ListUtils::create<String>(query.getColumn("variable_mods").getString());
303 param.variable_mods.insert(variable_mods.begin(), variable_mods.end());
304 param.precursor_mass_tolerance =
305 query.getColumn("precursor_mass_tolerance").getDouble();
306 param.fragment_mass_tolerance =
307 query.getColumn("fragment_mass_tolerance").getDouble();
308 param.precursor_tolerance_ppm =
309 query.getColumn("precursor_tolerance_ppm").getInt();
310 param.fragment_tolerance_ppm =
311 query.getColumn("fragment_tolerance_ppm").getInt();
312 String enzyme = query.getColumn("digestion_enzyme").getString();
313 if (!enzyme.empty())
314 {
315 if (param.molecule_type == ID::MoleculeType::PROTEIN)
316 {
317 param.digestion_enzyme = ProteaseDB::getInstance()->getEnzyme(enzyme);
318 }
319 else if (param.molecule_type == ID::MoleculeType::RNA)
320 {
321 param.digestion_enzyme = RNaseDB::getInstance()->getEnzyme(enzyme);
322 }
323 }
324 if (version_number_ > 1)
325 {
326 String spec = query.getColumn("enzyme_term_specificity").getString();
327 param.enzyme_term_specificity = EnzymaticDigestion::getSpecificityByName(spec);
328 }
329 param.missed_cleavages = query.getColumn("missed_cleavages").getUInt();
330 param.min_length = query.getColumn("min_length").getUInt();
331 param.max_length = query.getColumn("max_length").getUInt();
332 ID::SearchParamRef ref = id_data.registerDBSearchParam(param);
333 search_param_refs_[id] = ref;
334 }
335 }
336

Callers

nothing calls this directly

Calls 11

getInstanceFunction · 0.85
tableExistsMethod · 0.80
getStringMethod · 0.80
getEnzymeMethod · 0.80
registerDBSearchParamMethod · 0.80
MoleculeTypeEnum · 0.50
MassTypeEnum · 0.50
insertMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected