From da90ec2ce2f2e4d5d2ab35df6dca150baf7efeaa Mon Sep 17 00:00:00 2001 From: Olivier Langella <olivier.langella@u-psud.fr> Date: Fri, 24 Nov 2017 23:43:26 +0100 Subject: [PATCH] identification data source params written in xpip file --- .../identificationdatasource.cpp | 9 ++++++++ .../identificationdatasource.h | 10 ++++++++ src/output/xpip.cpp | 23 +++++++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/src/core/identification_sources/identificationdatasource.cpp b/src/core/identification_sources/identificationdatasource.cpp index 7899da8e9..f3312f069 100644 --- a/src/core/identification_sources/identificationdatasource.cpp +++ b/src/core/identification_sources/identificationdatasource.cpp @@ -43,6 +43,15 @@ IdentificationDataSource::~IdentificationDataSource() { } + +const std::map<IdentificationEngineStatistics, QVariant> & IdentificationDataSource::getIdentificationEngineStatisticsMap() const { + return _param_stats; +} + +const std::map<IdentificationEngineParam, QVariant> & IdentificationDataSource::getIdentificationEngineParamMap() const { + return _params; +} + const PeptideEvidenceStore & IdentificationDataSource::getPeptideEvidenceStore() const { return _peptide_evidence_store; } diff --git a/src/core/identification_sources/identificationdatasource.h b/src/core/identification_sources/identificationdatasource.h index 01a8d2202..52bf3cf03 100644 --- a/src/core/identification_sources/identificationdatasource.h +++ b/src/core/identification_sources/identificationdatasource.h @@ -114,6 +114,16 @@ public: void addFastaFile (FastaFileSp file); const std::vector<FastaFileSp> & getFastaFileList() const; + + + /** \brief get identification engine statistics map + */ + virtual const std::map<IdentificationEngineStatistics, QVariant> & getIdentificationEngineStatisticsMap() const; + + /** \brief get identification engine param map + */ + virtual const std::map<IdentificationEngineParam, QVariant> & getIdentificationEngineParamMap() const; + protected : QString _resource_name; diff --git a/src/output/xpip.cpp b/src/output/xpip.cpp index ba1f7ce39..5b48a4b26 100644 --- a/src/output/xpip.cpp +++ b/src/output/xpip.cpp @@ -194,6 +194,29 @@ void Xpip::writeIdentificationDataSourceList(const IdentificationDataSourceStore _output_stream->writeAttribute("engine",QString("%1").arg(static_cast<std::int8_t>(ident_source_sp.get()->getIdentificationEngine()))); _output_stream->writeAttribute("version",ident_source_sp.get()->getIdentificationEngineVersion()); + const std::map<IdentificationEngineParam, QVariant> params = ident_source_sp.get()->getIdentificationEngineParamMap(); + if (params.size() > 0) { + _output_stream->writeStartElement("params"); + for (const std::pair<IdentificationEngineParam, QVariant> stat_pair: params) { + _output_stream->writeStartElement("param"); + _output_stream->writeAttribute("key",QString("%1").arg(static_cast<std::int8_t>(stat_pair.first))); + _output_stream->writeAttribute("value",stat_pair.second.toString()); + _output_stream->writeEndElement(); + } + _output_stream->writeEndElement(); + } + + const std::map<IdentificationEngineStatistics, QVariant> stats = ident_source_sp.get()->getIdentificationEngineStatisticsMap(); + if (stats.size() > 0) { + _output_stream->writeStartElement("stats"); + for (const std::pair<IdentificationEngineStatistics, QVariant> stat_pair: stats) { + _output_stream->writeStartElement("stat"); + _output_stream->writeAttribute("key",QString("%1").arg(static_cast<std::int8_t>(stat_pair.first))); + _output_stream->writeAttribute("value",stat_pair.second.toString()); + _output_stream->writeEndElement(); + } + _output_stream->writeEndElement(); + } _output_stream->writeEndElement(); } _output_stream->writeEndElement(); -- GitLab