bool StablePairFinder::compatibleIDs_(const ConsensusFeature& feat1, const ConsensusFeature& feat2) const { // a feature without identifications always matches: if (feat1.getPeptideIdentifications().empty() || feat2.getPeptideIdentifications().empty()) return true; const vector<PeptideIdentification>& pep1 = feat1.getPeptideIdentifications(); const vector<PeptideIdentification>& pep2 = feat2.getPeptideIdentifications(); set<String> best1, best2; for (vector<PeptideIdentification>::const_iterator pep_it = pep1.begin(); pep_it != pep1.end(); ++pep_it) { if (pep_it->getHits().empty()) continue; // shouldn't be the case best1.insert(getBestHitSequence_(*pep_it).toString()); } for (vector<PeptideIdentification>::const_iterator pep_it = pep2.begin(); pep_it != pep2.end(); ++pep_it) { if (pep_it->getHits().empty()) continue; // shouldn't be the case best2.insert(getBestHitSequence_(*pep_it).toString()); } return best1 == best2; }
void MetaDataBrowser::add(ConsensusFeature & feature) { //peptide ids for (std::vector<PeptideIdentification>::iterator it = feature.getPeptideIdentifications().begin(); it != feature.getPeptideIdentifications().end(); ++it) { add(*it); } add(static_cast<MetaInfoInterface &>(feature)); treeview_->expandItem(treeview_->findItems(QString::number(0), Qt::MatchExactly, 1).first()); }