34#include <QtConcurrent>
70 QObject::tr(
"ERROR in TimsMsRunReaderMs2Selected::setMs2FilterCstSPtr "
71 "mp_timsDdaPrecursors is null"));
85 QObject::tr(
"ERROR in TimsMsRunReaderMs2Selected::setMs1FilterCstSPtr "
86 "mp_timsDdaPrecursors is null"));
93 qDebug() << file_name;
116 bool want_binary_data)
const
119 std::size_t precursor_index = (spectrum_index / 2) + 1;
124 if(spectrum_index % 2 == 0)
130 getMsRunId(), mass_spectrum_ms1, spectrum_descr, want_binary_data);
134 return mass_spectrum_ms1;
140 if(spectrum_descr.
ms2_index != spectrum_index)
144 QObject::tr(
"ERROR in %1 %2 %3 spectrum_descr.ms2_index != spectrum_index")
150 getMsRunId(), mass_spectrum_ms2, spectrum_descr, want_binary_data);
154 return mass_spectrum_ms2;
174 std::vector<size_t> selected_precursor{63905,
197 std::size_t process_list_size = 300;
203 bool want_binary_data;
206 for(std::size_t i = 0; i < spectrum_list_size; i += process_list_size)
214 qDebug() <<
"The operation was cancelled. Breaking the loop.";
217 std::vector<tmp_item> item_list;
218 for(std::size_t iter = 0; (iter < process_list_size) && ((iter + i) < spectrum_list_size);
221 if(std::find(selected_precursor.begin(), selected_precursor.end(), iter + i) !=
222 selected_precursor.end())
224 bool get_data = want_binary_data;
225 if((iter + i) % 2 == 0)
237 qDebug() << item_list.size();
240 QtConcurrent::blockingMap(item_list.begin(), item_list.end(), [
this](tmp_item &one_item) {
241 qDebug() << one_item.iter;
242 one_item.qualified_mass_spectrum =
243 qualifiedMassSpectrum(one_item.iter, one_item.want_binary_data);
249 qDebug() << item_list.size();
250 for(
auto &item : item_list)
263 for(std::size_t iter = 0; iter < spectrum_list_size; iter++)
270 qDebug() <<
"The operation was cancelled. Breaking the loop.";
273 bool get_data = want_binary_data;
321 const QString &spectrum_identifier [[maybe_unused]])
324 QObject::tr(
"%1 %2 %3 not implemented").arg(__FILE__).arg(__FUNCTION__).arg(__LINE__));
MsRunIdCstSPtr mcsp_msRunId
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
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 std::size_t spectrumStringIdentifier2SpectrumIndex(const QString &spectrum_identifier) override
if possible, get the spectrum index given a string identifier throw a not found exception if spectrum...
virtual void initialize() override
virtual void readSpectrumCollection(SpectrumCollectionHandlerInterface &handler) override
function to visit an MsRunReader and get each Spectrum in a spectrum collection handler
TimsMsRunReaderMs2(MsRunIdCstSPtr &msrun_id_csp)
TimsDdaPrecursors * mp_timsDdaPrecursors
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
@ filter
concerning filters (psm, peptide, protein validation)
std::shared_ptr< const MsRunId > MsRunIdCstSPtr
std::shared_ptr< const MassSpectrum > MassSpectrumCstSPtr
std::shared_ptr< const FilterInterface > FilterInterfaceCstSPtr
std::shared_ptr< MassSpectrum > MassSpectrumSPtr