Struct rustyms::MolecularFormula
source · pub struct MolecularFormula { /* private fields */ }Expand description
A molecular formula, a selection of elements of specified isotopes together forming a structure
Implementations§
source§impl MolecularFormula
impl MolecularFormula
sourcepub fn new(elements: &[(Element, u16, i16)]) -> Self
pub fn new(elements: &[(Element, u16, i16)]) -> Self
Create a new molecular formula, the elements will be sorted on element/isotope and deduplicated
sourcepub const fn with_additional_mass(additional_mass: f64) -> Self
pub const fn with_additional_mass(additional_mass: f64) -> Self
Get an empty molecular formula with only a mass of unspecified origin
sourcepub fn add(&mut self, element: (Element, u16, i16))
pub fn add(&mut self, element: (Element, u16, i16))
Add the given element to this formula (while keeping it ordered and simplified)
sourcepub fn with_global_isotope_modifications(
&self,
substitutions: &[(Element, u16)]
) -> Self
pub fn with_global_isotope_modifications( &self, substitutions: &[(Element, u16)] ) -> Self
Create a new molecular formula with the given global isotope modifications
source§impl MolecularFormula
impl MolecularFormula
sourcepub fn monoisotopic_mass(&self) -> Option<Mass>
pub fn monoisotopic_mass(&self) -> Option<Mass>
The mass of the molecular formula of this element, if all element species (isotopes) exists
sourcepub fn average_weight(&self) -> Option<Mass>
pub fn average_weight(&self) -> Option<Mass>
The average weight of the molecular formula of this element, if all element species (isotopes) exists
sourcepub fn most_abundant_mass(&self) -> Option<Mass>
pub fn most_abundant_mass(&self) -> Option<Mass>
The most abundant mass, meaning the isotope that will have the highest intensity
sourcepub fn hill_notation(&self) -> String
pub fn hill_notation(&self) -> String
Create a Hill notation from this collections of elements merged with the pro forma notation for specific isotopes
sourcepub fn hill_notation_fancy(&self) -> String
pub fn hill_notation_fancy(&self) -> String
Create a Hill notation from this collections of elements merged with the pro forma notation for specific isotopes. Using fancy unicode characters for subscript and superscript numbers.
sourcepub fn hill_notation_html(&self) -> String
pub fn hill_notation_html(&self) -> String
Create a Hill notation from this collections of elements encoded in HTML
Trait Implementations§
source§impl Add<&MolecularFormula> for &MolecularFormula
impl Add<&MolecularFormula> for &MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
+ operator.source§impl<'a> Add<&'a MolecularFormula> for MolecularFormula
impl<'a> Add<&'a MolecularFormula> for MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
+ operator.source§fn add(self, other: &'a MolecularFormula) -> MolecularFormula
fn add(self, other: &'a MolecularFormula) -> MolecularFormula
+ operation. Read moresource§impl Add<&NeutralLoss> for &MolecularFormula
impl Add<&NeutralLoss> for &MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
+ operator.source§impl<'a> Add<&'a NeutralLoss> for MolecularFormula
impl<'a> Add<&'a NeutralLoss> for MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
+ operator.source§fn add(self, other: &'a NeutralLoss) -> MolecularFormula
fn add(self, other: &'a NeutralLoss) -> MolecularFormula
+ operation. Read moresource§impl<'a> Add<MolecularFormula> for &'a MolecularFormula
impl<'a> Add<MolecularFormula> for &'a MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
+ operator.source§fn add(self, other: MolecularFormula) -> MolecularFormula
fn add(self, other: MolecularFormula) -> MolecularFormula
+ operation. Read moresource§impl<'a> Add<NeutralLoss> for &'a MolecularFormula
impl<'a> Add<NeutralLoss> for &'a MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
+ operator.source§fn add(self, other: NeutralLoss) -> MolecularFormula
fn add(self, other: NeutralLoss) -> MolecularFormula
+ operation. Read moresource§impl Add<NeutralLoss> for MolecularFormula
impl Add<NeutralLoss> for MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
+ operator.source§fn add(self, other: NeutralLoss) -> MolecularFormula
fn add(self, other: NeutralLoss) -> MolecularFormula
+ operation. Read moresource§impl Add for MolecularFormula
impl Add for MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
+ operator.source§fn add(self, other: MolecularFormula) -> MolecularFormula
fn add(self, other: MolecularFormula) -> MolecularFormula
+ operation. Read moresource§impl AddAssign<&MolecularFormula> for MolecularFormula
impl AddAssign<&MolecularFormula> for MolecularFormula
source§fn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
+= operation. Read moresource§impl AddAssign for MolecularFormula
impl AddAssign for MolecularFormula
source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
+= operation. Read moresource§impl Clone for MolecularFormula
impl Clone for MolecularFormula
source§fn clone(&self) -> MolecularFormula
fn clone(&self) -> MolecularFormula
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for MolecularFormula
impl Debug for MolecularFormula
source§impl Default for MolecularFormula
impl Default for MolecularFormula
source§fn default() -> MolecularFormula
fn default() -> MolecularFormula
source§impl<'de> Deserialize<'de> for MolecularFormula
impl<'de> Deserialize<'de> for MolecularFormula
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>,
source§impl Display for MolecularFormula
impl Display for MolecularFormula
source§impl Mul<&i16> for &MolecularFormula
impl Mul<&i16> for &MolecularFormula
source§impl<'a> Mul<&'a i16> for MolecularFormula
impl<'a> Mul<&'a i16> for MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
* operator.source§impl<'a> Mul<i16> for &'a MolecularFormula
impl<'a> Mul<i16> for &'a MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
* operator.source§impl Mul<i16> for MolecularFormula
impl Mul<i16> for MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
* operator.source§impl PartialEq for MolecularFormula
impl PartialEq for MolecularFormula
source§fn eq(&self, other: &MolecularFormula) -> bool
fn eq(&self, other: &MolecularFormula) -> bool
self and other values to be equal, and is used
by ==.source§impl Serialize for MolecularFormula
impl Serialize for MolecularFormula
source§impl Sub<&MolecularFormula> for &MolecularFormula
impl Sub<&MolecularFormula> for &MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
- operator.source§impl<'a> Sub<&'a MolecularFormula> for MolecularFormula
impl<'a> Sub<&'a MolecularFormula> for MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
- operator.source§fn sub(self, other: &'a MolecularFormula) -> MolecularFormula
fn sub(self, other: &'a MolecularFormula) -> MolecularFormula
- operation. Read moresource§impl<'a> Sub<MolecularFormula> for &'a MolecularFormula
impl<'a> Sub<MolecularFormula> for &'a MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
- operator.source§fn sub(self, other: MolecularFormula) -> MolecularFormula
fn sub(self, other: MolecularFormula) -> MolecularFormula
- operation. Read moresource§impl Sub for MolecularFormula
impl Sub for MolecularFormula
§type Output = MolecularFormula
type Output = MolecularFormula
- operator.source§fn sub(self, other: MolecularFormula) -> MolecularFormula
fn sub(self, other: MolecularFormula) -> MolecularFormula
- operation. Read moresource§impl Sum for MolecularFormula
impl Sum for MolecularFormula
impl StructuralPartialEq for MolecularFormula
Auto Trait Implementations§
impl RefUnwindSafe for MolecularFormula
impl Send for MolecularFormula
impl Sync for MolecularFormula
impl Unpin for MolecularFormula
impl UnwindSafe for MolecularFormula
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
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.