7 releases
0.1.1 | Dec 8, 2022 |
---|---|
0.1.0 | Mar 23, 2022 |
0.0.41 | Feb 19, 2022 |
0.0.39 | Mar 10, 2020 |
0.0.38 | Feb 14, 2020 |
#894 in Algorithms
65 downloads per month
Used in 16 crates
(2 directly)
48KB
837 lines
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);
Dependencies
~10–21MB
~327K SLoC