71 if(keys().contains(
"psm_list"))
77 qualified_mass_spectrum.get()->getPrecursorMz(),
78 qualified_mass_spectrum.get()->getPrecursorCharge());
80 QCborArray new_psm_arr;
81 for(QCborValue cbor_psm : value(
"psm_list").toArray())
83 QCborMap cbor_psm_map = cbor_psm.toMap();
84 QCborMap cbor_psm_features;
89 std::size_t peptide_size = peptide_sp.get()->size();
90 cbor_psm_features.insert(QString(
"peptide_size"), (
unsigned int)peptide_size);
94 qualified_mass_spectrum.get()->getPrecursorCharge(),
98 cbor_psm_features.insert(QString(
"hyperscore"), QCborValue(hyperscore.
getHyperscore()));
103 qualified_mass_spectrum.get()->getMassSpectrumSPtr().get(),
104 qualified_mass_spectrum.get()->getPrecursorCharge(),
107 cbor_psm_features.insert(QString(
"total_intensity"),
110 cbor_psm_features.insert(QString(
"max_intensity"),
111 checkInf(std::log(qualified_mass_spectrum.get()
112 ->getMassSpectrumSPtr()
114 ->maxIntensityDataPoint()
118 cbor_psm_features.insert(
119 QString(
"MaxYionInt"),
123 cbor_psm_features.insert(
124 QString(
"MaxBionInt"),
128 cbor_psm_features.insert(
129 QString(
"SumYmatchInt"),
133 cbor_psm_features.insert(
134 QString(
"SumBmatchInt"),
138 cbor_psm_features.insert(
139 QString(
"FracYmatchInt"),
143 cbor_psm_features.insert(
144 QString(
"FracBmatchInt"),
149 cbor_psm_features.insert(
150 QString(
"SeqCoverYion"),
152 (
double)peptide_size);
154 cbor_psm_features.insert(
155 QString(
"SeqCoverBion"),
157 (
double)peptide_size);
161 cbor_psm_features.insert(
162 QString(
"ConsecutiveYion"),
165 cbor_psm_features.insert(
166 QString(
"ConsecutiveBion"),
170 cbor_psm_features.insert(QString(
"MassErrMean"),
m_psmFeatures.getMatchedMzDiffMean());
173 cbor_psm_features.insert(QString(
"MassErrSD"),
m_psmFeatures.getMatchedMzDiffSd());
176 cbor_psm_features.insert(QString(
"NumofAnnoPeaks"),
180 std::size_t num_of_pairs =
m_psmFeatures.countMatchedIonComplementPairs();
181 cbor_psm_features.insert(QString(
"NumofComplementPeaks"), (
unsigned int)num_of_pairs);
185 cbor_psm_features.insert(
186 QString(
"SumComplementPeaksInt"),
187 std::log(
m_psmFeatures.getTotalIntensityOfMatchedIonComplementPairs()));
190 cbor_psm_features.insert(
191 QString(
"FracComplementPeaksInt"),
192 m_psmFeatures.getTotalIntensityOfMatchedIonComplementPairs() /
195 cbor_psm_features.insert(
196 QString(
"SeqCoverComplementPeaks"),
197 (
double)
m_psmFeatures.getComplementPairsAaSequenceCoverage() /
198 (
double)peptide_size);
201 cbor_psm_features.insert(QString(
"lrSize"), (
unsigned int)lr.
getSize());
205 if(std::isnan(coeff_of_determination))
210 cbor_psm_features.insert(QString(
"lrCoeffDet"), coeff_of_determination);
214 QCborMap psm_eval = cbor_psm_map.value(
"eval").toMap();
215 psm_eval.remove(QString(
"features"));
216 psm_eval.insert(QString(
"features"), cbor_psm_features);
217 cbor_psm_map.remove(QString(
"eval"));
218 cbor_psm_map.insert(QString(
"eval"), psm_eval);
220 new_psm_arr.push_back(cbor_psm_map);
223 insert(QString(
"psm_list"), new_psm_arr);