From 2d9326586f03ba4cd767cadffc72234fa364c37b Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Tue, 22 Jun 2021 14:39:10 +0200 Subject: [PATCH 1/8] limit tandem run wrapper to 60 days --- src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h b/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h index 5dda3f579..5bead2066 100644 --- a/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h +++ b/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h @@ -134,7 +134,7 @@ class PMSPP_LIB_DECL TandemWrapperRun : public QObject QString m_tandemBinary; QString m_tandemVersion; QString m_tmpDir; - int m_maxTandemRunTimeMs = (60000 * 60 * 24); // 1 day + int m_maxTandemRunTimeMs = (60000 * 60 * 24 * 60); // 60 days QProcess *m_xtProcess = nullptr; std::shared_ptr<FilterSuiteString> msp_ms2FilterSuiteString = nullptr; -- GitLab From 06d82cd8a627618e19bd49d7bb597f03f6add10e Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Tue, 22 Jun 2021 15:49:51 +0200 Subject: [PATCH 2/8] no timeout limit --- src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h b/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h index 5bead2066..1b1365b9f 100644 --- a/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h +++ b/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h @@ -134,8 +134,9 @@ class PMSPP_LIB_DECL TandemWrapperRun : public QObject QString m_tandemBinary; QString m_tandemVersion; QString m_tmpDir; - int m_maxTandemRunTimeMs = (60000 * 60 * 24 * 60); // 60 days - QProcess *m_xtProcess = nullptr; + int m_maxTandemRunTimeMs = + -1; // If msecs is -1, this function will not time out. + QProcess *m_xtProcess = nullptr; std::shared_ptr<FilterSuiteString> msp_ms2FilterSuiteString = nullptr; -- GitLab From 5d7987991cbe5084fdd65fec185116b10f6e9c58 Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Wed, 23 Jun 2021 10:24:39 +0200 Subject: [PATCH 3/8] flush output as soon as possible --- src/pappsomspp/processing/uimonitor/uimonitortext.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pappsomspp/processing/uimonitor/uimonitortext.cpp b/src/pappsomspp/processing/uimonitor/uimonitortext.cpp index 7bfe75a22..8ba8ce86b 100644 --- a/src/pappsomspp/processing/uimonitor/uimonitortext.cpp +++ b/src/pappsomspp/processing/uimonitor/uimonitortext.cpp @@ -50,12 +50,14 @@ void pappso::UiMonitorText::setTitle(const QString &title) { m_outputStream << title << endl; + m_outputStream.flush(); } void pappso::UiMonitorText::setStatus(const QString &status) { m_outputStream << status << endl; + m_outputStream.flush(); } void @@ -71,10 +73,12 @@ pappso::UiMonitorText::count() m_outputStream << QObject::tr("%1 on %2").arg(m_count).arg(m_totalSteps) << " "; } + m_outputStream.flush(); } void pappso::UiMonitorText::appendText(const QString &text) { m_outputStream << text; + m_outputStream.flush(); } -- GitLab From 4d582976fa679dc0f149bb2c2c8ad0dc541d49ef Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Wed, 23 Jun 2021 10:26:13 +0200 Subject: [PATCH 4/8] wait until process X\!Tandem has finished --- src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.cpp | 2 +- src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.cpp b/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.cpp index b6a0853f7..252b667ee 100644 --- a/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.cpp +++ b/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.cpp @@ -512,7 +512,7 @@ TandemWrapperRun::runTandem(const QString &tandem_input_file) } qDebug() << m_tandemBinary << " " << m_xtProcess->arguments(); - while(m_xtProcess->waitForFinished(m_maxTandemRunTimeMs)) + while(m_xtProcess->waitForFinished(m_maxTandemRunTimeMs) == false) { //_p_monitor->appendText(xt_process->readAll().data()); // data.append(xt_process->readAll()); diff --git a/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h b/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h index 1b1365b9f..17e3e0e62 100644 --- a/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h +++ b/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.h @@ -135,7 +135,7 @@ class PMSPP_LIB_DECL TandemWrapperRun : public QObject QString m_tandemVersion; QString m_tmpDir; int m_maxTandemRunTimeMs = - -1; // If msecs is -1, this function will not time out. + 1000; // If msecs is -1, this function will not time out. QProcess *m_xtProcess = nullptr; std::shared_ptr<FilterSuiteString> msp_ms2FilterSuiteString = nullptr; -- GitLab From 4bcbf05e7cc3e77571069b4b7fd28f2c9aa36f64 Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Wed, 23 Jun 2021 11:19:49 +0200 Subject: [PATCH 5/8] libpappsomspp (0.8.30-1~buster+1) buster --- CMakeLists.txt | 4 ++-- debian/changelog | 6 ++++++ debian/rules | 2 +- tests/test_timsframe.cpp | 12 ++++++------ 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a0d70df34..366d0ab72 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,10 +13,10 @@ project(libpappsomspp) set(PAPPSOMSPP_VERSION_MAJOR "0") set(PAPPSOMSPP_VERSION_MINOR "8") -set(PAPPSOMSPP_VERSION_PATCH "29") +set(PAPPSOMSPP_VERSION_PATCH "30") set(PAPPSOMSPP_VERSION "${PAPPSOMSPP_VERSION_MAJOR}.${PAPPSOMSPP_VERSION_MINOR}.${PAPPSOMSPP_VERSION_PATCH}") # This *NUMERICAL* VERSION is parseable by the makeOrigTarball script. -set(VERSION 0.8.29) +set(VERSION 0.8.30) # Command to enable debug and tests # cmake -DCMAKE_BUILD_TYPE=Debug -DMAKE_TESTS=1 -DUSEPAPPSOTREE=0 .. diff --git a/debian/changelog b/debian/changelog index d371b580d..b512e23a3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +libpappsomspp (0.8.30-1~buster+1) buster; urgency=medium + + * fix QProcess mecanism to execute tandem + + -- Olivier Langella <olivier.langella@u-psud.fr> Wed, 23 Jun 2021 10:35:48 +0200 + libpappsomspp (0.8.29-1~buster+1) buster; urgency=medium * issue #9 fixed : conversion problem between uint and ulong diff --git a/debian/rules b/debian/rules index 302346004..4929780e9 100755 --- a/debian/rules +++ b/debian/rules @@ -27,7 +27,7 @@ override_dh_auto_configure: -DUSEPAPPSOTREE=0 override_dh_auto_build: - dh_auto_build --no-parallel + dh_auto_build dh_auto_build -- doc dh_auto_test # Required because it would not run automatically diff --git a/tests/test_timsframe.cpp b/tests/test_timsframe.cpp index c216daa05..3ff3949e2 100644 --- a/tests/test_timsframe.cpp +++ b/tests/test_timsframe.cpp @@ -204,6 +204,8 @@ TEST_CASE("test tims frames", "[timsframe]") cout << endl << "..:: test 2 OK ::.." << endl; } + +#if USEPAPPSOTREE == 1 SECTION("test TIMS TDF parsing issue #61") { INFO("Test case ERROR reading TIMS frame 58581"); @@ -254,18 +256,16 @@ TEST_CASE("test tims frames", "[timsframe]") REQUIRE_NOTHROW(mass_spectrum = tims2_reader->qualifiedMassSpectrum(35460)); } -#if USEPAPPSOTREE == 1 - SECTION("test TIMS TDF parsing") { INFO("Test case pappso::FileReaderType::tims_ms2 start"); - /* + pappso::MsFileAccessor accessor( "/gorgone/pappso/jouy/raw/2020_Tims_TOF/20201102_HeLa/" "11-2-2020_1_QC_HeLa10ng_219.d/analysis.tdf", "a1"); - */ + /* pappso::MsFileAccessor accessor( "/gorgone/pappso/fichiers_fabricants/Bruker/tims_doc/tdf-sdk/" @@ -273,10 +273,10 @@ TEST_CASE("test tims frames", "[timsframe]") "200ngHeLaPASEF_2min_compressed.d/analysis.tdf", "a1"); */ - +/* pappso::MsFileAccessor accessor( "/data/test_tdf_quality/2-3-2021_1_HeLa10ng_871.d/analysis.tdf", "a1"); - +*/ accessor.setPreferedFileReaderType(pappso::MzFormat::brukerTims, pappso::FileReaderType::tims_ms2); -- GitLab From 72c1515aa30b2f48ab4e21ae73864fecff72d812 Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Thu, 24 Jun 2021 13:09:42 +0200 Subject: [PATCH 6/8] QProcess exit enumeration --- src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.cpp b/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.cpp index 252b667ee..c8da4e609 100644 --- a/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.cpp +++ b/src/pappsomspp/processing/tandemwrapper/tandemwrapperrun.cpp @@ -530,7 +530,7 @@ TandemWrapperRun::runTandem(const QString &tandem_input_file) QProcess::ExitStatus Status = m_xtProcess->exitStatus(); delete m_xtProcess; - if(Status != 0) + if(Status != QProcess::ExitStatus::NormalExit) { // != QProcess::NormalExit throw pappso::PappsoException( -- GitLab From 61067eaffbc1a50ad69f8e3d502827bb4988123d Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Fri, 25 Jun 2021 16:31:00 +0200 Subject: [PATCH 7/8] qdebug messages fixed --- src/pappsomspp/amino_acid/aamodification.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/pappsomspp/amino_acid/aamodification.cpp b/src/pappsomspp/amino_acid/aamodification.cpp index a31dd261b..7fdc23018 100644 --- a/src/pappsomspp/amino_acid/aamodification.cpp +++ b/src/pappsomspp/amino_acid/aamodification.cpp @@ -91,7 +91,7 @@ const QString & AaModification::getAccession() const { - qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__; + qDebug(); return m_accession; } const QString & @@ -145,8 +145,7 @@ AaModification::createInstance(const QString &accession) QRegExp regexp_mutation("^MUTATION:([A-Z])=>([A-Z])$"); if(regexp_mutation.exactMatch(accession)) { - qDebug() << __FILE__ << " " << __FUNCTION__ << " " << __LINE__ << " " - << regexp_mutation.capturedTexts()[1].at(0) << " " + qDebug() << regexp_mutation.capturedTexts()[1].at(0) << " " << regexp_mutation.capturedTexts()[2].at(0); Aa aa_from( @@ -332,8 +331,7 @@ AaModification::calculateMassFromChemicalComponents() if(diff < 0.001) { m_mass = theoreticalm_mass; - qDebug() << "AaModification::calculateMassFromChemicalComponents " - << diff; + qDebug() << diff; } else { @@ -348,7 +346,7 @@ AaModificationP AaModification::getInstanceCustomizedMod(pappso_double modificationMass) { QString accession = QString("%1").arg(modificationMass); - qDebug() << "AaModification::getInstanceCustomizedMod " << accession; + qDebug() << accession; QMutexLocker locker(&m_mutex); if(m_mapAccessionModifications.find(accession) == m_mapAccessionModifications.end()) -- GitLab From b5b734d5e386ed2ff9a2bd99ea157cca0ad9ac36 Mon Sep 17 00:00:00 2001 From: Thomas Renne <thomas.renne@u-psud.fr> Date: Mon, 2 Aug 2021 14:23:55 +0200 Subject: [PATCH 8/8] Add method to return switch value in R comprehensive format --- .../switchbuttonwidget/switchbuttonwidget.cpp | 19 ++++++++++++++++--- .../switchbuttonwidget/switchbuttonwidget.h | 1 + 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/pappsomspp/widget/switchbuttonwidget/switchbuttonwidget.cpp b/src/pappsomspp/widget/switchbuttonwidget/switchbuttonwidget.cpp index b586d34e6..7d40afda8 100644 --- a/src/pappsomspp/widget/switchbuttonwidget/switchbuttonwidget.cpp +++ b/src/pappsomspp/widget/switchbuttonwidget/switchbuttonwidget.cpp @@ -31,13 +31,12 @@ #include "switchbuttonwidget.h" -pappso::SwitchWidget::SwitchWidget(QWidget *parent) - : QPushButton(parent) +pappso::SwitchWidget::SwitchWidget(QWidget *parent) : QPushButton(parent) { setSwitchValue(false); setIconSize(QSize(40, 16)); setFlat(true); - setMaximumSize(40,16); + setMaximumSize(40, 16); connect(this, &SwitchWidget::clicked, this, &SwitchWidget::updateSwitchValue); } @@ -67,6 +66,20 @@ pappso::SwitchWidget::getSwitchValue() return m_switchButtonValue; } +QString +pappso::SwitchWidget::getSwitchValueInQStringFormat() +{ + if(m_switchButtonValue) + { + return "TRUE"; + } + else + { + return "FALSE"; + } +} + + void pappso::SwitchWidget::updateSwitchValue() { diff --git a/src/pappsomspp/widget/switchbuttonwidget/switchbuttonwidget.h b/src/pappsomspp/widget/switchbuttonwidget/switchbuttonwidget.h index 521dfc19d..c1f44dfea 100644 --- a/src/pappsomspp/widget/switchbuttonwidget/switchbuttonwidget.h +++ b/src/pappsomspp/widget/switchbuttonwidget/switchbuttonwidget.h @@ -45,6 +45,7 @@ class PMSPP_LIB_DECL SwitchWidget : public QPushButton ~SwitchWidget(); bool getSwitchValue(); + QString getSwitchValueInQStringFormat(); void setSwitchValue(bool switch_value); public slots: -- GitLab