From 2dc7e4c2f1bc8011632aafc292fc2c52446b7334 Mon Sep 17 00:00:00 2001
From: Olivier Langella <Olivier.Langella@moulon.inra.fr>
Date: Wed, 24 May 2017 16:21:49 +0200
Subject: [PATCH] new PtmIsland object

---
 src/CMakeLists.txt             |  1 -
 src/grouping/ptm/ptmisland.cpp | 40 ++++++++++++++++++++++++++++
 src/grouping/ptm/ptmisland.h   | 48 ++++++++++++++++++++++++++++++++++
 3 files changed, 88 insertions(+), 1 deletion(-)
 create mode 100644 src/grouping/ptm/ptmisland.cpp
 create mode 100644 src/grouping/ptm/ptmisland.h

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 8a859d1ee..6b72c0400 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -190,4 +190,3 @@ TARGET_LINK_LIBRARIES(xtpcpp ${PAPPSOMSPP_QT4_LIBRARY} ${Pwiz_LIBRARY} ${ODSSTRE
 INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/xtpcpp DESTINATION bin)
 
 #configure_file (${CMAKE_SOURCE_DIR}/templates/share/applications/pt-peptideviewer.desktop.cmake ${CMAKE_BINARY_DIR}/templates/share/applications/pt-peptideviewer.desktop)
-
diff --git a/src/grouping/ptm/ptmisland.cpp b/src/grouping/ptm/ptmisland.cpp
new file mode 100644
index 000000000..9bd2ca57e
--- /dev/null
+++ b/src/grouping/ptm/ptmisland.cpp
@@ -0,0 +1,40 @@
+/**
+ * \file grouping/ptm/ptmisland.cpp
+ * \date 24/5/2017
+ * \author Olivier Langella
+ * \brief store overlapping peptides containing PTMs
+ */
+
+/*******************************************************************************
+* 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 "ptmisland.h"
+
+PtmIsland::PtmIsland()
+{
+
+}
+
+PtmIsland::~PtmIsland()
+{
+
+}
diff --git a/src/grouping/ptm/ptmisland.h b/src/grouping/ptm/ptmisland.h
new file mode 100644
index 000000000..59c30dc80
--- /dev/null
+++ b/src/grouping/ptm/ptmisland.h
@@ -0,0 +1,48 @@
+/**
+ * \file grouping/ptm/ptmisland.h
+ * \date 24/5/2017
+ * \author Olivier Langella
+ * \brief store overlapping peptides containing PTMs
+ */
+
+/*******************************************************************************
+* 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 PTMISLAND_H
+#define PTMISLAND_H
+
+#include "../../core/proteinmatch.h"
+#include "../../core/peptidematch.h"
+
+class PtmIsland
+{
+public:
+    PtmIsland();
+    ~PtmIsland();
+private:
+    ProteinMatch * _protein_match_p;
+    std::vector<PeptideMatch *> _peptide_match_list;
+    unsigned int _group_number; //group together different ptmislands linked by a common protein
+    unsigned int _subgroup_number; //group together proteins that share the same ptmisland
+};
+
+#endif // PTMISLAND_H
-- 
GitLab