OpenMS
Loading...
Searching...
No Matches
NuXLRescoring Struct Reference

Helpers of NuXL:rescoring: the delta score, the training hits of the self-trained ion likelihood, the native score. More...

#include <OpenNuXL/include/NuXLRescoring.h>

Classes

struct  ScoreGap
 Best score of the hits of a spectrum and the best score of a different (unmodified) peptide sequence. More...
 

Static Public Member Functions

static std::array< std::vector< Size >, 2 > confidentHitsPerHalf (const PeptideIdentificationList &peptide_ids, double fdr, std::array< std::array< Size, 2 >, 2 > &counts)
 Training hits of self-trained models.
 
static void rescoreHits (PeptideIdentificationList &peptide_ids)
 NuXL:rescoring native: score = NuXL:score + DELTA_WEIGHT * NuXL:delta_score (cross-links only)
 

Static Public Attributes

static constexpr double TRAIN_FDR = 0.05
 FDR threshold of the training hits of the self-trained ion likelihood.
 
static constexpr double DELTA_WEIGHT = 1.0
 Weights of the native score (PXD048145, RNA-UV): see rescoreHits()
 
static constexpr double ION_LLR_WEIGHT = 0.3
 

Detailed Description

Helpers of NuXL:rescoring: the delta score, the training hits of the self-trained ion likelihood, the native score.

Member Function Documentation

◆ confidentHitsPerHalf()

std::array< std::vector< Size >, 2 > confidentHitsPerHalf ( const PeptideIdentificationList &  peptide_ids,
double  fdr,
std::array< std::array< Size, 2 >, 2 > &  counts 
)
static

Training hits of self-trained models.

The spectra are split into two halves by the parity of their "scan_index". Per half and class (cross-link or not, NuXL:isXL), the identifications whose best (first) hit is a target at q <= fdr, with q = (D + 1) / T over the hit score computed within the half (decoys win ties). Identifications without hits or scan index are skipped.

Parameters
[in]peptide_idsidentifications with target/decoy annotated hits, the best hit first
[in]fdrq-value threshold of the training hits
[out]countstraining hits per [half][class] (class 1: cross-links)
Returns
indices into peptide_ids per half

References PeptideIdentification::getHits(), MetaInfoInterface::getMetaValue(), PeptideHit::getScore(), PeptideHit::isDecoy(), MetaInfoInterface::metaValueExists(), and ExposedVector< VectorElement >::size().

◆ rescoreHits()

void rescoreHits ( PeptideIdentificationList &  peptide_ids)
static

NuXL:rescoring native: score = NuXL:score + DELTA_WEIGHT * NuXL:delta_score (cross-links only)

  • ION_LLR_WEIGHT * NuXL:ion_llr, for every hit; then the hits of each identification are sorted and ranked again.

The delta score is added to cross-links only: for non-cross-linked peptides it gained PSMs at 1% FDR but lost some at 10% FDR. Missing meta values count as 0.

References NuXLRescoring::DELTA_WEIGHT, and NuXLRescoring::ION_LLR_WEIGHT.

Member Data Documentation

◆ DELTA_WEIGHT

constexpr double DELTA_WEIGHT = 1.0
staticconstexpr

Weights of the native score (PXD048145, RNA-UV): see rescoreHits()

Referenced by NuXLRescoring::rescoreHits().

◆ ION_LLR_WEIGHT

constexpr double ION_LLR_WEIGHT = 0.3
staticconstexpr

◆ TRAIN_FDR

constexpr double TRAIN_FDR = 0.05
staticconstexpr

FDR threshold of the training hits of the self-trained ion likelihood.