libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::cbor::psm::PsmFileScanProcessAndCopy Class Reference

Basic PSM file reader to process scan (parallelized scan processing) and write a new resulting PSM file. More...

#include <psmfilescanprocessandcopy.h>

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

Public Member Functions

 PsmFileScanProcessAndCopy (std::size_t buffer_scan_size, CborStreamWriter *cbor_output_p, const QString &operation)
virtual ~PsmFileScanProcessAndCopy ()
void close () override
 convenient function to clean pointer before leaving
Public Member Functions inherited from pappso::cbor::psm::PsmFileScanProcess
 PsmFileScanProcess (std::size_t buffer_scan_size)
virtual ~PsmFileScanProcess ()
Public Member Functions inherited from pappso::cbor::psm::PsmFileReaderBase
 PsmFileReaderBase ()
virtual ~PsmFileReaderBase () override
void readCbor (QFile *cborp, pappso::UiMonitorInterface &monitor)
void readCbor (QIODevice *cborp, pappso::UiMonitorInterface &monitor)
Public Member Functions inherited from pappso::cbor::CborStreamReaderInterface
 CborStreamReaderInterface ()
virtual ~CborStreamReaderInterface ()

Protected Member Functions

void delayProteinMapInMemory ()
void informationsReady (pappso::UiMonitorInterface &monitor) override
void logReady (pappso::UiMonitorInterface &monitor) override
void parameterMapReady (pappso::UiMonitorInterface &monitor) override
void fastaFilesReady (pappso::UiMonitorInterface &monitor) override
virtual void proteinMapReady (pappso::UiMonitorInterface &monitor) override
virtual void processBufferScanDone (pappso::UiMonitorInterface &monitor) override
void sampleStarted (pappso::UiMonitorInterface &monitor) override
void sampleFinished (pappso::UiMonitorInterface &monitor) override
void sampleListStarted (pappso::UiMonitorInterface &monitor) override
void sampleListFinished (pappso::UiMonitorInterface &monitor) override
Protected Member Functions inherited from pappso::cbor::psm::PsmFileScanProcess
void readScan (pappso::UiMonitorInterface &monitor) override
void scanFinished (pappso::UiMonitorInterface &monitor) override
virtual void processBufferScan (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 scanStarted (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
 get the qualified Spectrum for the current PSM
bool currentProteinRefListContainsDecoy () const
 tells if the current PSM has a decoy accession
bool currentProteinRefListContainsTarget () const
 tells if the current PSM has a target accession
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)
void initCborReader (QIODevice *pcborfile)

Protected Attributes

CborStreamWritermp_cborOutput
CborStreamWritermp_copyCborOutput = nullptr
QString m_operation
pappso::cbor::psm::PsmProteinMap m_psmNewProteinMap
QBuffer * mpa_bufferAfterProteinMap = nullptr
pappso::cbor::CborStreamWritermpa_bufferWriterAfterProteinMap = nullptr
Protected Attributes inherited from pappso::cbor::psm::PsmFileScanProcess
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_cborScanProps
QCborMap m_cborScanPsmEval
QCborMap m_cborScanPsmProps
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

Basic PSM file reader to process scan (parallelized scan processing) and write a new resulting PSM file.

Definition at line 48 of file psmfilescanprocessandcopy.h.

Constructor & Destructor Documentation

◆ PsmFileScanProcessAndCopy()

◆ ~PsmFileScanProcessAndCopy()

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

Destructor

Definition at line 55 of file psmfilescanprocessandcopy.cpp.

56{
57 if(mpa_bufferAfterProteinMap != nullptr)
58 {
60 }
62 {
64 }
65}
pappso::cbor::CborStreamWriter * mpa_bufferWriterAfterProteinMap

References mpa_bufferAfterProteinMap, and mpa_bufferWriterAfterProteinMap.

Member Function Documentation

◆ close()

void pappso::cbor::psm::PsmFileScanProcessAndCopy::close ( )
overridevirtual

convenient function to clean pointer before leaving

Reimplemented from pappso::cbor::CborStreamReaderInterface.

Definition at line 79 of file psmfilescanprocessandcopy.cpp.

80{
81 if(mp_copyCborOutput == nullptr)
82 {
83 mp_cborOutput->endMap();
84 }
85 else
86 {
87
88 // mpa_bufferWriterAfterProteinMap->endArray(); // end scan_list
89 // mpa_bufferWriterAfterProteinMap->endMap(); // end sample
90 // mpa_bufferWriterAfterProteinMap->endArray(); // end sample_list
91
92 mp_copyCborOutput->append("protein_map");
94
95 // copy buffer
96
97 mp_copyCborOutput->append("sample_list");
98
99 // mpa_writer->startArray(); // sample_list
100 // mpa_writer->endArray(); // end sample_list
101
102
104 // qWarning() << "size=" << mpa_buffer->data().size();
105
106 mp_copyCborOutput->device()->write(mpa_bufferAfterProteinMap->data());
107
108 mp_copyCborOutput->endMap();
109 }
110}

References m_psmNewProteinMap, mp_cborOutput, mp_copyCborOutput, and mpa_bufferAfterProteinMap.

◆ delayProteinMapInMemory()

void pappso::cbor::psm::PsmFileScanProcessAndCopy::delayProteinMapInMemory ( )
protected

◆ fastaFilesReady()

void pappso::cbor::psm::PsmFileScanProcessAndCopy::fastaFilesReady ( pappso::UiMonitorInterface & monitor)
overrideprotectedvirtual

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

Definition at line 135 of file psmfilescanprocessandcopy.cpp.

136{
137 // "target_fasta_files": ["zea_mays.fasta", "contaminant.fasta"],
138 if(!m_targetFastaFiles.isEmpty())
139 {
140 mp_cborOutput->append("target_fasta_files");
142 }
143 //"decoy_fasta_files" : ["rev_zea_mays.fasta", "rev_contaminant.fasta"],
144
145 if(!m_decoyFastaFiles.isEmpty())
146 {
147 mp_cborOutput->append("decoy_fasta_files");
148 mp_cborOutput->writeArray(m_decoyFastaFiles);
149 }
150}

References pappso::cbor::psm::PsmFileReaderBase::m_decoyFastaFiles, pappso::cbor::psm::PsmFileReaderBase::m_targetFastaFiles, and mp_cborOutput.

◆ informationsReady()

void pappso::cbor::psm::PsmFileScanProcessAndCopy::informationsReady ( pappso::UiMonitorInterface & monitor)
overrideprotectedvirtual

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

Definition at line 113 of file psmfilescanprocessandcopy.cpp.

114{
115 mp_cborOutput->writeInformations("pappsomspp_copy", Utils::getVersion(), "psm", m_operation);
116}
static QString getVersion()
Definition utils.cpp:650

References pappso::Utils::getVersion(), m_operation, and mp_cborOutput.

◆ logReady()

void pappso::cbor::psm::PsmFileScanProcessAndCopy::logReady ( pappso::UiMonitorInterface & monitor)
overrideprotectedvirtual

◆ parameterMapReady()

void pappso::cbor::psm::PsmFileScanProcessAndCopy::parameterMapReady ( pappso::UiMonitorInterface & monitor)
overrideprotectedvirtual

◆ processBufferScanDone()

void pappso::cbor::psm::PsmFileScanProcessAndCopy::processBufferScanDone ( pappso::UiMonitorInterface & monitor)
overrideprotectedvirtual

Reimplemented from pappso::cbor::psm::PsmFileScanProcess.

Reimplemented in pappso::cbor::psm::PsmSpecGlob, and pappso::cbor::psm::PsmSpecPeptidOms.

Definition at line 169 of file psmfilescanprocessandcopy.cpp.

171{
172
173 // monitor.setStatus(QObject::tr("PsmFileScanProcessAndCopy::processBufferScanDone"));
174 for(CborScanMapBase *cbor_scan_p : m_cborScanList)
175 {
176 // qDebug() << cbor_scan_p->keys();
177 cbor_scan_p->filterAndSortPsmList();
178
179 if(mp_copyCborOutput != nullptr)
180 {
181 // populate new protein map
182 cbor_scan_p->populateProteinMapUsingOldProteinMap(m_proteinMap, m_psmNewProteinMap);
183 }
184
185
186 // qWarning() << "PsmFileScanProcessAndCopy::processBufferScanDone "
187 // << cbor_scan_p->value("psm_list").toArray().size();
188
189 // cbor_scan_p->write(*mp_cborOutput);
190 mp_cborOutput->writeCborMap(*cbor_scan_p);
191
192 if(!cbor_scan_p->keys().contains("id"))
193 {
194 throw pappso::PappsoException(
195 QObject::tr("missing scan id %1").arg(cbor_scan_p->keys().size()));
196 }
197 }
198}
std::vector< CborScanMapBase * > m_cborScanList

References pappso::cbor::psm::PsmFileScanProcess::CborScanMapBase, pappso::cbor::psm::PsmFileScanProcess::m_cborScanList, pappso::cbor::psm::PsmFileReaderBase::m_proteinMap, m_psmNewProteinMap, mp_cborOutput, and mp_copyCborOutput.

Referenced by pappso::cbor::psm::PsmSpecGlob::processBufferScanDone(), and pappso::cbor::psm::PsmSpecPeptidOms::processBufferScanDone().

◆ proteinMapReady()

void pappso::cbor::psm::PsmFileScanProcessAndCopy::proteinMapReady ( pappso::UiMonitorInterface & monitor)
overrideprotectedvirtual

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

Reimplemented in pappso::cbor::psm::PsmSpecPeptidOms.

Definition at line 153 of file psmfilescanprocessandcopy.cpp.

154{
155 if(mp_copyCborOutput == nullptr)
156 {
157 mp_cborOutput->append("protein_map");
158 m_proteinMap.writeMap(*mp_cborOutput);
159 }
160 else
161 {
162 // protein map writing is delayed : swap to temporary buffer writer
164 }
165}

References pappso::cbor::psm::PsmFileReaderBase::m_proteinMap, mp_cborOutput, mp_copyCborOutput, and mpa_bufferWriterAfterProteinMap.

Referenced by pappso::cbor::psm::PsmSpecPeptidOms::proteinMapReady().

◆ sampleFinished()

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

◆ sampleListFinished()

void pappso::cbor::psm::PsmFileScanProcessAndCopy::sampleListFinished ( pappso::UiMonitorInterface & monitor)
overrideprotectedvirtual

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

Definition at line 240 of file psmfilescanprocessandcopy.cpp.

241{
242 mp_cborOutput->endArray();
243}

References mp_cborOutput.

◆ sampleListStarted()

void pappso::cbor::psm::PsmFileScanProcessAndCopy::sampleListStarted ( pappso::UiMonitorInterface & monitor)
overrideprotectedvirtual

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

Definition at line 230 of file psmfilescanprocessandcopy.cpp.

231{
232 if(mp_copyCborOutput == nullptr)
233 {
234 mp_cborOutput->append("sample_list");
235 }
236 mp_cborOutput->startArray();
237}

References mp_cborOutput, and mp_copyCborOutput.

◆ sampleStarted()

void pappso::cbor::psm::PsmFileScanProcessAndCopy::sampleStarted ( pappso::UiMonitorInterface & monitor)
overrideprotectedvirtual

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

Definition at line 201 of file psmfilescanprocessandcopy.cpp.

202{
203 mp_cborOutput->startMap();
204 mp_cborOutput->append("name");
207 {
208 mp_cborOutput->append("identification_file_list");
210 }
211 mp_cborOutput->append("peaklist_file");
213
214 mp_cborOutput->append("scan_list");
215 mp_cborOutput->startArray();
216}
void writePsmFileList(CborStreamWriter &writer, const std::vector< PsmFile > &file_list)
std::vector< PsmFile > m_currentIdentificationFileList
void writePsmFile(CborStreamWriter &writer, const PsmFile &psm_file)

References pappso::cbor::psm::PsmFileReaderBase::m_currentIdentificationFileList, pappso::cbor::psm::PsmFileReaderBase::m_currentPeaklistFile, pappso::cbor::psm::PsmFileReaderBase::m_currentSampleName, mp_cborOutput, pappso::cbor::psm::PsmFileReaderBase::writePsmFile(), and pappso::cbor::psm::PsmFileReaderBase::writePsmFileList().

Member Data Documentation

◆ m_operation

QString pappso::cbor::psm::PsmFileScanProcessAndCopy::m_operation
protected

Definition at line 89 of file psmfilescanprocessandcopy.h.

Referenced by PsmFileScanProcessAndCopy(), and informationsReady().

◆ m_psmNewProteinMap

pappso::cbor::psm::PsmProteinMap pappso::cbor::psm::PsmFileScanProcessAndCopy::m_psmNewProteinMap
protected

Definition at line 92 of file psmfilescanprocessandcopy.h.

Referenced by close(), and processBufferScanDone().

◆ mp_cborOutput

◆ mp_copyCborOutput

CborStreamWriter* pappso::cbor::psm::PsmFileScanProcessAndCopy::mp_copyCborOutput = nullptr
protected

◆ mpa_bufferAfterProteinMap

QBuffer* pappso::cbor::psm::PsmFileScanProcessAndCopy::mpa_bufferAfterProteinMap = nullptr
protected

◆ mpa_bufferWriterAfterProteinMap

pappso::cbor::CborStreamWriter* pappso::cbor::psm::PsmFileScanProcessAndCopy::mpa_bufferWriterAfterProteinMap = nullptr
protected

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