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