| 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 |
nothing calls this directly
no test coverage detected