40 #include <boost/regex.hpp>
102 template <
typename SpectrumContainer>
104 const String& scan_regexp = default_scan_regexp)
109 n_spectra_ = spectra.size();
110 setScanRegExp_(scan_regexp);
111 for (
Size i = 0; i < n_spectra_; ++i)
116 if (!scan_regexp.empty())
118 scan_no = extractScanNumber(native_id, scan_regexp_,
true);
121 OPENMS_LOG_WARN <<
"Warning: Could not extract scan number from spectrum native ID '" + native_id +
"' using regular expression '" + scan_regexp +
"'. Look-up by scan number may not work properly." << std::endl;
124 addEntry_(i, spectrum.
getRT(), scan_no, native_id);
212 const boost::regex& scan_regexp,
213 bool no_error =
false);
216 const String& native_id_type_accession);
256 const boost::smatch& match)
const;
#define OPENMS_LOG_WARN
Macro if a warning, a piece of information which should be read by the user, should be logged.
Definition: LogStream.h:460
The representation of a 1D spectrum.
Definition: MSSpectrum.h:71
Helper class for looking up spectra based on different attributes.
Definition: SpectrumLookup.h:68
virtual ~SpectrumLookup()
Destructor.
std::map< Size, Size > scans_
Mapping: scan number -> spectrum index.
Definition: SpectrumLookup.h:231
void setScanRegExp_(const String &scan_regexp)
Set the regular expression for extracting scan numbers from spectrum native IDs.
Size findByIndex(Size index, bool count_from_one=false) const
Look up spectrum by index (position in the vector of spectra).
std::map< double, Size > rts_
Mapping: RT -> spectrum index.
Definition: SpectrumLookup.h:229
Size n_spectra_
Number of spectra.
Definition: SpectrumLookup.h:223
bool empty() const
Check if any spectra were set.
boost::regex scan_regexp_
Regular expression to extract scan numbers.
Definition: SpectrumLookup.h:225
Size findByRT(double rt) const
Look up spectrum by retention time (RT).
static const String & default_scan_regexp
Default regular expression for extracting scan numbers from spectrum native IDs.
Definition: SpectrumLookup.h:72
SpectrumLookup(const SpectrumLookup &)
Copy constructor (not implemented)
Size findByScanNumber(Size scan_number) const
Look up spectrum by scan number (extracted from the native ID).
void addReferenceFormat(const String ®exp)
Register a possible format for a spectrum reference.
Size findByReference(const String &spectrum_ref) const
Look up spectrum by reference.
std::vector< boost::regex > reference_formats
Possible formats of spectrum references, defined as regular expressions.
Definition: SpectrumLookup.h:75
Size findByRegExpMatch_(const String &spectrum_ref, const String ®exp, const boost::smatch &match) const
Look up spectrum by regular expression match.
SpectrumLookup()
Constructor.
Size findByNativeID(const String &native_id) const
Look up spectrum by native ID.
double rt_tolerance
Tolerance for look-up by retention time.
Definition: SpectrumLookup.h:78
void addEntry_(Size index, double rt, Int scan_number, const String &native_id)
Add a look-up entry for a spectrum.
std::vector< String > regexp_name_list_
Named groups in vector format.
Definition: SpectrumLookup.h:227
static Int extractScanNumber(const String &native_id, const boost::regex &scan_regexp, bool no_error=false)
Extract the scan number from the native ID of a spectrum.
static Int extractScanNumber(const String &native_id, const String &native_id_type_accession)
SpectrumLookup & operator=(const SpectrumLookup &)
Assignment operator (not implemented).
void readSpectra(const SpectrumContainer &spectra, const String &scan_regexp=default_scan_regexp)
Read and index spectra for later look-up.
Definition: SpectrumLookup.h:103
std::map< String, Size > ids_
Mapping: native ID -> spectrum index.
Definition: SpectrumLookup.h:230
static const String & regexp_names_
Named groups recognized in regular expression.
Definition: SpectrumLookup.h:221
const String & getNativeID() const
returns the native identifier for the spectrum, used by the acquisition software.
A more convenient string class.
Definition: String.h:61
int Int
Signed integer type.
Definition: Types.h:102
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47