#include <msrunxicextractordisk.h>
Definition at line 44 of file msrunxicextractordisk.h.
◆ MsRunXicExtractorDisk() [1/3]
pappso::MsRunXicExtractorDisk::MsRunXicExtractorDisk |
( |
MsRunReaderSPtr & |
msrun_reader | ) |
|
◆ MsRunXicExtractorDisk() [2/3]
◆ ~MsRunXicExtractorDisk()
pappso::MsRunXicExtractorDisk::~MsRunXicExtractorDisk |
( |
| ) |
|
|
virtual |
Definition at line 79 of file msrunxicextractordisk.cpp.
80 .arg(msp_msrun_reader.get()->getMsRunId().get()->toString())
81 .arg(errora.qwhat()));
83 catch(std::exception &error)
◆ MsRunXicExtractorDisk() [3/3]
pappso::MsRunXicExtractorDisk::MsRunXicExtractorDisk |
( |
MsRunReaderSPtr & |
msrun_reader, |
|
|
const QDir & |
temporary_dir |
|
) |
| |
|
protected |
◆ acquireSlices()
◆ appendSliceOnDisk()
void pappso::MsRunXicExtractorDisk::appendSliceOnDisk |
( |
unsigned int |
slice_number, |
|
|
MassSpectrum & |
spectrum, |
|
|
std::size_t |
ipos |
|
) |
| |
|
protected |
append a slice on disk (in a file)
- Parameters
-
slice_number | the slice number == dalton integer |
spectrum | the part of the mass spectrum (mz/intensity) in the range of the slice number |
ipos | the position in the retention time vector |
Definition at line 265 of file msrunxicextractordisk.cpp.
283 std::shared_ptr<MsRunSlice> msrun_slice_sp =
284 std::make_shared<MsRunSlice>(MsRunSlice());
288 if(!slice_file.exists())
290 msrun_slice_sp.get()->setSize(
m_rtSize);
291 msrun_slice_sp.get()->setSliceNumber(slice_number);
292 return msrun_slice_sp;
294 if(!slice_file.open(QIODevice::ReadOnly))
◆ endPwizRead()
void pappso::MsRunXicExtractorDisk::endPwizRead |
( |
| ) |
|
|
protectedvirtual |
◆ getXicCstSPtr()
get a XIC on this MsRun at the given mass range
- Parameters
-
mz_range | mz range to extract |
rt_begin | begining of the XIC in seconds |
rt_end | end of the XIC in seconds |
Reimplemented from pappso::MsRunXicExtractor.
Definition at line 115 of file msrunxicextractordisk.cpp.
120 const MassSpectrum &spectrum = msrun_slice.get()->getSpectrum(i);
121 for(
auto &&peak : spectrum)
123 if(mz_range.contains(peak.x))
127 xic_element.y += peak.y;
131 if(xic_element.y < peak.y)
133 xic_element.y = peak.y;
139 msrunxic_sp.get()->push_back(xic_element);
142 return (msrunxic_sp);
145 std::vector<XicCstSPtr>
147 const std::vector<MzRange> &mz_range_list)
150 std::vector<XicCstSPtr> xic_list_return;
151 for(
auto &range : mz_range_list)
153 xic_list_return.push_back(
getXicCstSPtr(range, 0, 40000000));
155 return xic_list_return;
References pappso::MsRunXicExtractorInterface::m_xicExtractMethod, and pappso::sum.
◆ getXicCstSPtrList()
std::vector< XicCstSPtr > pappso::MsRunXicExtractorDisk::getXicCstSPtrList |
( |
const std::vector< MzRange > & |
mz_range_list | ) |
|
|
overridevirtual |
◆ prepareExtractor()
void pappso::MsRunXicExtractorDisk::prepareExtractor |
( |
| ) |
|
|
protected |
Definition at line 88 of file msrunxicextractordisk.cpp.
98 std::shared_ptr<Xic> msrunxic_sp = std::make_shared<Xic>(Xic());
100 std::vector<MsRunSliceSPtr> slice_list;
103 if(slice_list.size() == 0)
106 QObject::tr(
"Error getMsRunXicSp slice_list.size() == 0"));
112 DataPoint xic_element;
◆ serializeMsRun()
void pappso::MsRunXicExtractorDisk::serializeMsRun |
( |
| ) |
|
|
protected |
Definition at line 180 of file msrunxicextractordisk.cpp.
183 spectrum_map.clear();
190 const MassSpectrum *p_spectrum = spectrum.get();
191 if(p_spectrum->size() > 0)
193 if(p_spectrum->begin()->x <
m_minMz)
195 m_minMz = p_spectrum->begin()->x;
199 if(p_spectrum->back().x >
m_maxMz)
201 m_maxMz = p_spectrum->back().x;
204 for(
auto &peak : *p_spectrum)
207 slice_number = peak.x;
209 std::pair<std::map<unsigned int, MassSpectrum>::iterator,
bool>
210 ret = spectrum_map.insert(std::pair<unsigned int, MassSpectrum>(
211 slice_number, MassSpectrum()));
213 ret.first->second.push_back(peak);
231 std::map<unsigned int, MassSpectrum> &spectrum_map, std::size_t ipos)
235 for(
auto &&spectrum_pair : spectrum_map)
245 MassSpectrum &spectrum,
References m_maxMz, m_minMz, m_retentionTimeList, pappso::MsRunXicExtractorInterface::msp_msrun_reader, and storeSlices().
Referenced by MsRunXicExtractorDisk().
◆ storeSlices()
void pappso::MsRunXicExtractorDisk::storeSlices |
( |
std::map< unsigned int, MassSpectrum > & |
slice_vector, |
|
|
std::size_t |
ipos |
|
) |
| |
|
protectedvirtual |
store MassSpectrum slices (by daltons) for a given retention time
- Parameters
-
slice_vector | mass spectrum chunks (by daltons) |
ipos | the position in the retention time vector |
Reimplemented in pappso::MsRunXicExtractorDiskBuffer.
Definition at line 251 of file msrunxicextractordisk.cpp.
256 if(!slice_file.open(QIODevice::WriteOnly | QIODevice::Append))
259 QObject::tr(
"unable to open file %1").arg(slice_file.fileName()));
261 QDataStream stream(&slice_file);
Referenced by serializeMsRun().
◆ unserializeSlice()
MsRunSliceSPtr pappso::MsRunXicExtractorDisk::unserializeSlice |
( |
unsigned int |
slice_number | ) |
|
|
protected |
get one slice from disk by her slice number (dalton)
- Parameters
-
slice_number | the slice number == dalton integer |
Definition at line 299 of file msrunxicextractordisk.cpp.
311 QObject::tr(
"error unserializing slice %1:\n%2")
313 .arg(error.qwhat()));
318 std::vector<MsRunSliceSPtr>
322 std::vector<MsRunSliceSPtr> slice_list;
323 for(
unsigned int i = mz_range.lower(); i <= mz_range.upper(); i++)
328 return slice_sp.get()->getSliceNumber() == i;
332 slice_list.push_back(*it);
◆ m_maxMz
◆ m_minMz
◆ m_msRunSliceListCache
std::deque<MsRunSliceSPtr> pappso::MsRunXicExtractorDisk::m_msRunSliceListCache |
|
protected |
◆ m_mutex
QMutex pappso::MsRunXicExtractorDisk::m_mutex |
|
protected |
◆ m_retentionTimeList
◆ m_rtSize
std::size_t pappso::MsRunXicExtractorDisk::m_rtSize = 0 |
|
protected |
◆ m_temporaryDirectory
QString pappso::MsRunXicExtractorDisk::m_temporaryDirectory |
|
protected |
◆ mpa_temporaryDirectory
QTemporaryDir* pappso::MsRunXicExtractorDisk::mpa_temporaryDirectory = nullptr |
|
protected |
◆ MsRunXicExtractorFactory
friend pappso::MsRunXicExtractorDisk::MsRunXicExtractorFactory |
|
private |
The documentation for this class was generated from the following files: