34#include <QtConcurrent>
56 mpa_timsData =
new TimsData(mcsp_msRunId.get()->getFileName());
58 mp_timsDdaPrecursors = mpa_timsData->getTimsDdaPrecursorsPtr();
72 QObject::tr(
"ERROR in TimsMsRunReaderMs2Selected::setMs2FilterCstSPtr "
73 "mp_timsDdaPrecursors is null"));
88 QObject::tr(
"ERROR in TimsMsRunReaderMs2Selected::setMs1FilterCstSPtr "
89 "mp_timsDdaPrecursors is null"));
96 qDebug() << file_name;
121 bool want_binary_data)
const
124 std::size_t precursor_index = (spectrum_index / 2) + 1;
129 if(spectrum_index % 2 == 0)
135 getMsRunId(), mass_spectrum_ms1, spectrum_descr, want_binary_data);
139 return mass_spectrum_ms1;
145 if(spectrum_descr.
ms2_index != spectrum_index)
150 "ERROR in %1 %2 %3 spectrum_descr.ms2_index != spectrum_index")
156 getMsRunId(), mass_spectrum_ms2, spectrum_descr, want_binary_data);
160 return mass_spectrum_ms2;
181 std::vector<size_t> selected_precursor{63905,
204 std::size_t process_list_size = 300;
210 bool want_binary_data;
213 for(std::size_t i = 0; i < spectrum_list_size; i += process_list_size)
221 qDebug() <<
"The operation was cancelled. Breaking the loop.";
224 std::vector<tmp_item> item_list;
225 for(std::size_t iter = 0;
226 (iter < process_list_size) && ((iter + i) < spectrum_list_size);
229 if(std::find(selected_precursor.begin(),
230 selected_precursor.end(),
231 iter + i) != selected_precursor.end())
233 bool get_data = want_binary_data;
234 if((iter + i) % 2 == 0)
247 qDebug() << item_list.size();
250 QtConcurrent::blockingMap(
251 item_list.begin(), item_list.end(), [
this](tmp_item &one_item) {
252 qDebug() << one_item.iter;
253 one_item.qualified_mass_spectrum =
254 qualifiedMassSpectrum(one_item.iter, one_item.want_binary_data);
260 qDebug() << item_list.size();
261 for(
auto &item : item_list)
274 for(std::size_t iter = 0; iter < spectrum_list_size; iter++)
281 qDebug() <<
"The operation was cancelled. Breaking the loop.";
284 bool get_data = want_binary_data;
const MsRunIdCstSPtr & getMsRunId() const
Class representing a fully specified mass spectrum.
MassSpectrumSPtr getMassSpectrumSPtr() const
Get the MassSpectrumSPtr.
interface to collect spectrums from the MsRunReader class
virtual bool shouldStop()
virtual bool isReadAhead() const
tells if we want to read ahead spectrum
virtual bool needPeakList() const =0
tells if we need the peak list (if we want the binary data) for each spectrum
virtual void loadingEnded()
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 spectrumListHasSize(std::size_t size)
virtual void setQualifiedMassSpectrum(const QualifiedMassSpectrum &spectrum)=0
void getQualifiedMs1MassSpectrumBySpectrumDescr(const MsRunIdCstSPtr &msrun_id, QualifiedMassSpectrum &mass_spectrum, const SpectrumDescr &spectrum_descr, bool want_binary_data)
void getQualifiedMs2MassSpectrumBySpectrumDescr(const MsRunIdCstSPtr &msrun_id, QualifiedMassSpectrum &mass_spectrum, const SpectrumDescr &spectrum_descr, bool want_binary_data)
void setMs2FilterCstSPtr(pappso::FilterInterfaceCstSPtr &filter)
filter interface to apply just after raw MS2 specturm extraction the filter can be a list of filters ...
void setMs1FilterCstSPtr(pappso::FilterInterfaceCstSPtr &filter)
filter interface to apply just after raw MS1 specturm extraction the filter can be a list of filters ...
TimsDdaPrecursors::SpectrumDescr getSpectrumDescrWithPrecursorId(std::size_t precursor_id) const
get an intermediate structure describing a spectrum
std::size_t getTotalPrecursorCount() const
get the number of precursors analyzed by PASEF
virtual MassSpectrumCstSPtr massSpectrumCstSPtr(std::size_t spectrum_index) override
virtual std::size_t spectrumListSize() const override
get the totat number of spectrum conained in the MSrun data file
virtual void readSpectrumCollection2(const MsRunReadConfig &config, SpectrumCollectionHandlerInterface &handler) override
virtual ~TimsMsRunReaderMs2Selected()
virtual bool accept(const QString &file_name) const override
tells if the reader is able to handle this file must be implemented by private MS run reader,...
void setMs2FilterCstSPtr(pappso::FilterInterfaceCstSPtr filter)
void setMs1FilterCstSPtr(pappso::FilterInterfaceCstSPtr filter)
virtual QualifiedMassSpectrum qualifiedMassSpectrum(std::size_t spectrum_index, bool want_binary_data=true) const override
get a QualifiedMassSpectrum class given its scan number
virtual MassSpectrumSPtr massSpectrumSPtr(std::size_t spectrum_index) override
get a MassSpectrumSPtr class given its spectrum index
TimsMsRunReaderMs2Selected(MsRunIdCstSPtr &msrun_id_csp)
virtual bool hasScanNumbers() const override
tells if spectra can be accessed using scan numbers by default, it returns false. Only overrided func...
virtual void initialize() override
virtual void readSpectrumCollection(SpectrumCollectionHandlerInterface &handler) override
function to visit an MsRunReader and get each Spectrum in a spectrum collection handler
TimsDdaPrecursors * mp_timsDdaPrecursors
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
std::shared_ptr< const MsRunId > MsRunIdCstSPtr
std::shared_ptr< const MassSpectrum > MassSpectrumCstSPtr
std::shared_ptr< const FilterInterface > FilterInterfaceCstSPtr
std::shared_ptr< MassSpectrum > MassSpectrumSPtr
handle specific data for DDA MS runs