76 const QString &sequence_in)
78 QString accession = description_in.split(
" ", Qt::SkipEmptyParts).at(0);
81 const PsmProtein &psm_protein = mp_self->m_psmProteinMap.getByAccession(accession);
82 psm_protein.
protein_sp.get()->setSequence(sequence_in);
83 psm_protein.
protein_sp.get()->setDescription(description_in);
90 accession = accession.prepend(m_decoyTag);
91 const PsmProtein &psm_protein = mp_self->m_psmProteinMap.getByAccession(accession);
92 psm_protein.
protein_sp.get()->setSequence(sequence_in);
93 psm_protein.
protein_sp.get()->setDescription(description_in);
113 QFileInfo tsv_file_info(getTsvFilePath(m_sageFileReader.getJsonDocument()));
114 bool fasta_pass =
true;
117 SageTsvHandler handler(mp_monitor, *
this, fasta_pass, m_psmProteinMap);
118 TsvReader tsv_reader(handler);
120 QFile tsv_file(tsv_file_info.absoluteFilePath());
121 tsv_reader.parse(tsv_file);
125 catch(OdsException &error_ods)
128 .arg(tsv_file_info.absoluteFilePath())
129 .arg(error_ods.qwhat()));
134 QFile fastaFile(getFastaFilePath(m_sageFileReader.getJsonDocument()));
137 reader.
parse(fastaFile);
140 mp_cborWriter->append(
"protein_map");
141 m_psmProteinMap.writeMap(*mp_cborWriter);
144 mp_cborWriter->append(
"sample_list");
145 mp_cborWriter->startArray();
149 SageTsvHandler handler(mp_monitor, *
this, fasta_pass, m_psmProteinMap);
150 TsvReader tsv_reader(handler);
152 QFile tsv_file(tsv_file_info.absoluteFilePath());
153 tsv_reader.parse(tsv_file);
156 catch(OdsException &error_ods)
159 .arg(tsv_file_info.absoluteFilePath())
160 .arg(error_ods.qwhat()));
163 mp_cborWriter->endArray();
170 QJsonObject sage_object = json_doc.object();
171 QJsonValue output_path = sage_object.value(
"output_paths");
172 if(output_path.isUndefined())
177 if(!output_path.isArray())
181 for(
auto element : output_path.toArray())
183 if(element.isString())
185 if(element.toString().endsWith(
".tsv"))
187 path = element.toString();
216 std::vector<SageReader::SageModification> list;
217 QJsonObject sage_object = m_sageFileReader.getJsonDocument().object();
218 QJsonValue database = sage_object.value(
"database");
219 if(database.isUndefined())
224 QJsonValue static_mods = database.toObject().value(
"static_mods");
225 if(static_mods.isUndefined())
229 for(QString residue_str : static_mods.toObject().keys())
232 modif.
residue = residue_str.at(0);
235 static_mods.toObject().value(residue_str).toDouble());
237 QString::number(static_mods.toObject().value(residue_str).toDouble(),
'f', 6);
250 list.push_back(modif);
258 std::vector<SageReader::SageModification> list;
259 QJsonObject sage_object = m_sageFileReader.getJsonDocument().object();
260 QJsonValue database = sage_object.value(
"database");
261 if(database.isUndefined())
266 QJsonValue var_mods = database.toObject().value(
"variable_mods");
267 if(var_mods.isUndefined())
271 for(QString residue_str : var_mods.toObject().keys())
274 modif.
residue = residue_str.at(0);
275 for(QJsonValue one_mass : var_mods.toObject().value(residue_str).toArray())
292 list.push_back(modif);