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

Method preprocessingSirius

src/openms/source/ANALYSIS/ID/SiriusAdapterAlgorithm.cpp:436–487  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

434 }
435
436 void SiriusAdapterAlgorithm::preprocessingSirius(const String& featureinfo,
437 const MSExperiment& spectra,
438 FeatureMapping::FeatureMappingInfo& fm_info,
439 FeatureMapping::FeatureToMs2Indices& feature_mapping) const
440 {
441 // if fileparameter is given and should be not empty
442 if (!featureinfo.empty())
443 {
444 if (File::exists(featureinfo) && !File::empty(featureinfo))
445 {
446 // read featureXML
447 FeatureMap feature_map;
448 FileHandler().loadFeatures(featureinfo, feature_map);
449
450 UInt num_masstrace_filter = getFilterByNumMassTraces();
451 double precursor_mz_tol = getPrecursorMzTolerance();
452 double precursor_rt_tol = getPrecursorRtTolerance();
453
454 if (num_masstrace_filter != 1 && !isFeatureOnly())
455 {
456 num_masstrace_filter = 1;
457 OPENMS_LOG_WARN << "Parameter: filter_by_num_masstraces, was set to 1 to retain the adduct information for all MS2 spectra, if available. Masstrace filtering only makes sense in combination with feature_only." << std::endl;
458 }
459
460 // filter feature by number of masstraces
461 auto map_it = remove_if(feature_map.begin(), feature_map.end(),
462 [&num_masstrace_filter](const Feature &feat) -> bool
463 {
464 unsigned int n_masstraces = feat.getMetaValue(Constants::UserParam::NUM_OF_MASSTRACES);
465 return n_masstraces < num_masstrace_filter;
466 });
467 feature_map.erase(map_it, feature_map.end());
468
469 fm_info.feature_maps.push_back(feature_map);
470 fm_info.kd_tree.addMaps(fm_info.feature_maps); // KDTree references into feature_map
471
472 // mapping of MS2 spectra to features
473 feature_mapping = FeatureMapping::assignMS2IndexToFeature(spectra,
474 fm_info,
475 precursor_mz_tol,
476 precursor_rt_tol,
477 precursorMzToleranceUnitIsPPM());
478 }
479 else
480 {
481 throw OpenMS::Exception::FileEmpty(__FILE__,
482 __LINE__,
483 __FUNCTION__,
484 "Error: FeatureXML was empty, please provide a valid file.");
485 }
486 }
487 }
488
489 void SiriusAdapterAlgorithm::logFeatureSpectraNumber(const String& featureinfo,
490 const FeatureMapping::FeatureToMs2Indices& feature_mapping,

Callers 2

main_Method · 0.80
main_Method · 0.80

Calls 13

getFilterByNumMassTracesFunction · 0.85
getPrecursorMzToleranceFunction · 0.85
getPrecursorRtToleranceFunction · 0.85
isFeatureOnlyFunction · 0.85
loadFeaturesMethod · 0.80
getMetaValueMethod · 0.80
emptyFunction · 0.50
emptyMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected