OpenMS
Loading...
Searching...
No Matches
ProSEAlgorithm.h File Reference
Include dependency graph for ProSEAlgorithm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ProSEAlgorithm
 Fragment-index-based peptide database search algorithm (experimental). More...
 
struct  ProSEAlgorithm::SearchResult
 Comprehensive search result including modification analysis. More...
 
struct  ProSEAlgorithm::MultiFileSearchResult
 Multi-file search result bundle. More...
 
struct  ProSEAlgorithm::SearchContext
 Prepared per-database state shared across multiple spectrum files. More...
 
struct  ProSEAlgorithm::AnnotatedHit_
 Slimmer structure as storing all scored candidates in PeptideHit objects takes too much space. More...
 
struct  ProSEAlgorithm::CalibrationResult_
 Result of a calibration pass. More...
 

Namespaces

namespace  OpenMS
 Main OpenMS namespace.
 

Class Documentation

◆ OpenMS::ProSEAlgorithm::SearchResult

struct OpenMS::ProSEAlgorithm::SearchResult

Comprehensive search result including modification analysis.

This structure contains all outputs from an open search including:

  • Standard protein and peptide identifications
  • Delta mass statistics table (histogram of mass shifts)
  • PTM statistics table (mapped modifications with residue analysis)
Collaboration diagram for ProSEAlgorithm::SearchResult:
[legend]
Class Members
ExitCodes exit_code = ExitCodes::EXECUTION_OK
bool is_open_search = false
OpenSearchAnalysisResult modification_analysis
PeptideIdentificationList peptide_ids
vector< ProteinIdentification > protein_ids

◆ OpenMS::ProSEAlgorithm::MultiFileSearchResult

struct OpenMS::ProSEAlgorithm::MultiFileSearchResult

Multi-file search result bundle.

Returned by the file-list searchWithModificationAnalysis() overloads. Holds one SearchResult per input file (in per_file, in input order) and a single aggregate result whose peptide_ids are the concatenation of all per-file PSMs and whose modification_analysis is computed once on the pooled set of PSMs.

Special cases for aggregate:

  • When the input list contains exactly one file, aggregate is left almost-empty (only is_open_search and exit_code are set) — the single-file pooled aggregate would just duplicate per_file[0] and re-run modification analysis on the same PSMs. Callers should use per_file[0] for the result in this case.
  • When every per-file run failed, aggregate.exit_code is set to the first non-OK per-file exit code (so callers can inspect it without walking the per_file vector).

The aggregate's protein_ids template is taken from the first successful per-file result (search parameters are identical across files by construction), with the primary MS run path overwritten to list every input file.

Collaboration diagram for ProSEAlgorithm::MultiFileSearchResult:
[legend]
Class Members
SearchResult aggregate
vector< SearchResult > per_file

◆ OpenMS::ProSEAlgorithm::SearchContext

struct OpenMS::ProSEAlgorithm::SearchContext

Prepared per-database state shared across multiple spectrum files.

Holds the (decoy-augmented) protein database and the built FragmentIndex so that searching N spectrum files against the same FASTA pays the index build cost only once. Construct via prepareContext() and pass to the context-taking search() overload.

Collaboration diagram for ProSEAlgorithm::SearchContext:
[legend]
Class Members
vector< FASTAEntry > db
FragmentIndex fragment_index

◆ OpenMS::ProSEAlgorithm::CalibrationResult_

struct OpenMS::ProSEAlgorithm::CalibrationResult_

Result of a calibration pass.

Holds the estimated precursor and fragment tolerances computed from confident PSMs during the calibration pass. When success is false, the tolerance values are undefined and should not be used.

Collaboration diagram for ProSEAlgorithm::CalibrationResult_:
[legend]
Class Members
double cal_lower {0} calibrated lower magnitude (valid iff !extreme_bias && success)
double cal_upper {0} calibrated upper magnitude (valid iff !extreme_bias && success)
bool extreme_bias {false} |shift| >= spread — writeback skipped (test observability)
double fragment_shift {0} reserved for future fragment m/z shift correction
double fragment_tolerance {0} estimated fragment tolerance (same unit as configured)
double precursor_shift {0} signed median of precursor errors (calibration bias)
double precursor_spread {0} median(|e - shift|) + 3 * MAD(|e - shift|)
bool success {false} true if enough PSMs were found for reliable estimation