Skip to main content

ConformerHandle

Struct ConformerHandle 

Source
pub struct ConformerHandle { /* private fields */ }
Expand description

A conformer ensemble: one molecule geometry with multiple 3D coordinate sets.

Create with new(smiles), then add conformers with add_generated_conformer or add_minimized_conformer. Retrieve coordinates as PDB strings via get_conformer_pdb(idx). Compare conformers with conformer_rmsd.

Implementations§

Source§

impl ConformerHandle

Source

pub fn new(smiles: &str) -> Result<ConformerHandle, JsValue>

Create a new empty ensemble for the molecule given by smiles.

Returns a JS error on SMILES parse failure.

Source

pub fn conformer_count(&self) -> usize

Number of conformers currently stored.

Source

pub fn mol(&self) -> MolHandle

The ensemble’s molecule as a MolHandle.

Source

pub fn add_generated_conformer(&mut self) -> usize

Generate a new 3D conformer using distance-geometry and add it to the ensemble.

Returns the index of the newly added conformer.

Source

pub fn add_minimized_conformer(&mut self) -> usize

Generate a new 3D conformer, run force-field minimization, and add it.

Returns the index of the newly added conformer.

Source

pub fn get_conformer_pdb(&self, idx: usize) -> Option<String>

Return conformer idx as a PDB string, or null if idx is out of range.

Source

pub fn conformer_rmsd(&self, a: usize, b: usize) -> f64

Kabsch-aligned RMSD (Å) between conformers a and b.

Returns NaN if either index is out of range.

Source

pub fn conformer_rmsd_no_align(&self, a: usize, b: usize) -> f64

Un-aligned (translation + rotation NOT removed) RMSD (Å) between conformers a and b.

Returns NaN if either index is out of range.

Source

pub fn remove_conformer(&mut self, idx: usize) -> bool

Remove conformer idx and return true, or false if idx is out of range.

Source

pub fn cluster_conformers_json(&self, rms_threshold: f64) -> String

Cluster conformers by Kabsch-aligned RMSD and return a JSON object describing which conformers to keep.

Uses greedy leader-linkage: conformers are visited in index order; each is compared against existing cluster representatives. If the RMSD to any representative is < rms_threshold, the conformer is discarded; otherwise it starts a new cluster and is kept.

Returns {"kept_indices":[0,3,7,...],"removed_count":5} on success.

Trait Implementations§

Source§

impl From<ConformerHandle> for JsValue

Source§

fn from(value: ConformerHandle) -> Self

Converts to this type from the input type.
Source§

impl FromWasmAbi for ConformerHandle

Source§

type Abi = WasmPtr<WasmRefCell<ConformerHandle>>

The Wasm ABI type that this converts from when coming back out from the ABI boundary.
Source§

unsafe fn from_abi(js: Self::Abi) -> Self

Recover a Self from Self::Abi. Read more
Source§

impl IntoWasmAbi for ConformerHandle

Source§

type Abi = WasmPtr<WasmRefCell<ConformerHandle>>

The Wasm ABI type that this converts into when crossing the ABI boundary.
Source§

fn into_abi(self) -> Self::Abi

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.
Source§

impl LongRefFromWasmAbi for ConformerHandle

Source§

type Abi = WasmPtr<WasmRefCell<ConformerHandle>>

Same as RefFromWasmAbi::Abi
Source§

type Anchor = RcRef<ConformerHandle>

Same as RefFromWasmAbi::Anchor
Source§

unsafe fn long_ref_from_abi(js: Self::Abi) -> Self::Anchor

Same as RefFromWasmAbi::ref_from_abi
Source§

impl OptionFromWasmAbi for ConformerHandle

Source§

fn is_none(abi: &Self::Abi) -> bool

Tests whether the argument is a “none” instance. If so it will be deserialized as None, and otherwise it will be passed to FromWasmAbi.
Source§

impl OptionIntoWasmAbi for ConformerHandle

Source§

fn none() -> Self::Abi

Returns an ABI instance indicating “none”, which JS will interpret as the None branch of this option. Read more
Source§

impl RefFromWasmAbi for ConformerHandle

Source§

type Abi = WasmPtr<WasmRefCell<ConformerHandle>>

The Wasm ABI type references to Self are recovered from.
Source§

type Anchor = RcRef<ConformerHandle>

The type that holds the reference to Self for the duration of the invocation of the function that has an &Self parameter. This is required to ensure that the lifetimes don’t persist beyond one function call, and so that they remain anonymous.
Source§

unsafe fn ref_from_abi(js: Self::Abi) -> Self::Anchor

Recover a Self::Anchor from Self::Abi. Read more
Source§

impl RefMutFromWasmAbi for ConformerHandle

Source§

type Abi = WasmPtr<WasmRefCell<ConformerHandle>>

Same as RefFromWasmAbi::Abi
Source§

type Anchor = RcRefMut<ConformerHandle>

Same as RefFromWasmAbi::Anchor
Source§

unsafe fn ref_mut_from_abi(js: Self::Abi) -> Self::Anchor

Same as RefFromWasmAbi::ref_from_abi
Source§

impl SupportsConstructor for ConformerHandle

Source§

impl SupportsInstanceProperty for ConformerHandle

Source§

impl SupportsStaticProperty for ConformerHandle

Source§

impl TryFromJsValue for ConformerHandle

Source§

fn try_from_js_value(value: JsValue) -> Result<Self, JsValue>

Performs the conversion.
Source§

fn try_from_js_value_ref(value: &JsValue) -> Option<Self>

Performs the conversion.
Source§

impl VectorFromWasmAbi for ConformerHandle

Source§

impl VectorIntoWasmAbi for ConformerHandle

Source§

impl WasmDescribe for ConformerHandle

Source§

impl WasmDescribeVector for ConformerHandle

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> 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> ReturnWasmAbi for T
where T: IntoWasmAbi,

Source§

type Abi = <T as IntoWasmAbi>::Abi

Same as IntoWasmAbi::Abi
Source§

fn return_abi(self) -> <T as ReturnWasmAbi>::Abi

Same as IntoWasmAbi::into_abi, except that it may throw and never return in the case of Err.
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.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more