From adc54b07132090bb9eacc3af968dcb884d732ea0 Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Wed, 7 Mar 2018 22:08:53 +0100 Subject: [PATCH] economic accession parsing --- src/gui/project_view/projectwindow.cpp | 1 + .../contaminant_widget/contaminantwidget.cpp | 1 + src/utils/proteinstore.cpp | 17 ++++++++++------- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/gui/project_view/projectwindow.cpp b/src/gui/project_view/projectwindow.cpp index 2a2fc3123..f52b45355 100644 --- a/src/gui/project_view/projectwindow.cpp +++ b/src/gui/project_view/projectwindow.cpp @@ -568,6 +568,7 @@ void ProjectWindow::setProjectSp(ProjectSp project_sp) { _project_sp = project_sp; ui->decoy_regexp_radiobutton->setChecked(true); + ui->decoy_regexp_groupbox->setVisible(true); ui->decoy_database_groupbox->setVisible(false); if (_project_sp.get()->getProteinStore().getDecoyFastaFileList().size() > 0) { ui->decoy_database_files_radiobutton->setChecked(true); diff --git a/src/gui/widgets/contaminant_widget/contaminantwidget.cpp b/src/gui/widgets/contaminant_widget/contaminantwidget.cpp index e316b142b..7c4f95820 100644 --- a/src/gui/widgets/contaminant_widget/contaminantwidget.cpp +++ b/src/gui/widgets/contaminant_widget/contaminantwidget.cpp @@ -83,6 +83,7 @@ void ContaminantWidget::setFastaFileList(std::vector<FastaFileSp> fasta_file_lis void ContaminantWidget::getProjectContaminants(const Project * p_project) { ui->contaminant_regexp_radiobutton->setChecked(true); + ui->contaminant_protein_regexp_line_edit->setVisible(true); ui->contaminant_database_listview->setVisible(false); if (p_project->getProteinStore().getContaminantFastaFileList().size() > 0) { ui->contaminant_file_radiobutton->setChecked(true); diff --git a/src/utils/proteinstore.cpp b/src/utils/proteinstore.cpp index a08f89ed4..e7312b0b6 100644 --- a/src/utils/proteinstore.cpp +++ b/src/utils/proteinstore.cpp @@ -128,24 +128,27 @@ ProteinXtpSp & ProteinStore::getInstance(ProteinXtpSp & peptide_in) { if (ret.second) { //the protein is new in the store, update content setProteinInformations(ret.first->second); + + if (ret.first->second.get()->getDbxrefList().size() == 0) { + ret.first->second.get()->parseAccession2dbxref(); + } } return (ret.first->second); } -void ProteinStore::setProteinInformations(ProteinXtpSp & peptide_in) { +void ProteinStore::setProteinInformations(ProteinXtpSp & protein_in) { //qDebug() << "ProteinStore::setProteinInformations begin" << peptide_in.get()->getSequence(); - peptide_in.get()->setIsContaminant(false); - peptide_in.get()->setIsDecoy(false); - QString accession = peptide_in.get()->getAccession(); - peptide_in.get()->parseAccession2dbxref(); + protein_in.get()->setIsContaminant(false); + protein_in.get()->setIsDecoy(false); + QString accession = protein_in.get()->getAccession(); if ((!_regexp_contaminant.isEmpty()) && (_regexp_contaminant.indexIn(accession, 0)>-1)) { //qDebug() << "ProteinStore::setProteinInformations is contaminant " << accession; - peptide_in.get()->setIsContaminant(true); + protein_in.get()->setIsContaminant(true); } if ((!_regexp_decoy.isEmpty()) && (_regexp_decoy.indexIn(accession, 0)>-1) ) { - peptide_in.get()->setIsDecoy(true); + protein_in.get()->setIsDecoy(true); } //qDebug() << "ProteinStore::setProteinInformations end"; } -- GitLab