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

Method generateMzTabStringFromModifications

src/openms/source/FORMAT/MzTab.cpp:594–647  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

592 }
593
594 map<Size, MzTabModificationMetaData> MzTab::generateMzTabStringFromModifications(const vector<String>& mods)
595 {
596 map<Size, MzTabModificationMetaData> mods_mztab;
597 Size index(1);
598 for (String const & s : mods)
599 {
600 MzTabModificationMetaData mod;
601 MzTabParameter mp;
602 ModificationsDB* mod_db = ModificationsDB::getInstance();
603 String unimod_accession;
604 try
605 {
606 const ResidueModification* m = mod_db->getModification(s);
607 unimod_accession = m->getUniModAccession();
608 if (!unimod_accession.empty())
609 {
610 // MzTab standard is to report Unimod accession.
611 mp.setCVLabel("UNIMOD");
612 mp.setAccession(unimod_accession.toUpper());
613 }
614 mp.setName(m->getId());
615 mod.modification = mp;
616
617 if (m->getTermSpecificity() == ResidueModification::C_TERM)
618 {
619 mod.position = MzTabString("Any C-term");
620 }
621 else if (m->getTermSpecificity() == ResidueModification::N_TERM)
622 {
623 mod.position = MzTabString("Any N-term");
624 }
625 else if (m->getTermSpecificity() == ResidueModification::ANYWHERE)
626 {
627 mod.position = MzTabString("Anywhere");
628 }
629 else if (m->getTermSpecificity() == ResidueModification::PROTEIN_C_TERM)
630 {
631 mod.position = MzTabString("Protein C-term");
632 }
633 else if (m->getTermSpecificity() == ResidueModification::PROTEIN_N_TERM)
634 {
635 mod.position = MzTabString("Protein N-term");
636 }
637 mod.site = MzTabString(String(m->getOrigin()));
638 mods_mztab[index] = mod;
639 }
640 catch(...)
641 {
642 OPENMS_LOG_WARN << "Skipping unknown residue modification: '" + s + "'" << endl;
643 }
644 ++index;
645 }
646 return mods_mztab;
647 }
648
649 map<Size, MzTabModificationMetaData> MzTab::generateMzTabStringFromVariableModifications(const vector<String>& mods)
650 {

Callers

nothing calls this directly

Calls 12

getInstanceFunction · 0.85
getUniModAccessionMethod · 0.80
setCVLabelMethod · 0.80
toUpperMethod · 0.80
getIdMethod · 0.80
StringClass · 0.50
getModificationMethod · 0.45
emptyMethod · 0.45
setAccessionMethod · 0.45
setNameMethod · 0.45
getTermSpecificityMethod · 0.45
getOriginMethod · 0.45

Tested by

no test coverage detected