libpappsomspp
Library for mass spectrometry
pappso::XtandemPresetSaxHandler Class Reference

#include <xtandempresetsaxhandler.h>

Inheritance diagram for pappso::XtandemPresetSaxHandler:

Public Member Functions

 XtandemPresetSaxHandler ()
 
 ~XtandemPresetSaxHandler ()
 
bool startElement (const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &attributes) override
 
bool endElement (const QString &namespaceURI, const QString &localName, const QString &qName) override
 
bool startDocument () override
 
bool endDocument () override
 
bool characters (const QString &str) override
 
bool fatalError (const QXmlParseException &exception) override
 
bool error (const QXmlParseException &exception) override
 
QString errorString () const
 
int getNumberOfThreads () const
 
const QString getMs2FiltersOptions () const
 

Private Member Functions

bool startElement_note (QXmlAttributes attributes)
 
bool endElement_note ()
 

Private Attributes

QString m_errorString
 
std::vector< QString > m_tagStack
 
QString m_currentText
 
bool m_isTandemParameter = false
 
QString m_currentLabel
 
int m_threads = -1
 
PrecisionUnit m_ms2precisionUnit = PrecisionUnit::dalton
 
double m_ms2precisionValue = 0
 

Detailed Description

Definition at line 40 of file xtandempresetsaxhandler.h.

Constructor & Destructor Documentation

◆ XtandemPresetSaxHandler()

pappso::XtandemPresetSaxHandler::XtandemPresetSaxHandler ( )

Default constructor

Definition at line 35 of file xtandempresetsaxhandler.cpp.

36 {
37 }

◆ ~XtandemPresetSaxHandler()

pappso::XtandemPresetSaxHandler::~XtandemPresetSaxHandler ( )

Destructor

Definition at line 39 of file xtandempresetsaxhandler.cpp.

40 {
41 }

Member Function Documentation

◆ characters()

bool pappso::XtandemPresetSaxHandler::characters ( const QString &  str)
override

Definition at line 162 of file xtandempresetsaxhandler.cpp.

163 {
164  m_currentText += str;
165  return true;
166 }

References m_currentText.

◆ endDocument()

bool pappso::XtandemPresetSaxHandler::endDocument ( )
override

Definition at line 156 of file xtandempresetsaxhandler.cpp.

157 {
158  return true;
159 }

◆ endElement()

bool pappso::XtandemPresetSaxHandler::endElement ( const QString &  namespaceURI,
const QString &  localName,
const QString &  qName 
)
override

Definition at line 105 of file xtandempresetsaxhandler.cpp.

109 {
110 
111  bool is_ok = true;
112  // endElement_peptide_list
113  try
114  {
115 
116  if(qName == "note")
117  {
118  is_ok = endElement_note();
119  }
120  else
121  {
122  }
123  }
124  catch(const pappso::PappsoException &exception_pappso)
125  {
126  m_errorString = QObject::tr(
127  "ERROR in XtandemPresetSaxHandler::endElement tag "
128  "%1, PAPPSO exception:\n%2")
129  .arg(qName)
130  .arg(exception_pappso.qwhat());
131  return false;
132  }
133  catch(const std::exception &exception_std)
134  {
135  m_errorString = QObject::tr(
136  "ERROR in XtandemPresetSaxHandler::endElement tag "
137  "%1, std exception:\n%2")
138  .arg(qName)
139  .arg(exception_std.what());
140  return false;
141  }
142 
143  m_currentText.clear();
144  m_tagStack.pop_back();
145 
146  return is_ok;
147 }

References endElement_note(), m_currentText, m_errorString, m_tagStack, and pappso::PappsoException::qwhat().

◆ endElement_note()

bool pappso::XtandemPresetSaxHandler::endElement_note ( )
private

Definition at line 223 of file xtandempresetsaxhandler.cpp.

224 {
225  // qDebug() << "XtandemParamSaxHandler::endElement_note begin " <<
226  // _current_label << " " << _current_text.simplified();
227  if(m_currentLabel == "spectrum, timstof MS2 filters")
228  {
229  // m_ms2filtersOptions = m_currentText;
230  }
231  else if(m_currentLabel == "spectrum, threads")
232  {
233  m_threads = m_currentText.toInt();
234  }
235  else if(m_currentLabel == "spectrum, fragment monoisotopic mass error units")
236  {
237  m_ms2precisionUnit = PrecisionUnit::dalton;
238  if(m_currentText.trimmed().toLower() == "ppm")
239  {
240  m_ms2precisionUnit = PrecisionUnit::ppm;
241  }
242  }
243  else if(m_currentLabel == "spectrum, fragment monoisotopic mass error")
244  {
245  m_ms2precisionValue = m_currentText.toDouble();
246  }
247  else
248  {
249  }
250  return true;
251 }

References m_currentLabel, m_currentText, m_ms2precisionUnit, m_ms2precisionValue, and m_threads.

Referenced by endElement().

◆ error()

bool pappso::XtandemPresetSaxHandler::error ( const QXmlParseException &  exception)
override

Definition at line 170 of file xtandempresetsaxhandler.cpp.

171 {
172  m_errorString = QObject::tr(
173  "Parse error at line %1, column %2 :\n"
174  "%3")
175  .arg(exception.lineNumber())
176  .arg(exception.columnNumber())
177  .arg(exception.message());
178  qDebug() << m_errorString;
179  return false;
180 }

References m_errorString.

◆ errorString()

QString pappso::XtandemPresetSaxHandler::errorString ( ) const

Definition at line 197 of file xtandempresetsaxhandler.cpp.

198 {
199  return m_errorString;
200 }

References m_errorString.

Referenced by pappso::TandemWrapperRun::readTandemPresetFile().

◆ fatalError()

bool pappso::XtandemPresetSaxHandler::fatalError ( const QXmlParseException &  exception)
override

Definition at line 184 of file xtandempresetsaxhandler.cpp.

185 {
186  m_errorString = QObject::tr(
187  "Parse error at line %1, column %2 :\n"
188  "%3")
189  .arg(exception.lineNumber())
190  .arg(exception.columnNumber())
191  .arg(exception.message());
192  qDebug() << m_errorString;
193  return false;
194 }

References m_errorString.

◆ getMs2FiltersOptions()

const QString pappso::XtandemPresetSaxHandler::getMs2FiltersOptions ( ) const

Definition at line 262 of file xtandempresetsaxhandler.cpp.

263 {
266  return QString("chargeDeconvolution|%1")
267  .arg(precision->toString().replace(" ", ""));
268 }

References pappso::PrecisionFactory::getPrecisionPtrInstance(), m_ms2precisionUnit, m_ms2precisionValue, and pappso::PrecisionBase::toString().

Referenced by pappso::TandemWrapperRun::readTandemPresetFile().

◆ getNumberOfThreads()

int pappso::XtandemPresetSaxHandler::getNumberOfThreads ( ) const

Definition at line 255 of file xtandempresetsaxhandler.cpp.

256 {
257  return m_threads;
258 }

References m_threads.

Referenced by pappso::TandemWrapperRun::readTandemPresetFile().

◆ startDocument()

bool pappso::XtandemPresetSaxHandler::startDocument ( )
override

Definition at line 150 of file xtandempresetsaxhandler.cpp.

151 {
152  return true;
153 }

◆ startElement()

bool pappso::XtandemPresetSaxHandler::startElement ( const QString &  namespaceURI,
const QString &  localName,
const QString &  qName,
const QXmlAttributes &  attributes 
)
override

Definition at line 45 of file xtandempresetsaxhandler.cpp.

50 {
51  m_tagStack.push_back(qName);
52  bool is_ok = true;
53 
54  try
55  {
56  m_currentText.clear();
57  //<bioml label="example api document">
58  if(m_tagStack.size() == 1)
59  {
60  if(qName != "bioml")
61  {
63  QObject::tr(
64  "ERROR in XtandemPresetSaxHandler::startElement "
65  "root tag %1 is not <bioml>")
66  .arg(qName);
67  m_isTandemParameter = false;
68  return false;
69  }
70  else
71  {
72 
73  m_isTandemParameter = true;
74  }
75  }
76  // startElement_group
77 
78  if(qName == "note")
79  {
80  is_ok = startElement_note(attributes);
81  }
82  }
83  catch(const pappso::PappsoException &exception_pappso)
84  {
85  m_errorString = QObject::tr(
86  "ERROR in XtandemPresetSaxHandler::startElement "
87  "tag %1, PAPPSO exception:\n%2")
88  .arg(qName)
89  .arg(exception_pappso.qwhat());
90  return false;
91  }
92  catch(const std::exception &exception_std)
93  {
94  m_errorString = QObject::tr(
95  "ERROR in XtandemPresetSaxHandler::startElement "
96  "tag %1, std exception:\n%2")
97  .arg(qName)
98  .arg(exception_std.what());
99  return false;
100  }
101  return is_ok;
102 }

References m_currentText, m_errorString, m_isTandemParameter, m_tagStack, pappso::PappsoException::qwhat(), and startElement_note().

◆ startElement_note()

bool pappso::XtandemPresetSaxHandler::startElement_note ( QXmlAttributes  attributes)
private

Definition at line 204 of file xtandempresetsaxhandler.cpp.

205 {
206  // qDebug() << "XtandemParamSaxHandler::startElement_note begin " <<
207  // <note type="input"
208  // label="output,path">/gorgone/pappso/jouy/users/Celine/2019_Lumos/20191222_107_Juste_APD/metapappso_condor/test_run/20191222_18_EF1_third_step_test_condor_22janv.xml</note>
209 
210  m_currentLabel = "";
211 
212  if(attributes.value("type") == "input")
213  {
214  m_currentLabel = attributes.value("label");
215  }
216 
217  // qDebug() << "XtandemParamSaxHandler::startElement_note _current_label " <<
218  // _current_label;
219  return true;
220 }

References m_currentLabel.

Referenced by startElement().

Member Data Documentation

◆ m_currentLabel

QString pappso::XtandemPresetSaxHandler::m_currentLabel
private

Definition at line 85 of file xtandempresetsaxhandler.h.

Referenced by endElement_note(), and startElement_note().

◆ m_currentText

QString pappso::XtandemPresetSaxHandler::m_currentText
private

Definition at line 83 of file xtandempresetsaxhandler.h.

Referenced by characters(), endElement(), endElement_note(), and startElement().

◆ m_errorString

QString pappso::XtandemPresetSaxHandler::m_errorString
private

Definition at line 81 of file xtandempresetsaxhandler.h.

Referenced by endElement(), error(), errorString(), fatalError(), and startElement().

◆ m_isTandemParameter

bool pappso::XtandemPresetSaxHandler::m_isTandemParameter = false
private

Definition at line 84 of file xtandempresetsaxhandler.h.

Referenced by startElement().

◆ m_ms2precisionUnit

PrecisionUnit pappso::XtandemPresetSaxHandler::m_ms2precisionUnit = PrecisionUnit::dalton
private

Definition at line 88 of file xtandempresetsaxhandler.h.

Referenced by endElement_note(), and getMs2FiltersOptions().

◆ m_ms2precisionValue

double pappso::XtandemPresetSaxHandler::m_ms2precisionValue = 0
private

Definition at line 89 of file xtandempresetsaxhandler.h.

Referenced by endElement_note(), and getMs2FiltersOptions().

◆ m_tagStack

std::vector<QString> pappso::XtandemPresetSaxHandler::m_tagStack
private

Definition at line 82 of file xtandempresetsaxhandler.h.

Referenced by endElement(), and startElement().

◆ m_threads

int pappso::XtandemPresetSaxHandler::m_threads = -1
private

Definition at line 86 of file xtandempresetsaxhandler.h.

Referenced by endElement_note(), and getNumberOfThreads().


The documentation for this class was generated from the following files:
pappso::XtandemPresetSaxHandler::m_isTandemParameter
bool m_isTandemParameter
Definition: xtandempresetsaxhandler.h:84
pappso::XtandemPresetSaxHandler::m_currentLabel
QString m_currentLabel
Definition: xtandempresetsaxhandler.h:85
pappso::PrecisionPtr
const PrecisionBase * PrecisionPtr
Definition: precision.h:122
pappso::XtandemPresetSaxHandler::endElement_note
bool endElement_note()
Definition: xtandempresetsaxhandler.cpp:223
pappso::XtandemPresetSaxHandler::m_threads
int m_threads
Definition: xtandempresetsaxhandler.h:86
pappso::XtandemPresetSaxHandler::m_ms2precisionValue
double m_ms2precisionValue
Definition: xtandempresetsaxhandler.h:89
pappso::XtandemPresetSaxHandler::m_currentText
QString m_currentText
Definition: xtandempresetsaxhandler.h:83
pappso::PappsoException::qwhat
virtual const QString & qwhat() const
Definition: pappsoexception.h:68
pappso::XtandemPresetSaxHandler::startElement_note
bool startElement_note(QXmlAttributes attributes)
Definition: xtandempresetsaxhandler.cpp:204
pappso::XtandemPresetSaxHandler::m_errorString
QString m_errorString
Definition: xtandempresetsaxhandler.h:81
pappso::XtandemPresetSaxHandler::m_tagStack
std::vector< QString > m_tagStack
Definition: xtandempresetsaxhandler.h:82
pappso::PrecisionFactory::getPrecisionPtrInstance
static PrecisionPtr getPrecisionPtrInstance(PrecisionUnit unit, double value)
get a precision pointer instance
Definition: precision.cpp:213
pappso::PappsoException
Definition: pappsoexception.h:42
pappso::XtandemPresetSaxHandler::m_ms2precisionUnit
PrecisionUnit m_ms2precisionUnit
Definition: xtandempresetsaxhandler.h:88