diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 74c5329c76141ce293dc33f70880f734a54099c7..8df429b34b0b6a81bcd5d7ed519b2d0cb3815b9e 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 91273797907bdebf177f23df05523dca38f69ac3..7934ff6a09a14fd36ad304a9b03dced8c58126a1 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 8fc52a5e123461ae6af93e269e95367ec56584b6..4acadde0fd8e6fe67460488248ee9876c62f1865 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 0b9292d37189da1698bdf7604ea2622603f6942e..227c40d54a98df7069788faeb550d1a9611f8547 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++; 
         }
     }