Newer
Older
/**
* \file gui/edit_tandem_preset_dialog/edittandempresetdialog.cpp
* \date 30/9/2017
* \author Olivier Langella
* \brief edit tandem preset dialog
*/
/*******************************************************************************
* Copyright (c) 2017 Olivier Langella <olivier.langella@u-psud.fr>.
*
* This file is part of XTPcpp.
*
* XTPcpp is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* XTPcpp is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with XTPcpp. If not, see <http://www.gnu.org/licenses/>.
*
* Contributors:
* Olivier Langella <olivier.langella@u-psud.fr> - initial API and implementation
******************************************************************************/
#include "edittandempresetdialog.h"
#include <QDebug>
#include "ui_edit_tandem_preset_dialog.h"
EditTandemPresetDialog::EditTandemPresetDialog(QWidget * parent):
QDialog(parent),
ui(new Ui::EditTandemPresetView)
{
qDebug() << "EditTandemPresetDialog::EditTandemPresetDialog begin";
ui->setupUi(this);
this->setModal(true);
#if QT_VERSION >= 0x050000
// Qt5 code
#else
// Qt4 code
#endif
qDebug() << "EditTandemPresetDialog::EditTandemPresetDialog end";
}
EditTandemPresetDialog::~EditTandemPresetDialog()
{
delete ui;
if (_p_tandem_preset_file != nullptr) {
delete _p_tandem_preset_file;
}
}
void EditTandemPresetDialog::setTandemParametersFile(const TandemParametersFile & tandem_preset_file) {
if (tandem_preset_file.exists()) {
_p_tandem_preset_file = new TandemParametersFile( tandem_preset_file);
_preset_directory = _p_tandem_preset_file->getAbsoluteDir().absolutePath();
_p_tandem_preset_file = new TandemParametersFile(":/tandem/ressources/model/QExactive_analysis_FDR_nosemi.xml");
QSettings settings;
_preset_directory = settings.value("path/tandemrun_preset_directory", "").toString();
_tandem_params = _p_tandem_preset_file->getTandemParameters();
void EditTandemPresetDialog::doCopy() {
ui->method_name_line_edit->setText("untitled");
readUi();
if (_p_tandem_preset_file == nullptr) {
throw pappso::PappsoException(QObject::tr("_p_tandem_preset_file == nullptr"));
}
else {
delete _p_tandem_preset_file;
}
_p_tandem_preset_file = new TandemParametersFile(QString("%1/untitled.xml").arg(_preset_directory));
void EditTandemPresetDialog::doSelectDir() {
try {
QString directory = QFileDialog::getExistingDirectory(this,tr("Choose preset directory"),_preset_directory );
if (!directory.isEmpty() && ! directory.isNull()) {
fillPresetComboBox();
}
}
catch (pappso::PappsoException & error) {
//QMessageBox::warning(this,
// tr("Error choosing identification result files : %1").arg(error.qwhat()), error);
}
}
void EditTandemPresetDialog::doSave() {
readUi();
if (_p_tandem_preset_file == nullptr) {
throw pappso::PappsoException(QObject::tr("_p_tandem_preset_file == nullptr"));
}
_p_tandem_preset_file->setTandemParameters(_tandem_params);
}
void EditTandemPresetDialog::doLoad() {
int index = ui->preset_combo_box->currentIndex();
if (_p_tandem_preset_file == nullptr) {
throw pappso::PappsoException(QObject::tr("_p_tandem_preset_file == nullptr"));
}
else {
delete _p_tandem_preset_file;
}
_p_tandem_preset_file = new TandemParametersFile(
ui->preset_combo_box->itemData(index).value<QString>());
_tandem_params = _p_tandem_preset_file->getTandemParameters();
populate();
const TandemParametersFile & EditTandemPresetDialog::getTandemParametersFile() const {
if (_p_tandem_preset_file == nullptr) {
throw pappso::PappsoException(QObject::tr("_p_tandem_preset_file == nullptr"));
}
if (!_p_tandem_preset_file->exists()) {
throw pappso::PappsoException(QObject::tr("preset file %1 does not exists").arg(_p_tandem_preset_file->getAbsoluteFilePath()));
}
return *_p_tandem_preset_file;
}
void EditTandemPresetDialog::fillPresetComboBox() {
ui->preset_combo_box->clear();
QString default_preset_name = _tandem_params.getMethodName();
QStringList filters;
filters << "*.xml";
preset_dir.setNameFilters(filters);
for (QFileInfo file_info: preset_dir.entryInfoList() ) {
ui->preset_combo_box->addItem(file_info.baseName(), QVariant(file_info.absoluteFilePath()));
}
int index = ui->preset_combo_box->findText(default_preset_name);
if ( index != -1 ) { // -1 for not found
ui->preset_combo_box->setCurrentIndex(index);
}
}
void EditTandemPresetDialog::doEdit(QString value) {
QObject *senderObj = sender();
QString senderObjName = senderObj->objectName();
qDebug() << "EditTandemPresetDialog::doEdit begin " << senderObjName << " " << value;
qDebug() << "EditTandemPresetDialog::doEdit end " << senderObjName;
}
void EditTandemPresetDialog::doHelp() {
QObject *senderObj = sender();
QString senderObjName = senderObj->objectName();
qDebug() << "EditTandemPresetDialog::doHelp begin " << senderObjName;
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
html_doc.setFileName(":/tandem/resources/html_doc/spmmeu.html");
}
if(senderObjName == "smpc_push_button")
{
//spmmeu.html
html_doc.setFileName(":/tandem/resources/html_doc/smpc.html");
}
if(senderObjName == "spmmem_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/spmmem.html");
}
if(senderObjName == "spmmep_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/spmmep.html");
}
if(senderObjName == "spmmie_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/spmmie.html");
}
if(senderObjName == "sfmt_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/sfmt.html");
}
if(senderObjName == "sfmmeu_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/sfmmeu.html");
}
if(senderObjName == "sfmme_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/sfmme.html");
}
if(senderObjName == "sunlw_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/sunlw.html");
}
if(senderObjName == "sdr_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/sdr.html");
}
if(senderObjName == "stp_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/stp.html");
}
if(senderObjName == "smp_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/smp.html");
}
if(senderObjName == "smfmz_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/smfmz.html");
}
if(senderObjName == "smpmh_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/smpmh.html");
}
if(senderObjName == "spsbs_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/spsbs.html");
}
if(senderObjName == "suca_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/suca.html");
}
if(senderObjName == "st_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/st.html");
}
if(senderObjName == "pcs_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/pcs.html");
}
if(senderObjName == "pcsemi_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/pcsemi.html");
}
if(senderObjName == "pcctmc_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/pcctmc.html");
}
if(senderObjName == "pcntmc_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/pcntmc.html");
}
if(senderObjName == "pctrmm_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/pctrmm.html");
}
if(senderObjName == "pntrmm_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/pntrmm.html");
}
if(senderObjName == "pqa_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/pqa.html");
}
if(senderObjName == "pqp_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/pqp.html");
}
if(senderObjName == "pstpb_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/pstpb.html");
}
if(senderObjName == "pmrmf_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/pmrmf.html");
}
if ((senderObjName == "rmm_push_button") || (senderObjName == "rmm1_push_button") || (senderObjName == "rmm2_push_button"))
{
html_doc.setFileName(":/tandem/resources/html_doc/rmm.html");
}
if ((senderObjName == "rpmm_push_button") || (senderObjName == "rpmm1_push_button") || (senderObjName == "rpmm2_push_button"))
{
html_doc.setFileName(":/tandem/resources/html_doc/rpmm.html");
}
if ((senderObjName == "rpmmotif_push_button") || (senderObjName == "rpmmotif1_push_button") || (senderObjName == "rpmmotif2_push_button"))
{
html_doc.setFileName(":/tandem/resources/html_doc/rpmmotif.html");
}
if(senderObjName == "smic_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/smic.html");
}
if(senderObjName == "smmcs_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/smmcs.html");
}
if(senderObjName == "scp_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/scp.html");
}
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
if(senderObjName == "sir_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/sir.html");
}
if(senderObjName == "syi_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/syi.html");
}
if(senderObjName == "sbi_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/sbi.html");
}
if(senderObjName == "sci_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/sci.html");
}
if(senderObjName == "szi_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/szi.html");
}
if(senderObjName == "sai_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/sai.html");
}
if(senderObjName == "sxi_push_button")
{
html_doc.setFileName(":/tandem/resources/html_doc/sxi.html");
}
_tandem_params.setParamLabelValue("residue, potential modification mass", ui->rpmm_edit->text());
_tandem_params.setParamLabelValue("residue, potential modification mass 1", ui->rpmm1_edit->text());
_tandem_params.setParamLabelValue("residue, potential modification mass 2", ui->rpmm2_edit->text());
if (html_doc.open(QFile::ReadOnly | QFile::Text)) {
QTextStream in(&html_doc);
ui->doc_plain_text_edit->setHtml(in.readAll());
qDebug() << "EditTandemPresetDialog::doHelp doc " << in.readAll();
}
else {
qDebug() << "EditTandemPresetDialog::doHelp doc not found";
}
qDebug() << "EditTandemPresetDialog::doHelp end " << senderObjName;
}
void EditTandemPresetDialog::readUi() {
try {
_tandem_params.setMethodName(ui->method_name_line_edit->text());
_tandem_params.setParamLabelValue("spectrum, parent monoisotopic mass error units", "Daltons");
if (ui->spmmeu_ppm_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("spectrum, parent monoisotopic mass error units", "ppm");
}
_tandem_params.setParamLabelValue("spectrum, parent monoisotopic mass error minus", ui->parent_ion_lower_window_edit->text());
_tandem_params.setParamLabelValue("spectrum, parent monoisotopic mass error plus", ui->parent_ion_upper_window_edit->text());
_tandem_params.setParamLabelValue("spectrum, parent monoisotopic mass isotope error", "no");
if (ui->spmmie_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("spectrum, parent monoisotopic mass isotope error", "yes");
}
_tandem_params.setParamLabelValue("spectrum, maximum parent charge", ui->smpc_edit->text());
_tandem_params.setParamLabelValue("spectrum, fragment mass type", ui->sfmt_combo_box->currentText());
_tandem_params.setParamLabelValue("spectrum, fragment monoisotopic mass error units", "Daltons");
if (ui->sfmmeu_ppm_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("spectrum, fragment monoisotopic mass error units", "ppm");
}
_tandem_params.setParamLabelValue("spectrum, fragment monoisotopic mass error", ui->sfmme_edit->text());
_tandem_params.setParamLabelValue("spectrum, use neutral loss window", "no");
if (ui->sunlw_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("spectrum, use neutral loss window", "yes");
}
_tandem_params.setParamLabelValue("spectrum, dynamic range", ui->sdr_edit->text());
_tandem_params.setParamLabelValue("spectrum, total peaks", ui->stp_edit->text());
_tandem_params.setParamLabelValue("spectrum, minimum peaks", ui->smp_edit->text());
_tandem_params.setParamLabelValue("spectrum, minimum fragment mz", ui->smfmz_edit->text());
_tandem_params.setParamLabelValue("spectrum, minimum parent m+h", ui->smpmh_edit->text());
_tandem_params.setParamLabelValue("spectrum, sequence batch size", ui->spsbs_edit->text());
_tandem_params.setParamLabelValue("spectrum, use contrast angle", "no");
if (ui->suca_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("spectrum, use contrast angle", "yes");
}
_tandem_params.setParamLabelValue("spectrum, threads", ui->st_edit->text());
_tandem_params.setParamLabelValue("protein, cleavage site", ui->pcs_edit->text());
_tandem_params.setParamLabelValue("protein, cleavage semi", "no");
if (ui->pcsemi_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("protein, cleavage semi", "yes");
}
_tandem_params.setParamLabelValue("protein, cleavage C-terminal mass change", ui->pcctmc_edit->text());
_tandem_params.setParamLabelValue("protein, cleavage N-terminal mass change", ui->pcntmc_edit->text());
_tandem_params.setParamLabelValue("protein, quick acetyl", "no");
if (ui->pqa_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("protein, quick acetyl", "yes");
}
_tandem_params.setParamLabelValue("protein, quick pyrolidone", "no");
if (ui->pqp_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("protein, quick pyrolidone", "yes");
}
_tandem_params.setParamLabelValue("protein, stP bias", "no");
if (ui->pstpb_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("protein, stP bias", "yes");
}
_tandem_params.setParamLabelValue("protein, modified residue mass file", ui->pmrmf_edit->text());
_tandem_params.setParamLabelValue("residue, modification mass", ui->rmm_edit->text());
_tandem_params.setParamLabelValue("residue, modification mass 1", ui->rmm1_edit->text());
_tandem_params.setParamLabelValue("residue, modification mass 2", ui->rmm2_edit->text());
_tandem_params.setParamLabelValue("residue, potential modification mass", ui->rpmm_edit->text());
_tandem_params.setParamLabelValue("residue, potential modification mass 1", ui->rpmm1_edit->text());
_tandem_params.setParamLabelValue("residue, potential modification mass 2", ui->rpmm2_edit->text());
_tandem_params.setParamLabelValue("residue, potential modification motif", ui->rpmmotif_edit->text());
_tandem_params.setParamLabelValue("residue, potential modification motif 1", ui->rpmmotif1_edit->text());
_tandem_params.setParamLabelValue("residue, potential modification motif 2", ui->rpmmotif2_edit->text());
_tandem_params.setParamLabelValue("scoring, maximum missed cleavage sites", ui->smmcs_edit->text());
_tandem_params.setParamLabelValue("scoring, cyclic permutation", "no");
if (ui->scp_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("scoring, cyclic permutation", "yes");
}
_tandem_params.setParamLabelValue("scoring, include reverse", "no");
if (ui->sir_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("scoring, include reverse", "yes");
}
_tandem_params.setParamLabelValue("scoring, minimum ion count", ui->smic_edit->text());
_tandem_params.setParamLabelValue("scoring, y ions", "no");
if (ui->syi_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("scoring, y ions", "yes");
}
_tandem_params.setParamLabelValue("scoring, b ions", "no");
if (ui->sbi_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("scoring, b ions", "yes");
}
_tandem_params.setParamLabelValue("scoring, c ions", "no");
if (ui->sci_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("scoring, c ions", "yes");
}
_tandem_params.setParamLabelValue("scoring, z ions", "no");
if (ui->szi_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("scoring, z ions", "yes");
}
_tandem_params.setParamLabelValue("scoring, a ions", "no");
if (ui->sai_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("scoring, a ions", "yes");
}
_tandem_params.setParamLabelValue("scoring, x ions", "no");
if (ui->sxi_yes_radio_button->isChecked()) {
_tandem_params.setParamLabelValue("scoring, x ions", "yes");
}
}
catch (pappso::PappsoException & error) {
QMessageBox::warning(this,tr("Error in parameters :"), error.qwhat());
}
}
void EditTandemPresetDialog::populate() {
ui->method_name_line_edit->setText(_tandem_params.getMethodName());
/*
* <note type="input" label="spectrum, parent monoisotopic mass error units">ppm</note>
* */
ui->spmmeu_daltons_radio_button->setChecked(true);
ui->spmmeu_ppm_radio_button->setChecked(false);
if ( _tandem_params.getValue("spectrum, parent monoisotopic mass error units") == "ppm" ) { // -1 for not found
ui->spmmeu_daltons_radio_button->setChecked(false);
ui->spmmeu_ppm_radio_button->setChecked(true);
//<note type="input" label="spectrum, parent monoisotopic mass error minus">10</note>
ui->parent_ion_lower_window_edit->setText(_tandem_params.getValue("spectrum, parent monoisotopic mass error minus"));
//<note type="input" label="spectrum, parent monoisotopic mass error plus">10</note>
ui->parent_ion_upper_window_edit->setText(_tandem_params.getValue("spectrum, parent monoisotopic mass error plus"));
//<note type="input" label="spectrum, parent monoisotopic mass isotope error">yes</note>
ui->spmmie_yes_radio_button->setChecked(true);
ui->spmmie_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("spectrum, parent monoisotopic mass isotope error") == "no" ) { // -1 for not found
ui->spmmie_yes_radio_button->setChecked(false);
ui->spmmie_no_radio_button->setChecked(true);
//<note type="input" label="spectrum, maximum parent charge">4</note>
ui->smpc_edit->setText(_tandem_params.getValue("spectrum, maximum parent charge"));
//<note type="input" label="spectrum, fragment mass type">monoisotopic</note>
auto index = ui->sfmt_combo_box->findText("monoisotopic");
if ( index != -1 ) { // -1 for not found
ui->sfmt_combo_box->setCurrentIndex(index);
}
//<note type="input" label="spectrum, fragment monoisotopic mass error units">Daltons</note>
ui->sfmmeu_daltons_radio_button->setChecked(true);
ui->sfmmeu_ppm_radio_button->setChecked(false);
if ( _tandem_params.getValue("spectrum, fragment monoisotopic mass error units") == "ppm" ) { // -1 for not found
ui->sfmmeu_daltons_radio_button->setChecked(false);
ui->sfmmeu_ppm_radio_button->setChecked(true);
//<note type="input" label="spectrum, fragment monoisotopic mass error">0.02</note>
ui->sfmme_edit->setText(_tandem_params.getValue("spectrum, fragment monoisotopic mass error"));
//<note type="input" label="spectrum, use neutral loss window">yes</note>
ui->sunlw_yes_radio_button->setChecked(true);
ui->sunlw_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("spectrum, use neutral loss window") == "no" ) { // -1 for not found
ui->sunlw_yes_radio_button->setChecked(false);
ui->sunlw_no_radio_button->setChecked(true);
//<note type="input" label="spectrum, dynamic range">100.0</note>
ui->sdr_edit->setText(_tandem_params.getValue("spectrum, dynamic range"));
//<note type="input" label="spectrum, total peaks">100</note>
ui->stp_edit->setText(_tandem_params.getValue("spectrum, total peaks"));
ui->smp_edit->setText(_tandem_params.getValue("spectrum, minimum peaks"));
//<note type="input" label="spectrum, minimum fragment mz">150.0</note>
ui->smfmz_edit->setText(_tandem_params.getValue("spectrum, minimum fragment mz"));
//<note type="input" label="spectrum, minimum parent m+h">500.0</note>
ui->smpmh_edit->setText(_tandem_params.getValue("spectrum, minimum parent m+h"));
//<note type="input" label="spectrum, sequence batch size">1000</note>
ui->spsbs_edit->setText(_tandem_params.getValue("spectrum, sequence batch size"));
//<note type="input" label="spectrum, use contrast angle">no</note>
ui->suca_yes_radio_button->setChecked(true);
ui->suca_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("spectrum, use contrast angle") == "no" ) { // -1 for not found
ui->suca_yes_radio_button->setChecked(false);
ui->suca_no_radio_button->setChecked(true);
}
//<note type="input" label="spectrum, threads">1</note>
ui->st_edit->setText(_tandem_params.getValue("spectrum, threads"));
//<note type="input" label="protein, cleavage site">[RK]|{P}</note>
ui->pcs_edit->setText(_tandem_params.getValue("protein, cleavage site"));
//<note type="input" label="protein, cleavage semi">no</note>
ui->pcsemi_yes_radio_button->setChecked(true);
ui->pcsemi_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("protein, cleavage semi") == "no" ) { // -1 for not found
ui->pcsemi_yes_radio_button->setChecked(false);
ui->pcsemi_no_radio_button->setChecked(true);
}
//<note type="input" label="protein, cleavage C-terminal mass change">+17.00305</note>
ui->pcctmc_edit->setText(_tandem_params.getValue("protein, cleavage C-terminal mass change"));
//<note type="input" label="protein, cleavage N-terminal mass change">+1.00794</note>
ui->pcntmc_edit->setText(_tandem_params.getValue("protein, cleavage N-terminal mass change"));
//<note type="input" label="protein, C-terminal residue modification mass">0.0</note>
ui->pctrmm_edit->setText(_tandem_params.getValue("protein, C-terminal residue modification mass"));
//<note type="input" label="protein, N-terminal residue modification mass">0.0</note>
ui->pntrmm_edit->setText(_tandem_params.getValue("protein, N-terminal residue modification mass"));
//<note type="input" label="protein, quick acetyl">yes</note>
ui->pqa_yes_radio_button->setChecked(true);
ui->pqa_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("protein, quick acetyl") == "no" ) { // -1 for not found
ui->pqa_yes_radio_button->setChecked(false);
ui->pqa_no_radio_button->setChecked(true);
//<note type="input" label="protein, quick pyrolidone">yes</note>
ui->pqp_yes_radio_button->setChecked(true);
ui->pqp_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("protein, quick pyrolidone") == "no" ) { // -1 for not found
ui->pqp_yes_radio_button->setChecked(false);
ui->pqp_no_radio_button->setChecked(true);
//<note type="input" label="protein, stP bias">yes</note>
ui->pstpb_yes_radio_button->setChecked(true);
ui->pstpb_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("protein, stP bias") == "no" ) { // -1 for not found
ui->pstpb_yes_radio_button->setChecked(false);
ui->pstpb_no_radio_button->setChecked(true);
//<note type="input" label="protein, modified residue mass file"></note>
ui->pmrmf_edit->setText(_tandem_params.getValue("protein, modified residue mass file"));
//<note type="input" label="residue, modification mass">57.02146@C</note>
ui->rmm_edit->setText(_tandem_params.getValue("residue, modification mass"));
//<note type="input" label="residue, modification mass 1"></note>
ui->rmm1_edit->setText(_tandem_params.getValue("residue, modification mass 1"));
//<note type="input" label="residue, modification mass 2"></note>
ui->rmm2_edit->setText(_tandem_params.getValue("residue, modification mass 2"));
//<note type="input" label="residue, potential modification mass">15.99491@M</note>
ui->rpmm_edit->setText(_tandem_params.getValue("residue, potential modification mass"));
//<note type="input" label="residue, potential modification mass 1"></note>
ui->rpmm1_edit->setText(_tandem_params.getValue("residue, potential modification mass 1"));
//<note type="input" label="residue, potential modification mass 2"></note>
ui->rpmm2_edit->setText(_tandem_params.getValue("residue, potential modification mass 2"));
//<note type="input" label="residue, potential modification motif"></note>
ui->rpmmotif_edit->setText(_tandem_params.getValue("residue, potential modification motif"));
//<note type="input" label="residue, potential modification motif 1"></note>
ui->rpmmotif1_edit->setText(_tandem_params.getValue("residue, potential modification motif 1"));
//<note type="input" label="residue, potential modification motif 2"></note>
ui->rpmmotif2_edit->setText(_tandem_params.getValue("residue, potential modification motif 2"));
//<note type="input" label="scoring, minimum ion count">4</note>
ui->smic_edit->setText(_tandem_params.getValue("scoring, minimum ion count"));
//<note type="input" label="scoring, maximum missed cleavage sites">1</note>
ui->smmcs_edit->setText(_tandem_params.getValue("scoring, maximum missed cleavage sites"));
//<note type="input" label="scoring, cyclic permutation">yes</note>
ui->scp_yes_radio_button->setChecked(true);
ui->scp_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("scoring, cyclic permutation") == "no" ) { // -1 for not found
ui->scp_yes_radio_button->setChecked(false);
ui->scp_no_radio_button->setChecked(true);
}
//<note type="input" label="scoring, include reverse">yes</note>
ui->sir_yes_radio_button->setChecked(true);
ui->sir_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("scoring, include reverse") == "no" ) { // -1 for not found
ui->sir_yes_radio_button->setChecked(false);
ui->sir_no_radio_button->setChecked(true);
}
//<note type="input" label="scoring, y ions">yes</note>
ui->syi_yes_radio_button->setChecked(true);
ui->syi_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("scoring, y ions") == "no" ) { // -1 for not found
ui->syi_yes_radio_button->setChecked(false);
ui->syi_no_radio_button->setChecked(true);
}
//<note type="input" label="scoring, b ions">yes</note>
ui->sbi_yes_radio_button->setChecked(true);
ui->sbi_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("scoring, b ions") == "no" ) { // -1 for not found
ui->sbi_yes_radio_button->setChecked(false);
ui->sbi_no_radio_button->setChecked(true);
}
//<note type="input" label="scoring, c ions">no</note>
ui->sci_yes_radio_button->setChecked(true);
ui->sci_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("scoring, c ions") == "no" ) { // -1 for not found
ui->sci_yes_radio_button->setChecked(false);
ui->sci_no_radio_button->setChecked(true);
}
//<note type="input" label="scoring, z ions">no</note>
ui->szi_yes_radio_button->setChecked(true);
ui->szi_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("scoring, z ions") == "no" ) { // -1 for not found
ui->szi_yes_radio_button->setChecked(false);
ui->szi_no_radio_button->setChecked(true);
}
//<note type="input" label="scoring, a ions">no</note>
ui->sai_yes_radio_button->setChecked(true);
ui->sai_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("scoring, a ions") == "no" ) { // -1 for not found
ui->sai_yes_radio_button->setChecked(false);
ui->sai_no_radio_button->setChecked(true);
}
//<note type="input" label="scoring, x ions">no</note>
ui->sxi_yes_radio_button->setChecked(true);
ui->sxi_no_radio_button->setChecked(false);
if ( _tandem_params.getValue("scoring, x ions") == "no" ) { // -1 for not found
ui->sxi_yes_radio_button->setChecked(false);
ui->sxi_no_radio_button->setChecked(true);
}
void EditTandemPresetDialog::done(int r)
{
if(QDialog::Accepted == r) // ok was pressed
{
readUi();
TandemParameters ref_params = _p_tandem_preset_file->getTandemParameters();
if(ref_params.equals(_tandem_params)) // validate the data somehow
{
QDialog::done(r);
return;
}
else
{
QMessageBox::warning(this,
tr("Save parameters"), tr("Parameters modified but not saved.\nPlease save it before pressing ok or cancel edition"));
return;
}
}
else // cancel, close or exc was pressed
{
QDialog::done(r);
return;
}
}