Skip to main content

OpairPSM

Struct OpairPSM 

Source
#[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: OpairVersion

The version used to read in the data

§accession: Arc<<OpairPSM as PSMMetaData>::Protein>

Implementations§

Source§

impl OpairPSM

Source

pub fn full_csv_line(&self) -> Option<&[(Arc<String>, String)]>

Get all original columns from the CSV file, only available if the file was opened with the option keep_all_columns turned on.

Trait Implementations§

Source§

impl Clone for OpairPSM

Source§

fn clone(&self) -> OpairPSM

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for OpairPSM

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for OpairPSM

Source§

fn default() -> OpairPSM

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for OpairPSM

Source§

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>

Source§

fn from(value: OpairPSM) -> Self

Converts to this type from the input type.
Source§

impl PSMMetaData for OpairPSM

Source§

type Protein = OpairProtein

The linked protein type
Source§

type SpectrumOutputMode = OutputMolecularFormula

What mode is the spectrum stored in
Source§

fn peptidoform_ion_set(&self) -> Option<Cow<'_, PeptidoformIonSet>>

Get the peptidoform ion set, if present
Source§

fn format(&self) -> KnownFileFormat

Get the format and version for this peptidoform
Source§

fn numerical_id(&self) -> Option<usize>

Get the numerical PSM identifier
Source§

fn id(&self) -> String

Get the PSM identifier
Source§

fn search_engine(&self) -> Option<Term>

Get the search engine that identified this PSM
Source§

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]>>

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)>

Get the original confidence and the term identifying the type of original confidence
Source§

fn original_local_confidence(&self) -> Option<&[f64]>

Get the original local confidence, a score for each amino acid in the peptide
Source§

fn charge(&self) -> Option<Charge>

The charge of the precursor/PSM, if known
Source§

fn mode(&self) -> Option<Cow<'_, str>>

Which fragmentation mode was used, if known
Source§

fn retention_time(&self) -> Option<Time>

The retention time, if known
Source§

fn scans(&self) -> SpectrumIds

The scans per rawfile that are at the basis for this PSM
Source§

fn experimental_mz(&self) -> Option<MassOverCharge>

Get the mz as experimentally determined
Source§

fn experimental_mass(&self) -> Option<Mass>

Get the mass as experimentally determined
Source§

fn proteins(&self) -> Cow<'_, [Self::Protein]>

Get the linked protein
Source§

fn protein_location(&self) -> Option<Range<u16>>

Get the protein location if this was database matched data
Source§

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>)>

The database that was used for matching optionally with the version of the database
Source§

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>

Get the reliability of this PSM
Source§

fn uri(&self) -> Option<String>

Get the URI for this PSM
Source§

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>

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>

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

Get the annotated spectrum if this is encoded in the format
Source§

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

Source§

const VERSIONS: &[&Self::Format]

The list of possible versions
Source§

type Source = CsvLine

The source data where the peptides are parsed form
Source§

type Format = OpairFormat

The format type
Source§

type Complexity = SemiAmbiguous

The complexity marker type
Source§

type PeptidoformAvailability = PeptidoformPresent

The peptidoform availability marker type
Source§

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

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

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

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

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

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>

Parse a source of multiple peptides using the given format or automatically determining the format to use by the first item Read more
Source§

impl PartialEq for OpairPSM

Source§

fn eq(&self, other: &OpairPSM) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for OpairPSM

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for OpairPSM

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AtLeast<T> for T

Source§

impl<T> AtMax<T> for T

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> HighestOf<T> for T

Source§

type HighestLevel = T

This is the highest complexity level out of Self and the type parameter
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,

Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

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

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.