pub struct PSEData {Show 15 fields
pub version: i32,
pub main: Vec<i64>,
pub colors: Vec<i32>,
pub color_ext: Vec<i32>,
pub unique_settings: Vec<i32>,
pub selector_secrets: Vec<i32>,
pub editor: Vec<i32>,
pub view: SceneView,
pub view_dict: HashMap<String, String>,
pub wizard: Vec<u8>,
pub moviescenes: Vec<Vec<i32>>,
pub settings: Vec<Settings>,
pub movie: (i32, i32, Vec<f32>, i32, Option<bool>, Option<bool>, Option<bool>),
pub cache: Vec<usize>,
pub names: Vec<Option<SessionName>>,
}
Expand description
PSEData represents the structure of a PyMOL Session File (PSE).
We lean heavily on serde_pickle
to deserialize the PSE binary
file into named structs, of which PSEData
is the highest level object containing
most of the required methods for operating on PSE files.
This struct contains various components of a PyMOL session, including:
- Version information
- Color settings
- View settings
- Movie scenes
- Custom settings
- Cached data
- Session names and associated objects
To be implemented in time:
PyObject : -pyobject
Python Obects:
- Object
- Gadget
- Molecule —> WIP.
- Dist
- Map
- Mesh
- Slice
- Surface
- CGO
- Alignment
- Group
- Volume
- Callback
- Curve
- Selection —> WIP.
Fields§
§version: i32
§main: Vec<i64>
§colors: Vec<i32>
§color_ext: Vec<i32>
§unique_settings: Vec<i32>
§selector_secrets: Vec<i32>
§editor: Vec<i32>
§view: SceneView
§view_dict: HashMap<String, String>
§wizard: Vec<u8>
§moviescenes: Vec<Vec<i32>>
§settings: Vec<Settings>
§movie: (i32, i32, Vec<f32>, i32, Option<bool>, Option<bool>, Option<bool>)
§cache: Vec<usize>
§names: Vec<Option<SessionName>>
Implementations§
source§impl PSEData
impl PSEData
sourcepub fn load(file_path: &str) -> Result<Self, Box<dyn Error>>
pub fn load(file_path: &str) -> Result<Self, Box<dyn Error>>
Load pymole .pse
binary file to struct.
pub fn get_full_colorlist()
sourcepub fn get_session_names(&self) -> Vec<String>
pub fn get_session_names(&self) -> Vec<String>
session is where all the action happens
sourcepub fn get_setting(&self, setting: SettingsEnum) -> Option<Settings>
pub fn get_setting(&self, setting: SettingsEnum) -> Option<Settings>
Global Pymol Settings
pub fn get_molecule_data(&self) -> Vec<&PyObjectMolecule>
pub fn get_selection_data(&self) -> Vec<&SessionSelectorList>
pub fn get_location_as_transform(&self) -> TransformParams
sourcepub fn create_pdb(&self) -> PDB
pub fn create_pdb(&self) -> PDB
Convert Pymol to pdbtbx::PDB
sourcepub fn create_molviewspec(&self) -> State
pub fn create_molviewspec(&self) -> State
Convert to MSVJ Formay. see also: mol-view-spec
sourcepub fn to_disk_full(&self, file_path: &str) -> Result<()>
pub fn to_disk_full(&self, file_path: &str) -> Result<()>
this one will write a ready-to-go folder with pdbs, a msvj file, and the html/css/js needed to load them
sourcepub fn to_mvsj_url(&self) -> String
pub fn to_mvsj_url(&self) -> String
To loadable MSVJ URL See also msvj URL encoding
Trait Implementations§
source§impl<'de> Deserialize<'de> for PSEData
impl<'de> Deserialize<'de> for PSEData
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PSEData
impl RefUnwindSafe for PSEData
impl Send for PSEData
impl Sync for PSEData
impl Unpin for PSEData
impl UnwindSafe for PSEData
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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