Skip to content
Snippets Groups Projects
Commit a04b739c authored by Langella Olivier's avatar Langella Olivier
Browse files

monitoring grouping

parent 47d0e8bf
No related branches found
No related tags found
No related merge requests found
......@@ -28,11 +28,11 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Xml_EXECUTABLE_COMPILE_FLAGS} ${Qt5
#sudo apt-get install libpappsomspp-dev
FIND_PACKAGE( Pappsomspp REQUIRED )
#SET (PAPPSOMSPP_DIR "/home/olivier/eclipse/git/pappsomspp")
SET (PAPPSOMSPP_DIR "/home/olivier/eclipse/git/pappsomspp")
# SET (PAPPSOMSPP_DIR "/home/langella/developpement/git/pappsomspp")
# SET (PAPPSOMSPP_INCLUDE_DIR "${PAPPSOMSPP_DIR}/src")
# SET (PAPPSOMSPP_QT5_LIBRARY "${PAPPSOMSPP_DIR}/cbuild/src/libpappsomspp-qt5.so")
# SET (PAPPSOMSPP_QT4_LIBRARY "${PAPPSOMSPP_DIR}/cbuild/src/libpappsomspp-qt4.so")
SET (PAPPSOMSPP_INCLUDE_DIR "${PAPPSOMSPP_DIR}/src")
SET (PAPPSOMSPP_QT5_LIBRARY "${PAPPSOMSPP_DIR}/cbuild/src/libpappsomspp-qt5.so")
SET (PAPPSOMSPP_QT4_LIBRARY "${PAPPSOMSPP_DIR}/cbuild/src/libpappsomspp-qt4.so")
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake_modules)
......
......@@ -205,12 +205,12 @@ void IdentificationGroup::collectMhDelta(std::vector< pappso::pappso_double> & d
}
}
}
void IdentificationGroup::startGrouping (const GroupingType & grouping_type) {
void IdentificationGroup::startGrouping (const GroupingType & grouping_type, WorkMonitorInterface * p_work_monitor) {
qDebug() << "IdentificationGroup::startGrouping begin ";
if (_p_grp_experiment != nullptr) {
delete _p_grp_experiment;
}
_p_grp_experiment = GroupingExperiment::newInstance(grouping_type);
_p_grp_experiment = GroupingExperiment::newInstance(grouping_type, p_work_monitor);
for (ProteinMatch * p_protein_match : _protein_match_list) {
p_protein_match->setGroupingExperiment(_p_grp_experiment);
}
......
......@@ -28,6 +28,7 @@
#include "grouping/groupingexperiment.h"
#include "grouping/ptm/ptmgroupingexperiment.h"
#include "../utils/types.h"
#include "../utils/workmonitor.h"
#ifndef IDENTIFICATIONGROUP_H
#define IDENTIFICATIONGROUP_H
......@@ -102,7 +103,7 @@ public:
* */
void updateAutomaticFilters(const AutomaticFilterParameters & automatic_filter_parameters);
void startGrouping (const GroupingType & grouping_type);
void startGrouping (const GroupingType & grouping_type, WorkMonitorInterface * p_work_monitor);
/** @brief creates a new PTM grouping experiment
* */
void startPtmGrouping ();
......
......@@ -143,9 +143,9 @@ void Project::readXpipFile(WorkMonitorInterface * p_monitor, QFileInfo xpip_file
}
void Project::startGrouping() {
void Project::startGrouping(WorkMonitorInterface * p_work_monitor) {
for (IdentificationGroup * p_id_group : _identification_goup_list) {
p_id_group->startGrouping(_grouping_type);
p_id_group->startGrouping(_grouping_type, p_work_monitor);
}
}
void Project::setLabelingMethodSp(LabelingMethodSp labeling_method_sp) {
......
......@@ -61,7 +61,7 @@ public:
* */
void updateAutomaticFilters(const AutomaticFilterParameters & automatic_filter_parameters);
const AutomaticFilterParameters & getAutomaticFilterParameters() const;
void startGrouping();
void startGrouping(WorkMonitorInterface * p_work_monitor);
const GroupingType getGroupingType() const;
......
......@@ -25,9 +25,9 @@
#include <pappsomspp/exception/exceptionnotimplemented.h>
#include "groupingpeptidemass.h"
GroupingExperiment::GroupingExperiment()
GroupingExperiment::GroupingExperiment(WorkMonitorInterface * p_work_monitor)
{
_p_work_monitor = p_work_monitor;
}
GroupingExperiment::~GroupingExperiment()
......@@ -35,9 +35,9 @@ GroupingExperiment::~GroupingExperiment()
}
GroupingExperiment * GroupingExperiment::newInstance(const GroupingType & grouping_type) {
GroupingExperiment * GroupingExperiment::newInstance(const GroupingType & grouping_type, WorkMonitorInterface * p_work_monitor) {
if (grouping_type == GroupingType::PeptideMass) {
return new GroupingPeptideMass();
return new GroupingPeptideMass(p_work_monitor);
}
else {
throw pappso::ExceptionNotImplemented(QObject::tr("Grouping algorithm not yet implemented"));
......
......@@ -23,6 +23,7 @@
#include "../utils/types.h"
#include "../utils/workmonitor.h"
#include <pappsomspp/grouping/grpexperiment.h>
#ifndef GROUPINGEXPERIMENT_H
......@@ -34,15 +35,18 @@ class PeptideMatch;
class GroupingExperiment
{
public:
GroupingExperiment();
GroupingExperiment(WorkMonitorInterface * p_work_monitor);
~GroupingExperiment();
static GroupingExperiment * newInstance(const GroupingType & grouping_type);
static GroupingExperiment * newInstance(const GroupingType & grouping_type, WorkMonitorInterface * p_work_monitor);
virtual pappso::GrpProteinSp & getGrpProteinSp(ProteinMatch* p_protein_match) = 0;
virtual pappso::GrpPeptideSp & setGrpPeptide(pappso::GrpProteinSp proteinSp, PeptideMatch* p_peptide_match) = 0;
virtual void addPostGroupingGrpProteinSpRemoval(pappso::GrpProteinSp sp_protein) = 0;
virtual void startGrouping()= 0;
protected:
WorkMonitorInterface * _p_work_monitor;
};
......
......@@ -25,11 +25,46 @@
#include "../core/proteinmatch.h"
#include "../core/peptidematch.h"
#include <QDebug>
#include <pappsomspp/grouping/grpgroupingmonitor.h>
GroupingPeptideMass::GroupingPeptideMass()
class GrpGroupingMonitor: public pappso::GrpGroupingMonitorInterface
{
public:
GrpGroupingMonitor(WorkMonitorInterface * p_work_monitor) {
_p_work_monitor = p_work_monitor;
};
~GrpGroupingMonitor() {
};
virtual void startGrouping(std::size_t total_number_protein) override {
_p_work_monitor->message(QObject::tr("grouping %1 proteins").arg(total_number_protein));
_total_number_proteins = total_number_protein;
};
virtual void groupingProtein() override {};
virtual void startRemovingNonInformativeSubGroupsInAllGroups(std::size_t total_number_group)override{
_total_number_group = total_number_group;
};
virtual void stopRemovingNonInformativeSubGroupsInAllGroups(std::size_t total_number_group)override{
_total_number_group = total_number_group;
};
virtual void removingNonInformativeSubGroupsInGroup()override{
_p_work_monitor->message(QObject::tr("removing non informative subgroups in %1 groups representing %2 proteins").arg(_total_number_group).arg(_total_number_proteins));
};
virtual void startNumberingAllGroups(std::size_t total_number_group)override{
_p_work_monitor->message(QObject::tr("numbering in %1 groups representing %2 proteins").arg(_total_number_group).arg(_total_number_proteins));
};
virtual void stopGrouping()override{};
private:
WorkMonitorInterface * _p_work_monitor;
std::size_t _total_number_proteins;
std::size_t _total_number_group;
};
GroupingPeptideMass::GroupingPeptideMass(WorkMonitorInterface * p_work_monitor): GroupingExperiment(p_work_monitor)
{
//_p_monitor = new pappso::GrpGroupingMonitor();
_p_monitor = new GrpGroupingMonitor(_p_work_monitor);
_p_grp_experiment = new pappso::GrpExperiment(_p_monitor);
}
......
......@@ -25,6 +25,8 @@
#ifndef GROUPINGPEPTIDEMASS_H
#define GROUPINGPEPTIDEMASS_H
class GrpGroupingMonitor;
class GroupingPeptideMass: public GroupingExperiment
{
friend class GroupingExperiment;
......@@ -39,10 +41,10 @@ public:
virtual void startGrouping() override;
protected :
GroupingPeptideMass();
GroupingPeptideMass(WorkMonitorInterface * p_work_monitor);
private :
pappso::GrpGroupingMonitor * _p_monitor = nullptr;
GrpGroupingMonitor * _p_monitor = nullptr;
pappso::GrpExperiment * _p_grp_experiment;
};
......
......@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>746</width>
<height>150</height>
<height>186</height>
</rect>
</property>
<property name="windowTitle">
......@@ -22,6 +22,12 @@
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="movie_label">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>movie</string>
</property>
......@@ -32,6 +38,9 @@
<property name="text">
<string>TextLabel</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
......
......@@ -219,7 +219,7 @@ void WorkerThread::doGroupingOnIdentification(IdentificationGroup * p_identifica
try {
emit loadingMessage(tr("grouping proteins"));
try {
p_identification_group->startGrouping(grouping_type);
p_identification_group->startGrouping(grouping_type, _p_work_monitor);
}
catch (pappso::PappsoException exception_pappso) {
......@@ -241,7 +241,7 @@ void WorkerThread::doGrouping(ProjectSp project_sp) {
try {
emit loadingMessage(tr("grouping proteins"));
try {
project_sp.get()->startGrouping();
project_sp.get()->startGrouping(_p_work_monitor);
}
catch (pappso::PappsoException exception_pappso) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment