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 @@
<x>0</x>
<y>0</y>
<width>465</width>
<height>493</height>
<height>533</height>
</rect>
</property>
<property name="windowTitle">
......@@ -24,7 +24,7 @@
<string/>
</property>
<property name="currentIndex">
<number>0</number>
<number>2</number>
</property>
<widget class="QWidget" name="identifications">
<attribute name="title">
......@@ -133,9 +133,39 @@
</widget>
</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">
<string>Decoy database files</string>
<string>Choose decoy database files</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
......@@ -169,9 +199,9 @@
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<widget class="QGroupBox" name="decoy_regexp_groupbox">
<property name="title">
<string>Decoy protein regular expression</string>
<string>Set regular expression to select decoy proteins</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
......@@ -181,6 +211,19 @@
</property>
</widget>
</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>
</widget>
</item>
......@@ -388,10 +431,46 @@
</hint>
</hints>
</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>
<slots>
<slot>doFdrChanged()</slot>
<slot>doMassPrecisionUnitChanged(QString)</slot>
<slot>doIdentificationsComboboxChanged(int)</slot>
<slot>doSelectDecoySource()</slot>
</slots>
<buttongroups>
<buttongroup name="decoy_source_buttongroup"/>
</buttongroups>
</ui>
......@@ -155,7 +155,7 @@ void ProjectWindow::connectNewPtmIslandListWindow() {
void ProjectWindow::connectNewProteinListWindow() {
qDebug() << "ProjectWindow::connectNewProteinListWindow begin";
_p_current_protein_list_window = new ProteinListWindow(this);
_protein_list_window_collection.push_back(_p_current_protein_list_window);
qDebug() << "ProjectWindow::connectNewProteinListWindow end";
......@@ -341,23 +341,25 @@ void ProjectWindow::doFdrChanged() {
try {
showWaitingMessage(tr("FDR modifications"));
doDisplayLoadingMessage(tr("tagging decoy proteins"));
QModelIndexList index_list = ui->decoy_database_listview->selectionModel()->selectedIndexes();
if (index_list.size() > 0) {
qDebug() << "ProjectWindow::doFdrChanged index_list.size()=" << index_list.size();
if (ui->decoy_regexp_radiobutton->isChecked()) {
_project_sp.get()->getProteinStore().setRegexpDecoyPattern(ui->decoy_protein_regexp_line_edit->text());
}
else {
_project_sp.get()->getProteinStore().clearDecoys();
for (QModelIndex index :index_list) {
if (index.data(Qt::UserRole).canConvert<FastaFile *>()) {
FastaFile * p_fasta_file = index.data(Qt::UserRole).value<FastaFile *>();
p_fasta_file->setDecoys(_project_sp.get()->getProteinStore());
}
else {
throw pappso::PappsoException(QObject::tr("can not convert to FastaFile index.data().canConvert<FastaFile *>()"));
QModelIndexList index_list = ui->decoy_database_listview->selectionModel()->selectedIndexes();
if (index_list.size() > 0) {
qDebug() << "ProjectWindow::doFdrChanged index_list.size()=" << index_list.size();
for (QModelIndex index :index_list) {
if (index.data(Qt::UserRole).canConvert<FastaFile *>()) {
FastaFile * p_fasta_file = index.data(Qt::UserRole).value<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"));
_project_sp.get()->updateAutomaticFilters(_project_sp.get()->getAutomaticFilterParameters());
......@@ -587,6 +589,8 @@ void ProjectWindow::setProjectSp(ProjectSp project_sp) {
qDebug() << "ProjectWindow::setProjectSp begin" ;
_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() ;
_fastafile_list = _project_sp.get()->getFastaFileStore().getFastaFileList();
......@@ -782,3 +786,17 @@ void ProjectWindow::openInXicViewer(const PeptideEvidence * p_peptide_evidence)
_p_xic_window->addXic(p_peptide_evidence);
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:
void setDefaultProteinListWindow(ProteinListWindow* p_protein_list_window);
void doAutomaticFilterParametersChanged(AutomaticFilterParameters parameters);
void doFdrChanged();
void doSelectDecoySource();
void doMassPrecisionUnitChanged(QString combo_value);
void doOperationFailed(QString);
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