Struct ferritin_pymol::pymolparsing::psedata::PSEData

source ·
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

source

pub fn load(file_path: &str) -> Result<Self, Box<dyn Error>>

Load pymole .pse binary file to struct.

source

pub fn to_json(&self, file_path: &str) -> Result<(), Box<dyn Error>>

Serialize to JSON

source

pub fn get_full_colorlist()

source

pub fn get_session_names(&self) -> Vec<String>

session is where all the action happens

source

pub fn get_setting(&self, setting: SettingsEnum) -> Option<Settings>

Global Pymol Settings

source

pub fn get_molecule_data(&self) -> Vec<&PyObjectMolecule>

source

pub fn get_selection_data(&self) -> Vec<&SessionSelectorList>

source

pub fn get_location_as_transform(&self) -> TransformParams

source

pub fn create_pdb(&self) -> PDB

Convert Pymol to pdbtbx::PDB

source

pub fn save_pdbs(&self, file_path: &str) -> Result<()>

Pymol –> PDBTBX –> PDB –> file

source

pub fn create_molviewspec(&self) -> State

Convert to MSVJ Formay. see also: mol-view-spec

source

pub fn to_disk(&self, file_path: &str) -> Result<()>

Pymol –> MSVJ –? disk

source

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

source

pub fn to_mvsj_url(&self) -> String

To loadable MSVJ URL See also msvj URL encoding

Trait Implementations§

source§

impl Debug for PSEData

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for PSEData

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Serialize for PSEData

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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> IntoEither for T

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T