#[non_exhaustive]pub struct OpairPSM {Show 40 fields
pub raw_file: PathBuf,
pub scan_number: usize,
pub rt: Time,
pub precursor_scan_number: usize,
pub mz: MassOverCharge,
pub z: Charge,
pub mass: Mass,
pub protein_location: Option<Range<u16>>,
pub flanking_residues: (FlankingSequence, FlankingSequence),
pub peptide: Peptidoform<SemiAmbiguous>,
pub mod_number: u8,
pub theoretical_mass: Mass,
pub score: f64,
pub rank: u32,
pub matched_ion_series: Box<str>,
pub matched_ion_mz_ratios: Box<str>,
pub matched_ion_intensities: Box<str>,
pub matched_ion_mass_error: Box<str>,
pub matched_ion_ppm: Box<str>,
pub matched_ion_counts: Box<str>,
pub q_value: f64,
pub pep: f64,
pub pep_q_value: f64,
pub localisation_score: f64,
pub yion_score: f64,
pub diagnostic_ion_score: f64,
pub plausible_glycan_number: u8,
pub total_glycosylation_sites: u8,
pub glycan_mass: Mass,
pub plausible_glycan_composition: Box<str>,
pub n_glycan_motif: bool,
pub r138_144: f64,
pub plausible_glycan_structure: Box<str>,
pub glycan_localisation_level: Box<str>,
pub glycan_peptide_site_specificity: Box<str>,
pub glycan_protein_site_specificity: Box<str>,
pub all_potential_glycan_localisations: Box<str>,
pub all_site_specific_localisation_probabilities: Box<str>,
pub version: OpairVersion,
pub accession: Arc<<OpairPSM as PSMMetaData>::Protein>,
/* private fields */
}Expand description
The data for individual entries in Opair files.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.raw_file: PathBuf§scan_number: usize§rt: Time§precursor_scan_number: usize§mz: MassOverCharge§z: Charge§mass: Mass§protein_location: Option<Range<u16>>§flanking_residues: (FlankingSequence, FlankingSequence)§peptide: Peptidoform<SemiAmbiguous>§mod_number: u8§theoretical_mass: Mass§score: f64§rank: u32§matched_ion_series: Box<str>§matched_ion_mz_ratios: Box<str>§matched_ion_intensities: Box<str>§matched_ion_mass_error: Box<str>§matched_ion_ppm: Box<str>§matched_ion_counts: Box<str>§q_value: f64§pep: f64§pep_q_value: f64§localisation_score: f64§yion_score: f64§diagnostic_ion_score: f64§plausible_glycan_number: u8§total_glycosylation_sites: u8§glycan_mass: Mass§plausible_glycan_composition: Box<str>§n_glycan_motif: bool§r138_144: f64§plausible_glycan_structure: Box<str>§glycan_localisation_level: Box<str>§glycan_peptide_site_specificity: Box<str>§glycan_protein_site_specificity: Box<str>§all_potential_glycan_localisations: Box<str>§all_site_specific_localisation_probabilities: Box<str>§version: OpairVersionThe version used to read in the data
accession: Arc<<OpairPSM as PSMMetaData>::Protein>Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for OpairPSM
impl<'de> Deserialize<'de> for OpairPSM
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<OpairPSM> for PSM<SemiAmbiguous, PeptidoformPresent>
impl From<OpairPSM> for PSM<SemiAmbiguous, PeptidoformPresent>
Source§impl PSMMetaData for OpairPSM
impl PSMMetaData for OpairPSM
Source§type Protein = OpairProtein
type Protein = OpairProtein
The linked protein type
Source§type SpectrumOutputMode = OutputMolecularFormula
type SpectrumOutputMode = OutputMolecularFormula
What mode is the spectrum stored in
Source§fn peptidoform_ion_set(&self) -> Option<Cow<'_, PeptidoformIonSet>>
fn peptidoform_ion_set(&self) -> Option<Cow<'_, PeptidoformIonSet>>
Get the peptidoform ion set, if present
Source§fn format(&self) -> KnownFileFormat
fn format(&self) -> KnownFileFormat
Get the format and version for this peptidoform
Source§fn numerical_id(&self) -> Option<usize>
fn numerical_id(&self) -> Option<usize>
Get the numerical PSM identifier
Source§fn search_engine(&self) -> Option<Term>
fn search_engine(&self) -> Option<Term>
Get the search engine that identified this PSM
Source§fn confidence(&self) -> Option<f64>
fn confidence(&self) -> Option<f64>
Get the normalised confidence, a score between -1 and 1 describing the confidence in the
entire PSM
Source§fn local_confidence(&self) -> Option<Cow<'_, [f64]>>
fn local_confidence(&self) -> Option<Cow<'_, [f64]>>
Get the normalised local confidence, a score between -1 and 1 for each amino acid in the
peptide
Source§fn original_confidence(&self) -> Option<(f64, Term)>
fn original_confidence(&self) -> Option<(f64, Term)>
Get the original confidence and the term identifying the type of original confidence
Source§fn original_local_confidence(&self) -> Option<&[f64]>
fn original_local_confidence(&self) -> Option<&[f64]>
Get the original local confidence, a score for each amino acid in the peptide
Source§fn retention_time(&self) -> Option<Time>
fn retention_time(&self) -> Option<Time>
The retention time, if known
Source§fn scans(&self) -> SpectrumIds
fn scans(&self) -> SpectrumIds
The scans per rawfile that are at the basis for this PSM
Source§fn experimental_mz(&self) -> Option<MassOverCharge>
fn experimental_mz(&self) -> Option<MassOverCharge>
Get the mz as experimentally determined
Source§fn experimental_mass(&self) -> Option<Mass>
fn experimental_mass(&self) -> Option<Mass>
Get the mass as experimentally determined
Source§fn protein_location(&self) -> Option<Range<u16>>
fn protein_location(&self) -> Option<Range<u16>>
Get the protein location if this was database matched data
Source§fn flanking_sequences(&self) -> (&FlankingSequence, &FlankingSequence)
fn flanking_sequences(&self) -> (&FlankingSequence, &FlankingSequence)
Get the flanking sequences on the N and C terminal side.
The reported sequences are both in N to C direction.
Source§fn database(&self) -> Option<(&str, Option<&str>)>
fn database(&self) -> Option<(&str, Option<&str>)>
The database that was used for matching optionally with the version of the database
Source§fn unique(&self) -> Option<bool>
fn unique(&self) -> Option<bool>
Get if this PSM is marked as a unique match for its database match, note that this might not
be true anymore if multiple streams of data are merged
Source§fn reliability(&self) -> Option<Reliability>
fn reliability(&self) -> Option<Reliability>
Get the reliability of this PSM
Source§fn fragmentation_model(&self) -> Option<BuiltInFragmentationModel>
fn fragmentation_model(&self) -> Option<BuiltInFragmentationModel>
Which built-in fragmentation model this fragmentation mode matches to.
The default implementation matches on the textual output of [
MetaData::mode].
If needed a custom implementation can be made.Source§fn ppm_error(&self) -> Option<Ratio>
fn ppm_error(&self) -> Option<Ratio>
Get the absolute ppm error between the experimental and theoretical precursor mass, if there
are multiple masses possible returns the smallest ppm
Source§fn mass_error(&self) -> Option<Mass>
fn mass_error(&self) -> Option<Mass>
Get the absolute mass error between the experimental and theoretical precursor mass, if
there are multiple masses possible returns the smallest difference
Source§fn annotated_spectrum(
&self,
) -> Option<Cow<'_, AnnotatedSpectrum<Self::SpectrumOutputMode>>>
fn annotated_spectrum( &self, ) -> Option<Cow<'_, AnnotatedSpectrum<Self::SpectrumOutputMode>>>
Get the annotated spectrum if this is encoded in the format
Source§fn has_annotated_spectrum(&self) -> bool
fn has_annotated_spectrum(&self) -> bool
Check if this spectrum has an annotated spectrum available.
This can be overwritten to built a faster implementation if creating the spectrum needs to
happen at runtime.
Source§impl PSMSource for OpairPSM
impl PSMSource for OpairPSM
Source§type Format = OpairFormat
type Format = OpairFormat
The format type
Source§type Complexity = SemiAmbiguous
type Complexity = SemiAmbiguous
The complexity marker type
Source§type PeptidoformAvailability = PeptidoformPresent
type PeptidoformAvailability = PeptidoformPresent
The peptidoform availability marker type
Source§type Version = OpairVersion
type Version = OpairVersion
The version type
Source§fn parse(
source: &Self::Source,
ontologies: &Ontologies,
keep_all_columns: bool,
proteins: &mut HashMap<String, Arc<<OpairPSM as PSMMetaData>::Protein>>,
) -> Result<(Self, &'static Self::Format), BoxedError<'static, BasicKind>>
fn parse( source: &Self::Source, ontologies: &Ontologies, keep_all_columns: bool, proteins: &mut HashMap<String, Arc<<OpairPSM as PSMMetaData>::Protein>>, ) -> Result<(Self, &'static Self::Format), BoxedError<'static, BasicKind>>
Parse a single PSM from its source and return the detected format Read more
Source§fn parse_file(
path: impl AsRef<Path>,
ontologies: &Ontologies,
keep_all_columns: bool,
version: Option<Self::Version>,
) -> Result<BoxedIdentifiedPeptideIter<'_, Self>, BoxedError<'static, BasicKind>>
fn parse_file( path: impl AsRef<Path>, ontologies: &Ontologies, keep_all_columns: bool, version: Option<Self::Version>, ) -> Result<BoxedIdentifiedPeptideIter<'_, Self>, BoxedError<'static, BasicKind>>
Parse a file with PSMs. Read more
Source§fn parse_reader<'a>(
reader: impl Read + 'a,
ontologies: &'a Ontologies,
keep_all_columns: bool,
version: Option<Self::Version>,
) -> Result<BoxedIdentifiedPeptideIter<'a, Self>, BoxedError<'static, BasicKind>>
fn parse_reader<'a>( reader: impl Read + 'a, ontologies: &'a Ontologies, keep_all_columns: bool, version: Option<Self::Version>, ) -> Result<BoxedIdentifiedPeptideIter<'a, Self>, BoxedError<'static, BasicKind>>
Parse a reader with PSMs. Read more
Source§fn parse_specific(
source: &Self::Source,
format: &OpairFormat,
ontologies: &Ontologies,
keep_all_columns: bool,
proteins: &mut HashMap<String, Arc<<OpairPSM as PSMMetaData>::Protein>>,
) -> Result<Self, BoxedError<'static, BasicKind>>
fn parse_specific( source: &Self::Source, format: &OpairFormat, ontologies: &Ontologies, keep_all_columns: bool, proteins: &mut HashMap<String, Arc<<OpairPSM as PSMMetaData>::Protein>>, ) -> Result<Self, BoxedError<'static, BasicKind>>
Parse a single PSM with the given format Read more
Source§fn post_process(
_source: &CsvLine,
parsed: Self,
_ontologies: &Ontologies,
) -> Result<Self, BoxedError<'static, BasicKind>>
fn post_process( _source: &CsvLine, parsed: Self, _ontologies: &Ontologies, ) -> Result<Self, BoxedError<'static, BasicKind>>
Allow post processing of the peptide Read more
Source§fn parse_many<I: Iterator<Item = Result<Self::Source, BoxedError<'static, BasicKind>>>>(
iter: I,
ontologies: &Ontologies,
keep_all_columns: bool,
format: Option<Self::Format>,
) -> PSMIter<'_, Self, I> ⓘ
fn parse_many<I: Iterator<Item = Result<Self::Source, BoxedError<'static, BasicKind>>>>( iter: I, ontologies: &Ontologies, keep_all_columns: bool, format: Option<Self::Format>, ) -> PSMIter<'_, Self, I> ⓘ
Parse a source of multiple peptides using the given format or automatically determining the
format to use by the first item Read more
impl StructuralPartialEq for OpairPSM
Auto Trait Implementations§
impl !RefUnwindSafe for OpairPSM
impl !UnwindSafe for OpairPSM
impl Freeze for OpairPSM
impl Send for OpairPSM
impl Sync for OpairPSM
impl Unpin for OpairPSM
impl UnsafeUnpin for OpairPSM
Blanket Implementations§
impl<T> AtLeast<T> for T
impl<T> AtMax<T> for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> HighestOf<T> for T
impl<T> HighestOf<T> for T
Source§type HighestLevel = T
type HighestLevel = T
This is the highest complexity level out of Self and the type parameter
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreimpl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.