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

SpectralDeconvolution 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.

Match the reported selected ion to an observed isotope at the reported charge. Unknown charges can be inferred from a unique envelope. Missing monoisotopes are allowed when FLASH still assigns a unique high-quality envelope. Isotope shifts are subtracted from the instrument's selected-ion m/z. 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)

◆ 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