From cecf80938ed76084fa0ef6e31701b6f22970d8e0 Mon Sep 17 00:00:00 2001 From: Olivier Langella <Olivier.Langella@moulon.inra.fr> Date: Sun, 23 Jul 2017 08:33:29 +0200 Subject: [PATCH] WIP: new class to handle ptm sample scan ambiguity --- src/grouping/ptm/ptmisland.cpp | 14 +++++++++++++- src/grouping/ptm/ptmsamplescan.cpp | 5 ++++- src/grouping/ptm/ptmsamplescan.h | 3 ++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/grouping/ptm/ptmisland.cpp b/src/grouping/ptm/ptmisland.cpp index bdc27f1d0..26854b499 100644 --- a/src/grouping/ptm/ptmisland.cpp +++ b/src/grouping/ptm/ptmisland.cpp @@ -172,6 +172,18 @@ bool PtmIsland::merge(PtmIslandSp ptm_island_sp) { std::vector<PtmSampleScanSp> PtmIsland::getPtmSampleScanSpList() const { std::vector<PtmSampleScanSp> sample_scan_list; - + for (const PeptideMatch * p_peptide_match:_peptide_match_list) { + + std::vector<PtmSampleScanSp>::iterator it_ptm = sample_scan_list.begin(); + std::vector<PtmSampleScanSp>::iterator it_ptm_end = sample_scan_list.end(); + while ((it_ptm != it_ptm_end) && (it_ptm->get()->add(p_peptide_match) == false)) { + //peptide added + } + if (it_ptm == it_ptm_end) { + //peptide NOT added + sample_scan_list.push_back(std::make_shared<PtmSampleScan>(p_peptide_match)); + } + } + return sample_scan_list; } diff --git a/src/grouping/ptm/ptmsamplescan.cpp b/src/grouping/ptm/ptmsamplescan.cpp index 8df90dec6..986bc7f36 100644 --- a/src/grouping/ptm/ptmsamplescan.cpp +++ b/src/grouping/ptm/ptmsamplescan.cpp @@ -29,7 +29,7 @@ #include "ptmsamplescan.h" -PtmSampleScan::PtmSampleScan() { +PtmSampleScan::PtmSampleScan(const PeptideMatch * p_peptide_match) { } PtmSampleScan::PtmSampleScan(const PtmSampleScan& other){ @@ -37,3 +37,6 @@ PtmSampleScan::PtmSampleScan(const PtmSampleScan& other){ PtmSampleScan::~PtmSampleScan() { } +bool PtmSampleScan::add(const PeptideMatch * p_peptide_match) { + return false; +} diff --git a/src/grouping/ptm/ptmsamplescan.h b/src/grouping/ptm/ptmsamplescan.h index 1ce8a4eb1..498933e81 100644 --- a/src/grouping/ptm/ptmsamplescan.h +++ b/src/grouping/ptm/ptmsamplescan.h @@ -43,10 +43,11 @@ typedef std::shared_ptr<PtmSampleScan> PtmSampleScanSp; class PtmSampleScan { public: - PtmSampleScan(); + PtmSampleScan(const PeptideMatch * p_peptide_match); PtmSampleScan(const PtmSampleScan& other); ~PtmSampleScan(); + bool add(const PeptideMatch * p_peptide_match); private: std::vector<const PeptideMatch *> _peptide_match_list; -- GitLab