Expand description

Example

use gchemol::geom::Superpose;
use gchemol::Molecule;
use gchemol::prelude::*;
 
// load test molecules
let mol1 = Molecule::from_file("tests/files/alignment/reference.mol2").unwrap();
let mol2 = Molecule::from_file("tests/files/alignment/candidate.mol2").unwrap();
 
// take the first 5 atoms for superposition
let reference: Vec<_> = mol1.positions().take(5).collect();
let candidate: Vec<_> = mol2.positions().take(5).collect();
 
// align the candidate onto the reference
let sp = Superpose::new(&candidate).onto(&reference, None);
 
// apply superposition to all atoms
let superimposed_structure = sp.apply(&candidate);
 
// apply translation only
let translated_structure = sp.apply_translation(&candidate);

Modules

Generate 3D coordinates randomly

Structs

AlignmentDeprecated

Alignment of candidate structure onto the reference

Superpose of candidate structure onto the reference

The result of alignment defining how to superimpose.

Enums

Functions

Return Cartesian distance between two points in 3D space.

Return the weighted geometric center

Type Definitions

Three-dimensional Cartesian coordinates

Alias name of Superpose