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

build ptm island with specific modifications on specific amino acids

parent 7503a834
No related branches found
No related tags found
No related merge requests found
......@@ -27,11 +27,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")
#FIND_PACKAGE( Pappsomspp REQUIRED )
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_QT4_LIBRARY "${PAPPSOMSPP_DIR}/cbuild/src/libpappsomspp-qt4.so")
SET (PAPPSOMSPP_INCLUDE_DIR "${PAPPSOMSPP_DIR}/src")
SET (PAPPSOMSPP_QT4_LIBRARY "${PAPPSOMSPP_DIR}/cbuild/src/libpappsomspp-qt4.so")
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake_modules)
......
......@@ -63,8 +63,8 @@ PtmGroupingExperiment::PtmGroupingExperiment()
*/
//phospho :
_modification_list.push_back(pappso::AaModification::getInstance("MOD:00696"));
_modification_list.push_back(pappso::AaModification::getInstance("MOD:00704"));
_modification_list.push_back({pappso::AaModification::getInstance("MOD:00696"), {}});
_modification_list.push_back({pappso::AaModification::getInstance("MOD:00704"), {'S','T'}});
}
PtmGroupingExperiment::~PtmGroupingExperiment()
......@@ -73,7 +73,7 @@ PtmGroupingExperiment::~PtmGroupingExperiment()
}
const std::vector<PtmIslandSp> & PtmGroupingExperiment::getPtmIslandList() const {
return _ptm_island_list;
return _ptm_island_list;
}
void PtmGroupingExperiment::numbering() {
......@@ -150,21 +150,33 @@ std::vector< PtmIslandSp > PtmGroupingExperiment::mergePeptideMatchPtmIslandList
}
unsigned int PtmGroupingExperiment::countPeptideMatchPtm(const PeptideMatch* p_peptide_match)const {
unsigned int number=0;
for (pappso::AaModificationP modification: _modification_list) {
number += p_peptide_match->getPeptideXtpSp().get()->getNumberOfModification(modification);
unsigned int PtmGroupingExperiment::countPeptideMatchPtm(const PeptideMatch* p_peptide_match)const {
unsigned int number=0;
for (const ModificationAndAa & modification: _modification_list) {
if (modification.aa_list.size() == 0) {
number += p_peptide_match->getPeptideXtpSp().get()->getNumberOfModification(modification.modification);
}
else {
number += p_peptide_match->getPeptideXtpSp().get()->countModificationOnAa(modification.modification, modification.aa_list);
}
return number;
}
return number;
}
std::vector<unsigned int> PtmGroupingExperiment::getPtmPositions(const ProteinMatch * protein_match) const {
std::vector<unsigned int> position_list;
for (PeptideMatch * p_peptide_match: protein_match->getPeptideMatchList(_peptide_validation_state)) {
unsigned int start = p_peptide_match->getStart();
for (pappso::AaModificationP modification: _modification_list) {
for (unsigned int position : p_peptide_match->getPeptideXtpSp().get()->getModificationPositionList(modification)) {
position_list.push_back(start+position);
for (const ModificationAndAa & modification: _modification_list) {
if (modification.aa_list.size() == 0) {
for (unsigned int position : p_peptide_match->getPeptideXtpSp().get()->getModificationPositionList(modification.modification)) {
position_list.push_back(start+position);
}
}
else {
for (unsigned int position : p_peptide_match->getPeptideXtpSp().get()->getModificationPositionList(modification.modification, modification.aa_list)) {
position_list.push_back(start+position);
}
}
}
}
......
......@@ -36,6 +36,11 @@
#include "ptmislandsubgroup.h"
#include "ptmislandgroup.h"
struct ModificationAndAa {
pappso::AaModificationP modification;
std::vector<char> aa_list;
};
class PtmGroupingExperiment
{
public:
......@@ -58,7 +63,7 @@ private:
void addPtmIsland(PtmIslandSp ptm_island);
void numbering();
private:
std::list<pappso::AaModificationP> _modification_list;
std::list<ModificationAndAa> _modification_list;
ValidationState _peptide_validation_state = ValidationState::validAndChecked;
std::vector<PtmIslandSp> _ptm_island_list;
std::vector<PtmIslandSubgroupSp> _ptm_island_subgroup_list;
......
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