OpenMS
Loading...
Searching...
No Matches
RNAPrecursorCorrector Class Reference

Correct MS2 precursor m/z from FLASH RNA envelopes in the parent MS1 scan. More...

#include <NucleicAcidSearchEngine/include/RNAPrecursorCorrector.h>

Classes

struct  Result
 

Public Member Functions

 RNAPrecursorCorrector (double tolerance_ppm, int min_abs_charge, int max_abs_charge, bool positive, double max_mass=1000.0, double min_cos=0.85, double min_snr=0.25)
 Configure MS1-supported RNA precursor correction.
 
Result match (const DeconvolvedSpectrum &groups, const Precursor &precursor) const
 Select a unique envelope independently of RNA sequence matches or scores.
 
std::vector< Result > correct (MSExperiment &experiment)
 Correct selected-ion values without moving acquisition isolation windows.
 

Static Public Member Functions

static void storeReport (const std::string &filename, const std::vector< Result > &results)
 Write one tab-delimited audit row per MS2, including unresolved scans.
 

Private Attributes

RNADirectedDeconvolution detector_
 
double tolerance_ppm_
 
double min_cos_
 
double min_snr_
 
int min_abs_charge_
 
int max_abs_charge_
 
bool positive_
 

Detailed Description

Correct MS2 precursor m/z from FLASH RNA envelopes in the parent MS1 scan.

Construct precursor-related FLASH envelopes using the complete parent MS1. Match the selected ion to an observed isotope at the reported charge. Unknown charges can be inferred from a unique envelope. Missing monoisotopes are allowed. FLASH supplies the isotope index; subtract its mass shift from the instrument's selected-ion m/z to preserve the original mass precision. Ambiguous or unmatched precursors retain their original m/z and charge. Accepted corrections preserve the input charge sign convention.

Constructor & Destructor Documentation

◆ RNAPrecursorCorrector()

RNAPrecursorCorrector ( double  tolerance_ppm,
int  min_abs_charge,
int  max_abs_charge,
bool  positive,
double  max_mass = 1000.0,
double  min_cos = 0.85,
double  min_snr = 0.25 
)

Configure MS1-supported RNA precursor correction.

Parameters
[in]tolerance_ppmSelected-ion and envelope tolerance in ppm.
[in]min_abs_chargeSmallest charge magnitude to consider.
[in]max_abs_chargeLargest charge magnitude to consider.
[in]positiveUse positive ionization mode.
[in]max_massLargest neutral mass in Da (default: 1000). Explicit limits are used unchanged.
Exceptions
Exception::IllegalArgumentIf tolerance_ppm is not finite and positive, charge magnitudes are invalid, min_cos or min_snr is non-finite, or max_mass is non-finite or below the FLASH minimum mass (50 Da).
Parameters
[in]min_cosMinimum charge-specific isotope cosine.
[in]min_snrMinimum charge-specific envelope SNR.

References SpectralDeconvolution::calculateAveragine(), RNAPrecursorCorrector::detector_, DefaultParamHandler::getParameters(), Param::getValue(), DefaultParamHandler::setParameters(), and Param::setValue().

Member Function Documentation

◆ correct()

std::vector< RNAPrecursorCorrector::Result > correct ( MSExperiment &  experiment)

Correct selected-ion values without moving acquisition isolation windows.

Batch all selected ions sharing a parent MS1 and deconvolve that parent once. Retain correction results only, without caching raw MS1 copies or envelopes. MS1 peaks may be unsorted; any sorting uses a copy and preserves the original scan. Prefer spectrum_ref; invalid references fall back to the preceding MS1 and are reported. Replace earlier FLASH annotations; unresolved results omit accepted-only fields.

Parameters
[in,out]experimentOriginal MS1/MS2 experiment in acquisition order.
Returns
One audit result for each MS2, including unresolved scans.

References RNAPrecursorCorrector::Result::charge, RNAPrecursorCorrector::Result::corrected_mz, RNADirectedDeconvolution::deconvolve(), RNAPrecursorCorrector::detector_, found, SpectralDeconvolution::getDeconvolvedSpectrum(), RNAPrecursorCorrector::match(), RNAPrecursorCorrector::Result::original_charge, RNAPrecursorCorrector::Result::original_mz, RNAPrecursorCorrector::Result::parent, RNAPrecursorCorrector::Result::parent_peak_count, RNAPrecursorCorrector::Result::parent_source, MetaInfoInterface::setMetaValue(), MSExperiment::size(), RNAPrecursorCorrector::Result::spectrum, and RNAPrecursorCorrector::Result::status.

Referenced by NucleicAcidSearchEngine::main_().

◆ match()

◆ storeReport()

void storeReport ( const std::string &  filename,
const std::vector< Result > &  results 
)
static

Write one tab-delimited audit row per MS2, including unresolved scans.

Parameters
[in]filenameAudit output path.
[in]resultsCorrection results in acquisition order.

References TextFile::addLine(), TextFile::store(), and OpenMS::StringUtils::toStr().

Referenced by NucleicAcidSearchEngine::main_().

Member Data Documentation

◆ detector_

◆ max_abs_charge_

int max_abs_charge_
private

◆ min_abs_charge_

int min_abs_charge_
private

◆ min_cos_

double min_cos_
private

◆ min_snr_

double min_snr_
private

◆ positive_

bool positive_
private

◆ tolerance_ppm_

double tolerance_ppm_
private