libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::WrapTandemResults Class Reference

#include <wraptandemresults.h>

Inheritance diagram for pappso::WrapTandemResults:
pappso::XmlStreamReaderInterface

Public Member Functions

 WrapTandemResults (const QString &final_tandem_output, const QString &original_msdata_file_name)
virtual ~WrapTandemResults ()
void setInputParameters (const QString &label_name_attribute, const QString &input_value)
Public Member Functions inherited from pappso::XmlStreamReaderInterface
 XmlStreamReaderInterface ()
virtual ~XmlStreamReaderInterface ()
virtual bool readFile (const QString &fileName)
bool read (QIODevice *device)
bool read (const QString &xml_content)
QString errorString () const

Protected Member Functions

virtual void readStream () override
Protected Member Functions inherited from pappso::XmlStreamReaderInterface
void cloneStartElement (QXmlStreamWriter &output) const
void cloneElement (QXmlStreamWriter &output)
void cloneNode (QXmlStreamWriter &output)

Private Member Functions

void process_group_note ()

Private Attributes

QFile m_destinationTandemOutputFile
QXmlStreamWriter m_writerXmlTandemOutput
QString m_originalMsDataFileName
std::map< QString, QString > m_mapTandemInputParameters

Additional Inherited Members

Protected Attributes inherited from pappso::XmlStreamReaderInterface
QXmlStreamReader m_qxmlStreamReader

Detailed Description

Todo
write docs

Definition at line 42 of file wraptandemresults.h.

Constructor & Destructor Documentation

◆ WrapTandemResults()

pappso::WrapTandemResults::WrapTandemResults ( const QString & final_tandem_output,
const QString & original_msdata_file_name )

Default constructor

Definition at line 36 of file wraptandemresults.cpp.

38 : m_destinationTandemOutputFile(final_tandem_output)
39{
40 qDebug() << final_tandem_output;
41 m_originalMsDataFileName = QFileInfo(original_msdata_file_name).absoluteFilePath();
42 if(!m_destinationTandemOutputFile.open(QIODevice::WriteOnly))
43 {
44 throw pappso::PappsoException(
45 QObject::tr("ERROR: unable to open %1 to write XML output").arg(final_tandem_output));
46 }
48 m_writerXmlTandemOutput.writeStartDocument("1.0");
49 m_writerXmlTandemOutput.setAutoFormatting(true);
50}
QXmlStreamWriter m_writerXmlTandemOutput

References m_destinationTandemOutputFile, m_originalMsDataFileName, and m_writerXmlTandemOutput.

◆ ~WrapTandemResults()

pappso::WrapTandemResults::~WrapTandemResults ( )
virtual

Destructor

Definition at line 52 of file wraptandemresults.cpp.

53{
54}

Member Function Documentation

◆ process_group_note()

void pappso::WrapTandemResults::process_group_note ( )
private

Definition at line 64 of file wraptandemresults.cpp.

65{
67 while(m_qxmlStreamReader.readNext() && !m_qxmlStreamReader.isEndElement())
68 {
69 if(m_qxmlStreamReader.isStartElement())
70 {
71 QString type = m_qxmlStreamReader.attributes().value("type").toString();
72 QString label = m_qxmlStreamReader.attributes().value("label").toString();
73 qDebug() << "type=" << type << " label=" << label;
74 // qDebug() << "XtandemParamSaxHandler::endElement_note begin " <<
75 // <note type="input" label="spectrum,
76 // path">/tmp/tandemwrapper-IehrEL/msdata.mzxml</note>
77
78 if(label == "spectrum, path")
79 {
80 //<note type="input"
81 // label="spectrum,path">/gorgone/pappso/jouy/raw/2019_Lumos/20191222_107_Juste/20191222_18_EF1.mzXML</note>
82 // m_originMzDataFileName = m_currentText;
83 // p_writeXmlTandemOutput->writeCharacters(m_destinationMzXmlFileName);
84
85 m_writerXmlTandemOutput.writeStartElement("note");
86 m_writerXmlTandemOutput.writeAttributes(m_qxmlStreamReader.attributes());
88 m_writerXmlTandemOutput.writeEndElement();
89
90
91 for(auto pair_input : m_mapTandemInputParameters)
92 {
93 m_writerXmlTandemOutput.writeStartElement("note");
94 m_writerXmlTandemOutput.writeAttribute("type", "input");
95 m_writerXmlTandemOutput.writeAttribute("label", pair_input.first);
96 m_writerXmlTandemOutput.writeCharacters(pair_input.second);
97
98 m_writerXmlTandemOutput.writeEndElement();
99 }
100 m_qxmlStreamReader.skipCurrentElement();
101 }
102 else if(label == "output, path")
103 {
104
105 //<note type="input" label="output,
106 // path">/tmp/tandemwrapper-sSGxtE/output_tandem.xml</note>
107
108 m_writerXmlTandemOutput.writeStartElement("note");
109 m_writerXmlTandemOutput.writeAttributes(m_qxmlStreamReader.attributes());
110 m_writerXmlTandemOutput.writeCharacters(
111 QFileInfo(m_destinationTandemOutputFile).absoluteFilePath());
112 m_writerXmlTandemOutput.writeEndElement();
113 m_qxmlStreamReader.skipCurrentElement();
114 }
115 else
116 {
118 }
119 }
120 }
121 m_writerXmlTandemOutput.writeEndElement();
122}
std::map< QString, QString > m_mapTandemInputParameters
void cloneStartElement(QXmlStreamWriter &output) const
void cloneElement(QXmlStreamWriter &output)

References pappso::XmlStreamReaderInterface::cloneElement(), pappso::XmlStreamReaderInterface::cloneStartElement(), m_destinationTandemOutputFile, m_mapTandemInputParameters, m_originalMsDataFileName, pappso::XmlStreamReaderInterface::m_qxmlStreamReader, and m_writerXmlTandemOutput.

Referenced by readStream().

◆ readStream()

void pappso::WrapTandemResults::readStream ( )
overrideprotectedvirtual

Implements pappso::XmlStreamReaderInterface.

Definition at line 125 of file wraptandemresults.cpp.

126{
127 qDebug();
128 if(m_qxmlStreamReader.readNextStartElement())
129 {
130 if(m_qxmlStreamReader.name().toString() == "bioml")
131 {
133 qDebug();
134 while(m_qxmlStreamReader.readNextStartElement())
135 {
136 if(m_qxmlStreamReader.name().toString() == "group")
137 {
138 QString type = m_qxmlStreamReader.attributes().value("type").toString();
139 if(type == "model")
140 {
142 }
143 else if(type == "parameters")
144 {
145 QString label = m_qxmlStreamReader.attributes().value("label").toString();
146 if(label == "performance parameters")
147 {
149 }
150 else if(label == "input parameters")
151 {
153 // cloneElement(m_writerXmlTandemOutput);
154 }
155 else if(label == "unused input parameters")
156 {
158 }
159 else
160 {
161 m_qxmlStreamReader.skipCurrentElement();
162 }
163 }
164 }
165 else
166 {
167 qDebug() << m_qxmlStreamReader.name();
168 // read_note();
170
171
172 m_writerXmlTandemOutput.writeCharacters(m_qxmlStreamReader.readElementText());
173
174 m_writerXmlTandemOutput.writeEndElement();
175 }
176 }
177 }
178 else
179 {
180 m_qxmlStreamReader.raiseError(QObject::tr("Not an X!Tandem result file"));
181 m_qxmlStreamReader.skipCurrentElement();
182 }
183 }
184 m_writerXmlTandemOutput.writeEndDocument();
186 qDebug();
187}

References pappso::XmlStreamReaderInterface::cloneElement(), pappso::XmlStreamReaderInterface::cloneStartElement(), m_destinationTandemOutputFile, pappso::XmlStreamReaderInterface::m_qxmlStreamReader, m_writerXmlTandemOutput, and process_group_note().

◆ setInputParameters()

void pappso::WrapTandemResults::setInputParameters ( const QString & label_name_attribute,
const QString & input_value )

Definition at line 57 of file wraptandemresults.cpp.

59{
60 m_mapTandemInputParameters.insert(std::pair<QString, QString>(label_name_attribute, input_value));
61}

References m_mapTandemInputParameters.

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

Member Data Documentation

◆ m_destinationTandemOutputFile

QFile pappso::WrapTandemResults::m_destinationTandemOutputFile
private

Definition at line 67 of file wraptandemresults.h.

Referenced by WrapTandemResults(), process_group_note(), and readStream().

◆ m_mapTandemInputParameters

std::map<QString, QString> pappso::WrapTandemResults::m_mapTandemInputParameters
private

Definition at line 71 of file wraptandemresults.h.

Referenced by process_group_note(), and setInputParameters().

◆ m_originalMsDataFileName

QString pappso::WrapTandemResults::m_originalMsDataFileName
private

Definition at line 69 of file wraptandemresults.h.

Referenced by WrapTandemResults(), and process_group_note().

◆ m_writerXmlTandemOutput

QXmlStreamWriter pappso::WrapTandemResults::m_writerXmlTandemOutput
private

Definition at line 68 of file wraptandemresults.h.

Referenced by WrapTandemResults(), process_group_note(), and readStream().


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