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 45 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: