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 <pappsomspp/exception/exceptionnotfound.h>
#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);
ui->splitter->setStretchFactor(0, 1);
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();
_tandem_params = _p_tandem_preset_file->getTandemParameters();
_p_tandem_preset_file = new TandemParametersFile(
":/tandem/resources/model/QExactive_analysis_FDR_nosemi.xml");
_tandem_params = _p_tandem_preset_file->getTandemParameters();
QSettings settings;
_preset_directory =
settings.value("path/tandemrun_preset_directory", "").toString();
_p_tandem_preset_file->setDirectory(QDir(_preset_directory));
catch(pappso::PappsoException &error)
qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
QMessageBox::warning(
this, tr("Error"), tr("Error :\n %1").arg(error.qwhat()));

Langella Olivier
committed
fillPresetComboBox();
populate();
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"));
delete _p_tandem_preset_file;
_p_tandem_preset_file =
new TandemParametersFile(QString("%1/untitled.xml").arg(_preset_directory));
void
EditTandemPresetDialog::doSelectDir()
{
QString directory = QFileDialog::getExistingDirectory(
this, tr("Choose preset directory"), _preset_directory);
QFileInfo my_dir(directory);
if(!directory.isEmpty() && !directory.isNull())
if(!my_dir.isWritable())
throw pappso::PappsoException(
QObject::tr(
"this directory is not writable, check permissions (%1)")
.arg(my_dir.absoluteFilePath()));
_preset_directory = directory;
fillPresetComboBox();
catch(pappso::PappsoException &error)
QMessageBox::warning(
this,
tr("Error :"),
tr("Error choosing preset directory : %1").arg(error.qwhat()));
void
EditTandemPresetDialog::doSave()
{
readUi();
if(_p_tandem_preset_file == nullptr)
throw pappso::PappsoException(
QObject::tr("_p_tandem_preset_file == nullptr"));
_p_tandem_preset_file->setDirectory(QDir(_preset_directory));
_p_tandem_preset_file->setTandemParameters(_tandem_params);
fillPresetComboBox();
populate();
void
EditTandemPresetDialog::doLoad()
{
int index = ui->preset_combo_box->currentIndex();
if(index != -1)
{ // -1 for not found
qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
TandemParametersFile *p_tandem_preset_file = new TandemParametersFile(
ui->preset_combo_box->itemData(index).value<QString>());
if(p_tandem_preset_file->isTandemPresetFile())
{
if(_p_tandem_preset_file == nullptr)
throw pappso::PappsoException(
QObject::tr("_p_tandem_preset_file == nullptr"));
delete _p_tandem_preset_file;
_p_tandem_preset_file = p_tandem_preset_file;
try
qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
_tandem_params = _p_tandem_preset_file->getTandemParameters();
qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
populate();
catch(pappso::PappsoException &error)
qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
QMessageBox::warning(
this,
tr("Error :"),
tr("Error reading %1 X!Tandem parameter file:\n %2")
.arg(p_tandem_preset_file->getAbsoluteFilePath())
.arg(error.qwhat()));
QMessageBox::warning(
this,
tr("Error :"),
tr("%1 is not an X!Tandem parameter file")
.arg(p_tandem_preset_file->getAbsoluteFilePath()));
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();
QDir preset_dir(_preset_directory);
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;
QFile html_doc;
if(senderObjName == "spmmeu_push_button")
// spmmeu.html
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 == "snlm_push_button")

Langella Olivier
committed
{
html_doc.setFileName(":/tandem/resources/html_doc/snlm.html");

Langella Olivier
committed
}
if(senderObjName == "snlw_push_button")

Langella Olivier
committed
{
html_doc.setFileName(":/tandem/resources/html_doc/snlw.html");

Langella Olivier
committed
}
if(senderObjName == "suns_push_button")

Langella Olivier
committed
{
html_doc.setFileName(":/tandem/resources/html_doc/suns.html");

Langella Olivier
committed
}
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")
html_doc.setFileName(":/tandem/resources/html_doc/rpmm.html");
if(senderObjName == "rpmmotif_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");
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");
if(senderObjName == "refine_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/refine.html");
if(senderObjName == "rmvev_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/rmvev.html");
if(senderObjName == "refpntm_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/refpntm.html");
if(senderObjName == "refpctm_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/refpctm.html");
if((senderObjName == "refmm_push_button") ||
(senderObjName == "refmm1_push_button") ||
(senderObjName == "refmm2_push_button"))
html_doc.setFileName(":/tandem/resources/html_doc/refmm.html");
if((senderObjName == "refpmm_push_button") ||
(senderObjName == "refpmm1_push_button") ||
(senderObjName == "refpmm2_push_button"))
html_doc.setFileName(":/tandem/resources/html_doc/refpmm.html");
if((senderObjName == "refpmmotif_push_button") ||
(senderObjName == "refpmmotif1_push_button") ||
(senderObjName == "refpmmotif2_push_button"))
html_doc.setFileName(":/tandem/resources/html_doc/refpmmotif.html");
if(senderObjName == "rupmffr_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/rupmffr.html");
if(senderObjName == "rcsemi_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/rcsemi.html");
if(senderObjName == "ruc_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/ruc.html");
if(senderObjName == "rss_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/rss.html");
if(senderObjName == "rpm_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/rpm.html");
if((senderObjName == "omvev_push_button") ||
(senderObjName == "omvpev_push_button"))
html_doc.setFileName(":/tandem/resources/html_doc/omvev.html");
if(senderObjName == "oresu_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/oresu.html");
if(senderObjName == "osrb_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/osrb.html");
if(senderObjName == "oprot_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/oprot.html");
if(senderObjName == "oseq_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/oseq.html");
if(senderObjName == "oosc_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/oosc.html");
if(senderObjName == "ospec_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/ospec.html");
if(senderObjName == "opara_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/opara.html");
if(senderObjName == "ohist_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/ohist.html");
if(senderObjName == "ohcw_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/ohcw.html");
if(senderObjName == "oph_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/oph.html");
if(senderObjName == "oxp_push_button")
html_doc.setFileName(":/tandem/resources/html_doc/oxp.html");
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();
qDebug() << "EditTandemPresetDialog::doHelp doc not found";
qDebug() << "EditTandemPresetDialog::doHelp end " << senderObjName;
void
EditTandemPresetDialog::readUi()
{
_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, neutral loss mass",
ui->snlm_edit->text());
_tandem_params.setParamLabelValue("spectrum, neutral loss window",
ui->snlw_edit->text());
_tandem_params.setParamLabelValue("spectrum, use noise suppression",
"no");
if(ui->suns_yes_radio_button->isChecked())
_tandem_params.setParamLabelValue("spectrum, use noise suppression",
"yes");

Langella Olivier
committed
}
_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 motif",
ui->rpmmotif_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");
_tandem_params.setParamLabelValue("refine", "no");
if(ui->refine_yes_radio_button->isChecked())
_tandem_params.setParamLabelValue("refine", "yes");
_tandem_params.setParamLabelValue(
"refine, maximum valid expectation value", ui->rmvev_edit->text());
_tandem_params.setParamLabelValue(
"refine, potential N-terminus modifications", ui->refpntm_edit->text());
_tandem_params.setParamLabelValue(
"refine, potential C-terminus modifications", ui->refpctm_edit->text());
_tandem_params.setParamLabelValue("refine, modification mass",
ui->refmm_edit->text());
_tandem_params.setParamLabelValue("refine, modification mass 1",
ui->refmm1_edit->text());
_tandem_params.setParamLabelValue("refine, modification mass 2",
ui->refmm2_edit->text());
_tandem_params.setParamLabelValue("refine, potential modification mass",
ui->refpmm_edit->text());
_tandem_params.setParamLabelValue("refine, potential modification mass 1",
ui->refpmm1_edit->text());
_tandem_params.setParamLabelValue("refine, potential modification mass 2",
ui->refpmm2_edit->text());
_tandem_params.setParamLabelValue("refine, potential modification motif",
ui->refpmmotif_edit->text());
_tandem_params.setParamLabelValue(
"refine, potential modification motif 1", ui->refpmmotif1_edit->text());
_tandem_params.setParamLabelValue(
"refine, potential modification motif 2", ui->refpmmotif2_edit->text());
_tandem_params.setParamLabelValue(
"refine, use potential modifications for full refinement", "no");
if(ui->rupmffr_yes_radio_button->isChecked())
_tandem_params.setParamLabelValue(
"refine, use potential modifications for full refinement", "yes");
_tandem_params.setParamLabelValue("refine, cleavage semi", "no");
if(ui->rcsemi_yes_radio_button->isChecked())
_tandem_params.setParamLabelValue("refine, cleavage semi", "yes");
_tandem_params.setParamLabelValue("refine, unanticipated cleavage", "no");
if(ui->ruc_yes_radio_button->isChecked())
_tandem_params.setParamLabelValue("refine, unanticipated cleavage",
"yes");
_tandem_params.setParamLabelValue("refine, spectrum synthesis", "no");
if(ui->rss_yes_radio_button->isChecked())
_tandem_params.setParamLabelValue("refine, spectrum synthesis",
"yes");
_tandem_params.setParamLabelValue("refine, point mutations", "no");
if(ui->rpm_yes_radio_button->isChecked())
_tandem_params.setParamLabelValue("refine, point mutations", "yes");
_tandem_params.setParamLabelValue(
"output, maximum valid expectation value", ui->omvev_edit->text());
_tandem_params.setParamLabelValue(
"output, maximum valid protein expectation value",
ui->omvpev_edit->text());
_tandem_params.setParamLabelValue("output, results", "valid");
if(ui->oresu_all_radio_button->isChecked())
_tandem_params.setParamLabelValue("output, results", "all");
if(ui->oresu_stochastic_radio_button->isChecked())
_tandem_params.setParamLabelValue("output, results", "stochastic");
_tandem_params.setParamLabelValue("output, spectra", "no");
if(ui->ospec_yes_radio_button->isChecked())
_tandem_params.setParamLabelValue("output, spectra", "yes");
_tandem_params.setParamLabelValue("output, histogram column width", "30");
_tandem_params.setParamLabelValue("output, xsl path",
ui->oxp_edit->text());
catch(pappso::PappsoException &error)
QMessageBox::warning(this, tr("Error in parameters :"), error.qwhat());
void
EditTandemPresetDialog::populate()
{
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__;
try
{
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);
try
{
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);
catch(pappso::ExceptionNotFound &error)
ui->sunlw_yes_radio_button->setChecked(false);
ui->sunlw_no_radio_button->setChecked(true);

Langella Olivier
committed
//<note type="input" label="spectrum, neutral loss
// mass">18.01057</note>
ui->snlm_edit->setText(
_tandem_params.getValue("spectrum, neutral loss mass"));
catch(pappso::ExceptionNotFound &error)
ui->snlm_edit->setText("18.01057");
//<note type="input" label="spectrum, neutral loss window">0.02</note>
ui->snlw_edit->setText(
_tandem_params.getValue("spectrum, neutral loss window"));
catch(pappso::ExceptionNotFound &error)
ui->snlm_edit->setText("0.02");
//<note type="input" label="spectrum, use noise suppression">yes</note>
ui->suns_yes_radio_button->setChecked(true);
ui->suns_no_radio_button->setChecked(false);
if(_tandem_params.getValue("spectrum, use noise suppression") == "no")
{ // -1 for not found
ui->suns_yes_radio_button->setChecked(false);
ui->suns_no_radio_button->setChecked(true);

Langella Olivier
committed
}
//<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);
catch(pappso::ExceptionNotFound &error)
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);