Function rust_sasa::calculate_sasa_internal
source · pub fn calculate_sasa_internal(
atoms: &[Atom],
in_probe_radius: Option<f32>,
in_n_points: Option<usize>
) -> Vec<f32>
Expand description
Takes the probe radius and number of points to use along with a list of Atoms as inputs and returns a Vec with SASA values for each atom.
For most users it is recommend that you use calculate_sasa
instead. This method can be used directly if you do not want to use pdbtbx to load PDB/mmCIF files or want to load them from a different source.
Probe Radius Default: 1.4
Point Count Default: 100
§Example using pdbtbx:
use nalgebra::{Point3, Vector3};
use pdbtbx::StrictnessLevel;
use rust_sasa::{Atom, calculate_sasa_internal};
let (mut pdb, _errors) = pdbtbx::open(
"./example.cif",
StrictnessLevel::Medium
).unwrap();
let mut atoms = vec![];
for atom in pdb.atoms() {
atoms.push(Atom {
position: Point3::new(atom.pos().0 as f32, atom.pos().1 as f32, atom.pos().2 as f32),
radius: atom.element().unwrap().atomic_radius().van_der_waals.unwrap() as f32,
id: atom.serial_number(),
parent_id: None
})
}
let sasa = calculate_sasa_internal(&atoms, None, None);