libpappsomspp
Library for mass spectrometry
pappso::TimsDirectXicExtractor Class Reference

#include <timsdirectxicextractor.h>

Inheritance diagram for pappso::TimsDirectXicExtractor:
pappso::TimsXicExtractorInterface

Public Member Functions

 TimsDirectXicExtractor (const TimsData *mp_tims_data)
 
virtual ~TimsDirectXicExtractor ()
 
- Public Member Functions inherited from pappso::TimsXicExtractorInterface
 TimsXicExtractorInterface (const TimsData *mp_tims_data)
 
virtual ~TimsXicExtractorInterface ()
 
void setXicExtractMethod (XicExtractMethod method)
 set the XIC extraction method More...
 

Protected Member Functions

virtual void extractTimsXicList (std::vector< TimsXicStructure > &timsXicList, double rtRange) const override
 extract XICs for given coordinates XICs are extracted given their coordinates : retention time target, mobility range, mz range More...
 

Additional Inherited Members

- Protected Attributes inherited from pappso::TimsXicExtractorInterface
const TimsDatamp_timsData
 
XicExtractMethod m_xicExtractMethod = XicExtractMethod::max
 

Detailed Description

Todo:
write docs

Definition at line 37 of file timsdirectxicextractor.h.

Constructor & Destructor Documentation

◆ TimsDirectXicExtractor()

TimsDirectXicExtractor::TimsDirectXicExtractor ( const TimsData mp_tims_data)

Default constructor

Definition at line 32 of file timsdirectxicextractor.cpp.

33  : pappso::TimsXicExtractorInterface(mp_tims_data)
34 {
35 }

◆ ~TimsDirectXicExtractor()

TimsDirectXicExtractor::~TimsDirectXicExtractor ( )
virtual

Destructor

Definition at line 37 of file timsdirectxicextractor.cpp.

38 {
39 }

Member Function Documentation

◆ extractTimsXicList()

void TimsDirectXicExtractor::extractTimsXicList ( std::vector< TimsXicStructure > &  timsXicList,
double  rtRange 
) const
overrideprotectedvirtual

extract XICs for given coordinates XICs are extracted given their coordinates : retention time target, mobility range, mz range

Parameters
timsXicListlist of TIMS XIC structures (XIC coordinates)
rtRangethe range in seconds that will be applied before and after XIC rtTarget to extract signal

Implements pappso::TimsXicExtractorInterface.

Definition at line 43 of file timsdirectxicextractor.cpp.

45 {
46  if(timsXicList.size() == 0)
47  return;
48  std::sort(timsXicList.begin(),
49  timsXicList.end(),
50  [](const TimsXicStructure &a, const TimsXicStructure &b) {
51  return a.rtTarget < b.rtTarget;
52  });
53 
54  std::vector<std::size_t> tims_frameid_list =
55  mp_timsData->getTimsMS1FrameIdRange(timsXicList[0].rtTarget - rtRange,
56  timsXicList.back().rtTarget + rtRange);
57 
58  std::vector<TimsXicStructure>::iterator itXicListbegin = timsXicList.begin();
59  std::vector<TimsXicStructure>::iterator itXicListend = timsXicList.begin();
60 
61  for(std::size_t frame_id : tims_frameid_list)
62  {
63  TimsFrameCstSPtr frame_sptr = mp_timsData->getTimsFrameCstSPtr(frame_id);
64  double rt = frame_sptr.get()->getTime();
65  while((itXicListbegin != timsXicList.end()) &&
66  ((itXicListbegin->rtTarget - rtRange) < rt))
67  {
68  itXicListbegin++;
69  }
70  while((itXicListend != timsXicList.end()) &&
71  (rt < (itXicListend->rtTarget + rtRange)))
72  {
73  itXicListend++;
74  }
75  frame_sptr.get()->extractTimsXicListInRtRange(
76  itXicListbegin, itXicListend, m_xicExtractMethod);
77  }
78 }

References pappso::TimsData::getTimsFrameCstSPtr(), pappso::TimsData::getTimsMS1FrameIdRange(), pappso::TimsXicExtractorInterface::m_xicExtractMethod, and pappso::TimsXicExtractorInterface::mp_timsData.


The documentation for this class was generated from the following files:
pappso::TimsData::getTimsMS1FrameIdRange
std::vector< std::size_t > getTimsMS1FrameIdRange(double rt_begin, double rt_end) const
Definition: timsdata.cpp:403
pappso::TimsXicExtractorInterface
Definition: timsxicextractorinterface.h:42
pappso::TimsXicExtractorInterface::mp_timsData
const TimsData * mp_timsData
Definition: timsxicextractorinterface.h:66
pappso::TimsXicStructure
structure needed to extract XIC from Tims data
Definition: timsdata.h:48
pappso::TimsData::getTimsFrameCstSPtr
TimsFrameCstSPtr getTimsFrameCstSPtr(std::size_t timsId) const
get a Tims frame with his database ID
Definition: timsdata.cpp:437
pappso::TimsXicExtractorInterface::m_xicExtractMethod
XicExtractMethod m_xicExtractMethod
Definition: timsxicextractorinterface.h:67
pappso::TimsFrameCstSPtr
std::shared_ptr< const TimsFrame > TimsFrameCstSPtr
Definition: timsframe.h:42