OpenMS
|
The ChromatogramExtractor extracts chromatograms (intensity vs retention time) from mass spectrometry data. More...
#include <OpenMS/ANALYSIS/OPENSWATH/ChromatogramExtractor.h>
Public Types | |
typedef ChromatogramExtractorAlgorithm::ExtractionCoordinates | ExtractionCoordinates |
Public Types inherited from ProgressLogger | |
enum | LogType { CMD , GUI , NONE } |
Possible log types. More... | |
Public Member Functions | |
void | extractChromatograms (const OpenSwath::SpectrumAccessPtr input, std::vector< OpenSwath::ChromatogramPtr > &output, const std::vector< ExtractionCoordinates > &extraction_coordinates, double mz_extraction_window, bool ppm, const String &filter) |
Extract chromatograms at the m/z and RT defined by the ExtractionCoordinates. More... | |
void | extractChromatograms (const OpenSwath::SpectrumAccessPtr input, std::vector< OpenSwath::ChromatogramPtr > &output, const std::vector< ExtractionCoordinates > &extraction_coordinates, double mz_extraction_window, bool ppm, double im_extraction_window, const String &filter) |
Extract chromatograms at the m/z and RT defined by the ExtractionCoordinates. More... | |
Public Member Functions inherited from ProgressLogger | |
ProgressLogger () | |
Constructor. More... | |
virtual | ~ProgressLogger () |
Destructor. More... | |
ProgressLogger (const ProgressLogger &other) | |
Copy constructor. More... | |
ProgressLogger & | operator= (const ProgressLogger &other) |
Assignment Operator. More... | |
void | setLogType (LogType type) const |
Sets the progress log that should be used. The default type is NONE! More... | |
LogType | getLogType () const |
Returns the type of progress log being used. More... | |
void | setLogger (ProgressLoggerImpl *logger) |
Sets the logger to be used for progress logging. More... | |
void | startProgress (SignedSize begin, SignedSize end, const String &label) const |
Initializes the progress display. More... | |
void | setProgress (SignedSize value) const |
Sets the current progress. More... | |
void | endProgress (UInt64 bytes_processed=0) const |
void | nextProgress () const |
increment progress by 1 (according to range begin-end) More... | |
Static Public Member Functions | |
static void | prepare_coordinates (std::vector< OpenSwath::ChromatogramPtr > &output_chromatograms, std::vector< ExtractionCoordinates > &coordinates, const OpenMS::TargetedExperiment &transition_exp, const double rt_extraction_window, const bool ms1=false, const int ms1_isotopes=0) |
Prepare the extraction coordinates from a TargetedExperiment. More... | |
static void | prepare_coordinates (std::vector< OpenSwath::ChromatogramPtr > &output_chromatograms, std::vector< ExtractionCoordinates > &coordinates, const OpenSwath::LightTargetedExperiment &transition_exp_used, const double rt_extraction_window, const bool ms1=false, const int ms1_isotopes=0) |
template<typename TransitionExpT > | |
static void | return_chromatogram (const std::vector< OpenSwath::ChromatogramPtr > &chromatograms, const std::vector< ChromatogramExtractor::ExtractionCoordinates > &coordinates, TransitionExpT &transition_exp_used, SpectrumSettings settings, std::vector< OpenMS::MSChromatogram > &output_chromatograms, bool ms1, double im_extraction_width=0.0) |
This converts the ChromatogramPtr to MSChromatogram and adds meta-information. More... | |
Private Member Functions | |
template<class SpectrumSettingsT , class ChromatogramT > | |
void | prepareSpectra_ (SpectrumSettingsT &settings, std::vector< ChromatogramT > &chromatograms, OpenMS::TargetedExperiment &transition_exp) |
This populates the chromatograms vector with empty chromatograms (but sets their meta-information) More... | |
bool | outsideExtractionWindow_ (const ReactionMonitoringTransition &transition, double current_rt, const TransformationDescription &trafo, double rt_extraction_window) |
int | getFilterNr_ (const String &filter) |
void | populatePeptideRTMap_ (OpenMS::TargetedExperiment &transition_exp, double rt_extraction_window) |
Static Private Member Functions | |
template<typename TransitionExpT > | |
static String | extract_id_ (TransitionExpT &transition_exp_used, const String &id, int &prec_charge) |
Extracts id (peptide sequence or compound name) for a compound. More... | |
Private Attributes | |
std::map< OpenMS::String, double > | PeptideRTMap_ |
Additional Inherited Members | |
Protected Attributes inherited from ProgressLogger | |
LogType | type_ |
time_t | last_invoke_ |
ProgressLoggerImpl * | current_logger_ |
Static Protected Attributes inherited from ProgressLogger | |
static int | recursion_depth_ |
The ChromatogramExtractor extracts chromatograms (intensity vs retention time) from mass spectrometry data.
This class provides functionality to extract chromatographic traces from mass spectrometry data based on specified coordinates (m/z, retention time, and optionally ion mobility values).
The extractor supports two main interfaces:
Key features:
For MS2 extractions, the input data is expected to come from a SWATH/DIA experiment where precursor ions are fragmented in wide isolation windows, allowing for extraction of fragment ion chromatograms.
|
staticprivate |
Extracts id (peptide sequence or compound name) for a compound.
transition_exp_used | The transition experiment used as input (is constant) and either of type LightTargetedExperiment or TargetedExperiment |
id | The identifier of the compound or peptide |
prec_charge | The charge state of the precursor |
|
inline |
Extract chromatograms at the m/z and RT defined by the ExtractionCoordinates.
input | The input spectra from which to extract chromatograms |
output | The output vector in which to store the chromatograms (needs to be of the same length as the extraction coordinates, use prepare_coordinates) |
extraction_coordinates | The extraction coordinates (m/z, RT, ion mobility) |
mz_extraction_window | Extracts a window of this size in m/z dimension (e.g. a window of 50 ppm means an extraction of 25 ppm on either side) |
ppm | Whether mz windows in in ppm |
filter | Which filter to use (bartlett or tophat) |
References ChromatogramExtractorAlgorithm::extractChromatograms().
|
inline |
Extract chromatograms at the m/z and RT defined by the ExtractionCoordinates.
input | The input spectra from which to extract chromatograms |
output | The output vector in which to store the chromatograms (needs to be of the same length as the extraction coordinates, use prepare_coordinates) |
extraction_coordinates | The extraction coordinates (m/z, RT, ion mobility) |
mz_extraction_window | Extracts a window of this size in m/z dimension (e.g. a window of 50 ppm means an extraction of 25 ppm on either side) |
ppm | Whether mz windows in in ppm |
im_extraction_window | Extracts a window of this size in ion mobility |
filter | Which filter to use (bartlett or tophat) |
References ChromatogramExtractorAlgorithm::extractChromatograms().
|
private |
|
private |
|
private |
|
static |
Prepare the extraction coordinates from a TargetedExperiment.
Will fill the coordinates vector with the appropriate extraction coordinates (transitions for MS2 extraction, peptide m/z for MS1 extraction). The output will be sorted by m/z.
output_chromatograms | An empty vector which will be initialized correctly |
coordinates | An empty vector which will be filled with the appropriate extraction coordinates in m/z and rt and sorted by m/z (to be used as input to extractChromatograms) |
transition_exp | The transition experiment used as input (is constant) |
rt_extraction_window | If non-negative, full RT extraction window, centered on the first RT value (rt_end - rt_start will equal this window size). If negative, rt_end will be set to -1 and rt_start to 0 (i.e. full RT range). If NaN, exactly two RT entries are expected
|
ms1 | Whether to extract for MS1 (peptide level) or MS2 (transition level) |
ms1_isotopes | Number of isotopes to include in coordinates when in MS1 mode |
Exception::IllegalArgument | if RT values are expected (depending on rt_extraction_window ) but not provided |
|
static |
|
inlineprivate |
This populates the chromatograms vector with empty chromatograms (but sets their meta-information)
It extracts 1) the target m/z 2) the isolation window (upper/lower) 3) the peptide sequence 4) the fragment m/z 5) Copy the meta-data, e.g. InstrumentSettings, AcquisitionInfo, sourceFile and DataProcessing 6) the native ID from the transition
References ReactionMonitoringTransition::getCompoundRef(), TargetedExperiment::getCompounds(), ReactionMonitoringTransition::getNativeID(), ReactionMonitoringTransition::getPeptideRef(), TargetedExperiment::getPeptides(), ReactionMonitoringTransition::getPrecursorMZ(), ReactionMonitoringTransition::getProductMZ(), TargetedExperiment::getTransitions(), PeptideCompound::id, ChromatogramSettings::SELECTED_REACTION_MONITORING_CHROMATOGRAM, Peptide::sequence, Precursor::setIsolationWindowLowerOffset(), Precursor::setIsolationWindowUpperOffset(), MetaInfoInterface::setMetaValue(), Peak1D::setMZ(), and Product::setMZ().
|
inlinestatic |
This converts the ChromatogramPtr to MSChromatogram and adds meta-information.
It sets 1) the target m/z 2) the isolation window (upper/lower) 3) the peptide sequence 4) the fragment m/z 5) the meta-data, e.g. InstrumentSettings, AcquisitionInfo, sourceFile and DataProcessing 6) the native ID from the transition 7) ion mobility extraction target and window (lower/upper)
References ChromatogramSettings::BASEPEAK_CHROMATOGRAM, OpenSwathHelper::computeTransitionGroupId(), OpenSwathDataAccessHelper::convertToOpenMSChromatogram(), SpectrumSettings::getAcquisitionInfo(), ChromatogramSettings::getDataProcessing(), SpectrumSettings::getDataProcessing(), SpectrumSettings::getInstrumentSettings(), SpectrumSettings::getPrecursors(), SpectrumSettings::getSourceFile(), ChromatogramExtractorAlgorithm::ExtractionCoordinates::id, ChromatogramExtractorAlgorithm::ExtractionCoordinates::ion_mobility, ChromatogramExtractorAlgorithm::ExtractionCoordinates::mz, ChromatogramSettings::SELECTED_REACTION_MONITORING_CHROMATOGRAM, ChromatogramSettings::setAcquisitionInfo(), Precursor::setCharge(), ChromatogramSettings::setChromatogramType(), Precursor::setDriftTime(), Precursor::setDriftTimeWindowLowerOffset(), Precursor::setDriftTimeWindowUpperOffset(), ChromatogramSettings::setInstrumentSettings(), Precursor::setIsolationWindowLowerOffset(), Precursor::setIsolationWindowUpperOffset(), MetaInfoInterface::setMetaValue(), Peak1D::setMZ(), Product::setMZ(), ChromatogramSettings::setNativeID(), ChromatogramSettings::setPrecursor(), ChromatogramSettings::setProduct(), and ChromatogramSettings::setSourceFile().
|
private |