From 3dc2d5385aad6d49792e7ea9a80222902c0b9038 Mon Sep 17 00:00:00 2001
From: Olivier Langella <Olivier.Langella@moulon.inra.fr>
Date: Fri, 7 Apr 2017 16:23:37 +0200
Subject: [PATCH] WIP : writing MassChroqML should be OK

---
 src/output/masschroqml.cpp | 75 ++++++++++++++++++++++++++++++++++++++
 src/output/masschroqml.h   |  3 ++
 2 files changed, 78 insertions(+)

diff --git a/src/output/masschroqml.cpp b/src/output/masschroqml.cpp
index 9ad538a66..b60f05983 100644
--- a/src/output/masschroqml.cpp
+++ b/src/output/masschroqml.cpp
@@ -133,8 +133,83 @@ void MassChroQml::write(ProjectSp sp_project) {
     writeIsotopeLabelList();
     writeAlignments();
     writeQuantificationMethods();
+    _output_stream->writeStartElement("quantification");
+    writeQuantificationResults();
+    writeQuantificationTraces();
+    writeQuantify();
+    _output_stream->writeEndElement();
+}
+
+
+
+void MassChroQml::writeQuantificationResults() {
+    //<quantification_results>
+    _output_stream->writeStartElement("quantification_results");
+    //<quantification_result output_file="result1"
+    //	format="tsv" />
+    _output_stream->writeStartElement("quantification_result");
+    _output_stream->writeAttribute("output_file","result1");
+    _output_stream->writeAttribute("format","tsv");
+    _output_stream->writeEndElement();
+    //<quantification_result output_file="result2"
+    //	format="ods" />
+    _output_stream->writeComment("<quantification_result output_file=\"result2\" format=\"ods\" />");
+    //<compar_result output_file="compar"
+    //	format="ods" />
+
+    _output_stream->writeStartElement("compar_result");
+    _output_stream->writeAttribute("output_file","result1");
+    _output_stream->writeAttribute("format","ods");
+    _output_stream->writeEndElement();
+    //</quantification_results>
+    _output_stream->writeEndElement();
 }
 
+void MassChroQml::writeQuantificationTraces() {
+    //<quantification_traces>
+
+    _output_stream->writeStartElement("quantification_traces");
+    //<peptide_traces peptide_ids="pep0 pep1" output_dir="pep_traces"
+    //	format="tsv" />
+    _output_stream->writeComment("<peptide_traces peptide_ids=\"pep0 pep1\" output_dir=\"pep_traces\" format=\"tsv\" />");
+    /*
+    		<all_xics_traces output_dir="all_xics_traces" format="tsv" />
+    		<mz_traces mz_values="634.635 449.754 552.234" output_dir="mz_traces"
+    			format="tsv" />
+    		<mzrt_traces output_dir="mzrt_traces" format="tsv">
+    			<mzrt_values>
+    				<mzrt_value mz="732.317" rt="230.712" />
+    				<mzrt_value mz="575.256" rt="254.788" />
+    			</mzrt_values>
+    		</mzrt_traces>*/
+    //</quantification_traces>
+
+    _output_stream->writeEndElement();
+}
+void MassChroQml::writeQuantify() {
+    //<quantify id="q1" withingroup="G1" quantification_method_id="my_qzivy">
+    _output_stream->writeStartElement("quantify");
+    _output_stream->writeAttribute("id","q1");
+    _output_stream->writeAttribute("withingroup","fractiona1");
+    _output_stream->writeAttribute("quantification_method_id","quant1");
+    //<peptides_in_peptide_list mode="real_or_mean" />
+    //</quantify>
+    //<quantify id="q2" withingroup="G2" quantification_method_id="my_moulon">
+    //<peptides_in_peptide_list mode="post_matching"
+    //	isotope_label_refs="iso1 iso2" />
+
+    _output_stream->writeStartElement("peptides_in_peptide_list");
+    _output_stream->writeAttribute("mode","post_matching");
+    _output_stream->writeAttribute("ni_min_abundance","0.8");
+    _output_stream->writeEndElement();
+
+    _output_stream->writeComment("<mz_list>732.317 449.754 552.234 464.251 381.577 569.771 575.256</mz_list>");
+    _output_stream->writeComment("<mzrt_list>\n				<mzrt mz=\"732.317\" rt=\"230.712\" />\n			<mzrt mz=\"575.256\" rt=\"254.788\" />\n			</mzrt_list>");
+
+    //</quantify>
+
+    _output_stream->writeEndElement();
+}
 
 void MassChroQml::writeQuantificationMethods() {
     //<quantification_methods>
diff --git a/src/output/masschroqml.h b/src/output/masschroqml.h
index 0e9757953..ff291ffc0 100644
--- a/src/output/masschroqml.h
+++ b/src/output/masschroqml.h
@@ -51,6 +51,9 @@ private:
     void writeIsotopeLabelList();
     void writeAlignments();
     void writeQuantificationMethods();
+    void writeQuantificationResults();
+    void writeQuantificationTraces();
+    void writeQuantify();
 private :
     QFile * _output_file;
     QXmlStreamWriter * _output_stream;
-- 
GitLab