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

#include <mzidentmlwriter.h>

Inheritance diagram for pappso::MzIdentMlWriter:

Public Member Functions

 MzIdentMlWriter ()
 
 ~MzIdentMlWriter ()
 
void writeDBSequence (const QString &id, const QString &db_ref_id, const pappso::Protein &protein, bool is_reverse)
 
void writeDBSequence (const QString &id, const QString &db_ref_id, const QString &accession, const QString &description, const QString &sequence, bool is_reverse)
 
void writeStartMzIdentMlDocument (const QString &id, const QString &version)
 
void writeCvList ()
 
void writeCvParam (pappso::AaModificationP modification)
 
void writeCvParam (const pappso::OboPsiModTerm &term, const QString &value)
 
void writeCvParam (const QString &cv_ref, const QString &accession, const QString &name, const QString &value)
 
void writeCvParamUo (const QString &cv_ref, const QString &accession, const QString &name, const QString &value, const QString &unit_cv_ref, const QString &unit_accession, const QString &unit_name)
 
void writeCvParamUo (const QString &cv_ref, const QString &accession, const QString &name, const QString &value, pappso::PrecisionUnit precision_unit)
 
void writeUserParam (const QString &name, const QString &value)
 
void writeUserParam (const QString &name, double value)
 
void writeUserParam (pappso::DeepProtMatchType matchType)
 
void writeUserParam (pappso::DeepProtPeptideCandidateStatus status)
 

Static Public Member Functions

static const QString toXmlMass (double mass)
 
static const QString toXmlMassDelta (double mass)
 
static const QString toXmlDouble (double value)
 

Detailed Description

Todo
write docs

Definition at line 46 of file mzidentmlwriter.h.

Constructor & Destructor Documentation

◆ MzIdentMlWriter()

pappso::MzIdentMlWriter::MzIdentMlWriter ( )

Default constructor

Definition at line 33 of file mzidentmlwriter.cpp.

34{
35}

◆ ~MzIdentMlWriter()

pappso::MzIdentMlWriter::~MzIdentMlWriter ( )

Destructor

Definition at line 37 of file mzidentmlwriter.cpp.

38{
39}

Member Function Documentation

◆ toXmlDouble()

const QString pappso::MzIdentMlWriter::toXmlDouble ( double value)
static

Definition at line 353 of file mzidentmlwriter.cpp.

354{
355 return QString::number(value, 'g', 10);
356}

◆ toXmlMass()

const QString pappso::MzIdentMlWriter::toXmlMass ( double mass)
static

Definition at line 335 of file mzidentmlwriter.cpp.

336{
337 return QString::number(mass, 'f', 10);
338}

◆ toXmlMassDelta()

const QString pappso::MzIdentMlWriter::toXmlMassDelta ( double mass)
static

Definition at line 341 of file mzidentmlwriter.cpp.

342{
343 return QString::number(mass, 'g', 10);
344}

◆ writeCvList()

void pappso::MzIdentMlWriter::writeCvList ( )

Definition at line 75 of file mzidentmlwriter.cpp.

76{
77
78 writeStartElement("cvList");
79 // m_ofOut << "<cvList xmlns=\"http://psidev.info/psi/pi/mzIdentML/1.1\">\n";
80 writeStartElement("cv");
81 writeAttribute("id", "PSI-MS");
82 writeAttribute(
83 "uri",
84 "http://psidev.cvs.sourceforge.net/viewvc/*checkout*/psidev/psi/psi-ms/"
85 "mzML/controlledVocabulary/psi-ms.obo");
86 writeAttribute("version", "3.30.0");
87 writeAttribute("fullName", "PSI-MS");
88 writeEndElement();
89 // m_ofOut << " <cv id=\"PSI-MS\" "
90 // "uri=\"http://psidev.cvs.sourceforge.net/viewvc/*checkout*/psidev/"
91 // "psi/psi-ms/mzML/controlledVocabulary/psi-ms.obo\" "
92 // "version=\"3.30.0\" fullName=\"PSI-MS\"/>\n";
93
94 writeStartElement("cv");
95 writeAttribute("id", "PSI-MOD");
96 writeAttribute(
97 "uri", "http://psidev.cvs.sourceforge.net/psidev/psi/mod/data/PSI-MOD.obo");
98 writeAttribute(
99 "fullName",
100 "Proteomics Standards Initiative Protein Modifications Vocabularies");
101 writeAttribute("version", "1.2");
102 writeEndElement();
103
104 // m_ofOut
105 // << " <cv id=\"UNIMOD\" uri=\"http://www.unimod.org/obo/unimod.obo\" "
106 // "fullName=\"UNIMOD\"/>\n";
107
108 writeStartElement("cv");
109 writeAttribute("id", "UO");
110 writeAttribute("uri",
111 "http://obo.cvs.sourceforge.net/*checkout*/"
112 "obo/obo/ontology/phenotype/unit.obo");
113 writeAttribute("fullName", "UNIT-ONTOLOGY");
114 writeEndElement();
115 // m_ofOut << " <cv id=\"UO\" "
116 // "uri=\"http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/"
117 // "phenotype/unit.obo\" fullName=\"UNIT-ONTOLOGY\"/>\n";
118 writeEndElement();
119 // m_ofOut << "</cvList>\n";
120}

◆ writeCvParam() [1/3]

void pappso::MzIdentMlWriter::writeCvParam ( const pappso::OboPsiModTerm & term,
const QString & value )

Definition at line 201 of file mzidentmlwriter.cpp.

203{
204 if(term.m_accession.startsWith("MOD:"))
205 {
206 writeCvParam("PSI-MOD", term.m_accession, term.m_name, value);
207 }
208 else
209 {
210 if(term.m_accession.startsWith("MS:"))
211 {
212 writeCvParam("PSI-MS", term.m_accession, term.m_name, value);
213 }
214 else
215 {
217 QObject::tr("The OBO term %1 %2 is not an OBO PSI-MOD term in %3")
218 .arg(term.m_accession)
219 .arg(term.m_name)
220 .arg(__FUNCTION__));
221 }
222 }
223}
void writeCvParam(pappso::AaModificationP modification)

References pappso::OboPsiModTerm::m_accession, and pappso::OboPsiModTerm::m_name.

◆ writeCvParam() [2/3]

void pappso::MzIdentMlWriter::writeCvParam ( const QString & cv_ref,
const QString & accession,
const QString & name,
const QString & value )

Definition at line 184 of file mzidentmlwriter.cpp.

188{
189
190 //<cvParam accession="MS:1001083" cvRef="PSI-MS" name="ms-ms search"/>
191 writeStartElement("cvParam");
192 writeAttribute("accession", accession);
193 writeAttribute("cvRef", cv_ref);
194 writeAttribute("name", name);
195 if(!value.isEmpty())
196 writeAttribute("value", value);
197 writeEndElement();
198}

◆ writeCvParam() [3/3]

void pappso::MzIdentMlWriter::writeCvParam ( pappso::AaModificationP pmod)

cvParam accession="MS:1000894" cvRef="PSI-MS" name="retention time" value="5468.0193" unitAccession="UO:0000010" unitName="second" unitCvRef="UO"/>

Definition at line 226 of file mzidentmlwriter.cpp.

References pappso::AaModification::getAccession(), and pappso::AaModification::getName().

◆ writeCvParamUo() [1/2]

void pappso::MzIdentMlWriter::writeCvParamUo ( const QString & cv_ref,
const QString & accession,
const QString & name,
const QString & value,
const QString & unit_cv_ref,
const QString & unit_accession,
const QString & unit_name )

Definition at line 256 of file mzidentmlwriter.cpp.

263{
264 //<cvParam accession="MS:1001083" cvRef="PSI-MS" name="ms-ms search"/>
265 writeStartElement("cvParam");
266 writeAttribute("accession", accession);
267 writeAttribute("cvRef", cv_ref);
268 writeAttribute("name", name);
269 if(!value.isEmpty())
270 writeAttribute("value", value);
271 writeAttribute("unitAccession", unit_accession);
272 writeAttribute("unitName", unit_name);
273 writeAttribute("unitCvRef", unit_cv_ref);
274 writeEndElement();
275}

◆ writeCvParamUo() [2/2]

void pappso::MzIdentMlWriter::writeCvParamUo ( const QString & cv_ref,
const QString & accession,
const QString & name,
const QString & value,
pappso::PrecisionUnit precision_unit )

Definition at line 278 of file mzidentmlwriter.cpp.

283{
284 switch(precision_unit)
285 {
288 cv_ref, accession, name, value, "UO", "UO:0000221", "dalton");
289 break;
291 writeCvParamUo(cv_ref,
292 accession,
293 name,
294 value,
295 "UO",
296 "UO:0000169",
297 "parts per million");
298 break;
299 default:
301 QObject::tr("precision unit %1 not implemented in %2")
302 .arg((int)precision_unit)
303 .arg(__FUNCTION__));
304 break;
305 }
306}
void writeCvParamUo(const QString &cv_ref, const QString &accession, const QString &name, const QString &value, const QString &unit_cv_ref, const QString &unit_accession, const QString &unit_name)

References pappso::dalton, and pappso::ppm.

◆ writeDBSequence() [1/2]

void pappso::MzIdentMlWriter::writeDBSequence ( const QString & id,
const QString & db_ref_id,
const pappso::Protein & protein,
bool is_reverse )

Definition at line 123 of file mzidentmlwriter.cpp.

127{
129 db_ref_id,
130 protein.getAccession(),
131 protein.getDescription(),
132 protein.getSequence(),
133 is_reverse);
134}
void writeDBSequence(const QString &id, const QString &db_ref_id, const pappso::Protein &protein, bool is_reverse)
const QString & getAccession() const
Definition protein.cpp:127
const QString & getDescription() const
Definition protein.cpp:137
const QString & getSequence() const
Definition protein.cpp:122

References pappso::Protein::getAccession(), pappso::Protein::getDescription(), and pappso::Protein::getSequence().

◆ writeDBSequence() [2/2]

void pappso::MzIdentMlWriter::writeDBSequence ( const QString & id,
const QString & db_ref_id,
const QString & accession,
const QString & description,
const QString & sequence,
bool is_reverse )

Definition at line 138 of file mzidentmlwriter.cpp.

144{
145
146 writeStartElement("DBSequence");
147 writeAttribute("id", id);
148 writeAttribute("searchDatabase_ref", db_ref_id);
149 writeAttribute("accession", accession);
150 writeAttribute("length", QString::number(sequence.size()));
151 // m_ofOut << "<DBSequence accession=\"" << strLabel.c_str()
152 // << "\" searchDatabase_ref=\"SearchDB_"
153 // << _vs[a].m_vseqBest[b].m_siPath << "\" length=\""
154 // << (unsigned long)_vs[a].m_vseqBest[b].m_strSeq.size()
155 // << "\" id=\"DBSeq" << tUid << "\">\n";
156
157
158 writeStartElement("Seq");
159 writeCharacters(sequence);
160 writeEndElement();
161
162
163 if(!description.isEmpty())
164 {
165 writeCvParam("PSI-MS", "MS:1001088", "protein description", description);
166 }
167 // m_ofOut << "<cvParam accession=\"MS:1001088\" cvRef=\"PSI-MS\"
168 // "
169 // "value=\""
170 // << strDesc.c_str()
171 // << "\" name=\"protein description\"/>\n";
172
173 if(is_reverse)
174 {
175 // PSI-MS MS:1001195 decoy DB type reverse
176 writeCvParam("PSI-MS", "MS:1001195", "decoy DB type reverse", "");
177 }
178 writeEndElement();
179 // m_ofOut << "</DBSequence>\n";
180}

◆ writeStartMzIdentMlDocument()

void pappso::MzIdentMlWriter::writeStartMzIdentMlDocument ( const QString & id,
const QString & version )

Definition at line 42 of file mzidentmlwriter.cpp.

44{
45 setAutoFormatting(true);
46 writeStartDocument("1.0");
47 // <MzIdentML id="X! Tandem" version="1.1.0"
48 // xmlns="http://psidev.info/psi/pi/mzIdentML/1.1"
49 // xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
50 // xsi:schemaLocation="http://psidev.info/psi/pi/mzIdentML/1.1
51 // http://www.psidev.info/files/mzIdentML1.1.0.xsd"
52 // creationDate="2016:10:06:09:43:19" >
53
54
55 writeDefaultNamespace("http://psidev.info/psi/pi/mzIdentML/1.2");
56 writeStartElement("MzIdentML");
57 writeAttribute("id", id);
58 writeAttribute("version", version);
59 writeAttribute("creationDate",
60 QDateTime::currentDateTime().toString(Qt::ISODate));
61 writeNamespace("http://www.w3.org/2001/XMLSchema-instance", "xsi");
62 // mp_xmlWriter->writeNamespace("http://www.w3.org/2001/XMLSchema-instance","xsi");
63 // xsi:schemaLocation="http://psidev.info/psi/pi/mzIdentML/1.1
64 // http://www.psidev.info/files/mzIdentML1.1.0.xsd"
65 // xmlns:PSI-MS="http://psidev.info/psi/pi/mzIdentML/1.0"
66 writeAttribute(
67 "http://www.w3.org/2001/XMLSchema-instance",
68 "schemaLocation",
69 "http://psidev.info/psi/pi/mzIdentML/1.2 "
70 "https://raw.githubusercontent.com/HUPO-PSI/mzIdentML/master/schema/"
71 "mzIdentML1.2.0-candidate.xsd");
72}

◆ writeUserParam() [1/4]

void pappso::MzIdentMlWriter::writeUserParam ( const QString & name,
const QString & value )

Definition at line 310 of file mzidentmlwriter.cpp.

312{
313 writeStartElement("userParam");
314 writeAttribute("name", name);
315 writeAttribute("value", value);
316 writeEndElement();
317}

◆ writeUserParam() [2/4]

void pappso::MzIdentMlWriter::writeUserParam ( const QString & name,
double value )

Definition at line 347 of file mzidentmlwriter.cpp.

348{
349 writeUserParam(name, QString::number(value, 'g', 10));
350}
void writeUserParam(const QString &name, const QString &value)

◆ writeUserParam() [3/4]

void pappso::MzIdentMlWriter::writeUserParam ( pappso::DeepProtMatchType matchType)

Definition at line 321 of file mzidentmlwriter.cpp.

322{
323 writeUserParam("DeepProt:match_type",
325}
static const QString toString(DeepProtMatchType match_type)

References pappso::DeepProtEnumStr::toString().

◆ writeUserParam() [4/4]

void pappso::MzIdentMlWriter::writeUserParam ( pappso::DeepProtPeptideCandidateStatus status)

Definition at line 328 of file mzidentmlwriter.cpp.

330{
331 writeUserParam("DeepProt:status", pappso::DeepProtEnumStr::toString(status));
332}

References pappso::DeepProtEnumStr::toString().


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