From 750411176ba98d12c6457b37223304e15b44c752 Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Wed, 24 Jan 2018 22:31:52 +0100 Subject: [PATCH] ptm island peptide evidence viewer bug fixed --- src/core/peptidematch.cpp | 1 - src/grouping/ptm/ptmsamplescan.cpp | 2 +- src/grouping/ptm/ptmsamplescan.h | 2 +- src/gui/peptide_detail_view/peptidewindow.cpp | 17 +++++++++++------ src/gui/project_view/projectwindow.cpp | 2 +- .../ptmpeptidelistwindow.cpp | 8 +++++--- .../ptmpeptidelistwindow.h | 2 +- .../ptmpeptidetablemodel.cpp | 2 +- .../ptmpeptidetableproxymodel.cpp | 13 ++++++++----- .../ptmpeptidetableproxymodel.h | 4 ++-- 10 files changed, 31 insertions(+), 22 deletions(-) diff --git a/src/core/peptidematch.cpp b/src/core/peptidematch.cpp index 5498b269e..911e1b711 100644 --- a/src/core/peptidematch.cpp +++ b/src/core/peptidematch.cpp @@ -31,7 +31,6 @@ PeptideMatch::PeptideMatch() { PeptideMatch::PeptideMatch(const PeptideMatch & other) { _start=other._start; _p_peptide_evidence = other._p_peptide_evidence; - } bool PeptideMatch::operator==(const PeptideMatch & other) const { if ((_p_peptide_evidence == other._p_peptide_evidence) && (_start == other._start)) { diff --git a/src/grouping/ptm/ptmsamplescan.cpp b/src/grouping/ptm/ptmsamplescan.cpp index 71a1abb57..328bbe4c5 100644 --- a/src/grouping/ptm/ptmsamplescan.cpp +++ b/src/grouping/ptm/ptmsamplescan.cpp @@ -136,6 +136,6 @@ const QString PtmSampleScan::getHtmlSequence(const PtmGroupingExperiment * p_ptm return sequence_html; } -const std::vector<PeptideMatch> & PtmSampleScan::getPeptideMatchList() const { +std::vector<PeptideMatch> & PtmSampleScan::getPeptideMatchList() { return _peptide_match_list; } diff --git a/src/grouping/ptm/ptmsamplescan.h b/src/grouping/ptm/ptmsamplescan.h index 3ff57ed59..78d07c167 100644 --- a/src/grouping/ptm/ptmsamplescan.h +++ b/src/grouping/ptm/ptmsamplescan.h @@ -53,7 +53,7 @@ public: std::vector<unsigned int> getBestPtmPositionList(const PtmGroupingExperiment * p_ptm_grouping_experiment) const; std::vector<unsigned int> getObservedPtmPositionList(const PtmGroupingExperiment * p_ptm_grouping_experiment) const; const QString getHtmlSequence(const PtmGroupingExperiment * p_ptm_grouping_experiment) const; - const std::vector<PeptideMatch> & getPeptideMatchList() const; + std::vector<PeptideMatch> & getPeptideMatchList(); private: std::vector<PeptideMatch> _peptide_match_list; diff --git a/src/gui/peptide_detail_view/peptidewindow.cpp b/src/gui/peptide_detail_view/peptidewindow.cpp index 6a7aae175..54680bf48 100644 --- a/src/gui/peptide_detail_view/peptidewindow.cpp +++ b/src/gui/peptide_detail_view/peptidewindow.cpp @@ -84,7 +84,7 @@ PeptideWindow::PeptideWindow(ProjectWindow *parent): ui->file_not_found->setVisible(false); - + _mz_label = new QLabel(""); ui->statusbar->addWidget(_mz_label); QWidget * p_spacer = new QWidget(); @@ -130,8 +130,8 @@ void PeptideWindow::setIon(pappso::PeakIonIsotopeMatch ion) { QString plusstr = "+"; plusstr = plusstr.repeated(ion.getCharge()); _ion_label->setText(QString("%1%2%3 (+%4) - th. isotope ratio %5%").arg(ion.getPeptideFragmentIonSp().get()->getPeptideIonName()).arg(ion.getPeptideFragmentIonSp().get()->size()).arg(plusstr).arg(ion.getPeptideNaturalIsotopeAverageSp().get()->getIsotopeNumber()).arg((int)(ion.getPeptideNaturalIsotopeAverageSp().get()->getIntensityRatio()*100))); - - + + } void PeptideWindow::setPeak(const pappso::Peak * p_peak_match) { @@ -206,7 +206,7 @@ void PeptideWindow::chooseDefaultMzDataDir() { qDebug() << "PeptideWindow::chooseDefaultMzDataDir begin"; ui->file_not_found->setVisible(false); - ui->xic_button->setEnabled(true); + ui->xic_button->setEnabled(true); ui->spectrum_widget->setVisible(true); emit loadSpectrumSp(_p_peptide_evidence); ui->statusbar->showMessage(tr("loading spectrum")); @@ -280,23 +280,28 @@ void PeptideWindow::doSpectrumSpReady(pappso::SpectrumSp spectrum_sp, QString er } void PeptideWindow::setPeptideEvidence(PeptideEvidence * p_peptide_evidence) { - qDebug() << "PeptideWindow::setPeptideEvidence begin"; + qDebug() << "PeptideWindow::setPeptideEvidence begin " << p_peptide_evidence; _p_peptide_evidence = p_peptide_evidence; _spectrum_is_ready = false; - qDebug() << "PeptideWindow::setPeptideEvidence emit loadSpectrumSp(_p_peptide_match)"; + qDebug() << "PeptideWindow::setPeptideEvidence 1"; ui->file_not_found->setVisible(false); ui->spectrum_widget->setVisible(true); ui->statusbar->showMessage(tr("loading spectrum")); + qDebug() << "PeptideWindow::setPeptideEvidence 2"; pappso::PeptideSp peptide = _p_peptide_evidence->getPeptideXtpSp(); + qDebug() << "PeptideWindow::setPeptideEvidence 3"; ui->spectrum_widget->setMs2Precision(_p_precision); ui->spectrum_widget->setPeptideCharge(_p_peptide_evidence->getCharge()); ui->spectrum_widget->setPeptideSp(peptide); + + qDebug() << "PeptideWindow::setPeptideEvidence 4"; //ui->spectrum_widget->plot(); updateDisplay(); + qDebug() << "PeptideWindow::setPeptideEvidence emit loadSpectrumSp(_p_peptide_match)"; emit loadSpectrumSp(_p_peptide_evidence); qDebug() << "PeptideWindow::setPeptideEvidence end"; } diff --git a/src/gui/project_view/projectwindow.cpp b/src/gui/project_view/projectwindow.cpp index ae2680806..804241d0f 100644 --- a/src/gui/project_view/projectwindow.cpp +++ b/src/gui/project_view/projectwindow.cpp @@ -487,7 +487,7 @@ void ProjectWindow::doViewPeptideList(IdentificationGroup * p_ident_group, Prote void ProjectWindow::doViewPeptideDetail(PeptideEvidence * peptide_evidence) { - qDebug() << "ProjectWindow::doViewPeptideDetail begin"; + qDebug() << "ProjectWindow::doViewPeptideDetail begin " << peptide_evidence; if (_peptide_detail_window_collection.size() == 0) { connectNewPeptideDetailWindow(); } diff --git a/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.cpp b/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.cpp index bae3597fd..7babd9b4b 100644 --- a/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.cpp +++ b/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.cpp @@ -81,9 +81,11 @@ void PtmPeptideListWindow::setPtmIsland(PtmIsland * p_ptm_island) { _ptm_table_model_p->setPtmIsland(_p_ptm_island_list_window->getIdentificationGroup()->getPtmGroupingExperiment(), _p_ptm_island); } -void PtmPeptideListWindow::askPeptideDetailView(PeptideMatch p_peptide_match) { - qDebug() << "PtmPeptideListWindow::askPeptideDetailView begin"; - emit requestPeptideDetailView(p_peptide_match.getPeptideEvidence()); +void PtmPeptideListWindow::askPeptideDetailView(PeptideEvidence * p_peptide_evidence) { + qDebug() << "PtmPeptideListWindow::askPeptideDetailView begin " << p_peptide_evidence; + //PeptideMatch peptide_match(* p_peptide_match); + //qDebug() << "PtmPeptideListWindow::askPeptideDetailView begin " << peptide_match.getPeptideEvidence(); + emit requestPeptideDetailView(p_peptide_evidence); qDebug() << "PtmPeptideListWindow::askPeptideDetailView end"; //updateStatusBar(); } diff --git a/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.h b/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.h index de7c6288d..b467c3aea 100644 --- a/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.h +++ b/src/gui/ptm_peptide_list_view/ptmpeptidelistwindow.h @@ -49,7 +49,7 @@ public: explicit PtmPeptideListWindow(PtmIslandListWindow * parent = 0); ~PtmPeptideListWindow(); void setPtmIsland(PtmIsland * p_ptm_island); - void askPeptideDetailView(PeptideMatch p_peptide_match); + void askPeptideDetailView(PeptideEvidence * p_peptide_evidence); signals: void requestPeptideDetailView(PeptideEvidence * p_peptide_evidence); diff --git a/src/gui/ptm_peptide_list_view/ptmpeptidetablemodel.cpp b/src/gui/ptm_peptide_list_view/ptmpeptidetablemodel.cpp index 94f7d00a9..20a4f59fa 100644 --- a/src/gui/ptm_peptide_list_view/ptmpeptidetablemodel.cpp +++ b/src/gui/ptm_peptide_list_view/ptmpeptidetablemodel.cpp @@ -143,7 +143,7 @@ const QString PtmPeptideTableModel::getDescription(std::int8_t column) { return "peptide theoretical MH+"; break; case (std::int8_t) PtmPeptideListColumn::delta_mhplus: - return "peptide mass difference betwenn observed mass and theoretical mass"; + return "peptide mass difference between observed mass and theoretical mass"; break; case (std::int8_t) PtmPeptideListColumn::besthyperscore: return "best X!Tandem hyperscore"; diff --git a/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.cpp b/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.cpp index f049f03c3..2110b9288 100644 --- a/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.cpp +++ b/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.cpp @@ -32,9 +32,8 @@ #include "../../grouping/ptm/ptmgroupingexperiment.h" #include <QTextDocument> -PtmPeptideMenuQicon::PtmPeptideMenuQicon(const PtmGroupingExperiment * p_ptm_grouping_experiment, const PtmSampleScan * p_ptm_sample, const PeptideMatch * p_peptide_match):QIcon() { +PtmPeptideMenuQicon::PtmPeptideMenuQicon(const PtmGroupingExperiment * p_ptm_grouping_experiment, const PtmSampleScan * p_ptm_sample, const PeptideMatch * p_peptide_match):QIcon(), _peptide_match(*p_peptide_match) { _p_ptm_sample_scan = p_ptm_sample; - _p_peptide_match = p_peptide_match; _p_ptm_grouping_experiment = p_ptm_grouping_experiment; } PtmPeptideMenuQicon::~PtmPeptideMenuQicon( ) { @@ -60,7 +59,7 @@ void PtmPeptideMenuQicon::paint(QPainter *painter, const QRect &rect, Qt::Alignm PtmPeptideMenuQaction::PtmPeptideMenuQaction(PtmPeptideTableProxyModel * parent, const PtmGroupingExperiment * p_ptm_grouping_experiment, const PtmSampleScan * p_ptm_sample, PeptideMatch * p_peptide_match):QAction(parent) { _p_ptm_peptide_table_proxy_model = parent; - _p_peptide_match = p_peptide_match; + _peptide_match = *p_peptide_match; this->setIcon(PtmPeptideMenuQicon(p_ptm_grouping_experiment, p_ptm_sample, p_peptide_match)); //this->setText(p_peptide_match->getPeptideXtpSp().get()->getSequence()); @@ -81,7 +80,11 @@ PtmPeptideMenuQaction::PtmPeptideMenuQaction(PtmPeptideTableProxyModel * parent, #endif } void PtmPeptideMenuQaction::doTriggered(bool triggered) { - _p_ptm_peptide_table_proxy_model->getPtmPeptideListWindowP()->askPeptideDetailView(*_p_peptide_match); + PeptideEvidence * p_peptide_evidence = _peptide_match.getPeptideEvidence(); + qDebug() << "PtmPeptideMenuQaction::doTriggered begin" << _peptide_match.getPeptideEvidence(); + qDebug() << "PtmPeptideMenuQaction::doTriggered begin 2 " << p_peptide_evidence; + qDebug() << "PtmPeptideMenuQaction::doTriggered begin 3 " << p_peptide_evidence->getPeptideXtpSp().get()->toString(); + _p_ptm_peptide_table_proxy_model->getPtmPeptideListWindowP()->askPeptideDetailView(p_peptide_evidence); } PtmPeptideMenuQaction::~PtmPeptideMenuQaction() @@ -153,7 +156,7 @@ void PtmPeptideTableProxyModel::onTableClicked(const QModelIndex &index) PtmSampleScanSp sp_ptm_sample_scan = _p_ptm_table_model->getPtmSampleScanSpList().at(row); if (sp_ptm_sample_scan.get()->getPeptideMatchList().size() == 1) { - _p_ptm_peptide_list_window->askPeptideDetailView(sp_ptm_sample_scan.get()->getPeptideMatchList().at(0)); + _p_ptm_peptide_list_window->askPeptideDetailView(sp_ptm_sample_scan.get()->getPeptideMatchList().at(0).getPeptideEvidence()); } else { this->showContextMenu(index); diff --git a/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.h b/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.h index a375082bb..373ca4d30 100644 --- a/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.h +++ b/src/gui/ptm_peptide_list_view/ptmpeptidetableproxymodel.h @@ -50,7 +50,7 @@ public: private: const PtmSampleScan * _p_ptm_sample_scan; - const PeptideMatch * _p_peptide_match; + const PeptideMatch _peptide_match; const PtmGroupingExperiment * _p_ptm_grouping_experiment; }; @@ -65,7 +65,7 @@ public slots: void doTriggered(bool triggered); private: - PeptideMatch * _p_peptide_match; + PeptideMatch _peptide_match; PtmPeptideTableProxyModel * _p_ptm_peptide_table_proxy_model; }; -- GitLab