schrodinger.protein.membrane module

Module for displaying and manipulating a membrane.

Used by Prime panel and System Builder

Copyright Schrodinger, LLC. All rights reserved.

class schrodinger.protein.membrane.Membrane_Model(ct=None)

Bases: object

generate_dummy_atoms()
findVectorAtoms()

Return a list of 2 atom numbers for the vector dummy atoms

remove_dummy_atoms()

Delete the vector atoms and other dummy atoms

get_vector_atoms_from_internal_coords()
update_internal_coords_to_vector_atoms(coords1, coords2)

Update internal coordinates from 2 numpy arrays containing the x,y,z coordinates of two atoms defining the membrane.

updateFromVector()

Update internal coordinates from vector dummy atoms in self.ct

createVectorAtoms()

Add vector dummy atoms to the specified Structure based on membrane coordinates

deleteVectorAtoms()

Delete the vector atoms

getCenterOrientationOfAtoms(atom_list)
autoPlaceByMolecule(mol_atom_lists)

Auto places the membrane based on the average vector between all specified molecules (list of atom iterators)

findHydrophobicCenter()

Returns coordinates of center of mass of all hydrophobic residues

autoPlace()

Automatically orient the membrane according to the protein in self.ct

rotateProteinToMembrane(rotate_membrane=True)

Translate the protein so that the membrane will be located at the origin and rotate the protein so that membrane is along the z-axis. Assumes that center/orientation/thickness are set.

At the end the protein will not have vector atoms.

rotate_membrane = whether to adjust self.center/self.orientation according to the new position (orientation along z-axis).

calculateMembraneBox()

Stores OpenGL representation of the membrane box (2 red squares) in this instance. These boxes can later be drawn to the workspace by calling the draw() method.

The membrane info is taken from center/orientation/thickness

draw()

Draws the red membrane squires to the workspace. Should be invoked within a workspace_draw routine.

clear()

Remove the 3D objects from the group, which removes them from Maestro’s fit bounds.

isDefined()

Return True if the membrane dimensions are defined.

write_structure(filename)
write_parameter_file(filename)