56 if(!keys().contains(
"id"))
60 return value(
"id").toMap();
66 if(!keys().contains(
"precursor"))
70 return value(
"precursor").toMap();
76 if(!keys().contains(
"psm_list"))
80 return value(
"psm_list").toArray();
84std::vector<double>::iterator
86 const QString &eval_name,
87 const QString &eval_value_key,
88 std::vector<double>::iterator itbegin,
89 std::vector<double>::const_iterator itend)
91 std::vector<double>::iterator it = itbegin;
92 if(keys().contains(
"psm_list"))
96 QCborArray new_psm_arr;
97 for(QCborValue cbor_psm : value(
"psm_list").toArray())
99 QCborMap cbor_psm_map = cbor_psm.toMap();
101 if(!cbor_psm_map.keys().contains(
"proforma"))
104 QObject::tr(
"missing proforma in psm %1").arg(cbor_psm_map.keys().size()));
106 QCborMap cbor_psm_eval_newvalues;
112 QObject::tr(
"no more values to add in psm %1").arg(cbor_psm_map.keys().size()));
114 cbor_psm_eval_newvalues.insert(eval_value_key, *it);
118 QCborMap psm_eval = cbor_psm_map.value(
"eval").toMap();
119 psm_eval.remove(eval_name);
120 psm_eval.insert(eval_name, cbor_psm_eval_newvalues);
121 cbor_psm_map.remove(QString(
"eval"));
122 cbor_psm_map.insert(QString(
"eval"), psm_eval);
124 new_psm_arr.push_back(cbor_psm_map);
128 remove(QString(
"psm_list"));
129 insert(QString(
"psm_list"), new_psm_arr);
142 if(!contains(QString(
"precursor")))
146 const QCborMap cbor_precursor(value(
"precursor").toMap());
147 if(!contains(QString(
"ms2")))
151 const QCborMap cbor_ms2(value(
"ms2").toMap());
153 if(!contains(QString(
"id")))
157 const QCborMap cbor_id(value(
"id").toMap());
159 if(!cbor_id.keys().contains(
"index"))
163 if(!cbor_ms2.keys().contains(
"mz"))
167 if(!cbor_ms2.keys().contains(
"intensity"))
178 if(cbor_id.keys().contains(
"native_id"))
180 ms_id.
setNativeId(cbor_id.value(
"native_id").toString());
183 std::vector<DataPoint> data_point_vector;
185 for(
auto cbor_mz_value : cbor_ms2.value(
"mz").toArray())
187 data_point_vector.push_back(
188 {cbor_mz_value.toDouble(), cbor_ms2.value(
"intensity").toArray().at(i).toDouble()});
200 if(cbor_precursor.keys().contains(
"z"))
202 precursor_ion_data.
charge = cbor_precursor.value(
"z").toInteger();
204 if(cbor_precursor.keys().contains(
"mz"))
206 precursor_ion_data.
mz = cbor_precursor.value(
"mz").toDouble();
208 if(cbor_precursor.keys().contains(
"intensity"))
210 precursor_ion_data.
intensity = cbor_precursor.value(
"intensity").toDouble();
213 if(cbor_ms2.keys().contains(
"rt"))
215 qualified_mass_spectrum.
setRtInSeconds(cbor_ms2.value(
"rt").toDouble());
void setNativeId(const QString &native_id)
void setSpectrumIndex(std::size_t index)
Class to represent a mass spectrum.
MassSpectrumSPtr makeMassSpectrumSPtr() const
MS run identity MsRunId identifies an MS run with a unique ID (XmlId) and contains eventually informa...
void setSampleName(const QString &name)
set a sample name for this MsRunId
Class representing a fully specified mass spectrum.
void appendPrecursorIonData(const PrecursorIonData &precursor_ion_data)
void setMsLevel(uint ms_level)
Set the mass spectrum level.
QualifiedMassSpectrumSPtr makeQualifiedMassSpectrumSPtr() const
void setMassSpectrumSPtr(MassSpectrumSPtr massSpectrum)
Set the MassSpectrumSPtr.
void setRtInSeconds(pappso_double rt)
Set the retention time in seconds.
QCborMap getCborScanPrecursor() const
std::vector< double >::iterator addPsmEvalVectorDouble(const QString &eval_name, const QString &eval_value_key, std::vector< double >::iterator begin, std::vector< double >::const_iterator end)
add a new eval key and double values (from a vector) to each PSM
const PsmFileScanProcess & m_PsmFileScanProcess
QCborArray getCborPsmList() const
CborScanMapBase(const PsmFileScanProcess &psm_file_scan_process)
virtual ~CborScanMapBase()
QCborMap getCborScanId() const
pappso::QualifiedMassSpectrumSPtr getCurrentQualifiedMassSpectrumSPtr() const
Basic PSM file reader to process scan (parallelized scan processing)
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
std::shared_ptr< QualifiedMassSpectrum > QualifiedMassSpectrumSPtr
std::shared_ptr< const MsRunId > MsRunIdCstSPtr