libpappsomspp
Library for mass spectrometry
pappso::GrpSubGroup Class Reference

#include <grpsubgroup.h>

Public Member Functions

 GrpSubGroup (GrpProtein *p_protein)
 
 GrpSubGroup (const GrpSubGroup &other)
 
bool operator< (const GrpSubGroup &other) const
 sort subgroups between each other a subgroup containing less peptides is weaker (less) than the other More...
 
 ~GrpSubGroup ()
 
GrpSubGroupSp makeGrpSubGroupSp ()
 
const GrpPeptideSetgetPeptideSet () const
 
bool merge (GrpSubGroup *p_subgroup)
 
bool includes (const GrpSubGroup *p_subgroup) const
 
void numbering ()
 
void setSubGroupNumber (unsigned int i)
 
void setGroupNumber (unsigned int i)
 
const QString & getFirstAccession () const
 
std::size_t peptideListSize () const
 
unsigned int maxCount () const
 
const QString getGroupingId () const
 
unsigned int getGroupNumber () const
 
unsigned int getSubGroupNumber () const
 
const std::vector< GrpProtein * > & getGrpProteinList () const
 

Private Attributes

std::vector< GrpProtein * > m_grpProteinPtrList
 
GrpPeptideSet m_peptidePtrList
 
unsigned int m_subGroupNumber = 0
 
unsigned int m_groupNumber = 0
 

Detailed Description

Definition at line 63 of file grpsubgroup.h.

Constructor & Destructor Documentation

◆ GrpSubGroup() [1/2]

pappso::GrpSubGroup::GrpSubGroup ( GrpProtein p_protein)

Definition at line 57 of file grpsubgroup.cpp.

59 {
60  return m_grpProteinPtrList;

References m_grpProteinPtrList.

◆ GrpSubGroup() [2/2]

pappso::GrpSubGroup::GrpSubGroup ( const GrpSubGroup other)

Definition at line 62 of file grpsubgroup.cpp.

64 {
65  if(m_groupNumber == 0)
66  {

References m_groupNumber.

◆ ~GrpSubGroup()

pappso::GrpSubGroup::~GrpSubGroup ( )

Definition at line 145 of file grpsubgroup.cpp.

149  {

Member Function Documentation

◆ getFirstAccession()

const QString & pappso::GrpSubGroup::getFirstAccession ( ) const

Definition at line 247 of file grpsubgroup.cpp.

◆ getGroupingId()

const QString pappso::GrpSubGroup::getGroupingId ( ) const

Definition at line 84 of file grpsubgroup.cpp.

88 {
89  if(m_peptidePtrList.size() == other.m_peptidePtrList.size())
90  {
91  if(maxCount() == other.maxCount())
92  {
93  if(m_grpProteinPtrList.size() == other.m_grpProteinPtrList.size())

References pappso::max.

◆ getGroupNumber()

unsigned int pappso::GrpSubGroup::getGroupNumber ( ) const

Definition at line 69 of file grpsubgroup.cpp.

◆ getGrpProteinList()

const std::vector< GrpProtein * > & pappso::GrpSubGroup::getGrpProteinList ( ) const

Definition at line 79 of file grpsubgroup.cpp.

80  {
81  max = p_protein->getCount();
82  }

References pappso::max.

◆ getPeptideSet()

const GrpPeptideSet & pappso::GrpSubGroup::getPeptideSet ( ) const

Definition at line 155 of file grpsubgroup.cpp.

160  {

◆ getSubGroupNumber()

unsigned int pappso::GrpSubGroup::getSubGroupNumber ( ) const

Definition at line 74 of file grpsubgroup.cpp.

75 {
76  unsigned int max = 0;
77  for(GrpProtein *p_protein : m_grpProteinPtrList)

References m_grpProteinPtrList, and pappso::max.

◆ includes()

bool pappso::GrpSubGroup::includes ( const GrpSubGroup p_subgroup) const

Definition at line 187 of file grpsubgroup.cpp.

190 {
191  m_subGroupNumber = i;
192  for(auto &&p_protein : m_grpProteinPtrList)
193  {
194  p_protein->setSubGroupNumber(i);
195  }
196 }
197 

References m_grpProteinPtrList, and m_subGroupNumber.

◆ makeGrpSubGroupSp()

GrpSubGroupSp pappso::GrpSubGroup::makeGrpSubGroupSp ( )

Definition at line 149 of file grpsubgroup.cpp.

149  {
150  // m_grpProteinPtrList.splice (m_grpProteinPtrList.end(),
151  // p_subgroup->m_grpProteinPtrList);

References m_grpProteinPtrList.

Referenced by pappso::GrpExperiment::startGrouping().

◆ maxCount()

unsigned int pappso::GrpSubGroup::maxCount ( ) const

Definition at line 95 of file grpsubgroup.cpp.

101  {
102  // if there is same peptide size evidence, then perhaps it's
103  // better to consider that
104  // the best group is the one that include more proteins
105  return (m_grpProteinPtrList.size() >
106  other.m_grpProteinPtrList.size());

◆ merge()

bool pappso::GrpSubGroup::merge ( GrpSubGroup p_subgroup)

Definition at line 161 of file grpsubgroup.cpp.

167 {
168  if(m_peptidePtrList.biggerAndContainsAll(p_subgroup->getPeptideSet()))
169  {
170  return true;
171  }
172  else
173  {
174  return false;
175  }
176 }
177 
178 void
179 GrpSubGroup::setGroupNumber(unsigned int i)
180 {
181  m_groupNumber = i;
182  for(auto &&p_protein : m_grpProteinPtrList)
183  {
184  p_protein->setGroupNumber(i);

◆ numbering()

void pappso::GrpSubGroup::numbering ( )

Definition at line 220 of file grpsubgroup.cpp.

227 {
228  auto it = m_grpProteinPtrList.begin();
229  if(it == m_grpProteinPtrList.end())
230  {
231  throw PappsoException(QObject::tr("m_grpProteinPtrList is empty"));
232  }
233  else
234  {
235  return (*it)->getAccession();
236  }
237 }
238 
239 std::size_t
241 {
242  return m_peptidePtrList.size();
243 }
244 
245 } // namespace pappso

◆ operator<()

bool pappso::GrpSubGroup::operator< ( const GrpSubGroup other) const

sort subgroups between each other a subgroup containing less peptides is weaker (less) than the other

Definition at line 107 of file grpsubgroup.cpp.

110  {
111  // counts are evidences of the presence of a subgroup
112  // the fewer is the count, the weaker is the subgroup
113  return (maxCount() > other.maxCount());
114  }
115  }
116  else
117  {
118  // peptides are evidences of the presence of a subgroup
119  // the fewer is the peptide list, the weaker is the subgroup
120  return (m_peptidePtrList.size() > other.m_peptidePtrList.size());
121  }
122 }
123 
125 {
126 }
129 {
130  return std::make_shared<GrpSubGroup>(*this);
131 }
132 
133 const GrpPeptideSet &
135 {
136  return m_peptidePtrList;
137 }
138 
139 bool
140 GrpSubGroup::merge(GrpSubGroup *p_subgroup)
141 {
142  qDebug() << "GrpSubGroup::merge begin " << m_grpProteinPtrList.size() << " "
143  << this->getFirstAccession() << " "

◆ peptideListSize()

std::size_t pappso::GrpSubGroup::peptideListSize ( ) const

Definition at line 261 of file grpsubgroup.cpp.

◆ setGroupNumber()

void pappso::GrpSubGroup::setGroupNumber ( unsigned int  i)

Definition at line 200 of file grpsubgroup.cpp.

200 {
201  qDebug() << "GrpSubGroup::numbering begin";
202 
203  // sort proteins by accession numbers :
204  // m_grpProteinPtrList.sort([](GrpProtein * first, GrpProtein * second) {
205  // return (first->getAccession() < second->getAccession()) ;
206  //});
207  std::sort(m_grpProteinPtrList.begin(),

References m_grpProteinPtrList.

◆ setSubGroupNumber()

void pappso::GrpSubGroup::setSubGroupNumber ( unsigned int  i)

Definition at line 210 of file grpsubgroup.cpp.

Member Data Documentation

◆ m_groupNumber

unsigned int pappso::GrpSubGroup::m_groupNumber = 0
private

Definition at line 69 of file grpsubgroup.h.

Referenced by GrpSubGroup().

◆ m_grpProteinPtrList

std::vector<GrpProtein *> pappso::GrpSubGroup::m_grpProteinPtrList
private

◆ m_peptidePtrList

GrpPeptideSet pappso::GrpSubGroup::m_peptidePtrList
private

Definition at line 67 of file grpsubgroup.h.

◆ m_subGroupNumber

unsigned int pappso::GrpSubGroup::m_subGroupNumber = 0
private

Definition at line 68 of file grpsubgroup.h.

Referenced by includes().


The documentation for this class was generated from the following files:
pappso::GrpSubGroup::merge
bool merge(GrpSubGroup *p_subgroup)
Definition: grpsubgroup.cpp:161
pappso::GrpSubGroup::getFirstAccession
const QString & getFirstAccession() const
Definition: grpsubgroup.cpp:247
pappso::GrpSubGroup::getPeptideSet
const GrpPeptideSet & getPeptideSet() const
Definition: grpsubgroup.cpp:155
pappso::GrpSubGroupSp
std::shared_ptr< GrpSubGroup > GrpSubGroupSp
Definition: grpsubgroup.h:60
pappso::GrpSubGroup::maxCount
unsigned int maxCount() const
Definition: grpsubgroup.cpp:95
pappso::GrpSubGroup::~GrpSubGroup
~GrpSubGroup()
Definition: grpsubgroup.cpp:145
pappso::GrpSubGroup::GrpSubGroup
GrpSubGroup(GrpProtein *p_protein)
Definition: grpsubgroup.cpp:57
pappso::GrpSubGroup::makeGrpSubGroupSp
GrpSubGroupSp makeGrpSubGroupSp()
Definition: grpsubgroup.cpp:149
pappso::GrpSubGroup::m_grpProteinPtrList
std::vector< GrpProtein * > m_grpProteinPtrList
Definition: grpsubgroup.h:66
pappso::GrpSubGroup::m_groupNumber
unsigned int m_groupNumber
Definition: grpsubgroup.h:69
pappso::XicExtractMethod::max
@ max
maximum of intensities
pappso::GrpSubGroup::m_subGroupNumber
unsigned int m_subGroupNumber
Definition: grpsubgroup.h:68
pappso::GrpSubGroup::setGroupNumber
void setGroupNumber(unsigned int i)
Definition: grpsubgroup.cpp:200
pappso::GrpPeptideSet::size
unsigned int size() const
Definition: grppeptideset.h:75
pappso::GrpPeptideSet::biggerAndContainsAll
bool biggerAndContainsAll(const GrpPeptideSet &peptideSet) const
Definition: grppeptideset.cpp:90
pappso::GrpSubGroup::m_peptidePtrList
GrpPeptideSet m_peptidePtrList
Definition: grpsubgroup.h:67
pappso::GrpSubGroup::peptideListSize
std::size_t peptideListSize() const
Definition: grpsubgroup.cpp:261