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, Enums::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 341 of file mzidentmlwriter.cpp.

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

◆ toXmlMass()

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

Definition at line 323 of file mzidentmlwriter.cpp.

324{
325 return QString::number(mass, 'f', 10);
326}

◆ toXmlMassDelta()

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

Definition at line 329 of file mzidentmlwriter.cpp.

330{
331 return QString::number(mass, 'g', 10);
332}

◆ writeCvList()

void pappso::MzIdentMlWriter::writeCvList ( )

Definition at line 72 of file mzidentmlwriter.cpp.

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

◆ writeCvParam() [1/3]

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

Definition at line 194 of file mzidentmlwriter.cpp.

195{
196 if(term.getAccession().startsWith("MOD:"))
197 {
198 writeCvParam("PSI-MOD", term.getAccession(), term.m_name, value);
199 }
200 else
201 {
202 if(term.getAccession().startsWith("MS:"))
203 {
204 writeCvParam("PSI-MS", term.getAccession(), term.m_name, value);
205 }
206 else
207 {
208
209 if(term.getAccession().startsWith("UNIMOD:"))
210 {
211 writeCvParam("UNIMOD", term.getAccession(), term.m_name, value);
212 }
213 else
214 {
216 QObject::tr("The OBO term %1 %2 is not an OBO PSI-MOD or UNIMOD term in %3")
217 .arg(term.getAccession())
218 .arg(term.m_name)
219 .arg(__FUNCTION__));
220 }
221 }
222 }
223}
void writeCvParam(pappso::AaModificationP modification)
const QString & getAccession() const

References pappso::OboPsiModTerm::getAccession(), 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 177 of file mzidentmlwriter.cpp.

181{
182
183 //<cvParam accession="MS:1001083" cvRef="PSI-MS" name="ms-ms search"/>
184 writeStartElement("cvParam");
185 writeAttribute("accession", accession);
186 writeAttribute("cvRef", cv_ref);
187 writeAttribute("name", name);
188 if(!value.isEmpty())
189 writeAttribute("value", value);
190 writeEndElement();
191}

◆ 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 255 of file mzidentmlwriter.cpp.

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

◆ writeCvParamUo() [2/2]

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

Definition at line 277 of file mzidentmlwriter.cpp.

282{
283 switch(precision_unit)
284 {
286 writeCvParamUo(cv_ref, accession, name, value, "UO", "UO:0000221", "dalton");
287 break;
289 writeCvParamUo(cv_ref, accession, name, value, "UO", "UO:0000169", "parts per million");
290 break;
291 default:
292 throw pappso::PappsoException(QObject::tr("precision unit %1 not implemented in %2")
293 .arg((int)precision_unit)
294 .arg(__FUNCTION__));
295 break;
296 }
297}
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::Enums::dalton, and pappso::Enums::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 116 of file mzidentmlwriter.cpp.

120{
122 db_ref_id,
123 protein.getAccession(),
124 protein.getDescription(),
125 protein.getSequence(),
126 is_reverse);
127}
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 131 of file mzidentmlwriter.cpp.

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

◆ writeStartMzIdentMlDocument()

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

Definition at line 42 of file mzidentmlwriter.cpp.

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

◆ writeUserParam() [1/4]

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

Definition at line 301 of file mzidentmlwriter.cpp.

302{
303 writeStartElement("userParam");
304 writeAttribute("name", name);
305 writeAttribute("value", value);
306 writeEndElement();
307}

◆ writeUserParam() [2/4]

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

Definition at line 335 of file mzidentmlwriter.cpp.

336{
337 writeUserParam(name, QString::number(value, 'g', 10));
338}
void writeUserParam(const QString &name, const QString &value)

◆ writeUserParam() [3/4]

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

Definition at line 311 of file mzidentmlwriter.cpp.

312{
313 writeUserParam("DeepProt:match_type", pappso::DeepProtEnumStr::toString(matchType));
314}
static const QString toString(DeepProtMatchType match_type)

References pappso::DeepProtEnumStr::toString().

◆ writeUserParam() [4/4]

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

Definition at line 317 of file mzidentmlwriter.cpp.

318{
319 writeUserParam("DeepProt:status", pappso::DeepProtEnumStr::toString(status));
320}

References pappso::DeepProtEnumStr::toString().


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