Commit d4954213 authored by Renne Thomas's avatar Renne Thomas
Browse files

Complete xtandem view and add no engine view

parent c497f4d6
......@@ -207,6 +207,7 @@ SET(XTPCPP_SRCS
./gui/waiting_message_dialog/waitingmessagedialog.cpp
./gui/widgets/automatic_filter_widget/automaticfilterwidget.cpp
./gui/widgets/engines_view/xtandemparamwidget.cpp
./gui/widgets/engines_view/noengineparamwidget.cpp
./gui/widgets/contaminant_widget/contaminantwidget.cpp
./gui/widgets/decoy_widget/decoywidget.cpp
./gui/widgets/xic_extraction_method_widget/xicextractionmethodwidget.cpp
......@@ -245,6 +246,7 @@ SET (GUI_UIS
./gui/waiting_message_dialog/waiting_message_dialog.ui
./gui/widgets/automatic_filter_widget/automatic_filter_widget.ui
./gui/widgets/engines_view/xtandem_view_widget.ui
./gui/widgets/engines_view/no_engine_view_widget.ui
./gui/widgets/contaminant_widget/contaminant_widget.ui
./gui/widgets/decoy_widget/decoy_widget.ui
./gui/xic_view/xic_box/xic_box.ui
......
......@@ -20,63 +20,56 @@
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="labelEngineName">
<property name="text">
<string>Engine name</string>
</property>
</widget>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="labelEngineName">
<property name="text">
<string>Engine name</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="labelEngineVersion">
<property name="text">
<string>Engine Version</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="labelEngineVersion">
<property name="text">
<string>Engine Version</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="XtandemParamWidget" name="xtandem_view_widget" native="true"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="closeButton">
<property name="text">
<string>Close</string>
</property>
</widget>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="closeButton">
<property name="text">
<string>Close</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
<customwidgets>
<customwidget>
<class>XtandemParamWidget</class>
<extends>QWidget</extends>
<header>gui/widgets/engines_view/xtandemparamwidget.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections>
<connection>
......
......@@ -24,7 +24,8 @@
#include "ui_engine_detail_view.h"
#include "enginedetailwindow.h"
#include "gui/widgets/engines_view/xtandemparamwidget.h"
#include "gui/widgets/engines_view/noengineparamwidget.h"
#include "../../../mainwindow.h"
#include <QSettings>
......@@ -53,11 +54,33 @@ EngineDetailWindow::setIdentificationEngineParam(
void
EngineDetailWindow::updateDisplay()
{
QString params_file = m_identificationEngine->get()->getResourceName();
ui->labelEngineName->setText(
m_identificationEngine->get()->getIdentificationEngineName());
ui->labelEngineVersion->setText(
m_identificationEngine->get()->getIdentificationEngineVersion());
m_params_file = m_identificationEngine->get()->getResourceName();
ui->xtandem_view_widget->setAutomaticXTandemParameters(m_params_file);
TandemParametersFile param_file(params_file);
if(param_file.exists())
{
TandemParameters xtandem_parameters = param_file.getTandemParameters();
if(m_identificationEngine->get()->getIdentificationEngineName() ==
"X!Tandem")
{
XtandemParamWidget *xtandem_view_widget;
xtandem_view_widget = new XtandemParamWidget(this);
ui->verticalLayout->insertWidget(1, xtandem_view_widget);
xtandem_view_widget->setAutomaticXTandemParameters(
xtandem_parameters);
}
}
else
{
NoEngineParamWidget *no_engine_view_widget;
no_engine_view_widget = new NoEngineParamWidget(this, params_file);
ui->verticalLayout->insertWidget(1, no_engine_view_widget);
}
}
......@@ -55,6 +55,5 @@ class EngineDetailWindow : public QMainWindow
private:
Ui::EngineDetailView *ui;
ProjectWindow *m_project_window;
QString m_params_file;
IdentificationDataSourceSp *m_identificationEngine = nullptr;
};
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>NoEngineParamWidget</class>
<widget class="QWidget" name="NoEngineParamWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>605</width>
<height>740</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>16</pointsize>
</font>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout_7">
<item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>label</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</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>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
/*******************************************************************************
* 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 "noengineparamwidget.h"
#include "../../project_view/projectwindow.h"
#include "ui_no_engine_view_widget.h"
#include <QDebug>
NoEngineParamWidget::NoEngineParamWidget(QWidget *parent, QString file_name)
: QWidget(parent), ui(new Ui::NoEngineParamWidget)
{
qDebug() << "begin";
ui->setupUi(this);
QString message =
file_name + "\nwasn't found !!\n Please check if the file exist";
ui->label->setText(message);
qDebug() << "end";
}
NoEngineParamWidget::~NoEngineParamWidget()
{
qDebug() << "NoEngineParamWidget::~NoEngineParamWidget";
delete ui;
qDebug() << "end";
}
/*******************************************************************************
* 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
******************************************************************************/
#pragma once
#include <QWidget>
namespace Ui
{
class NoEngineParamWidget;
}
class NoEngineParamWidget : public QWidget
{
Q_OBJECT
public:
explicit NoEngineParamWidget(QWidget *parent, QString file_name);
~NoEngineParamWidget();
Ui::NoEngineParamWidget *ui;
};
......@@ -47,13 +47,10 @@ XtandemParamWidget::~XtandemParamWidget()
}
void
XtandemParamWidget::setAutomaticXTandemParameters(QString params_file)
XtandemParamWidget::setAutomaticXTandemParameters(
TandemParameters xtandem_parameters)
{
qDebug() << "begin ";
// TandemParametersFile param_file(params_file);
TandemParametersFile param_file("/home/trenne/test_tandem.xml");
TandemParameters xtandem_parameters = param_file.getTandemParameters();
setSpectrumParameters(xtandem_parameters);
setProteinParameters(xtandem_parameters);
setResidueParameters(xtandem_parameters);
......@@ -67,11 +64,77 @@ XtandemParamWidget::setAutomaticXTandemParameters(QString params_file)
void
XtandemParamWidget::setSpectrumParameters(TandemParameters xtandem_parameters)
{
ui->parenttIonMHMassToleranceWindowUnitLineEdit->setText(
xtandem_parameters.getValue(
"spectrum, parent monoisotopic mass error units"));
ui->parentIonMHMassToleranceLowerWindowLineEdit->setText(
xtandem_parameters.getValue(
"spectrum, parent monoisotopic mass error minus"));
ui->parentIonMHMassToleranceUpperWindowLineEdit->setText(
xtandem_parameters.getValue(
"spectrum, parent monoisotopic mass error plus"));
ui->anticipateCarbonIsotopeParentIonAssignmentsErrorsLineEdit->setText(
xtandem_parameters.getValue(
"spectrum, parent monoisotopic mass isotope error"));
ui->setTheMaximumPrecursorChargeToBeScoredLineEdit->setText(
xtandem_parameters.getValue("spectrum, maximum parent charge"));
ui->useChemicalAverageOrMonoisotopicMassForFragmentIonsLineEdit->setText(
xtandem_parameters.getValue("spectrum, fragment mass type"));
ui->unitsForFragmentIonMassToleranceMonoisotopicLineEdit->setText(
xtandem_parameters.getValue(
"spectrum, fragment monoisotopic mass error units"));
ui->fragmentIonMassToleranceMonoisotopicLineEdit->setText(
xtandem_parameters.getValue(
"spectrum, parent monoisotopic mass error minus"));
ui->controlTheUseOfTheNeutralLossWindowLineEdit->setText(
xtandem_parameters.getValue("spectrum, use neutral loss window"));
ui->neutralLossMassLineEdit->setText(
xtandem_parameters.getValue("spectrum, neutral loss mass"));
ui->neutralLossWindowDaltonsLineEdit->setText(
xtandem_parameters.getValue("spectrum, neutral loss window"));
ui->setTheDynamicRangeToScoreSpectraLineEdit->setText(
xtandem_parameters.getValue("spectrum, dynamic range"));
ui->maximumNumberOfPeaksToUseInASpectrumLineEdit->setText(
xtandem_parameters.getValue("spectrum, total peaks"));
ui->minimumNumberOfPeaksForASpectrumToBeConsideredLineEdit->setText(
xtandem_parameters.getValue("spectrum, minimum peaks"));
ui->minimumMZFragmentToBeConsideredLineEdit->setText(
xtandem_parameters.getValue("spectrum, minimum fragment mz"));
ui->minimumParentMHToBeConsideredLineEdit->setText(
xtandem_parameters.getValue("spectrum, minimum parent m+h"));
ui->alterHowProteinSequencesAreRetrievedFromFASTAFilesLineEdit->setText(
xtandem_parameters.getValue("spectrum, sequence batch size"));
ui->useContrastAngleLineEdit->setText(
xtandem_parameters.getValue("spectrum, use contrast angle"));
ui->setNumberOfThreadsLineEdit->setText(
xtandem_parameters.getValue("spectrum, threads"));
}
void
XtandemParamWidget::setProteinParameters(TandemParameters xtandem_parameters)
{
ui->defineProteinCleavageSiteLineEdit->setText(
xtandem_parameters.getValue("protein, cleavage site"));
ui->useSemiEnzymaticCleavageRulesLineEdit->setText(
xtandem_parameters.getValue("protein, cleavage semi"));
ui->moietyAddedToPeptideCTerminusByCleavageLineEdit->setText(
xtandem_parameters.getValue("protein, cleavage C-terminal mass change"));
ui->moietyAddedToPeptideNTerminusByCleavageLineEdit->setText(
xtandem_parameters.getValue("protein, cleavage N-terminal mass change"));
ui->moietyAddedToProteinCTerminusLineEdit->setText(
xtandem_parameters.getValue(
"protein, C-terminal residue modification mass"));
ui->moietyAddedToProteinNTerminusLineEdit->setText(
xtandem_parameters.getValue(
"protein, N-terminal residue modification mass"));
ui->proteinNTerminusCommonModificationsLineEdit->setText(
xtandem_parameters.getValue("protein, quick acetyl"));
ui->proteinNTerminusCyclisationLineEdit->setText(
xtandem_parameters.getValue("protein, quick pyrolidone"));
ui->interpretationOfPeptidePhosphorylationModelLineEdit->setText(
xtandem_parameters.getValue("protein, stP bias"));
ui->modifyTheResidueMassesOfOneAllAminoAcidsLineEdit->setText(
xtandem_parameters.getValue("protein, modified residue mass file"));
}
void
......@@ -93,6 +156,20 @@ XtandemParamWidget::setResidueParameters(TandemParameters xtandem_parameters)
void
XtandemParamWidget::setScoringParameters(TandemParameters xtandem_parameters)
{
ui->minimumNumberOfIonsToScoreAPeptideLineEdit->setText(
xtandem_parameters.getValue("scoring, minimum ion count"));
ui->maximumMissedCleavageSitesLineEdit->setText(
xtandem_parameters.getValue("scoring, maximum missed cleavage sites"));
ui->compensateForVerySmallSequenceListFileLineEdit->setText(
xtandem_parameters.getValue("scoring, cyclic permutation"));
ui->automaticallyPerformReverseDatabaseSearchLineEdit->setText(
xtandem_parameters.getValue("scoring, include reverse"));
ui->useYIonsLineEdit->setText(xtandem_parameters.getValue("scoring, y ions"));
ui->useBIonsLineEdit->setText(xtandem_parameters.getValue("scoring, b ions"));
ui->useCIonsLineEdit->setText(xtandem_parameters.getValue("scoring, c ions"));
ui->useZIonsLineEdit->setText(xtandem_parameters.getValue("scoring, z ions"));
ui->useAIonsLineEdit->setText(xtandem_parameters.getValue("scoring, a ions"));
ui->useXIonsLineEdit->setText(xtandem_parameters.getValue("scoring, x ions"));
}
void
......@@ -145,4 +222,31 @@ XtandemParamWidget::setRefineParameters(TandemParameters xtandem_parameters)
void
XtandemParamWidget::setOutputParameters(TandemParameters xtandem_parameters)
{
ui->highestEValueToRecordPeptidesLineEdit->setText(
xtandem_parameters.getValue("output, maximum valid expectation value"));
ui->highestEValueToRecordProteinsLineEdit->setText(
xtandem_parameters.getValue(
"output, maximum valid protein expectation value"));
ui->resultsTypeLineEdit->setText(
xtandem_parameters.getValue("output, results"));
ui->sortResultsByLineEdit->setText(
xtandem_parameters.getValue("output, sort results by"));
ui->writeProteinsLineEdit->setText(
xtandem_parameters.getValue("output, proteins"));
ui->writeProteinSequencesLineEdit->setText(
xtandem_parameters.getValue("output, sequences"));
ui->writeOnlyFirstProteinSequenceLineEdit->setText(
xtandem_parameters.getValue("output, one sequence copy"));
ui->writeSpectrumInformationsLineEdit->setText(
xtandem_parameters.getValue("output, spectra"));
ui->writeParametersLineEdit->setText(
xtandem_parameters.getValue("output, parameters"));
ui->writeHistogramsLineEdit->setText(
xtandem_parameters.getValue("output, histograms"));
ui->histogramColumnWidthLineEdit->setText(
xtandem_parameters.getValue("output, histogram column width"));
ui->hashFilenameWithDateAndTimeStampLineEdit->setText(
xtandem_parameters.getValue("output, path hashing"));
ui->xSLTStyleSheetPathToViewXMLResultsLineEdit->setText(
xtandem_parameters.getValue("output, xsl path"));
}
......@@ -41,7 +41,7 @@ class XtandemParamWidget : public QWidget
explicit XtandemParamWidget(QWidget *parent);
~XtandemParamWidget();
void setAutomaticXTandemParameters(QString params_file);
void setAutomaticXTandemParameters(TandemParameters xtandem_parameters);
private slots:
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment