libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::MsRunReaderScanNumberMultiMap Class Reference

provides a multimap to find quickly spectrum index from scan number More...

#include <spectrumcollectionhandlerinterface.h>

Inheritance diagram for pappso::MsRunReaderScanNumberMultiMap:
pappso::SpectrumCollectionHandlerInterface

Public Member Functions

 MsRunReaderScanNumberMultiMap ()
virtual ~MsRunReaderScanNumberMultiMap ()
virtual void setQualifiedMassSpectrum (const QualifiedMassSpectrum &spectrum) override
virtual bool needPeakList () const override
 tells if we need the peak list (if we want the binary data) for each spectrum
std::size_t getSpectrumIndexFromScanNumber (std::size_t scan_number) const
Public Member Functions inherited from pappso::SpectrumCollectionHandlerInterface
virtual bool needMsLevelPeakList (unsigned int ms_level) const final
 tells if we need the peak list (if we want the binary data) for each spectrum, given an MS level
virtual void setNeedMsLevelPeakList (unsigned int ms_level, bool want_peak_list) final
 tells if we need the peak list given
virtual bool shouldStop ()
virtual void loadingEnded ()
virtual void spectrumListHasSize (std::size_t size)
virtual void setReadAhead (bool is_read_ahead) final
 use threads to read a spectrum by batch of batch_size
virtual bool isReadAhead () const
 tells if we want to read ahead spectrum

Private Attributes

std::multimap< std::size_t, std::size_t > m_mmap_scan2index

Detailed Description

provides a multimap to find quickly spectrum index from scan number

Definition at line 110 of file spectrumcollectionhandlerinterface.h.

Constructor & Destructor Documentation

◆ MsRunReaderScanNumberMultiMap()

pappso::MsRunReaderScanNumberMultiMap::MsRunReaderScanNumberMultiMap ( )

Definition at line 146 of file spectrumcollectionhandlerinterface.cpp.

147{
148 // qDebug();
149}

◆ ~MsRunReaderScanNumberMultiMap()

pappso::MsRunReaderScanNumberMultiMap::~MsRunReaderScanNumberMultiMap ( )
virtual

Definition at line 152 of file spectrumcollectionhandlerinterface.cpp.

153{
154 // qDebug();
155}

Member Function Documentation

◆ getSpectrumIndexFromScanNumber()

std::size_t pappso::MsRunReaderScanNumberMultiMap::getSpectrumIndexFromScanNumber ( std::size_t scan_number) const

Definition at line 186 of file spectrumcollectionhandlerinterface.cpp.

187{
188
189 qDebug() << m_mmap_scan2index.size();
190
191 auto it = m_mmap_scan2index.find(scan_number);
192
193 if(it == m_mmap_scan2index.end())
194 {
195 throw ExceptionNotFound(QObject::tr("scan number %1 not found").arg(scan_number));
196 }
197
198 std::size_t index = it->second;
199
200 it++;
201 if((it != m_mmap_scan2index.end()) && (it->first == scan_number))
202 {
203 throw PappsoException(QObject::tr("scan number %1 found multiple times").arg(scan_number));
204 }
205 return index;
206}
std::multimap< std::size_t, std::size_t > m_mmap_scan2index

References m_mmap_scan2index.

◆ needPeakList()

bool pappso::MsRunReaderScanNumberMultiMap::needPeakList ( ) const
overridevirtual

tells if we need the peak list (if we want the binary data) for each spectrum

Implements pappso::SpectrumCollectionHandlerInterface.

Definition at line 159 of file spectrumcollectionhandlerinterface.cpp.

160{
161 return false;
162}

◆ setQualifiedMassSpectrum()

void pappso::MsRunReaderScanNumberMultiMap::setQualifiedMassSpectrum ( const QualifiedMassSpectrum & spectrum)
overridevirtual

Implements pappso::SpectrumCollectionHandlerInterface.

Definition at line 165 of file spectrumcollectionhandlerinterface.cpp.

166{
167 qDebug() << " " << qspectrum.getMassSpectrumId().getNativeId();
168
169 QStringList native_id_list = qspectrum.getMassSpectrumId().getNativeId().split("=");
170 if(native_id_list.size() < 2)
171 {
172 return;
173 }
174 else
175 {
176 std::size_t scan_number = native_id_list.back().toULong();
177 m_mmap_scan2index.insert(std::pair<std::size_t, std::size_t>(
178 scan_number, qspectrum.getMassSpectrumId().getSpectrumIndex()));
179
180 qDebug() << "scan number " << scan_number << "=>"
181 << qspectrum.getMassSpectrumId().getSpectrumIndex();
182 }
183}

References pappso::QualifiedMassSpectrum::getMassSpectrumId(), pappso::MassSpectrumId::getNativeId(), pappso::MassSpectrumId::getSpectrumIndex(), and m_mmap_scan2index.

Member Data Documentation

◆ m_mmap_scan2index

std::multimap<std::size_t, std::size_t> pappso::MsRunReaderScanNumberMultiMap::m_mmap_scan2index
private

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