From bd4b8dffea5419687041ae44647910f22d54e7ee Mon Sep 17 00:00:00 2001 From: Olivier Langella <Olivier.Langella@moulon.inra.fr> Date: Thu, 21 Sep 2017 10:14:40 +0200 Subject: [PATCH] WIP: using tandem parameters files in tandem run dialog --- src/core/tandem_run/tandemparameters.cpp | 9 ++++++++- src/core/tandem_run/tandemparameters.h | 1 + src/files/tandemparametersfile.cpp | 4 ++++ src/files/tandemparametersfile.h | 4 ++++ src/gui/tandem_run_dialog/tandemrundialog.cpp | 11 +++++++++++ 5 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/core/tandem_run/tandemparameters.cpp b/src/core/tandem_run/tandemparameters.cpp index c744bdc4..ad431175 100644 --- a/src/core/tandem_run/tandemparameters.cpp +++ b/src/core/tandem_run/tandemparameters.cpp @@ -29,6 +29,7 @@ #include "tandemparameters.h" #include <QDebug> +#include <pappsomspp/exception/exceptionnotfound.h> TandemParameters::TandemParameters() { } @@ -51,7 +52,13 @@ TandemParameters::TandemParameters(const TandemParameters & other) { const QString TandemParameters::getLabelCategory(const QString & value) const { return value.split(", ").at(0); } - +const QString & TandemParameters::getValue(const QString & label) const { + QMap<QString,QString>::const_iterator it = _map_label_value.constFind(label); + if (it == _map_label_value.end()) { + throw pappso::ExceptionNotFound(QObject::tr("X!Tandem preset label %1 not found in method %2").arg(label).arg(_method_name)); + } + return it.value(); +} void TandemParameters::setParamLabelValue(const QString & label, const QString & value) { //list path //<note type="input" label="list path, default parameters">/gorgone/pappso/tmp/temp_condor_job24872841484824316495370334631825647/QExactive_analysis_FDR_nosemi.xml</note> diff --git a/src/core/tandem_run/tandemparameters.h b/src/core/tandem_run/tandemparameters.h index 5da27ecc..d96065fc 100644 --- a/src/core/tandem_run/tandemparameters.h +++ b/src/core/tandem_run/tandemparameters.h @@ -40,6 +40,7 @@ public: TandemParameters(const TandemParameters & other); virtual ~TandemParameters(); + const QString & getValue(const QString & label) const; void setMethodName(const QString & method); void setParamLabelValue(const QString & label, const QString & value); const QMap<QString, QString> & getMapLabelValue() const; diff --git a/src/files/tandemparametersfile.cpp b/src/files/tandemparametersfile.cpp index fdcb1016..84b2cefd 100644 --- a/src/files/tandemparametersfile.cpp +++ b/src/files/tandemparametersfile.cpp @@ -33,6 +33,10 @@ #include <pappsomspp/pappsoexception.h> #include "../input/xtandemparamsaxhandler.h" +TandemParametersFile::TandemParametersFile() +{ + qDebug() << "TandemParametersFile::TandemParametersFile no source"; +} TandemParametersFile::TandemParametersFile(const QString & fasta_source) : _param_source(fasta_source) { qDebug() << "TandemParametersFile::TandemParametersFile "<< fasta_source; diff --git a/src/files/tandemparametersfile.h b/src/files/tandemparametersfile.h index cd58ee67..a7d6d956 100644 --- a/src/files/tandemparametersfile.h +++ b/src/files/tandemparametersfile.h @@ -36,8 +36,10 @@ class TandemParametersFile { + public: TandemParametersFile(const QString & param_file); + TandemParametersFile(); TandemParametersFile(const QFileInfo & param_file); TandemParametersFile(const TandemParametersFile & other); ~TandemParametersFile(); @@ -61,4 +63,6 @@ private : const QFileInfo _param_source; }; + +Q_DECLARE_METATYPE(TandemParametersFile) #endif // TANDEMPARAMETERSFILE_H diff --git a/src/gui/tandem_run_dialog/tandemrundialog.cpp b/src/gui/tandem_run_dialog/tandemrundialog.cpp index 6d8819d7..0ad3a880 100644 --- a/src/gui/tandem_run_dialog/tandemrundialog.cpp +++ b/src/gui/tandem_run_dialog/tandemrundialog.cpp @@ -34,6 +34,7 @@ #include <QFileDialog> #include <QMessageBox> #include <pappsomspp/pappsoexception.h> +#include "../../files/tandemparametersfile.h" //Q_DECLARE_METATYPE(QFileInfo) @@ -69,6 +70,16 @@ TandemRunDialog::~TandemRunDialog() void TandemRunDialog::setPresetName(QString preset_name) { QSettings settings; settings.setValue("tandem/preset_name", preset_name); + + + //get presets : + + TandemParametersFile param_file = ui->preset_combobox->itemData(ui->preset_combobox->currentIndex()).data(Qt::UserRole).value<TandemParametersFile>(); + + param_file.getTandemParameters().getValue("spectrum, threads"); + + + } void TandemRunDialog::fillPresetComboBox() { ui->preset_combobox->clear(); -- GitLab