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 {
215 throw pappso::PappsoException(
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(), pappso::OboPsiModTerm::m_name, and writeCvParam().

◆ 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(), pappso::AaModification::getName(), and writeCvParam().

Referenced by writeCvParam(), writeCvParam(), and writeDBSequence().

◆ 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}

Referenced by writeCvParamUo().

◆ 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, pappso::Enums::ppm, and writeCvParamUo().

◆ 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(), pappso::Protein::getSequence(), and writeDBSequence().

Referenced by writeDBSequence().

◆ 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}

References writeCvParam().

◆ 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}

Referenced by writeUserParam(), writeUserParam(), and writeUserParam().

◆ 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)

References writeUserParam().

◆ 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(), and writeUserParam().

◆ 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(), and writeUserParam().


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