Struct CrystalRecord

Source
pub struct CrystalRecord {
    pub a: f32,
    pub b: f32,
    pub c: f32,
    pub alpha: f32,
    pub beta: f32,
    pub gamma: f32,
    pub space_group: String,
    pub z: u32,
}
Expand description

Represents a CRYST1 record containing crystallographic unit cell parameters.

This record specifies the unit cell parameters and space group for the crystal structure. It is essential for understanding the crystallographic context of the atomic coordinates.

§Fields

  • a, b, c: Unit cell dimensions in Ångströms
  • alpha, beta, gamma: Unit cell angles in degrees
  • space_group: Space group symbol
  • z: Number of polymeric chains in the unit cell

§Example

use knuckles_parse::records::crystal::CrystalRecord;

let line = "CRYST1   52.000   58.600   61.900  90.00  90.00  90.00 P 21 21 21    8";
let crystal = CrystalRecord::from(line);

assert_eq!(crystal.a, 52.0);
assert_eq!(crystal.space_group, "P 21 21 21");

Fields§

§a: f32

Unit cell dimension a in Ångströms

§b: f32

Unit cell dimension b in Ångströms

§c: f32

Unit cell dimension c in Ångströms

§alpha: f32

Unit cell angle alpha in degrees

§beta: f32

Unit cell angle beta in degrees

§gamma: f32

Unit cell angle gamma in degrees

§space_group: String

Space group symbol

§z: u32

Number of polymeric chains in the unit cell

Implementations§

Source§

impl CrystalRecord

Source

pub fn new(str: &str) -> CrystalRecord

Create a new CrystalRecord by parsing a CRYST1 line.

Parses the unit cell parameters and space group information from the fixed-width fields in the CRYST1 record.

§Arguments
  • str - A CRYST1 line from a PDB file
§Returns

A new CrystalRecord with parsed crystallographic parameters.

Trait Implementations§

Source§

impl Clone for CrystalRecord

Source§

fn clone(&self) -> CrystalRecord

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for CrystalRecord

Source§

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

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

impl From<&str> for CrystalRecord

Source§

fn from(str: &str) -> Self

Converts to this type from the input type.

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> 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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.