diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 34d6ea673f54882030b8c5ed49147aecbe1ac9bf..59eeff83fa881cf65161d339d858af21c0371b0e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -70,6 +70,7 @@ SET(CPP_FILES grouping/groupingpeptidemass.cpp grouping/ptm/ptmgroupingexperiment.cpp grouping/ptm/ptmisland.cpp + grouping/ptm/ptmislandgroup.cpp grouping/ptm/ptmislandsubgroup.cpp gui/peptide_detail_view/spectrum_widget/spectrumpainter.cpp input/xpipsaxhandler.cpp diff --git a/src/grouping/ptm/ptmgroupingexperiment.cpp b/src/grouping/ptm/ptmgroupingexperiment.cpp index 17654749eae3220e00765595c62a1db953c9c7f6..3810beec63dd57abecd3ad6c2338bc6e9b81d5b5 100644 --- a/src/grouping/ptm/ptmgroupingexperiment.cpp +++ b/src/grouping/ptm/ptmgroupingexperiment.cpp @@ -72,6 +72,8 @@ PtmGroupingExperiment::~PtmGroupingExperiment() } +void PtmGroupingExperiment::startGrouping() { +} void PtmGroupingExperiment::addPtmIsland(PtmIslandSp ptm_island_sp) { if (std::none_of(_ptm_island_subgroup_list.begin(), _ptm_island_subgroup_list.end(), [ptm_island_sp](PtmIslandSubgroupSp element) { return element.get()->mergePtmIslandSp(ptm_island_sp); @@ -134,3 +136,4 @@ std::vector<unsigned int> PtmGroupingExperiment::getPtmPositions(const ProteinMa position_list.erase(last, position_list.end()); return position_list; } + diff --git a/src/grouping/ptm/ptmgroupingexperiment.h b/src/grouping/ptm/ptmgroupingexperiment.h index d34fad8e52fc442a07627c925a4deb31dbf5aa7c..3ae765f93a4f643aac0fba01169e0c97edc17eec 100644 --- a/src/grouping/ptm/ptmgroupingexperiment.h +++ b/src/grouping/ptm/ptmgroupingexperiment.h @@ -34,6 +34,7 @@ #include <pappsomspp/amino_acid/aamodification.h> #include "ptmisland.h" #include "ptmislandsubgroup.h" +#include "ptmislandgroup.h" class PtmGroupingExperiment { @@ -42,6 +43,7 @@ public: ~PtmGroupingExperiment(); void addProteinMatch(const ProteinMatch* p_protein_match); + void startGrouping(); private: std::vector<unsigned int> getPtmPositions(const ProteinMatch * protein_match) const; @@ -52,6 +54,7 @@ private: std::list<pappso::AaModificationP> _modification_list; ValidationState _peptide_validation_state = ValidationState::validAndChecked; std::vector<PtmIslandSubgroupSp> _ptm_island_subgroup_list; + std::vector<PtmIslandGroupSp> _ptm_island_group_list; }; #endif // PTMGROUPINGEXPERIMENT_H diff --git a/src/grouping/ptm/ptmislandgroup.cpp b/src/grouping/ptm/ptmislandgroup.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d20066304a210138fb8cb4563b68713e9ebfc001 --- /dev/null +++ b/src/grouping/ptm/ptmislandgroup.cpp @@ -0,0 +1,45 @@ +/** + * \file grouping/ptm/ptmislandgroup.cpp + * \date 29/5/2017 + * \author Olivier Langella + * \brief object to group subgroups of ptmislands sharing at least one protein + */ + +/******************************************************************************* +* 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 "ptmislandgroup.h" + +PtmIslandGroup::PtmIslandGroup() +{ + +} + +PtmIslandGroup::PtmIslandGroup(const PtmIslandGroup& other) +{ + +} + +PtmIslandGroup::~PtmIslandGroup() +{ + +} diff --git a/src/grouping/ptm/ptmislandgroup.h b/src/grouping/ptm/ptmislandgroup.h new file mode 100644 index 0000000000000000000000000000000000000000..106c9ac7a73810291338b7a99eb2688d05f789f2 --- /dev/null +++ b/src/grouping/ptm/ptmislandgroup.h @@ -0,0 +1,50 @@ +/** + * \file grouping/ptm/ptmislandgroup.h + * \date 29/5/2017 + * \author Olivier Langella + * \brief object to group subgroups of ptmislands sharing at least one protein + */ + +/******************************************************************************* +* 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 +******************************************************************************/ + +#ifndef PTMISLANDGROUP_H +#define PTMISLANDGROUP_H + +#include <memory> + +class PtmIslandGroup; + +/** \brief shared pointer on a Peptide object + */ +typedef std::shared_ptr<PtmIslandGroup> PtmIslandGroupSp; + + +class PtmIslandGroup +{ +public: + PtmIslandGroup(); + PtmIslandGroup(const PtmIslandGroup& other); + ~PtmIslandGroup(); +}; + +#endif // PTMISLANDGROUP_H