44 setAutoFormatting(
true);
45 writeStartDocument(
"1.0");
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");
64 writeAttribute(
"http://www.w3.org/2001/XMLSchema-instance",
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");
75 writeStartElement(
"cvList");
77 writeStartElement(
"cv");
78 writeAttribute(
"id",
"PSI-MS");
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");
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");
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");
117 const QString &db_ref_id,
132 const QString &db_ref_id,
133 const QString &accession,
134 const QString &description,
135 const QString &sequence,
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()));
151 writeStartElement(
"Seq");
152 writeCharacters(sequence);
156 if(!description.isEmpty())
158 writeCvParam(
"PSI-MS",
"MS:1001088",
"protein description", description);
169 writeCvParam(
"PSI-MS",
"MS:1001195",
"decoy DB type reverse",
"");
178 const QString &accession,
180 const QString &value)
184 writeStartElement(
"cvParam");
185 writeAttribute(
"accession", accession);
186 writeAttribute(
"cvRef", cv_ref);
187 writeAttribute(
"name", name);
189 writeAttribute(
"value", value);
216 QObject::tr(
"The OBO term %1 %2 is not an OBO PSI-MOD or UNIMOD term in %3")
231 QObject::tr(
"pappso::AaModificationP is null in %1").arg(__FUNCTION__));
242 QObject::tr(
"The modification %1 %2 is not an OBO PSI-MOD term in %3")
256 const QString &accession,
258 const QString &value,
259 const QString &unit_cv_ref,
260 const QString &unit_accession,
261 const QString &unit_name)
264 writeStartElement(
"cvParam");
265 writeAttribute(
"accession", accession);
266 writeAttribute(
"cvRef", cv_ref);
267 writeAttribute(
"name", name);
269 writeAttribute(
"value", value);
270 writeAttribute(
"unitAccession", unit_accession);
271 writeAttribute(
"unitName", unit_name);
272 writeAttribute(
"unitCvRef", unit_cv_ref);
278 const QString &accession,
280 const QString &value,
283 switch(precision_unit)
286 writeCvParamUo(cv_ref, accession, name, value,
"UO",
"UO:0000221",
"dalton");
289 writeCvParamUo(cv_ref, accession, name, value,
"UO",
"UO:0000169",
"parts per million");
293 .arg((
int)precision_unit)
303 writeStartElement(
"userParam");
304 writeAttribute(
"name", name);
305 writeAttribute(
"value", value);
325 return QString::number(mass,
'f', 10);
331 return QString::number(mass,
'g', 10);
343 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 & getAccession() const
const QString & getDescription() const
const QString & getSequence() const
const AaModification * AaModificationP
DeepProtMatchType
definition of different class of PSMs used by DeepProt
DeepProtPeptideCandidateStatus
definition of different status for potential peptide candidates on the same spectrum