libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::cbor::psm::PsmFileScanProcess Class Referenceabstract

Basic PSM file reader to process scan (parallelized scan processing) More...

#include <psmfilescanprocess.h>

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

Public Member Functions

 PsmFileScanProcess (std::size_t buffer_scan_size)
 
virtual ~PsmFileScanProcess ()
 
- Public Member Functions inherited from pappso::cbor::psm::PsmFileReaderBase
 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 readScan (pappso::UiMonitorInterface &monitor) override
 
void scanFinished (pappso::UiMonitorInterface &monitor) override
 
void sampleFinished (pappso::UiMonitorInterface &monitor) override
 
virtual void processBufferScan (pappso::UiMonitorInterface &monitor)
 
virtual void processBufferScanDone (pappso::UiMonitorInterface &monitor)
 
virtual CborScanMapBasenewCborScanMap ()=0
 
void clearScanBuffer ()
 
- Protected Member Functions inherited from pappso::cbor::psm::PsmFileReaderBase
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 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 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
 
- Protected Member Functions inherited from pappso::cbor::CborStreamReaderInterface
bool getExpectedString ()
 
void initCborReader (QFile *pcborfile)
 

Protected Attributes

std::size_t m_bufferScanSize = 1000
 
std::vector< CborScanMapBase * > m_cborScanList
 
- Protected Attributes inherited from pappso::cbor::psm::PsmFileReaderBase
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
 

Private Attributes

friend CborScanMapBase
 

Detailed Description

Basic PSM file reader to process scan (parallelized scan processing)

Definition at line 45 of file psmfilescanprocess.h.

Constructor & Destructor Documentation

◆ PsmFileScanProcess()

pappso::cbor::psm::PsmFileScanProcess::PsmFileScanProcess ( std::size_t buffer_scan_size)

Default constructor

Definition at line 41 of file psmfilescanprocess.cpp.

42{
43 m_bufferScanSize = buffer_scan_size;
44}

References m_bufferScanSize.

Referenced by pappso::cbor::psm::PsmFileScanProcessAndCopy::PsmFileScanProcessAndCopy().

◆ ~PsmFileScanProcess()

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

Destructor

Definition at line 46 of file psmfilescanprocess.cpp.

47{
48}

Member Function Documentation

◆ clearScanBuffer()

void pappso::cbor::psm::PsmFileScanProcess::clearScanBuffer ( )
protected

Definition at line 51 of file psmfilescanprocess.cpp.

52{
53 for(CborScanMapBase *cbor_scan_p : m_cborScanList)
54 {
55 delete cbor_scan_p;
56 }
57 m_cborScanList.clear();
58}
std::vector< CborScanMapBase * > m_cborScanList

References CborScanMapBase, and m_cborScanList.

Referenced by sampleFinished(), and scanFinished().

◆ newCborScanMap()

virtual CborScanMapBase * pappso::cbor::psm::PsmFileScanProcess::newCborScanMap ( )
protectedpure virtual

◆ processBufferScan()

void pappso::cbor::psm::PsmFileScanProcess::processBufferScan ( pappso::UiMonitorInterface & monitor)
protectedvirtual

Definition at line 98 of file psmfilescanprocess.cpp.

99{
100 // you decide how to process the list of scans
101
102 std::function<void(CborScanMapBase *)> mapProcessCborScan = [](CborScanMapBase *cbor_scan_p) {
103 cbor_scan_p->process();
104 };
105
106
107 QFuture<void> res = QtConcurrent::map<std::vector<CborScanMapBase *>::iterator>(
108 m_cborScanList.begin(), m_cborScanList.end(), mapProcessCborScan);
109 res.waitForFinished();
110 processBufferScanDone(monitor);
111}
virtual void processBufferScanDone(pappso::UiMonitorInterface &monitor)

References CborScanMapBase, m_cborScanList, and processBufferScanDone().

Referenced by sampleFinished(), and scanFinished().

◆ processBufferScanDone()

void pappso::cbor::psm::PsmFileScanProcess::processBufferScanDone ( pappso::UiMonitorInterface & monitor)
protectedvirtual

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

Definition at line 114 of file psmfilescanprocess.cpp.

115{
116 // you decide what to do with processed scans
117}

Referenced by processBufferScan().

◆ readScan()

void pappso::cbor::psm::PsmFileScanProcess::readScan ( pappso::UiMonitorInterface & monitor)
overrideprotectedvirtual

Reimplemented from pappso::cbor::psm::PsmFileReaderBase.

Definition at line 62 of file psmfilescanprocess.cpp.

63{
64 qDebug();
65 // auto& ref = elections.emplace_back("Nelson Mandela", "South Africa", 1994);
66 CborScanMapBase *scan_map_p = newCborScanMap();
67 m_cborScanList.push_back(scan_map_p);
68
69 if(!mpa_cborReader->readCborMap(*scan_map_p))
70 {
71 throw pappso::PappsoException(QObject::tr("readCborMap scan failed"));
72 }
73 // m_cborScanList.push_back(scan_map);
74 qDebug() << "scan end";
75 scanFinished(monitor);
76 qDebug();
77}
void scanFinished(pappso::UiMonitorInterface &monitor) override
virtual CborScanMapBase * newCborScanMap()=0

References CborScanMapBase, m_cborScanList, pappso::cbor::CborStreamReaderInterface::mpa_cborReader, newCborScanMap(), and scanFinished().

◆ sampleFinished()

void pappso::cbor::psm::PsmFileScanProcess::sampleFinished ( pappso::UiMonitorInterface & monitor)
overrideprotectedvirtual

Reimplemented from pappso::cbor::psm::PsmFileReaderBase.

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

Definition at line 90 of file psmfilescanprocess.cpp.

91{
92 processBufferScan(monitor);
94}
virtual void processBufferScan(pappso::UiMonitorInterface &monitor)

References clearScanBuffer(), and processBufferScan().

◆ scanFinished()

void pappso::cbor::psm::PsmFileScanProcess::scanFinished ( pappso::UiMonitorInterface & monitor)
overrideprotectedvirtual

Reimplemented from pappso::cbor::psm::PsmFileReaderBase.

Definition at line 80 of file psmfilescanprocess.cpp.

81{
83 {
84 processBufferScan(monitor);
86 }
87}

References clearScanBuffer(), m_bufferScanSize, m_cborScanList, and processBufferScan().

Referenced by readScan().

Member Data Documentation

◆ CborScanMapBase

friend pappso::cbor::psm::PsmFileScanProcess::CborScanMapBase
private

◆ m_bufferScanSize

std::size_t pappso::cbor::psm::PsmFileScanProcess::m_bufferScanSize = 1000
protected

Definition at line 72 of file psmfilescanprocess.h.

Referenced by PsmFileScanProcess(), and scanFinished().

◆ m_cborScanList

std::vector<CborScanMapBase *> pappso::cbor::psm::PsmFileScanProcess::m_cborScanList
protected

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