diff --git a/src/grouping/ptm/ptmgroupingexperiment.cpp b/src/grouping/ptm/ptmgroupingexperiment.cpp index 524c75f68c4ea245f108ce67560078e9903c5e22..73339189cd46a3f9db4109f145263fca38f2e400 100644 --- a/src/grouping/ptm/ptmgroupingexperiment.cpp +++ b/src/grouping/ptm/ptmgroupingexperiment.cpp @@ -74,6 +74,14 @@ PtmGroupingExperiment::~PtmGroupingExperiment() } +const std::vector<PtmIslandSubgroupSp> & PtmGroupingExperiment::getPtmIslandSubgroupList() const { + return _ptm_island_subgroup_list; +} + +const std::vector<PtmIslandGroupSp> & PtmGroupingExperiment::getPtmIslandGroupList() const { + return _ptm_island_group_list; +} + const std::vector<PtmIslandSp> & PtmGroupingExperiment::getPtmIslandList() const { qDebug() << "PtmGroupingExperiment::getPtmIslandList begin" << _ptm_island_list.size(); return _ptm_island_list; @@ -169,19 +177,19 @@ unsigned int PtmGroupingExperiment::countPeptideMatchPtm(const PeptideMatch & pe std::vector<unsigned int> PtmGroupingExperiment::getPtmPositions(const PeptideMatch & peptide_match) const { std::vector<unsigned int> position_list; - for (const ModificationAndAa & modification: _modification_list) { - if (modification.aa_list.size() == 0) { - for (unsigned int position : peptide_match.getPeptideEvidence()->getPeptideXtpSp().get()->getModificationPositionList(modification.modification)) { - position_list.push_back(position); - } + for (const ModificationAndAa & modification: _modification_list) { + if (modification.aa_list.size() == 0) { + for (unsigned int position : peptide_match.getPeptideEvidence()->getPeptideXtpSp().get()->getModificationPositionList(modification.modification)) { + position_list.push_back(position); } - else { - for (unsigned int position : peptide_match.getPeptideEvidence()->getPeptideXtpSp().get()->getModificationPositionList(modification.modification, modification.aa_list)) { - position_list.push_back(position); - } + } + else { + for (unsigned int position : peptide_match.getPeptideEvidence()->getPeptideXtpSp().get()->getModificationPositionList(modification.modification, modification.aa_list)) { + position_list.push_back(position); } } - + } + std::sort(position_list.begin(), position_list.end()); auto last = std::unique(position_list.begin(), position_list.end()); position_list.erase(last, position_list.end()); diff --git a/src/grouping/ptm/ptmgroupingexperiment.h b/src/grouping/ptm/ptmgroupingexperiment.h index abbdf2c6c3e0025637d9c841e1ab31d9203c7e72..541f1422fcb3e7dc0f4931ee34e586b357986874 100644 --- a/src/grouping/ptm/ptmgroupingexperiment.h +++ b/src/grouping/ptm/ptmgroupingexperiment.h @@ -54,8 +54,19 @@ public: void setValidationState(ValidationState validation_state); void addProteinMatch(const ProteinMatch* p_protein_match); void startGrouping(); + + /** @brief get the ptm island subgroup list + */ + const std::vector<PtmIslandSubgroupSp> & getPtmIslandSubgroupList() const; + + /** @brief get the ptm island group list + */ + const std::vector<PtmIslandGroupSp> & getPtmIslandGroupList() const; + /** @brief get the ptm island list + */ const std::vector<PtmIslandSp> & getPtmIslandList() const; + /** @brief count number of modifications in a PeptideMatch * */ unsigned int countPeptideMatchPtm(const PeptideMatch & peptide_match)const; diff --git a/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp b/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp index 764832238dfa413848f0726e3f868ae96a1fe8a0..e872d2e804bfef17ee13d47c6d2447ca6dbe791d 100644 --- a/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp +++ b/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp @@ -55,13 +55,13 @@ PtmIslandListWindow::PtmIslandListWindow(ProjectWindow *parent): ui->ptm_island_tableview->setAlternatingRowColors(true); - - _statusbar_displayed_label = new QLabel(""); - ui->statusbar->addWidget(_statusbar_displayed_label); _statusbar_ptm_islands_label = new QLabel(""); ui->statusbar->addWidget(_statusbar_ptm_islands_label); + _statusbar_displayed_label = new QLabel(""); + ui->statusbar->addWidget(_statusbar_displayed_label); + #if QT_VERSION >= 0x050000 // Qt5 code connect (this, &PtmIslandListWindow::ptmIslandDataChanged, _ptm_table_model_p, &PtmIslandTableModel::onPtmIslandDataChanged); @@ -129,7 +129,8 @@ void PtmIslandListWindow::doIdentificationPtmGroupGrouped(IdentificationGroup * _ptm_table_model_p->setIdentificationGroup(p_identification_group); emit ptmIslandDataChanged(); - _statusbar_ptm_islands_label->setText(tr("ptm islands: %1").arg(p_identification_group->getPtmGroupingExperiment()->getPtmIslandList().size())); + const PtmGroupingExperiment * p_ptm_grouping_experiment = p_identification_group->getPtmGroupingExperiment(); + _statusbar_ptm_islands_label->setText(tr("ptm island groups:%1 ptm island subgroups:%2 ptm islands:%3").arg(p_ptm_grouping_experiment->getPtmIslandGroupList().size()).arg(p_ptm_grouping_experiment->getPtmIslandSubgroupList().size()).arg(p_ptm_grouping_experiment->getPtmIslandList().size())); //ui->ptm_island_tableview->resizeRowToContents(_ptm_table_model_p->rowCount()); }