29#include "../../../pappsoexception.h"
43 delete mpa_temporaryDirectory;
52 mp_output->append(
"informations");
53 mp_output->writeCborMap(m_cborInformations);
54 m_isInformations =
true;
72 mp_output->append(
"parameter_map");
73 mp_output->writeCborMap(m_outputParameterMap);
76 if(!m_outputTargetFastaFiles.isEmpty())
78 mp_output->append(
"target_fasta_files");
79 mp_output->writeArray(m_outputTargetFastaFiles);
81 if(!m_outputDecoyFastaFiles.isEmpty())
83 mp_output->append(
"decoy_fasta_files");
84 mp_output->writeArray(m_outputDecoyFastaFiles);
87 mp_output->append(
"protein_map");
88 m_proteinMap.writeMap(*mp_output);
91 mp_output->append(
"sample_list");
92 mp_output->startArray();
93 for(
auto &tmp_sample : m_sampleStorageList)
95 QFile store_sample_file(tmp_sample.temporaryFile);
96 store_sample_file.open(QIODevice::ReadOnly);
98 if(tmp_reader.isTag() && tmp_reader.toTag() == QCborKnownTags::Signature)
100 QCborMap cbor_sample;
104 QObject::tr(
"ERROR writing sample %1").arg(tmp_sample.fileId));
106 mp_output->writeCborMap(cbor_sample);
107 store_sample_file.close();
109 mp_output->endArray();
119 for(
auto cbor_key : m_cborParameterMap.keys())
121 if(!m_outputParameterMap.contains(cbor_key))
123 m_outputParameterMap.insert(cbor_key, m_cborParameterMap.value(cbor_key));
132 m_outputDecoyFastaFiles = m_decoyFastaFiles;
133 m_outputTargetFastaFiles = m_targetFastaFiles;
139 QCborMap cbor_current_sample;
141 mpa_cborReader->readCborMap(cbor_current_sample);
144 sample_file.
fileId = cbor_current_sample.value(
"name").toString();
145 QString sample_name = sample_file.
fileId;
146 auto it = std::find_if(m_sampleStorageList.begin(),
147 m_sampleStorageList.end(),
149 if(sample.fileId == sample_name)
153 if(it != m_sampleStorageList.end())
156 QObject::tr(
"adding the same sample twice is forbidden %1").arg(sample_name));
159 mpa_temporaryDirectory->filePath(QString(
"file_%1").arg(m_sampleStorageList.size()));
160 m_sampleStorageList.push_back(sample_file);
163 store_sample_file.open(QIODevice::WriteOnly);
166 store_sample_file.close();
bool readCborMap(QCborMap &cbor_map)
void writeCborMap(const QCborMap &cbor_map)
void informationsReady(pappso::UiMonitorInterface &monitor) override
void readSample(pappso::UiMonitorInterface &monitor) override
pappso::cbor::CborStreamWriter * mp_output
PsmFileAppend(pappso::cbor::CborStreamWriter *p_output)
void fastaFilesReady(pappso::UiMonitorInterface &monitor) override
void parameterMapReady(pappso::UiMonitorInterface &monitor) override
QTemporaryDir * mpa_temporaryDirectory
append many PSM cbor file into a single one