OpenMS
2.4.0
|
The ChromatogramExtractor extracts chromatograms from a spectra file. 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 | |
template<typename ExperimentT > | |
void | extractChromatograms (const ExperimentT &input, ExperimentT &output, OpenMS::TargetedExperiment &transition_exp, double mz_extraction_window, bool ppm, TransformationDescription trafo, double rt_extraction_window, const String &filter) |
Extract chromatograms defined by the TargetedExperiment from the input map and write them to the output map. More... | |
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... | |
template<typename SpectrumT > | |
void | extract_value_tophat (const SpectrumT &input, const double mz, Size &peak_idx, double &integrated_intensity, const double extract_window, const bool ppm) |
template<typename SpectrumT > | |
void | extract_value_bartlett (const SpectrumT &input, const double mz, Size &peak_idx, double &integrated_intensity, const double extract_window, const bool ppm) |
Public Member Functions inherited from ProgressLogger | |
ProgressLogger () | |
Constructor. More... | |
~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 | 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 () const |
Ends the progress display. More... | |
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) |
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) |
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) |
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 | |
Static Protected Member Functions inherited from ProgressLogger | |
static String | logTypeToFactoryName_ (LogType type) |
Return the name of the factory product used for this log type. More... | |
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 from a spectra file.
It will take as input a set of transitions coordinates and will extract the signal of the provided map at the product ion m/z and retention time (rt) values specified by the extraction coordinates. There are two interfaces, the old interface will take a full TargetedExperiment and assume that one wants to extract at the m/z of the transitions present in the TargetedExperiment. The new interface (see also the ChromatogramExtractorAlgorithm class) only expects a set of coordinates which are up to the user to fill but a convenient prepare_coordinates function is provided to create the coordinates for the most common case of an MS2 and MS1 extraction.
In the case of MS2 extraction, the map is assumed to originate from a SWATH (data-independent acquisition or DIA) experiment.
|
staticprivate |
Extracts id (peptide sequence or compound name) for a compound.
transition_exp | 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 |
|
inline |
|
inline |
Extract chromatograms defined by the TargetedExperiment from the input map and write them to the output map.
input | The input spectra from which to extract chromatograms |
output | The output vector in which to store the chromatograms |
transition_exp | 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 |
trafo | A transformation description for RT space |
rt_extraction_window | Extracts a window of this size in RT dimension (e.g. a window of 600 seconds means an extraction of 300 seconds on either side) |
filter | Which filter to use (bartlett or tophat) |
References TargetedExperiment::getTransitions(), TransformationDescription::invert(), OpenMS::Constants::k, and TargetedExperiment::sortTransitionsByProductMZ().
|
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) |
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(), Product::setMZ(), and Peak1D::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
References ChromatogramSettings::BASEPEAK_CHROMATOGRAM, OpenSwathDataAccessHelper::convertToOpenMSChromatogram(), SpectrumSettings::getAcquisitionInfo(), ChromatogramSettings::getDataProcessing(), SpectrumSettings::getDataProcessing(), SpectrumSettings::getInstrumentSettings(), SpectrumSettings::getPrecursors(), SpectrumSettings::getSourceFile(), ChromatogramExtractorAlgorithm::ExtractionCoordinates::id, ChromatogramExtractorAlgorithm::ExtractionCoordinates::mz, ChromatogramSettings::SELECTED_REACTION_MONITORING_CHROMATOGRAM, ChromatogramSettings::setAcquisitionInfo(), Precursor::setCharge(), ChromatogramSettings::setChromatogramType(), ChromatogramSettings::setInstrumentSettings(), Precursor::setIsolationWindowLowerOffset(), Precursor::setIsolationWindowUpperOffset(), MetaInfoInterface::setMetaValue(), Product::setMZ(), Peak1D::setMZ(), ChromatogramSettings::setNativeID(), ChromatogramSettings::setPrecursor(), ChromatogramSettings::setProduct(), and ChromatogramSettings::setSourceFile().
|
private |