From 3e7a8fe5881e2ad6418b35fa4a1da598f002ff3a Mon Sep 17 00:00:00 2001
From: Olivier Langella <Olivier.Langella@moulon.inra.fr>
Date: Thu, 27 Jul 2017 14:58:31 +0200
Subject: [PATCH] all observed ptm positions

---
 src/grouping/ptm/ptmsamplescan.cpp | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/grouping/ptm/ptmsamplescan.cpp b/src/grouping/ptm/ptmsamplescan.cpp
index 6e2d347b6..e2b5b6a84 100644
--- a/src/grouping/ptm/ptmsamplescan.cpp
+++ b/src/grouping/ptm/ptmsamplescan.cpp
@@ -67,7 +67,16 @@ bool PtmSampleScan::add(const PeptideMatch * p_peptide_match) {
     }
 
     std::vector<unsigned int> PtmSampleScan::getObservedPtmPositionList(const PtmGroupingExperiment * p_ptm_grouping_experiment) const {
-        std::vector<unsigned int> list;
-        
-        return list;
+        std::vector<unsigned int> position_list;
+
+        for (const PeptideMatch * p_peptide_match: _peptide_match_list) {
+            std::vector<unsigned int> positionb_list = p_ptm_grouping_experiment->getPtmPositions(p_peptide_match);
+            for (unsigned int position: positionb_list) {
+                position_list.push_back(position);
+            }
+        }
+        std::sort(position_list.begin(), position_list.end());
+        auto last = std::unique(position_list.begin(), position_list.end());
+        position_list.erase(last, position_list.end());
+        return position_list;
     }
-- 
GitLab