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;
42 QFileInfo(original_msdata_file_name).absoluteFilePath();
43 if(!m_destinationTandemOutputFile.open(QIODevice::WriteOnly))
44 {
46 QObject::tr("ERROR: unable to open %1 to write XML output")
47 .arg(final_tandem_output));
48 }
50 m_writerXmlTandemOutput.writeStartDocument("1.0");
51 m_writerXmlTandemOutput.setAutoFormatting(true);
52}
QXmlStreamWriter m_writerXmlTandemOutput

References m_destinationTandemOutputFile, m_originalMsDataFileName, and m_writerXmlTandemOutput.

◆ ~WrapTandemResults()

pappso::WrapTandemResults::~WrapTandemResults ( )
virtual

Destructor

Definition at line 54 of file wraptandemresults.cpp.

55{
56}

Member Function Documentation

◆ process_group_note()

void pappso::WrapTandemResults::process_group_note ( )
private

Definition at line 67 of file wraptandemresults.cpp.

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

134{
135 qDebug();
136 if(m_qxmlStreamReader.readNextStartElement())
137 {
138 if(m_qxmlStreamReader.name().toString() == "bioml")
139 {
141 qDebug();
142 while(m_qxmlStreamReader.readNextStartElement())
143 {
144 if(m_qxmlStreamReader.name().toString() == "group")
145 {
146 QString type =
147 m_qxmlStreamReader.attributes().value("type").toString();
148 if(type == "model")
149 {
151 }
152 else if(type == "parameters")
153 {
154 QString label = m_qxmlStreamReader.attributes()
155 .value("label")
156 .toString();
157 if(label == "performance parameters")
158 {
160 }
161 else if(label == "input parameters")
162 {
164 // cloneElement(m_writerXmlTandemOutput);
165 }
166 else if(label == "unused input parameters")
167 {
169 }
170 else
171 {
172 m_qxmlStreamReader.skipCurrentElement();
173 }
174 }
175 }
176 else
177 {
178 qDebug() << m_qxmlStreamReader.name();
179 // read_note();
181
182
183 m_writerXmlTandemOutput.writeCharacters(
184 m_qxmlStreamReader.readElementText());
185
186 m_writerXmlTandemOutput.writeEndElement();
187 }
188 }
189 }
190 else
191 {
192 m_qxmlStreamReader.raiseError(
193 QObject::tr("Not an X!Tandem result file"));
194 m_qxmlStreamReader.skipCurrentElement();
195 }
196 }
197 m_writerXmlTandemOutput.writeEndDocument();
199 qDebug();
200}

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 59 of file wraptandemresults.cpp.

61{
63 std::pair<QString, QString>(label_name_attribute, input_value));
64}

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: