Skip to content
Snippets Groups Projects
Commit f4f1fdad authored by Langella Olivier's avatar Langella Olivier
Browse files

new ui to select decoy proteins

parent f812bb79
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>465</width> <width>465</width>
<height>493</height> <height>533</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<string/> <string/>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>2</number>
</property> </property>
<widget class="QWidget" name="identifications"> <widget class="QWidget" name="identifications">
<attribute name="title"> <attribute name="title">
...@@ -133,9 +133,39 @@ ...@@ -133,9 +133,39 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QRadioButton" name="decoy_database_files_radiobutton">
<property name="toolTip">
<string>select decoy sequences from fasta files</string>
</property>
<property name="text">
<string>database files</string>
</property>
<attribute name="buttonGroup">
<string notr="true">decoy_source_buttongroup</string>
</attribute>
</widget>
</item>
<item>
<widget class="QRadioButton" name="decoy_regexp_radiobutton">
<property name="toolTip">
<string>select decoy sequences based on a regular expression</string>
</property>
<property name="text">
<string>regular expression</string>
</property>
<attribute name="buttonGroup">
<string notr="true">decoy_source_buttongroup</string>
</attribute>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="decoy_database_groupbox">
<property name="title"> <property name="title">
<string>Decoy database files</string> <string>Choose decoy database files</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_3">
<item> <item>
...@@ -169,9 +199,9 @@ ...@@ -169,9 +199,9 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox_2"> <widget class="QGroupBox" name="decoy_regexp_groupbox">
<property name="title"> <property name="title">
<string>Decoy protein regular expression</string> <string>Set regular expression to select decoy proteins</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_4"> <layout class="QVBoxLayout" name="verticalLayout_4">
<item> <item>
...@@ -181,6 +211,19 @@ ...@@ -181,6 +211,19 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
...@@ -388,10 +431,46 @@ ...@@ -388,10 +431,46 @@
</hint> </hint>
</hints> </hints>
</connection> </connection>
<connection>
<sender>decoy_database_files_radiobutton</sender>
<signal>clicked()</signal>
<receiver>ProjectView</receiver>
<slot>doSelectDecoySource()</slot>
<hints>
<hint type="sourcelabel">
<x>110</x>
<y>184</y>
</hint>
<hint type="destinationlabel">
<x>682</x>
<y>256</y>
</hint>
</hints>
</connection>
<connection>
<sender>decoy_regexp_radiobutton</sender>
<signal>clicked()</signal>
<receiver>ProjectView</receiver>
<slot>doSelectDecoySource()</slot>
<hints>
<hint type="sourcelabel">
<x>326</x>
<y>192</y>
</hint>
<hint type="destinationlabel">
<x>693</x>
<y>239</y>
</hint>
</hints>
</connection>
</connections> </connections>
<slots> <slots>
<slot>doFdrChanged()</slot> <slot>doFdrChanged()</slot>
<slot>doMassPrecisionUnitChanged(QString)</slot> <slot>doMassPrecisionUnitChanged(QString)</slot>
<slot>doIdentificationsComboboxChanged(int)</slot> <slot>doIdentificationsComboboxChanged(int)</slot>
<slot>doSelectDecoySource()</slot>
</slots> </slots>
<buttongroups>
<buttongroup name="decoy_source_buttongroup"/>
</buttongroups>
</ui> </ui>
...@@ -155,7 +155,7 @@ void ProjectWindow::connectNewPtmIslandListWindow() { ...@@ -155,7 +155,7 @@ void ProjectWindow::connectNewPtmIslandListWindow() {
void ProjectWindow::connectNewProteinListWindow() { void ProjectWindow::connectNewProteinListWindow() {
qDebug() << "ProjectWindow::connectNewProteinListWindow begin"; qDebug() << "ProjectWindow::connectNewProteinListWindow begin";
_p_current_protein_list_window = new ProteinListWindow(this); _p_current_protein_list_window = new ProteinListWindow(this);
_protein_list_window_collection.push_back(_p_current_protein_list_window); _protein_list_window_collection.push_back(_p_current_protein_list_window);
qDebug() << "ProjectWindow::connectNewProteinListWindow end"; qDebug() << "ProjectWindow::connectNewProteinListWindow end";
...@@ -341,23 +341,25 @@ void ProjectWindow::doFdrChanged() { ...@@ -341,23 +341,25 @@ void ProjectWindow::doFdrChanged() {
try { try {
showWaitingMessage(tr("FDR modifications")); showWaitingMessage(tr("FDR modifications"));
doDisplayLoadingMessage(tr("tagging decoy proteins")); doDisplayLoadingMessage(tr("tagging decoy proteins"));
QModelIndexList index_list = ui->decoy_database_listview->selectionModel()->selectedIndexes(); if (ui->decoy_regexp_radiobutton->isChecked()) {
if (index_list.size() > 0) { _project_sp.get()->getProteinStore().setRegexpDecoyPattern(ui->decoy_protein_regexp_line_edit->text());
qDebug() << "ProjectWindow::doFdrChanged index_list.size()=" << index_list.size(); }
else {
_project_sp.get()->getProteinStore().clearDecoys(); _project_sp.get()->getProteinStore().clearDecoys();
for (QModelIndex index :index_list) { QModelIndexList index_list = ui->decoy_database_listview->selectionModel()->selectedIndexes();
if (index.data(Qt::UserRole).canConvert<FastaFile *>()) { if (index_list.size() > 0) {
FastaFile * p_fasta_file = index.data(Qt::UserRole).value<FastaFile *>(); qDebug() << "ProjectWindow::doFdrChanged index_list.size()=" << index_list.size();
p_fasta_file->setDecoys(_project_sp.get()->getProteinStore()); for (QModelIndex index :index_list) {
} if (index.data(Qt::UserRole).canConvert<FastaFile *>()) {
else { FastaFile * p_fasta_file = index.data(Qt::UserRole).value<FastaFile *>();
throw pappso::PappsoException(QObject::tr("can not convert to FastaFile index.data().canConvert<FastaFile *>()")); p_fasta_file->setDecoys(_project_sp.get()->getProteinStore());
}
else {
throw pappso::PappsoException(QObject::tr("can not convert to FastaFile index.data().canConvert<FastaFile *>()"));
}
} }
} }
} }
else {
_project_sp.get()->getProteinStore().setRegexpDecoyPattern(ui->decoy_protein_regexp_line_edit->text());
}
doDisplayLoadingMessage(tr("updating filters")); doDisplayLoadingMessage(tr("updating filters"));
_project_sp.get()->updateAutomaticFilters(_project_sp.get()->getAutomaticFilterParameters()); _project_sp.get()->updateAutomaticFilters(_project_sp.get()->getAutomaticFilterParameters());
...@@ -587,6 +589,8 @@ void ProjectWindow::setProjectSp(ProjectSp project_sp) { ...@@ -587,6 +589,8 @@ void ProjectWindow::setProjectSp(ProjectSp project_sp) {
qDebug() << "ProjectWindow::setProjectSp begin" ; qDebug() << "ProjectWindow::setProjectSp begin" ;
_project_sp = project_sp; _project_sp = project_sp;
ui->decoy_regexp_radiobutton->setChecked(true);
ui->decoy_database_groupbox->setVisible(false);
qDebug() << "ProjectWindow::setProjectSp begin " << _project_sp.get()->getFastaFileStore().getFastaFileList().size() ; qDebug() << "ProjectWindow::setProjectSp begin " << _project_sp.get()->getFastaFileStore().getFastaFileList().size() ;
_fastafile_list = _project_sp.get()->getFastaFileStore().getFastaFileList(); _fastafile_list = _project_sp.get()->getFastaFileStore().getFastaFileList();
...@@ -782,3 +786,17 @@ void ProjectWindow::openInXicViewer(const PeptideEvidence * p_peptide_evidence) ...@@ -782,3 +786,17 @@ void ProjectWindow::openInXicViewer(const PeptideEvidence * p_peptide_evidence)
_p_xic_window->addXic(p_peptide_evidence); _p_xic_window->addXic(p_peptide_evidence);
qDebug() << "ProjectWindow::openInXicViewer end"; qDebug() << "ProjectWindow::openInXicViewer end";
} }
void ProjectWindow::doSelectDecoySource() {
qDebug() << "ProjectWindow::doSelectDecoySource begin";
ui->decoy_database_groupbox->setVisible(false);
ui->decoy_regexp_groupbox->setVisible(false);
if (ui->decoy_database_files_radiobutton->isChecked()) {
ui->decoy_database_groupbox->setVisible(true);
}
else {
ui->decoy_regexp_groupbox->setVisible(true);
}
qDebug() << "ProjectWindow::doSelectDecoySource end";
}
...@@ -69,6 +69,7 @@ public slots: ...@@ -69,6 +69,7 @@ public slots:
void setDefaultProteinListWindow(ProteinListWindow* p_protein_list_window); void setDefaultProteinListWindow(ProteinListWindow* p_protein_list_window);
void doAutomaticFilterParametersChanged(AutomaticFilterParameters parameters); void doAutomaticFilterParametersChanged(AutomaticFilterParameters parameters);
void doFdrChanged(); void doFdrChanged();
void doSelectDecoySource();
void doMassPrecisionUnitChanged(QString combo_value); void doMassPrecisionUnitChanged(QString combo_value);
void doOperationFailed(QString); void doOperationFailed(QString);
void doOperationFinished(); void doOperationFinished();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment