#[non_exhaustive]pub struct Allele<'a> {
pub species: Species,
pub gene: Cow<'a, Gene>,
pub number: usize,
pub sequence: &'a Peptidoform<UnAmbiguous>,
pub regions: &'a [(Region, usize)],
pub annotations: &'a [(Annotation, usize)],
}Expand description
A returned allele
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.species: SpeciesThe species where this gene originates from
gene: Cow<'a, Gene>The gene where this is the sequence for, eg IGHV3-23
number: usizeThe allele number, in IMGT this follows the name, eg *01 is the allele in IGHV3-23*01
sequence: &'a Peptidoform<UnAmbiguous>The actual sequence, the sequences present in the database are pure amino acids, no modifications are to be expected
regions: &'a [(Region, usize)]The regions in the sequence, every region has an annotation and a length, all lengths together are the same length as the full sequence
annotations: &'a [(Annotation, usize)]Any additional annotations, every annotation has beside the kind it is also its location, as index in the sequence
Implementations§
Trait Implementations§
Source§impl AnnotatedPeptide for Allele<'_>
impl AnnotatedPeptide for Allele<'_>
Source§fn annotations(&self) -> &[(Annotation, usize)]
fn annotations(&self) -> &[(Annotation, usize)]
Get the annotations, specified as the annotation and the into the peptide where it is
located.
Source§fn regions(&self) -> &[(Region, usize)]
fn regions(&self) -> &[(Region, usize)]
Get the regions, as a list of the regions in order with the length of each region, these are
required to be as long as the full peptide.
Source§fn get_region(&self, index: usize) -> Option<(&Region, bool)>
fn get_region(&self, index: usize) -> Option<(&Region, bool)>
Get the region for a specific index into the sequence, None if outside range,
the additional bool indicates if this is the starting position for the region.
Source§fn get_annotations(&self, index: usize) -> impl Iterator<Item = &Annotation>
fn get_annotations(&self, index: usize) -> impl Iterator<Item = &Annotation>
Get all annotations for this position
Source§impl HasPeptidoformImpl for Allele<'_>
impl HasPeptidoformImpl for Allele<'_>
Source§type Complexity = UnAmbiguous
type Complexity = UnAmbiguous
The complexity level for this peptidoform containing structure
Source§fn peptidoform(&self) -> &Peptidoform<Self::Complexity>
fn peptidoform(&self) -> &Peptidoform<Self::Complexity>
The peptidoform
impl<'a> Eq for Allele<'a>
impl<'a> StructuralPartialEq for Allele<'a>
Auto Trait Implementations§
impl<'a> Freeze for Allele<'a>
impl<'a> !RefUnwindSafe for Allele<'a>
impl<'a> Send for Allele<'a>
impl<'a> Sync for Allele<'a>
impl<'a> Unpin for Allele<'a>
impl<'a> !UnwindSafe for Allele<'a>
Blanket Implementations§
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,
Source§impl<T, Complexity> HasPeptidoform<Complexity> for T
impl<T, Complexity> HasPeptidoform<Complexity> for T
Source§fn cast_peptidoform(&self) -> &Peptidoform<Complexity>
fn cast_peptidoform(&self) -> &Peptidoform<Complexity>
Get a reference to a peptidoform.
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 more