31#include "../../pappsoexception.h"
43 const QString &version)
45 setAutoFormatting(
true);
46 writeStartDocument(
"1.0");
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");
67 "http://www.w3.org/2001/XMLSchema-instance",
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");
78 writeStartElement(
"cvList");
80 writeStartElement(
"cv");
81 writeAttribute(
"id",
"PSI-MS");
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");
94 writeStartElement(
"cv");
95 writeAttribute(
"id",
"PSI-MOD");
97 "uri",
"http://psidev.cvs.sourceforge.net/psidev/psi/mod/data/PSI-MOD.obo");
100 "Proteomics Standards Initiative Protein Modifications Vocabularies");
101 writeAttribute(
"version",
"1.2");
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");
124 const QString &db_ref_id,
139 const QString &db_ref_id,
140 const QString &accession,
141 const QString &description,
142 const QString &sequence,
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()));
158 writeStartElement(
"Seq");
159 writeCharacters(sequence);
163 if(!description.isEmpty())
165 writeCvParam(
"PSI-MS",
"MS:1001088",
"protein description", description);
176 writeCvParam(
"PSI-MS",
"MS:1001195",
"decoy DB type reverse",
"");
185 const QString &accession,
187 const QString &value)
191 writeStartElement(
"cvParam");
192 writeAttribute(
"accession", accession);
193 writeAttribute(
"cvRef", cv_ref);
194 writeAttribute(
"name", name);
196 writeAttribute(
"value", value);
202 const QString &value)
217 QObject::tr(
"The OBO term %1 %2 is not an OBO PSI-MOD term in %3")
231 QObject::tr(
"pappso::AaModificationP is null in %1").arg(__FUNCTION__));
243 "The modification %1 %2 is not an OBO PSI-MOD term in %3")
257 const QString &accession,
259 const QString &value,
260 const QString &unit_cv_ref,
261 const QString &unit_accession,
262 const QString &unit_name)
265 writeStartElement(
"cvParam");
266 writeAttribute(
"accession", accession);
267 writeAttribute(
"cvRef", cv_ref);
268 writeAttribute(
"name", name);
270 writeAttribute(
"value", value);
271 writeAttribute(
"unitAccession", unit_accession);
272 writeAttribute(
"unitName", unit_name);
273 writeAttribute(
"unitCvRef", unit_cv_ref);
279 const QString &accession,
281 const QString &value,
284 switch(precision_unit)
288 cv_ref, accession, name, value,
"UO",
"UO:0000221",
"dalton");
291 writeCvParamUo(cv_ref,
297 "parts per million");
301 QObject::tr(
"precision unit %1 not implemented in %2")
302 .arg((
int)precision_unit)
311 const QString &value)
313 writeStartElement(
"userParam");
314 writeAttribute(
"name", name);
315 writeAttribute(
"value", value);
323 writeUserParam(
"DeepProt:match_type",
337 return QString::number(mass,
'f', 10);
343 return QString::number(mass,
'g', 10);
349 writeUserParam(name, QString::number(value,
'g', 10));
355 return QString::number(value,
'g', 10);
const QString & getName() const
const QString & getAccession() const
static const QString toString(DeepProtMatchType match_type)
static const QString toXmlMassDelta(double mass)
static const QString toXmlDouble(double value)
void writeDBSequence(const QString &id, const QString &db_ref_id, const pappso::Protein &protein, bool is_reverse)
void writeStartMzIdentMlDocument(const QString &id, const QString &version)
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 writeCvParam(pappso::AaModificationP modification)
static const QString toXmlMass(double mass)
void writeUserParam(const QString &name, const QString &value)
const QString & getAccession() const
const QString & getDescription() const
const QString & getSequence() const
DeepProtMatchType
definition of different class of PSMs used by DeepProt
DeepProtPeptideCandidateStatus
definition of different status for potential peptide candidates on the same spectrum