From f0c59406001ea5a0f92036a5808b9dccce6cb36d Mon Sep 17 00:00:00 2001 From: Olivier Langella <Olivier.Langella@moulon.inra.fr> Date: Sun, 11 Jun 2017 22:34:49 +0200 Subject: [PATCH] WIP: mcqprm --- src/output/masschroqprm.cpp | 141 ++++++++++++++++++------------------ 1 file changed, 72 insertions(+), 69 deletions(-) diff --git a/src/output/masschroqprm.cpp b/src/output/masschroqprm.cpp index beecd71e..1bde93c9 100644 --- a/src/output/masschroqprm.cpp +++ b/src/output/masschroqprm.cpp @@ -72,76 +72,79 @@ void MassChroqPrm::write(ProjectSp sp_project) { //<masschroq> _output_stream->writeStartElement("masschroqprm"); + /* + * + <parameters> + <parentIonMassTolerance> + <daltonPrecision value="1.5"/> + </parentIonMassTolerance> + <fragmentIonMassTolerance> + <daltonPrecision value="0.02"/> + </fragmentIonMassTolerance> + </parameters> + */ + _output_stream->writeStartElement("parameters"); + _output_stream->writeStartElement("parentIonMassTolerance"); + _output_stream->writeComment("choose dalton or ppm mass precision to select parent ions based on the precursor mass of each MS/MS spectrum"); + _output_stream->writeStartElement("ppmPrecision"); + _output_stream->writeAttribute("value", "10"); + _output_stream->writeEndElement(); + _output_stream->writeEndElement(); + _output_stream->writeStartElement("fragmentIonMassTolerance"); + _output_stream->writeComment("choose dalton or ppm mass precision to MS/MS fragment ion observed mass with theoretical mass"); + _output_stream->writeStartElement("daltonPrecision"); + _output_stream->writeAttribute("value", "0.02"); + _output_stream->writeEndElement(); + _output_stream->writeEndElement(); + _output_stream->writeEndElement(); + + writePeptides(); } -void MassChroqPrm::writePeptides(Identification ident) { - /* - * - * - * <peptide seq="TCVADESHAGCEK" id="p1"> <psimod at="2" - * acc="MOD:00397"/> <psimod at="11" acc="MOD:00397"/> </peptide> - */ - try { - /* - * -<parameters> -<parentIonMassTolerance> - <daltonPrecision value="1.5"/> -</parentIonMassTolerance> -<fragmentIonMassTolerance> - <daltonPrecision value="0.02"/> -</fragmentIonMassTolerance> -</parameters> - */ - _output_stream->writeStartElement("parameters"); - _output_stream->writeStartElement("parentIonMassTolerance"); - _output_stream->writeComment("choose dalton or ppm mass precision to select parent ions based on the precursor mass of each MS/MS spectrum"); - _output_stream->writeStartElement("ppmPrecision"); - _output_stream->writeAttribute("value", "10"); - _output_stream->writeEndElement(); - _output_stream->writeEndElement(); - _output_stream->writeStartElement("fragmentIonMassTolerance"); - _output_stream->writeComment("choose dalton or ppm mass precision to MS/MS fragment ion observed mass with theoretical mass"); - _output_stream->writeStartElement("daltonPrecision"); - _output_stream->writeAttribute("value", "0.02"); - _output_stream->writeEndElement(); - _output_stream->writeEndElement(); - _output_stream->writeEndElement(); - - _output_stream->writeStartElement("peptideList"); - - for (Group group : ident.getGrouping().getGroupList()) { - PeptideMassSet pepMassSet = new PeptideMassSet(); - - logger.debug("pepMassSet size : " + pepMassSet.size()); - - logger.debug("pepMassSet numbering"); - pepMassSet.numberingGetPepMass2PeptideList(group); - - // iterated current pepid to write buffer peptide element - for (PeptideMass pepMass : pepMassSet) { - _output_stream->writeStartElement("peptide"); - _output_stream->writeAttribute("id", - Utils.getPappsoPeptideMassId(group, pepMass)); - Peptide bestPeptide = pepMass.getBestEvaluePeptide(); - _output_stream->writeAttribute("seq", bestPeptide.getSequence()); - - ArrayList<Modifs> arrModif = bestPeptide.get_Modifs(); - for (Modifs modif : arrModif) { - _output_stream->writeStartElement("psimod"); - _output_stream->writeAttribute("at", "" + modif.get_posi()); - - _output_stream->writeAttribute("acc", "" - + modif.getPsiMod().getAccession()); - _output_stream->writeEndElement(); - } - _output_stream->writeEndElement(); - } - - } - _output_stream->writeEndElement(); - } - catch (pappso::PappsoException &error) +void MassChroqPrm::writePeptides() { + /* + * + * + * <peptide seq="TCVADESHAGCEK" id="p1"> <psimod at="2" + * acc="MOD:00397"/> <psimod at="11" acc="MOD:00397"/> </peptide> + */ + try { + + _output_stream->writeStartElement("peptideList"); + + for (IdentificationGroup * p_ident_group : _sp_project.get()->getIdentificationGroupList()) { + for () { + PeptideMassSet pepMassSet = new PeptideMassSet(); + + logger.debug("pepMassSet size : " + pepMassSet.size()); + + logger.debug("pepMassSet numbering"); + pepMassSet.numberingGetPepMass2PeptideList(group); + + // iterated current pepid to write buffer peptide element + for (PeptideMass pepMass : pepMassSet) { + _output_stream->writeStartElement("peptide"); + _output_stream->writeAttribute("id", + Utils.getPappsoPeptideMassId(group, pepMass)); + Peptide bestPeptide = pepMass.getBestEvaluePeptide(); + _output_stream->writeAttribute("seq", bestPeptide.getSequence()); + + ArrayList<Modifs> arrModif = bestPeptide.get_Modifs(); + for (Modifs modif : arrModif) { + _output_stream->writeStartElement("psimod"); + _output_stream->writeAttribute("at", "" + modif.get_posi()); + + _output_stream->writeAttribute("acc", "" + + modif.getPsiMod().getAccession()); + _output_stream->writeEndElement(); + } + _output_stream->writeEndElement(); + } + + } + _output_stream->writeEndElement(); + } + catch (pappso::PappsoException &error) { throw pappso::PappsoException(QObject::tr("Error in MassChroqPrm::writePeptides :\n%1").arg(error.qwhat())); } @@ -149,6 +152,6 @@ void MassChroqPrm::writePeptides(Identification ident) { { throw pappso::PappsoException(QObject::tr("Error in MassChroqPrm::writePeptides stdex :\n%1").arg(error.what())); } - } +} } -- GitLab