libpappsomspp
Library for mass spectrometry
pappso::cbor::psm::PsmFileReaderBase Class Reference

#include <psmfilereaderbase.h>

Inheritance diagram for pappso::cbor::psm::PsmFileReaderBase:
pappso::cbor::CborStreamReaderInterface pappso::cbor::psm::PsmCbor2Json pappso::cbor::psm::PsmFileAppend pappso::cbor::psm::PsmFileScanProcess pappso::cbor::psm::PsmFileScanProcessAndCopy pappso::cbor::psm::PsmFeatures pappso::cbor::psm::PsmNewEval pappso::cbor::psm::PsmSpecGlob pappso::cbor::psm::PsmSpecPeptidOms

Classes

struct  PsmProteinRef
 

Public Member Functions

 PsmFileReaderBase ()
 
virtual ~PsmFileReaderBase ()
 
void readCbor (QFile *cborp, pappso::UiMonitorInterface &monitor)
 
virtual void close ()
 
- Public Member Functions inherited from pappso::cbor::CborStreamReaderInterface
 CborStreamReaderInterface ()
 
virtual ~CborStreamReaderInterface ()
 

Protected Member Functions

void readRoot (pappso::UiMonitorInterface &monitor)
 
virtual void readInformations (pappso::UiMonitorInterface &monitor)
 
virtual void readLog (pappso::UiMonitorInterface &monitor)
 
virtual void readParameterMap (pappso::UiMonitorInterface &monitor)
 
virtual void readProteinMap (pappso::UiMonitorInterface &monitor)
 
virtual void readSample (pappso::UiMonitorInterface &monitor)
 
virtual void readScan (pappso::UiMonitorInterface &monitor)
 
virtual void readPsm (pappso::UiMonitorInterface &monitor)
 
virtual void psmReady (pappso::UiMonitorInterface &monitor)
 
virtual void logReady (pappso::UiMonitorInterface &monitor)
 
virtual void informationsReady (pappso::UiMonitorInterface &monitor)
 
virtual void parameterMapReady (pappso::UiMonitorInterface &monitor)
 
virtual void fastaFilesReady (pappso::UiMonitorInterface &monitor)
 
virtual void proteinMapReady (pappso::UiMonitorInterface &monitor)
 
virtual void sampleListStarted (pappso::UiMonitorInterface &monitor)
 
virtual void sampleStarted (pappso::UiMonitorInterface &monitor)
 
virtual void scanStarted (pappso::UiMonitorInterface &monitor)
 
virtual void scanFinished (pappso::UiMonitorInterface &monitor)
 
virtual void sampleFinished (pappso::UiMonitorInterface &monitor)
 
virtual void sampleListFinished (pappso::UiMonitorInterface &monitor)
 
PsmFile readPsmFile (bool &is_ok)
 
void writePsmFile (CborStreamWriter &writer, const PsmFile &psm_file)
 
void writePsmFileList (CborStreamWriter &writer, const std::vector< PsmFile > &file_list)
 
PsmProteinRef readPsmProteinRef (bool &is_ok)
 
pappso::PeptideSp getCurrentPsmPeptideSp () const
 
pappso::QualifiedMassSpectrumSPtr getCurrentQualifiedMassSpectrumSPtr () const
 
bool currentProteinRefListContainsDecoy () const
 
bool currentProteinRefListContainsTarget () const
 
double getPrecursorMass (double mz_prec, uint charge) const
 convenient function do compute precusor ion mass More...
 
- Protected Member Functions inherited from pappso::cbor::CborStreamReaderInterface
bool getExpectedString ()
 
void initCborReader (QFile *pcborfile)
 

Protected Attributes

QStringList m_targetFastaFiles
 
QStringList m_decoyFastaFiles
 
PsmProteinMap m_proteinMap
 
QString m_currentSampleName
 
PsmFile m_currentPeaklistFile
 
std::vector< PsmFilem_currentIdentificationFileList
 
QCborMap m_cborInformations
 
QCborArray m_cborLog
 
QCborMap m_cborParameterMap
 
QCborMap m_cborScanId
 
QCborMap m_cborScanPrecursor
 
QCborMap m_cborScanMs2
 
QCborMap m_cborScanPsmEval
 
QString m_currentPsmProforma
 
std::vector< PsmProteinRefm_currentPsmProteinRefList
 
- Protected Attributes inherited from pappso::cbor::CborStreamReaderInterface
CborStreamReadermpa_cborReader = nullptr
 
QString m_expectedString
 
QByteArray m_data
 

Detailed Description

Todo:
write docs

Definition at line 48 of file psmfilereaderbase.h.

Constructor & Destructor Documentation

◆ PsmFileReaderBase()

pappso::cbor::psm::PsmFileReaderBase::PsmFileReaderBase ( )

Default constructor

Definition at line 34 of file psmfilereaderbase.cpp.

35{
36}

◆ ~PsmFileReaderBase()

pappso::cbor::psm::PsmFileReaderBase::~PsmFileReaderBase ( )
virtual

Destructor

Definition at line 38 of file psmfilereaderbase.cpp.

39{
40 if(mpa_cborReader != nullptr)
41 delete mpa_cborReader;
42}

Member Function Documentation

◆ close()

void pappso::cbor::psm::PsmFileReaderBase::close ( )
virtual

◆ currentProteinRefListContainsDecoy()

bool pappso::cbor::psm::PsmFileReaderBase::currentProteinRefListContainsDecoy ( ) const
protected

Definition at line 64 of file psmfilereaderbase.cpp.

65{
66 for(auto &it : m_currentPsmProteinRefList)
67 {
68 if(!m_proteinMap.getByAccession(it.accession).isTarget)
69 return true;
70 }
71 return false;
72}
std::vector< PsmProteinRef > m_currentPsmProteinRefList
const pappso::cbor::psm::PsmProtein & getByAccession(const QString &accession) const

◆ currentProteinRefListContainsTarget()

bool pappso::cbor::psm::PsmFileReaderBase::currentProteinRefListContainsTarget ( ) const
protected

Definition at line 75 of file psmfilereaderbase.cpp.

76{
77 for(auto &it : m_currentPsmProteinRefList)
78 {
79 if(m_proteinMap.getByAccession(it.accession).isTarget)
80 return true;
81 }
82 return false;
83}

◆ fastaFilesReady()

void pappso::cbor::psm::PsmFileReaderBase::fastaFilesReady ( pappso::UiMonitorInterface monitor)
protectedvirtual

◆ getCurrentPsmPeptideSp()

pappso::PeptideSp pappso::cbor::psm::PsmFileReaderBase::getCurrentPsmPeptideSp ( ) const
protected

Definition at line 594 of file psmfilereaderbase.cpp.

595{
596 pappso::PeptideSp peptide_sp;
597 if(m_currentPsmProforma.isEmpty())
598 {
599 throw pappso::PappsoException(QObject::tr("ERROR: m_currentPsmProforma is empty"));
600 }
601 else
602 {
604 }
605 return peptide_sp;
606}
static PeptideSp parseString(const QString &pepstr)
std::shared_ptr< const Peptide > PeptideSp

References pappso::PeptideProFormaParser::parseString().

◆ getCurrentQualifiedMassSpectrumSPtr()

pappso::QualifiedMassSpectrumSPtr pappso::cbor::psm::PsmFileReaderBase::getCurrentQualifiedMassSpectrumSPtr ( ) const
protected

Definition at line 609 of file psmfilereaderbase.cpp.

610{
611 if(m_currentPeaklistFile.name.isEmpty())
612 {
613 throw pappso::PappsoException(QObject::tr("ERROR: m_currentPeaklistFile is empty"));
614 }
615 if(m_cborScanId.isEmpty())
616 {
617 throw pappso::PappsoException(QObject::tr("ERROR: m_cborScanId is empty"));
618 }
619 if(m_cborScanPrecursor.isEmpty())
620 {
621 throw pappso::PappsoException(QObject::tr("ERROR: m_cborScanPrecursor is empty"));
622 }
623 if(m_cborScanMs2.isEmpty())
624 {
625 throw pappso::PappsoException(QObject::tr("ERROR: m_cborScanMs2 is empty"));
626 }
627
628 if(!m_cborScanId.keys().contains("index"))
629 {
630 throw pappso::PappsoException("There is no scan index");
631 }
632 if(!m_cborScanMs2.keys().contains("mz"))
633 {
634 throw pappso::PappsoException("There is no ms2 mz values");
635 }
636 if(!m_cborScanMs2.keys().contains("intensity"))
637 {
638 throw pappso::PappsoException("There is no ms2 intensity values");
639 }
641 msrun_id.setSampleName(m_currentSampleName);
642 pappso::MsRunIdCstSPtr msrun_id_sp = std::make_shared<const pappso::MsRunId>(msrun_id);
643 pappso::MassSpectrumId ms_id(msrun_id_sp);
644 ms_id.setSpectrumIndex(m_cborScanId.value("index").toInteger());
645
646 // native_id
647 if(m_cborScanId.keys().contains("native_id"))
648 {
649 ms_id.setNativeId(m_cborScanId.value("native_id").toString());
650 }
651
652 std::vector<DataPoint> data_point_vector;
653 std::size_t i = 0;
654 for(auto cbor_mz_value : m_cborScanMs2.value("mz").toArray())
655 {
656 data_point_vector.push_back(
657 {cbor_mz_value.toDouble(), m_cborScanMs2.value("intensity").toArray().at(i).toDouble()});
658 i++;
659 }
660
661
662 MassSpectrum mass_spectrum(data_point_vector);
663 pappso::PrecursorIonData precursor_ion_data;
664
665 pappso::QualifiedMassSpectrum qualified_mass_spectrum(ms_id);
666 qualified_mass_spectrum.setMassSpectrumSPtr(mass_spectrum.makeMassSpectrumSPtr());
667 qualified_mass_spectrum.setMsLevel(2);
668
669 if(m_cborScanPrecursor.keys().contains("z"))
670 {
671 precursor_ion_data.charge = m_cborScanPrecursor.value("z").toInteger();
672 }
673 if(m_cborScanPrecursor.keys().contains("mz"))
674 {
675 precursor_ion_data.mz = m_cborScanPrecursor.value("mz").toDouble();
676 }
677 if(m_cborScanPrecursor.keys().contains("intensity"))
678 {
679 precursor_ion_data.intensity = m_cborScanPrecursor.value("intensity").toDouble();
680 }
681 qualified_mass_spectrum.appendPrecursorIonData(precursor_ion_data);
682 if(m_cborScanMs2.keys().contains("rt"))
683 {
684 qualified_mass_spectrum.setRtInSeconds(m_cborScanMs2.value("rt").toDouble());
685 }
686
687
688 return qualified_mass_spectrum.makeQualifiedMassSpectrumSPtr();
689}
MS run identity MsRunId identifies an MS run with a unique ID (XmlId) and contains eventually informa...
Definition: msrunid.h:54
Class representing a fully specified mass spectrum.
std::shared_ptr< const MsRunId > MsRunIdCstSPtr
Definition: msrunid.h:46

References pappso::QualifiedMassSpectrum::appendPrecursorIonData(), pappso::PrecursorIonData::charge, pappso::PrecursorIonData::intensity, pappso::MassSpectrum::makeMassSpectrumSPtr(), pappso::QualifiedMassSpectrum::makeQualifiedMassSpectrumSPtr(), pappso::PrecursorIonData::mz, pappso::QualifiedMassSpectrum::setMassSpectrumSPtr(), pappso::QualifiedMassSpectrum::setMsLevel(), pappso::MassSpectrumId::setNativeId(), pappso::QualifiedMassSpectrum::setRtInSeconds(), pappso::MsRunId::setSampleName(), and pappso::MassSpectrumId::setSpectrumIndex().

◆ getPrecursorMass()

double pappso::cbor::psm::PsmFileReaderBase::getPrecursorMass ( double  mz_prec,
uint  charge 
) const
protected

convenient function do compute precusor ion mass

Definition at line 705 of file psmfilereaderbase.cpp.

706{
707 // compute precursor mass given the charge state
708 mz_prec = mz_prec * (double)charge;
709 mz_prec -= (MHPLUS * (double)charge);
710 return mz_prec;
711}
const pappso_double MHPLUS(1.007276466879)

References pappso::MHPLUS().

◆ informationsReady()

void pappso::cbor::psm::PsmFileReaderBase::informationsReady ( pappso::UiMonitorInterface monitor)
protectedvirtual

◆ logReady()

void pappso::cbor::psm::PsmFileReaderBase::logReady ( pappso::UiMonitorInterface monitor)
protectedvirtual

Reimplemented in pappso::cbor::psm::PsmCbor2Json, and pappso::cbor::psm::PsmFileScanProcessAndCopy.

Definition at line 558 of file psmfilereaderbase.cpp.

559{
560}

◆ parameterMapReady()

◆ proteinMapReady()

void pappso::cbor::psm::PsmFileReaderBase::proteinMapReady ( pappso::UiMonitorInterface monitor)
protectedvirtual

Reimplemented in pappso::cbor::psm::PsmFileScanProcessAndCopy.

Definition at line 569 of file psmfilereaderbase.cpp.

570{
571}

◆ psmReady()

void pappso::cbor::psm::PsmFileReaderBase::psmReady ( pappso::UiMonitorInterface monitor)
protectedvirtual

Definition at line 542 of file psmfilereaderbase.cpp.

543{
544 // PSM is ready, do what you want :)
545}

◆ readCbor()

void pappso::cbor::psm::PsmFileReaderBase::readCbor ( QFile *  cborp,
pappso::UiMonitorInterface monitor 
)

Definition at line 45 of file psmfilereaderbase.cpp.

46{
47 qDebug();
48 initCborReader(cborp);
49
50 qDebug();
51 if(mpa_cborReader->isMap())
52 {
53 readRoot(monitor);
54 }
55 qDebug();
56}
void readRoot(pappso::UiMonitorInterface &monitor)

◆ readInformations()

void pappso::cbor::psm::PsmFileReaderBase::readInformations ( pappso::UiMonitorInterface monitor)
protectedvirtual

Definition at line 168 of file psmfilereaderbase.cpp.

170{
171 bool is_ok;
172 // m_cborInformations.clear();
174
175 if(!is_ok)
176 {
177 throw pappso::PappsoException("ERROR: PSM cbor header informations not well formed");
178 }
179 qDebug() << m_cborInformations.keys();
180 if(m_cborInformations.value("type").toString() != "psm")
181 {
182 QStringList all_keys;
183 for(auto it_k : m_cborInformations.keys())
184 {
185 all_keys << it_k.toString();
186 }
188 QObject::tr("ERROR: this file does not contain PSM data but %1 and %2")
189 .arg(m_cborInformations.value("type").toString())
190 .arg(all_keys.join(" ")));
191 }
192 informationsReady(monitor);
193}
bool readCborMap(QCborMap &cbor_map)
virtual void informationsReady(pappso::UiMonitorInterface &monitor)

◆ readLog()

void pappso::cbor::psm::PsmFileReaderBase::readLog ( pappso::UiMonitorInterface monitor)
protectedvirtual

Definition at line 196 of file psmfilereaderbase.cpp.

197{
198 bool is_ok;
199 // m_cborInformations.clear();
201
202 if(!is_ok)
203 {
204 throw pappso::PappsoException("ERROR: PSM cbor header log not well formed");
205 }
206}
bool readCborArray(QCborArray &cbor_array)

◆ readParameterMap()

void pappso::cbor::psm::PsmFileReaderBase::readParameterMap ( pappso::UiMonitorInterface monitor)
protectedvirtual

Definition at line 210 of file psmfilereaderbase.cpp.

212{
213 bool is_ok;
214 m_cborParameterMap.clear();
216
217 if(!is_ok)
218 {
219 throw pappso::PappsoException("ERROR: PSM cbor parameter_map not well formed");
220 }
221 parameterMapReady(monitor);
222}
virtual void parameterMapReady(pappso::UiMonitorInterface &monitor)

◆ readProteinMap()

void pappso::cbor::psm::PsmFileReaderBase::readProteinMap ( pappso::UiMonitorInterface monitor)
protectedvirtual

Reimplemented in pappso::cbor::psm::PsmCbor2Json.

Definition at line 225 of file psmfilereaderbase.cpp.

226{
228 proteinMapReady(monitor);
229}
virtual void proteinMapReady(pappso::UiMonitorInterface &monitor)
void readMap(CborStreamReader &reader)

◆ readPsm()

void pappso::cbor::psm::PsmFileReaderBase::readPsm ( pappso::UiMonitorInterface monitor)
protectedvirtual

Reimplemented in pappso::cbor::psm::PsmCbor2Json.

Definition at line 471 of file psmfilereaderbase.cpp.

472{
473 bool is_ok;
474 mpa_cborReader->enterContainer();
476 // "proforma": "AQEEM[+15.99491]AQVAK",
477 if(m_expectedString == "proforma")
478 {
480 {
481 throw pappso::PappsoException("ERROR: proforma element in psm-scan is not a string");
482 }
483 }
484 else
485 {
486 throw pappso::PappsoException("ERROR: expecting proforma element in psm-scan");
487 }
488 //"protein_list" : [
489 //{
490 //"accession": "GRMZM2G083841_P01",
491 //"position": [15,236]
492 //}
493 //],
494
497 qDebug() << m_expectedString;
498 if(m_expectedString == "protein_list")
499 {
500 mpa_cborReader->enterContainer();
501 while(!mpa_cborReader->lastError() && mpa_cborReader->hasNext())
502 {
504 if(!is_ok)
505 {
507 QObject::tr("ERROR: reading protein_list element in psm-scan"));
508 }
509 }
510 mpa_cborReader->leaveContainer();
511 }
512 else
513 {
514 throw pappso::PappsoException("ERROR: expecting protein_list element in psm-scan");
515 }
516 //"eval": {
517 qDebug();
518 m_cborScanPsmEval.clear();
519 if(!getExpectedString())
520 {
522 QObject::tr("ERROR: expecting eval element in psm-scan %1").arg(m_currentPsmProforma));
523 }
524 if(m_expectedString == "eval")
525 {
527 if(!is_ok)
528 {
529 throw pappso::PappsoException("ERROR: eval element in psm-scan is not well formed");
530 }
531 }
532
533 qDebug() << m_expectedString;
534
535
536 mpa_cborReader->leaveContainer();
537 qDebug();
538 psmReady(monitor);
539}
bool decodeString(QString &the_str)
decode the current cbor value as a string the point to the next value the current value is decoded as...
PsmProteinRef readPsmProteinRef(bool &is_ok)
virtual void psmReady(pappso::UiMonitorInterface &monitor)

◆ readPsmFile()

pappso::cbor::psm::PsmFile pappso::cbor::psm::PsmFileReaderBase::readPsmFile ( bool &  is_ok)
protected

Definition at line 270 of file psmfilereaderbase.cpp.

271{
272 PsmFile file;
273 mpa_cborReader->enterContainer();
275 if(m_expectedString == "name")
276 {
277 if(!mpa_cborReader->decodeString(file.name))
278 {
279 throw pappso::PappsoException("file name is not a string");
280 }
281 }
282 else
283 {
284 throw pappso::PappsoException("ERROR: expecting name element in file");
285 }
286 mpa_cborReader->leaveContainer();
287 return file;
288}

References pappso::cbor::psm::PsmFile::name.

◆ readPsmProteinRef()

pappso::cbor::psm::PsmFileReaderBase::PsmProteinRef pappso::cbor::psm::PsmFileReaderBase::readPsmProteinRef ( bool &  is_ok)
protected

Definition at line 233 of file psmfilereaderbase.cpp.

234{
235 PsmProteinRef protein_ref;
236 protein_ref.accession = "";
237 protein_ref.positions.clear();
238 mpa_cborReader->enterContainer();
240 qDebug() << m_expectedString;
241 if(m_expectedString == "accession")
242 {
243 is_ok = mpa_cborReader->decodeString(protein_ref.accession);
244 if(!is_ok)
245 {
246 throw pappso::PappsoException("ERROR: protein accession is not a string");
247 }
248 }
249 else
250 {
251 throw pappso::PappsoException("ERROR: expecting accession element in PSM protein_list");
252 }
253
255 qDebug() << m_expectedString;
256 if(m_expectedString == "positions")
257 {
258 mpa_cborReader->readArray(protein_ref.positions);
259
260 // mpa_cborReader->next();
261 }
262 mpa_cborReader->leaveContainer();
263
264 qDebug() << "end";
265 return protein_ref;
266}
bool readArray(std::vector< std::size_t > &int_list)

References pappso::cbor::psm::PsmFileReaderBase::PsmProteinRef::accession, and pappso::cbor::psm::PsmFileReaderBase::PsmProteinRef::positions.

◆ readRoot()

void pappso::cbor::psm::PsmFileReaderBase::readRoot ( pappso::UiMonitorInterface monitor)
protected

Definition at line 87 of file psmfilereaderbase.cpp.

88{
89 qDebug();
90 mpa_cborReader->enterContainer();
91
93 if(m_expectedString == "informations")
94 {
95 readInformations(monitor);
97
98 if(m_expectedString == "log")
99 {
100 readLog(monitor);
102 }
103
104 logReady(monitor);
105 }
106 else
107 {
108 throw pappso::PappsoException("ERROR: expecting informations element");
109 }
110
111
112 if(m_expectedString == "parameter_map")
113 {
114 readParameterMap(monitor);
115 }
116 else
117 {
118 throw pappso::PappsoException("ERROR: expecting parameter_map element");
119 }
120
121
123 m_targetFastaFiles.clear();
124 m_decoyFastaFiles.clear();
125 if(m_expectedString == "target_fasta_files")
126 {
129 }
130
131 if(m_expectedString == "decoy_fasta_files")
132 {
135 }
136 fastaFilesReady(monitor);
137
138 if(m_expectedString == "protein_map")
139 {
140 readProteinMap(monitor);
142 }
143
144 if(m_expectedString == "sample_list")
145 {
146 sampleListStarted(monitor);
147 mpa_cborReader->enterContainer(); // array
148 while(!mpa_cborReader->lastError() && mpa_cborReader->hasNext())
149 {
150 readSample(monitor);
151 }
152 mpa_cborReader->leaveContainer(); // array
153 sampleListFinished(monitor);
154 }
155 else
156 {
158 QObject::tr("ERROR: expecting sample_list element not %1").arg(m_expectedString));
159 }
160 mpa_cborReader->leaveContainer(); // whole file
161 if(!mpa_cborReader->lastError() && mpa_cborReader->hasNext())
162 {
163 readRoot(monitor);
164 }
165}
virtual void sampleListStarted(pappso::UiMonitorInterface &monitor)
virtual void logReady(pappso::UiMonitorInterface &monitor)
virtual void readLog(pappso::UiMonitorInterface &monitor)
virtual void readParameterMap(pappso::UiMonitorInterface &monitor)
virtual void readInformations(pappso::UiMonitorInterface &monitor)
virtual void sampleListFinished(pappso::UiMonitorInterface &monitor)
virtual void fastaFilesReady(pappso::UiMonitorInterface &monitor)
virtual void readProteinMap(pappso::UiMonitorInterface &monitor)
virtual void readSample(pappso::UiMonitorInterface &monitor)

◆ readSample()

void pappso::cbor::psm::PsmFileReaderBase::readSample ( pappso::UiMonitorInterface monitor)
protectedvirtual

Reimplemented in pappso::cbor::psm::PsmCbor2Json, and pappso::cbor::psm::PsmFileAppend.

Definition at line 315 of file psmfilereaderbase.cpp.

316{
317 //"name": "tandem2017_nopatch_20120906_balliau_extract_1_A01_urnb-1",
318 qDebug();
319 mpa_cborReader->enterContainer();
321
322 qDebug() << m_expectedString;
323 if(m_expectedString == "name")
324 {
326 {
327 throw pappso::PappsoException("sample name is not a string");
328 }
329 }
330 else
331 {
332 throw pappso::PappsoException("ERROR: expecting name element in file");
333 }
334 //"identification_file_list": [{ "name":
335 //"/home/langella/data1/tandem/tandem2017_nopatch_20120906_balliau_extract_1_A01_urnb-1.xml",
336 //}],
337
339
340 qDebug() << m_expectedString;
342 if(m_expectedString == "identification_file_list")
343 {
344 bool is_ok;
345 mpa_cborReader->enterContainer();
346
347 while(!mpa_cborReader->lastError() && mpa_cborReader->hasNext())
348 {
350 }
351 mpa_cborReader->leaveContainer();
352
354 }
355 //"peaklist_file": {"name": "tandem2017_nopatch_20120906_balliau_extract_1_A01_urnb-1.mzml"
356 //},
357
358 if(m_expectedString == "peaklist_file")
359 {
360 bool is_ok;
362 }
363 else
364 {
365 throw pappso::PappsoException("ERROR: expecting peaklist_file element in sample");
366 }
367 //"scan_list": [
368 sampleStarted(monitor);
370 if(m_expectedString == "scan_list")
371 {
372 mpa_cborReader->enterContainer();
373
374 while(!mpa_cborReader->lastError() && mpa_cborReader->hasNext())
375 {
376 readScan(monitor);
377 }
378 mpa_cborReader->leaveContainer();
379 }
380 else
381 {
382 throw pappso::PappsoException("ERROR: expecting scan_list element in sample");
383 }
384 mpa_cborReader->leaveContainer();
385
386 sampleFinished(monitor);
387}
virtual void sampleStarted(pappso::UiMonitorInterface &monitor)
virtual void readScan(pappso::UiMonitorInterface &monitor)
std::vector< PsmFile > m_currentIdentificationFileList
virtual void sampleFinished(pappso::UiMonitorInterface &monitor)

◆ readScan()

void pappso::cbor::psm::PsmFileReaderBase::readScan ( pappso::UiMonitorInterface monitor)
protectedvirtual

Reimplemented in pappso::cbor::psm::PsmCbor2Json, and pappso::cbor::psm::PsmFileScanProcess.

Definition at line 390 of file psmfilereaderbase.cpp.

391{
392 qDebug();
393 m_cborScanId.clear();
394 mpa_cborReader->enterContainer();
395 //"id": {
396 //"index": 1976
397 //},
398 qDebug() << "scan begin";
399
401 qDebug() << m_expectedString;
402 if(m_expectedString == "id")
403 {
405 {
406 throw pappso::PappsoException(QObject::tr("id element in scan is not a cbor map"));
407 }
408 }
409 else
410 {
412 QObject::tr("ERROR: expecting id element in scan not %1").arg(m_expectedString));
413 }
414 //"precursor": {
415 //"z": 2,
416 //"mz": 1120.529471
417 //},
418
420 m_cborScanPrecursor.clear();
421 qDebug() << m_expectedString;
422 if(m_expectedString == "precursor")
423 {
425 {
426 throw pappso::PappsoException(QObject::tr("precursor element in scan is not a cbor map"));
427 }
428 }
429 //"ms2": {PSM CBOR format documentation
430 //"rt": 12648.87,
431 //"mz" :[1,2,3,4],
432 //"intensity" : [1,2,3,4]
433 //},
434
436 qDebug() << m_expectedString;
437 m_cborScanMs2.clear();
438 if(m_expectedString == "ms2")
439 {
441 {
443 QObject::tr("ms2 element in scan is not a cbor map %1 %2:\n%3")
445 .arg(m_cborScanId.value("index").toInteger())
446 .arg(mpa_cborReader->lastError().toString()));
447 }
448 }
449 //"psm_list": [
450 scanStarted(monitor);
451
453 qDebug() << m_expectedString;
454 if(m_expectedString == "psm_list")
455 {
456 mpa_cborReader->enterContainer();
457 while(!mpa_cborReader->lastError() && mpa_cborReader->hasNext())
458 {
459 readPsm(monitor);
460 }
461 mpa_cborReader->leaveContainer();
462 }
463
464 mpa_cborReader->leaveContainer();
465 qDebug() << "scan end";
466 scanFinished(monitor);
467 qDebug();
468}
virtual void scanStarted(pappso::UiMonitorInterface &monitor)
virtual void readPsm(pappso::UiMonitorInterface &monitor)
virtual void scanFinished(pappso::UiMonitorInterface &monitor)

◆ sampleFinished()

void pappso::cbor::psm::PsmFileReaderBase::sampleFinished ( pappso::UiMonitorInterface monitor)
protectedvirtual

◆ sampleListFinished()

void pappso::cbor::psm::PsmFileReaderBase::sampleListFinished ( pappso::UiMonitorInterface monitor)
protectedvirtual

Reimplemented in pappso::cbor::psm::PsmCbor2Json, and pappso::cbor::psm::PsmFileScanProcessAndCopy.

Definition at line 698 of file psmfilereaderbase.cpp.

700{
701}

◆ sampleListStarted()

void pappso::cbor::psm::PsmFileReaderBase::sampleListStarted ( pappso::UiMonitorInterface monitor)
protectedvirtual

Reimplemented in pappso::cbor::psm::PsmCbor2Json, and pappso::cbor::psm::PsmFileScanProcessAndCopy.

Definition at line 692 of file psmfilereaderbase.cpp.

694{
695}

◆ sampleStarted()

void pappso::cbor::psm::PsmFileReaderBase::sampleStarted ( pappso::UiMonitorInterface monitor)
protectedvirtual

Reimplemented in pappso::cbor::psm::PsmFileScanProcessAndCopy.

Definition at line 574 of file psmfilereaderbase.cpp.

575{
576}

◆ scanFinished()

void pappso::cbor::psm::PsmFileReaderBase::scanFinished ( pappso::UiMonitorInterface monitor)
protectedvirtual

Reimplemented in pappso::cbor::psm::PsmFileScanProcess.

Definition at line 584 of file psmfilereaderbase.cpp.

585{
586}

◆ scanStarted()

void pappso::cbor::psm::PsmFileReaderBase::scanStarted ( pappso::UiMonitorInterface monitor)
protectedvirtual

Definition at line 579 of file psmfilereaderbase.cpp.

580{
581}

◆ writePsmFile()

void pappso::cbor::psm::PsmFileReaderBase::writePsmFile ( CborStreamWriter writer,
const PsmFile psm_file 
)
protected

Definition at line 292 of file psmfilereaderbase.cpp.

294{
295 writer.startMap();
296 writer.append("name");
297 writer.append(psm_file.name);
298 writer.endMap();
299}

References pappso::cbor::psm::PsmFile::name.

◆ writePsmFileList()

void pappso::cbor::psm::PsmFileReaderBase::writePsmFileList ( CborStreamWriter writer,
const std::vector< PsmFile > &  file_list 
)
protected

Definition at line 302 of file psmfilereaderbase.cpp.

304{
305 writer.startArray();
306 for(auto &psm_file : file_list)
307 {
308 writePsmFile(writer, psm_file);
309 }
310 writer.endArray();
311}
void writePsmFile(CborStreamWriter &writer, const PsmFile &psm_file)

Member Data Documentation

◆ m_cborInformations

QCborMap pappso::cbor::psm::PsmFileReaderBase::m_cborInformations
protected

Definition at line 116 of file psmfilereaderbase.h.

◆ m_cborLog

QCborArray pappso::cbor::psm::PsmFileReaderBase::m_cborLog
protected

Definition at line 117 of file psmfilereaderbase.h.

◆ m_cborParameterMap

QCborMap pappso::cbor::psm::PsmFileReaderBase::m_cborParameterMap
protected

Definition at line 118 of file psmfilereaderbase.h.

◆ m_cborScanId

QCborMap pappso::cbor::psm::PsmFileReaderBase::m_cborScanId
protected

Definition at line 119 of file psmfilereaderbase.h.

◆ m_cborScanMs2

QCborMap pappso::cbor::psm::PsmFileReaderBase::m_cborScanMs2
protected

Definition at line 121 of file psmfilereaderbase.h.

◆ m_cborScanPrecursor

QCborMap pappso::cbor::psm::PsmFileReaderBase::m_cborScanPrecursor
protected

Definition at line 120 of file psmfilereaderbase.h.

◆ m_cborScanPsmEval

QCborMap pappso::cbor::psm::PsmFileReaderBase::m_cborScanPsmEval
protected

Definition at line 122 of file psmfilereaderbase.h.

◆ m_currentIdentificationFileList

std::vector<PsmFile> pappso::cbor::psm::PsmFileReaderBase::m_currentIdentificationFileList
protected

Definition at line 115 of file psmfilereaderbase.h.

◆ m_currentPeaklistFile

PsmFile pappso::cbor::psm::PsmFileReaderBase::m_currentPeaklistFile
protected

Definition at line 114 of file psmfilereaderbase.h.

◆ m_currentPsmProforma

QString pappso::cbor::psm::PsmFileReaderBase::m_currentPsmProforma
protected

Definition at line 123 of file psmfilereaderbase.h.

◆ m_currentPsmProteinRefList

std::vector<PsmProteinRef> pappso::cbor::psm::PsmFileReaderBase::m_currentPsmProteinRefList
protected

Definition at line 124 of file psmfilereaderbase.h.

◆ m_currentSampleName

QString pappso::cbor::psm::PsmFileReaderBase::m_currentSampleName
protected

Definition at line 113 of file psmfilereaderbase.h.

◆ m_decoyFastaFiles

QStringList pappso::cbor::psm::PsmFileReaderBase::m_decoyFastaFiles
protected

Definition at line 111 of file psmfilereaderbase.h.

◆ m_proteinMap

PsmProteinMap pappso::cbor::psm::PsmFileReaderBase::m_proteinMap
protected

Definition at line 112 of file psmfilereaderbase.h.

◆ m_targetFastaFiles

QStringList pappso::cbor::psm::PsmFileReaderBase::m_targetFastaFiles
protected

Definition at line 110 of file psmfilereaderbase.h.


The documentation for this class was generated from the following files: