[−][src]Struct chemfiles::Residue
A Residue
is a group of atoms belonging to the same logical unit. They
can be small molecules, amino-acids in a protein, monomers in polymers,
etc.
Methods
impl Residue
[src]
pub fn new<'a>(
name: impl Into<&'a str>
) -> Residue
[src]
name: impl Into<&'a str>
) -> Residue
Create a new residue with the given name
Example
let residue = Residue::new("ALA"); assert_eq!(residue.name(), "ALA"); assert_eq!(residue.id(), None);
pub fn with_id<'a>(
name: impl Into<&'a str>,
id: u64
) -> Residue
[src]
name: impl Into<&'a str>,
id: u64
) -> Residue
Create a new residue with the given name
and id
as identifier.
Example
let residue = Residue::with_id("ALA", 67); assert_eq!(residue.name(), "ALA"); assert_eq!(residue.id(), Some(67));
pub fn size(&self) -> u64
[src]
Get the number of atoms in this residue.
Example
let mut residue = Residue::new("water"); assert_eq!(residue.size(), 0); residue.add_atom(0); residue.add_atom(1); residue.add_atom(2); assert_eq!(residue.size(), 3);
pub fn id(&self) -> Option<u64>
[src]
Get the identifier of this residue in the initial topology file.
Example
let residue = Residue::with_id("", 42); assert_eq!(residue.id(), Some(42));
pub fn name(&self) -> String
[src]
Get the name of this residue.
Example
let residue = Residue::new("water"); assert_eq!(residue.name(), "water");
pub fn add_atom(&mut self, atom: u64)
[src]
Add the atom at index atom
in this residue.
This will fail if the atom is already in the residue.
Example
let mut residue = Residue::new("water"); assert_eq!(residue.size(), 0); assert_eq!(residue.contains(56), false); residue.add_atom(56); assert_eq!(residue.size(), 1); assert_eq!(residue.contains(56), true); // Adding the same atom twice is fine residue.add_atom(56); assert_eq!(residue.size(), 1);
pub fn contains(&self, atom: u64) -> bool
[src]
Check if the atom at index i
is in this residue
Example
let mut residue = Residue::new("water"); assert_eq!(residue.contains(56), false); residue.add_atom(56); assert_eq!(residue.contains(56), true);
pub fn set(
&mut self,
name: &str,
property: impl Into<Property>
)
[src]
&mut self,
name: &str,
property: impl Into<Property>
)
Add a new property
with the given name
to this residue.
If a property with the same name already exists, this function override the existing property with the new one.
Examples
let mut residue = Residue::new("ALA"); residue.set("a string", "hello"); residue.set("a double", 3.2); assert_eq!(residue.get("a string"), Some(Property::String("hello".into()))); assert_eq!(residue.get("a double"), Some(Property::Double(3.2)));
pub fn get(&self, name: &str) -> Option<Property>
[src]
Get a property with the given name
in this frame, if it exist.
Examples
let mut residue = Residue::new("ALA"); residue.set("foo", Property::Double(22.2)); assert_eq!(residue.get("foo"), Some(Property::Double(22.2))); assert_eq!(residue.get("Bar"), None);
ⓘImportant traits for PropertiesIter<'a>pub fn properties(&self) -> PropertiesIter
[src]
Get an iterator over all (name, property) pairs for this frame
Examples
let mut residue = Residue::new("ALA"); residue.set("foo", Property::Double(22.2)); residue.set("bar", Property::Bool(false)); for (name, property) in residue.properties() { if name == "foo" { assert_eq!(property, Property::Double(22.2)); } else if name == "bar" { assert_eq!(property, Property::Bool(false)); } }
Trait Implementations
impl Clone for Residue
[src]
fn clone(&self) -> Residue
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Drop for Residue
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,