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

Method merge

src/openms/source/FORMAT/QcMLFile.cpp:529–568  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

527 }
528
529 void QcMLFile::merge(const QcMLFile& addendum, const String& setname)
530 {
531 //~ runs (and create set if setname not empty)
532 for (std::map<String, std::vector<QualityParameter> >::const_iterator it = addendum.runQualityQPs_.begin(); it != addendum.runQualityQPs_.end(); ++it)
533 {
534 runQualityQPs_[it->first].insert(runQualityQPs_[it->first].end(), it->second.begin(), it->second.end());
535 std::sort(runQualityQPs_[it->first].begin(), runQualityQPs_[it->first].end());
536 runQualityQPs_[it->first].erase(std::unique(runQualityQPs_[it->first].begin(), runQualityQPs_[it->first].end()), runQualityQPs_[it->first].end());
537 if (!setname.empty())
538 {
539 setQualityQPs_members_[setname].insert(it->first);
540 }
541 }
542 for (std::map<String, std::vector<Attachment> >::const_iterator it = addendum.runQualityAts_.begin(); it != addendum.runQualityAts_.end(); ++it)
543 {
544 runQualityAts_[it->first].insert(runQualityAts_[it->first].end(), it->second.begin(), it->second.end());
545 std::sort(runQualityAts_[it->first].begin(), runQualityAts_[it->first].end());
546 runQualityAts_[it->first].erase(std::unique(runQualityAts_[it->first].begin(), runQualityAts_[it->first].end()), runQualityAts_[it->first].end());
547 if (!setname.empty())
548 {
549 setQualityQPs_members_[setname].insert(it->first);
550 }
551 }
552
553 // sets
554 //~ TODO sets are not supposed to overlap - throw error if so
555 setQualityQPs_members_.insert(addendum.setQualityQPs_members_.begin(), addendum.setQualityQPs_members_.end());
556 for (std::map<String, std::vector<QualityParameter> >::const_iterator it = addendum.setQualityQPs_.begin(); it != addendum.setQualityQPs_.end(); ++it)
557 {
558 setQualityQPs_[it->first].insert(setQualityQPs_[it->first].end(), it->second.begin(), it->second.end());
559 std::sort(setQualityQPs_[it->first].begin(), setQualityQPs_[it->first].end());
560 setQualityQPs_[it->first].erase(std::unique(setQualityQPs_[it->first].begin(), setQualityQPs_[it->first].end()), setQualityQPs_[it->first].end());
561 }
562 for (std::map<String, std::vector<Attachment> >::const_iterator it = addendum.setQualityAts_.begin(); it != addendum.setQualityAts_.end(); ++it)
563 {
564 setQualityAts_[it->first].insert(setQualityAts_[it->first].end(), it->second.begin(), it->second.end());
565 std::sort(setQualityAts_[it->first].begin(), setQualityAts_[it->first].end());
566 setQualityAts_[it->first].erase(std::unique(setQualityAts_[it->first].begin(), setQualityAts_[it->first].end()), setQualityAts_[it->first].end());
567 }
568 }
569
570 String QcMLFile::exportAttachment(const String& filename, const String& qpname) const
571 {

Callers 10

main_Method · 0.45
main_Method · 0.45
main_Method · 0.45
FeatureMapMethod · 0.45
FeatureMap.cppFile · 0.45
ConsensusMapMethod · 0.45
ConsensusMap.cppFile · 0.45
Param_test.cppFile · 0.45
testFeatureXMLFileFunction · 0.45

Calls 6

sortFunction · 0.85
beginMethod · 0.45
endMethod · 0.45
insertMethod · 0.45
eraseMethod · 0.45
emptyMethod · 0.45

Tested by 1

testFeatureXMLFileFunction · 0.36