libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
FilterComplement Class Reference

try to detect complementary ions and assign maximum intensity of both elements More...

#include <filtercomplement.h>

Inheritance diagram for FilterComplement:
pappso::FilterInterface

Public Member Functions

 FilterComplement (double target_mz, pappso::PrecisionPtr precision_ptr)
 FilterComplement (const FilterComplement &other)
virtual ~FilterComplement ()
pappso::Trace & filter (pappso::Trace &data_points) const override
Public Member Functions inherited from pappso::FilterInterface
virtual ~FilterInterface ()

Private Attributes

double m_targetMzSum
pappso::PrecisionPtr m_precisionPtr

Detailed Description

try to detect complementary ions and assign maximum intensity of both elements

experimental filter

Definition at line 42 of file filtercomplement.h.

Constructor & Destructor Documentation

◆ FilterComplement() [1/2]

FilterComplement::FilterComplement ( double target_mz,
pappso::PrecisionPtr precision_ptr )
Parameters
target_mzthe targeted mass of the peak pair
precision_ptrmatching precision

Definition at line 33 of file filtercomplement.cpp.

35 : m_targetMzSum(target_mz), m_precisionPtr(precision_ptr)
36{
37}
pappso::PrecisionPtr m_precisionPtr

References m_precisionPtr, and m_targetMzSum.

Referenced by FilterComplement().

◆ FilterComplement() [2/2]

FilterComplement::FilterComplement ( const FilterComplement & other)

Copy constructor

Parameters
otherTODO

Definition at line 45 of file filtercomplement.cpp.

References FilterComplement(), m_precisionPtr, and m_targetMzSum.

◆ ~FilterComplement()

FilterComplement::~FilterComplement ( )
virtual

Destructor

Definition at line 50 of file filtercomplement.cpp.

51{
52}

Member Function Documentation

◆ filter()

pappso::Trace & FilterComplement::filter ( pappso::Trace & data_points) const
overridevirtual

Implements pappso::FilterInterface.

Definition at line 55 of file filtercomplement.cpp.

56{
57 pappso::Trace new_trace;
58 pappso::MzRange target_sum(m_targetMzSum, m_precisionPtr);
59
60
61 auto it = data_points.begin();
62 auto it_reverse = data_points.rbegin();
63 while(it->x < it_reverse->x)
64 {
65
66 if((it->x + it_reverse->x) < target_sum.lower())
67 {
68 it++;
69 }
70 else if((it->x + it_reverse->x) > target_sum.upper())
71 {
72 it_reverse++;
73 }
74 else
75 {
76 new_trace.push_back(*it);
77 qDebug() << "itx=" << it->x;
78 do
79 {
80 new_trace.push_back(*it_reverse);
81 qDebug() << "itrevx=" << it_reverse->x;
82 it_reverse++;
83 }
84 while(target_sum.contains(it->x + it_reverse->x));
85 }
86 }
87
88 data_points = std::move(new_trace);
89 data_points.sortX();
90 return data_points;
91}
void sortX(Enums::SortOrder sort_order=Enums::SortOrder::ascending)
Definition trace.cpp:1070

References pappso::MzRange::contains(), pappso::MzRange::lower(), m_precisionPtr, m_targetMzSum, pappso::Trace::sortX(), and pappso::MzRange::upper().

Referenced by pappso::cbor::mzcbor::MzcborPrecursorFinder::findPotentialPrecursorIonData().

Member Data Documentation

◆ m_precisionPtr

pappso::PrecisionPtr FilterComplement::m_precisionPtr
private

Definition at line 69 of file filtercomplement.h.

Referenced by FilterComplement(), FilterComplement(), and filter().

◆ m_targetMzSum

double FilterComplement::m_targetMzSum
private

Definition at line 68 of file filtercomplement.h.

Referenced by FilterComplement(), FilterComplement(), and filter().


The documentation for this class was generated from the following files: