31 #include <QSqlDatabase>
34 #include "../../massspectrum/qualifiedmassspectrum.h"
35 #include "../../processing/filters/filterinterface.h"
115 getMassSpectrumCstSPtrByRawIndex(std::size_t raw_index);
121 std::size_t scanNum);
125 std::size_t getTotalNumberOfScans()
const;
129 std::size_t getTotalNumberOfPrecursors()
const;
135 std::vector<std::size_t> getPrecursorsFromMzRtCharge(
int charge,
140 unsigned int getMsLevelBySpectrumIndex(std::size_t spectrum_index);
143 getQualifiedMassSpectrumByRawIndex(std::size_t spectrum_index,
144 bool want_binary_data);
148 std::size_t ms2_index,
149 std::size_t precursor_index,
150 bool want_binary_data);
153 std::size_t ms2_index, std::size_t precursor_index,
bool want_binary_data);
167 void setMs2BuiltinCentroid(
bool centroid);
173 bool getMs2BuiltinCentroid()
const;
176 std::vector<std::size_t> getTimsMS1FrameIdRange(
double rt_begin,
177 double rt_end)
const;
185 getTimsXicStructureFromPrecursorId(std::size_t precursor_id,
196 void extractXicListByTimsXicStructureList(
197 std::vector<TimsXicStructure> &tims_xic_structure_list,
199 double rtRange)
const;
208 std::map<quint32, quint32>
209 getRawMs2ByPrecursorId(std::size_t precursor_index);
222 std::vector<TimsXicStructure> extractXicListByPrecursorIds(
223 const std::vector<std::size_t> &precursor_id_list,
226 double rtRange)
const;
229 std::pair<std::size_t, std::size_t>
230 getScanCoordinateFromRawIndex(std::size_t spectrum_index)
const;
232 std::size_t getRawIndexFromCoordinate(std::size_t frame_id,
233 std::size_t scan_num)
const;
235 QSqlDatabase openDatabaseConnection()
const;
252 std::vector<std::size_t>
253 getMatchPrecursorIdByKo(std::vector<std::vector<double>> ids,
258 std::vector<std::size_t>
259 getClosestPrecursorIdByMz(std::vector<std::vector<double>> ids,
265 void fillFrameIdDescrList();
274 std::size_t m_cacheSize = 60;
283 bool m_builtinMs2Centroid =
true;
Class representing a fully specified mass spectrum.
std::vector< FrameIdDescr > m_frameIdDescrList
store every frame id and corresponding sizes
std::map< std::size_t, QSqlRecord > m_mapFramesRecord
std::size_t m_totalNumberOfScans
std::deque< TimsFrameCstSPtr > m_timsFrameCache
std::map< int, QSqlRecord > m_mapMzCalibrationRecord
std::map< int, QSqlRecord > m_mapTimsCalibrationRecord
TimsData(const TimsData &other)
MzCalibrationStore * mpa_mzCalibrationStore
std::deque< TimsFrameBaseCstSPtr > m_timsFrameBaseCache
std::map< std::size_t, std::size_t > m_thousandIndexToFrameIdDescrListIndex
index to find quickly a frameId in the description list with the raw index of spectrum modulo 1000
std::size_t m_totalNumberOfPrecursors
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
std::shared_ptr< const TimsFrameBase > TimsFrameBaseCstSPtr
double pappso_double
A type definition for doubles.
std::shared_ptr< TimsData > TimsDataSp
shared pointer on a TimsData object
std::shared_ptr< Xic > XicSPtr
std::shared_ptr< const MassSpectrum > MassSpectrumCstSPtr
std::shared_ptr< const FilterInterface > FilterInterfaceCstSPtr
std::shared_ptr< const TimsFrame > TimsFrameCstSPtr
structure needed to extract XIC from Tims data
pappso::pappso_double rtTarget
targeted retention time for this precursor
std::size_t scanNumEnd
mobility index end
MzRange mzRange
mass range to extract
unsigned int charge
targeted charge for this precursor
XicSPtr xicSptr
extracted xic
std::size_t scanNumBegin
mobility index begin
std::size_t precursorId
the corresponding precursor id
binary file handler of Bruker's TimsTof raw data
handle a single Bruker's TimsTof frame