![]() |
OpenMS
|
Namespace-style container holding the data types shared across the OpenPepXL cross-linking pipeline. More...
#include <OpenMS/ANALYSIS/XLMS/OPXLDataStructs.h>
Classes | |
| struct | AASeqWithMass |
| The AASeqWithMass struct represents a normal peptide with its precomputed mass. More... | |
| struct | AASeqWithMassComparator |
| The AASeqWithMassComparator is a comparator for AASeqWithMass objects. More... | |
| struct | CLSMScoreComparator |
| Comparator to sort CrossLinkSpectrumMatches by the main score. More... | |
| struct | CrossLinkSpectrumMatch |
| The CrossLinkSpectrumMatch struct represents a PSM between a ProteinProteinCrossLink and a spectrum in OpenPepXL. More... | |
| struct | PreprocessedPairSpectra |
| The PreprocessedPairSpectra struct represents the result of comparing a light and a heavy labeled spectra to each other. More... | |
| struct | ProteinProteinCrossLink |
| The ProteinProteinCrossLink struct represents a cross-link between two peptides in OpenPepXL. More... | |
| struct | XLPrecursor |
| The XLPrecursor struct represents a cross-link candidate in the process of filtering candidates by precursor masses in OpenPepXL. More... | |
| struct | XLPrecursorComparator |
| The XLPrecursorComparator is a comparator for XLPrecursors, that allows direct comparison of the XLPrecursor precursor mass with double numbers. More... | |
Public Types | |
| enum | ProteinProteinCrossLinkType { CROSS = 0 , MONO = 1 , LOOP = 2 , NUMBER_OF_CROSS_LINK_TYPES } |
| Kind of cross-linking reaction product. More... | |
| enum | PeptidePosition { INTERNAL = 0 , C_TERM = 1 , N_TERM = 2 } |
| Where the peptide came from in its parent protein after in-silico digestion. More... | |
Namespace-style container holding the data types shared across the OpenPepXL cross-linking pipeline.
OpenPepXL identifies cross-linked peptide pairs from MS/MS spectra. The pipeline needs a small set of plain-data types to carry information between stages: candidate generation, precursor-mass filtering, spectrum matching, scoring, and result aggregation. This class collects those types as nested structs/enums so that callers can refer to them via OPXLDataStructs::CrossLinkSpectrumMatch etc., keeping the global namespace clean.
Type overview:
ProteinProteinCrossLinkType / PeptidePosition — small classification enums.ProteinProteinCrossLink — one fully-specified cross-link candidate (alpha + beta peptide, link positions, linker name/mass/term-specificity).XLPrecursor / XLPrecursorComparator — compact precursor-mass-only view used during the (squared-complexity) peptide-pair enumeration; mass-comparable to plain doubles for binary search.AASeqWithMass / AASeqWithMassComparator — digested peptide plus pre-computed mass, the building block of the candidate enumeration.CrossLinkSpectrumMatch / CLSMScoreComparator — one PSM record carrying both the underlying ProteinProteinCrossLink and the full score/annotation vector used for the xQuest-style output.PreprocessedPairSpectra — the result of light/heavy label-pair denoising on an mzML run. | struct OpenMS::OPXLDataStructs::AASeqWithMass |
The AASeqWithMass struct represents a normal peptide with its precomputed mass.
This struct stores information about a peptide as an AASequence and a PeptidePosition. It is used to enumerate pairs of peptides in OpenPepXL. Since the mass of every peptide is used many times, it is precomputed once and also stored in this struct. A vector of these structs is used to represent the digested protein database in OpenPepXL. An instance of this struct is created only once for each peptide in the digested database, so it does not contribute to memory usage as much as XLPrecursor does.
| Class Members | ||
|---|---|---|
| double | peptide_mass = 0 |
Pre-computed monoisotopic mass of peptide_seq (Da); used as the sort/search key during pair enumeration. |
| AASequence | peptide_seq | The peptide itself, including any modifications carried over from the digest. |
| PeptidePosition | position = PeptidePosition::INTERNAL | Where the peptide sits in its parent protein (gates protein-terminal modifications) |
| string | unmodified_seq | Plain-string view of the peptide without modifications (cached for fast comparison / lookup) |
| struct OpenMS::OPXLDataStructs::CrossLinkSpectrumMatch |
The CrossLinkSpectrumMatch struct represents a PSM between a ProteinProteinCrossLink and a spectrum in OpenPepXL.
This struct contains a ProteinProteinCrossLink and indices to one or two spectra. It also contains the results of a match between the ProteinProteinCrossLink and these spectra as scores and peak annotations. Used as a temporary container to collect results efficiently, since only a few top matches will be kept for each experimental spectrum for output.
| Class Members | ||
|---|---|---|
| ProteinProteinCrossLink | cross_link | structure of the cross-link |
| vector< PeakAnnotation > | frag_annotations | |
| double | int_sum = 0 | |
| double | intsum_alpha = 0 | |
| double | intsum_beta = 0 | |
| double | log_occupancy = 0 | |
| double | log_occupancy_alpha = 0 | |
| double | log_occupancy_beta = 0 | |
| double | match_odds = 0 | |
| double | match_odds_alpha = 0 | |
| double | match_odds_beta = 0 | |
| Size | matched_linear_alpha = 0 | |
| Size | matched_linear_beta = 0 | |
| Size | matched_xlink_alpha = 0 | |
| Size | matched_xlink_beta = 0 | |
| double | num_iso_peaks_mean = 0 | |
| double | num_iso_peaks_mean_linear_alpha = 0 | |
| double | num_iso_peaks_mean_linear_beta = 0 | |
| double | num_iso_peaks_mean_xlinks_alpha = 0 | |
| double | num_iso_peaks_mean_xlinks_beta = 0 | |
| Size | peptide_id_index = 0 | |
| double | percTIC = 0 | |
| double | ppm_error_abs_sum = 0 | |
| double | ppm_error_abs_sum_alpha = 0 | |
| double | ppm_error_abs_sum_beta = 0 | |
| double | ppm_error_abs_sum_linear = 0 | |
| double | ppm_error_abs_sum_linear_alpha = 0 | |
| double | ppm_error_abs_sum_linear_beta = 0 | |
| double | ppm_error_abs_sum_xlinks = 0 | |
| double | ppm_error_abs_sum_xlinks_alpha = 0 | |
| double | ppm_error_abs_sum_xlinks_beta = 0 | |
| double | pre_score = 0 | |
| int | precursor_correction = 0 | |
| double | precursor_error_ppm = 0 | |
| Size | precursor_residual_peak_count = 0 | |
| double | precursor_signal_proportion = 0 | |
| double | precursor_target_intensity = 0 | |
| Size | precursor_target_peak_count = 0 | |
| double | precursor_total_intensity = 0 | |
| Size | rank = 0 | rank among the matches to the same spectrum |
| Size | scan_index_heavy = 0 | |
| Size | scan_index_light = 0 | reference to pair of spectra |
| double | score = 0 | final score |
| double | total_current = 0 | |
| double | wTIC = 0 | |
| double | wTICold = 0 | |
| double | xcorrc_max = 0 | |
| double | xcorrx_max = 0 | |
| double | xquest_score = 0 | counts, scores and other data for xQuest-like output |
| struct OpenMS::OPXLDataStructs::XLPrecursor |
The XLPrecursor struct represents a cross-link candidate in the process of filtering candidates by precursor masses in OpenPepXL.
Since the precursor mass does not change depending on the exact linked residues, one XLPrecursor can represent several ProteinProteinCrossLinks in the process of filtering by precursor mass. The precursor mass is the sum of the masses of the two peptides and the cross-linker. This struct also contains the indices of the two peptides in a vector, so that the two peptides can be identified again. This precursor mass is enumerated for all peptide pairs in the protein database given as input to OpenPepXL and is one of the major contributors to the memory usage of the tool because of the squared complexity of this enumeration. Therefore this should be kept as compact as possible.
| Class Members | ||
|---|---|---|
| unsigned int | alpha_index = 0 | Index of the alpha peptide in the digested-protein-DB vector (the "longer" peptide by convention) |
| string | alpha_seq | Sequence string of the alpha peptide (cached to avoid re-lookup during scoring) |
| unsigned int | beta_index = 0 | Index of the beta peptide in the digested-protein-DB vector (empty/unused for mono- or loop-links) |
| string | beta_seq | Sequence string of the beta peptide (empty for mono- or loop-links) |
| float | precursor_mass {} | Mass of (alpha + beta + cross-linker), in Da; the key used to filter candidates against an experimental precursor. |
| enum PeptidePosition |
Where the peptide came from in its parent protein after in-silico digestion.
Used to gate whether protein-terminal modifications can apply to a peptide: only peptides that contain the protein's N- or C-terminus can carry the corresponding protein-terminal modification.
Kind of cross-linking reaction product.
A cross-link reagent can react in three observable ways at the MS2 level: the canonical inter-peptide cross-link, a mono-link (reagent quenched on one side and attached to only one residue), or a loop-link (reagent bridging two residues within the same peptide). ProteinProteinCrossLink::getType derives this value from the link layout.