From 96b1db10b281b27253c2aeac59fe1689ad349052 Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Mon, 8 Jan 2018 20:39:35 +0100 Subject: [PATCH] msrun and scan search --- src/CMakeLists.txt | 4 +- src/gui/protein_list_view/protein_view.ui | 17 ++++++-- .../protein_list_view/proteinlistwindow.cpp | 39 ++++++++++++++++++- src/utils/utils.cpp | 8 ++-- 4 files changed, 58 insertions(+), 10 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 74c5329c..8df429b3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -28,8 +28,8 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Xml_EXECUTABLE_COMPILE_FLAGS} ${Qt5 #sudo apt-get install libpappsomspp-dev #FIND_PACKAGE( Pappsomspp REQUIRED ) -SET (PAPPSOMSPP_DIR "/home/olivier/eclipse/git/pappsomspp") -# SET (PAPPSOMSPP_DIR "/home/langella/developpement/git/pappsomspp") +#SET (PAPPSOMSPP_DIR "/home/olivier/eclipse/git/pappsomspp") + SET (PAPPSOMSPP_DIR "/home/langella/developpement/git/pappsomspp") SET (PAPPSOMSPP_INCLUDE_DIR "${PAPPSOMSPP_DIR}/src") SET (PAPPSOMSPP_QT5_LIBRARY "${PAPPSOMSPP_DIR}/cbuild/src/libpappsomspp-qt5.so") SET (PAPPSOMSPP_WIDGET_QT5_LIBRARY "${PAPPSOMSPP_DIR}/cbuild/src/pappsomspp/widget/libpappsomspp-widget-qt5.so") diff --git a/src/gui/protein_list_view/protein_view.ui b/src/gui/protein_list_view/protein_view.ui index 91273797..7934ff6a 100644 --- a/src/gui/protein_list_view/protein_view.ui +++ b/src/gui/protein_list_view/protein_view.ui @@ -61,9 +61,9 @@ </widget> </item> <item> - <layout class="QHBoxLayout" name="horizontalLayout_2"> + <layout class="QHBoxLayout" name="search_horizontalLayout"> <item> - <widget class="QLabel" name="label_2"> + <widget class="QLabel" name="search_label"> <property name="text"> <string>search</string> </property> @@ -88,7 +88,7 @@ </item> <item> <property name="text"> - <string>sequence</string> + <string>msrun/scan</string> </property> </item> <item> @@ -96,11 +96,22 @@ <string>peptide</string> </property> </item> + <item> + <property name="text"> + <string>sequence</string> + </property> + </item> </widget> </item> <item> <widget class="QLineEdit" name="protein_search_edit"/> </item> + <item> + <widget class="QLineEdit" name="msrun_auto_completion"/> + </item> + <item> + <widget class="QSpinBox" name="scan_number_edit"/> + </item> </layout> </item> </layout> diff --git a/src/gui/protein_list_view/proteinlistwindow.cpp b/src/gui/protein_list_view/proteinlistwindow.cpp index 8fc52a5e..4acadde0 100644 --- a/src/gui/protein_list_view/proteinlistwindow.cpp +++ b/src/gui/protein_list_view/proteinlistwindow.cpp @@ -33,6 +33,8 @@ ProteinListQactionColumn::ProteinListQactionColumn(ProteinListWindow * parent, P this->setCheckable(true); this->setChecked(parent->getProteinListColumnDisplay(column)); + + //evalue_action.setChecked(_display_evalue); //connect(p_action, SIGNAL(toggled(bool)), this, SLOT(showEvalueColumn(bool))); _column = column; @@ -97,6 +99,12 @@ ProteinListWindow::ProteinListWindow(ProjectWindow *parent): _p_proxy_model->hideNotGrouped(hide); + + + ui->scan_number_edit->setVisible(false); + ui->msrun_auto_completion->setVisible(false); + ui->protein_search_edit->setVisible(true); + #if QT_VERSION >= 0x050000 // Qt5 code connect (_project_window, &ProjectWindow::identificationGroupGrouped, this,&ProteinListWindow::doIdentificationGroupGrouped); @@ -216,13 +224,27 @@ void ProteinListWindow::doNotGroupedHide(bool hide) { void ProteinListWindow::doSearchOn(QString search_on) { qDebug() << "ProteinTableProxyModel::doSearchOn begin " << search_on; _p_proxy_model->setSearchOn( search_on); + if (search_on == "msrun/scan" ) { + + qDebug() << "ProteinTableProxyModel::doSearchOn visible " << search_on; + ui->scan_number_edit->setVisible(true); + ui->msrun_auto_completion->setVisible(true); + ui->protein_search_edit->setVisible(false); + } + else { + qDebug() << "ProteinTableProxyModel::doSearchOn hidden " << search_on; + ui->scan_number_edit->setVisible(false); + ui->msrun_auto_completion->setVisible(false); + ui->protein_search_edit->setVisible(true); + } + emit proteinDataChanged(); } void ProteinListWindow::onProteinSearchEdit(QString protein_search_string) { qDebug() << "ProteinTableProxyModel::onProteinSearchEdit begin " << protein_search_string; - _p_proxy_model->setProteinSearchString( protein_search_string); + _p_proxy_model->setProteinSearchString(protein_search_string); emit proteinDataChanged(); } @@ -247,6 +269,21 @@ void ProteinListWindow::setIdentificationGroup(IdentificationGroup * p_identific //_p_proxy_model->setSourceModel(_protein_table_model_p); + QStringList msrun_list; + for (MsRunSp msrun_sp : _p_identification_group->getMsRunSpList()) { + msrun_list << msrun_sp.get()->getFilename(); + qDebug() << "ProteinListWindow::setIdentificationGroup " << msrun_sp.get()->getFilename(); + } + QCompleter *completer = new QCompleter(msrun_list, this); + completer->setCaseSensitivity(Qt::CaseInsensitive); + + completer->setCompletionMode(QCompleter::PopupCompletion); + completer->setModelSorting(QCompleter::CaseSensitivelySortedModel); + completer->setFilterMode(Qt::MatchContains); + ui->msrun_auto_completion->setCompleter(completer); + + + } else { qDebug() << "ProteinListWindow::setIdentificationGroup null"; diff --git a/src/utils/utils.cpp b/src/utils/utils.cpp index 0b9292d3..227c40d5 100644 --- a/src/utils/utils.cpp +++ b/src/utils/utils.cpp @@ -48,16 +48,16 @@ std::vector<std::pair<pappso::pappso_double, size_t>> Utils::getHistogram(std::v pappso::pappso_double max = *(data_values.end()-1); pappso::pappso_double total = std::abs(max-min); pappso::pappso_double offset = (total/ (pappso::pappso_double) number_of_class); - qDebug() << "Utils::getHistogram number_of_class offset=" << offset; + //qDebug() << "Utils::getHistogram number_of_class offset=" << offset; for (unsigned int i= 0; i < histogram.size(); i++) { histogram[i] = std::pair<pappso::pappso_double, size_t> {(min + (offset * i) + (offset/2)), 0}; - qDebug() << "Utils::getHistogram x=" << histogram[i].first; + //qDebug() << "Utils::getHistogram x=" << histogram[i].first; } - qDebug() << "Utils::getHistogram data_values"; + //qDebug() << "Utils::getHistogram data_values"; for (pappso::pappso_double value :data_values) { //qDebug() << "Utils::getHistogram value=" << value; unsigned int i = std::abs((value-min)/offset ); - qDebug() << "Utils::getHistogram i=" << i << " size=" << histogram.size(); + //qDebug() << "Utils::getHistogram i=" << i << " size=" << histogram.size(); histogram.at(i).second++; } } -- GitLab