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();
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();