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

Method exportFeatureMapToMzTab

src/openms/source/FORMAT/MzTab.cpp:681–756  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

679 }
680
681 MzTab MzTab::exportFeatureMapToMzTab(
682 const FeatureMap & feature_map,
683 const String & filename)
684 {
685 OPENMS_LOG_INFO << "exporting feature map: \"" << filename << "\" to mzTab: " << std::endl;
686 MzTab mztab;
687 MzTabMetaData meta_data;
688
689 const vector<ProteinIdentification> &prot_ids = feature_map.getProteinIdentifications();
690 vector<String> var_mods, fixed_mods;
691 MzTabString db, db_version;
692 if (!prot_ids.empty())
693 {
694 const ProteinIdentification::SearchParameters &sp = prot_ids[0].getSearchParameters();
695 var_mods = sp.variable_modifications;
696 fixed_mods = sp.fixed_modifications;
697 db = sp.db.empty() ? MzTabString() : MzTabString(sp.db);
698 db_version = sp.db_version.empty() ? MzTabString() : MzTabString(sp.db_version);
699 }
700
701 meta_data.variable_mod = generateMzTabStringFromVariableModifications(var_mods);
702 meta_data.fixed_mod = generateMzTabStringFromFixedModifications(fixed_mods);
703
704 // mandatory meta values
705 meta_data.mz_tab_type = MzTabString("Quantification");
706 meta_data.mz_tab_mode = MzTabString("Summary");
707 meta_data.description = MzTabString("OpenMS export from featureXML");
708
709 MzTabMSRunMetaData ms_run;
710 StringList spectra_data;
711 feature_map.getPrimaryMSRunPath(spectra_data);
712
713 if (!spectra_data.empty())
714 {
715 // prepend file:// if not there yet
716 String m = spectra_data[0];
717 if (!m.hasPrefix("file://")) {m = String("file://") + m; }
718 ms_run.location = MzTabString(m);
719 }
720 else
721 {
722 ms_run.location = MzTabString();
723 }
724
725 meta_data.ms_run[1] = ms_run;
726 meta_data.uri[1] = MzTabString(filename);
727 meta_data.psm_search_engine_score[1] = MzTabParameter(); // TODO: we currently only support psm search engine scores annotated to the identification run
728 meta_data.peptide_search_engine_score[1] = MzTabParameter();
729
730 mztab.setMetaData(meta_data);
731
732 // pre-analyze data for occurring meta values at feature and peptide hit level
733 // these are used to build optional columns containing the meta values in internal data structures
734 set<String> feature_user_value_keys;
735 set<String> peptide_identifications_user_value_keys;
736 set<String> peptide_hit_user_value_keys;
737 MzTab::getFeatureMapMetaValues_(
738 feature_map,

Callers

nothing calls this directly

Calls 7

emplace_backMethod · 0.80
StringClass · 0.50
emptyMethod · 0.45
getPrimaryMSRunPathMethod · 0.45
hasPrefixMethod · 0.45
setMetaDataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected