49{
50
51 if(!keys().contains("id"))
52 {
54 }
55 if(keys().contains("psm_list"))
56 {
58
59
61 *(qualified_mass_spectrum.get()->getMassSpectrumSPtr().get()));
62
63 QCborArray new_psm_arr;
64 for(QCborValue cbor_psm : value("psm_list").toArray())
65 {
66 QCborMap cbor_psm_map = cbor_psm.toMap();
67
68 if(!cbor_psm_map.keys().contains("proforma"))
69 {
71 QObject::tr("missing proforma in psm %1").arg(cbor_psm_map.keys().size()));
72 }
73 QCborMap cbor_psm_eval_specglob;
76
78 std::make_shared<pappso::specglob::PeptideSpectrum>(peptide_sp);
79
80
82 std::make_shared<pappso::specglob::ExperimentalSpectrum>(*qualified_mass_spectrum.get(),
86
87 spectral_alignment.align(peptide_spectra, experimental_spectrum);
88
89
90 cbor_psm_eval_specglob.insert(QString("max_score"), spectral_alignment.getMaxScore());
91
92
93 if(spectral_alignment.getMaxScore() > 0)
94 {
96
97
98
99
100
103 post_treatment.findReplaceMutations();
104 peptide_model = post_treatment.getBetterPeptideModel();
105
106 cbor_psm_eval_specglob.insert(QString("count"),
108
109 cbor_psm_eval_specglob.insert(QString(
"proforma"), peptide_model.
toProForma());
110 cbor_psm_eval_specglob.insert(QString(
"bracket"), peptide_model.
toString());
111
112
113 }
114
115
116 QCborMap psm_eval = cbor_psm_map.value("eval").toMap();
117 psm_eval.remove(QString("specglob"));
118 psm_eval.insert(QString("specglob"), cbor_psm_eval_specglob);
119 cbor_psm_map.remove(QString("eval"));
120 cbor_psm_map.insert(QString("eval"), psm_eval);
121
122 new_psm_arr.push_back(cbor_psm_map);
123 }
124
125
126 remove(QString("psm_list"));
127 insert(QString("psm_list"), new_psm_arr);
128 }
129}
pappso::QualifiedMassSpectrumSPtr getCurrentQualifiedMassSpectrumSPtr() const
void filterMassSpectrum(pappso::MassSpectrum &mass_spectrum) const
std::size_t getCountSharedPeaks() const
QString toProForma() const
get the peptide model in ProForma notation https://github.com/HUPO-PSI/ProForma/blob/master/README....
std::shared_ptr< const PeptideSpectrum > PeptideSpectraCsp
std::shared_ptr< const ExperimentalSpectrum > ExperimentalSpectrumCsp
std::shared_ptr< QualifiedMassSpectrum > QualifiedMassSpectrumSPtr
std::shared_ptr< const Peptide > PeptideSp