Package schrodinger :: Package application :: Package matsci :: Module amorphous :: Class Scaffold
[hide private]
[frames] | no frames]

Class Scaffold

object --+
         |
        Scaffold

A Scaffold is a structure that occupies space in a cluster of molecules but is not considered part of the system itself. Scaffolds could be: 1) A nanoparticle that has an amorphous system surrounding it or a protein surrounded by a box of water molecules, 2) A container such as a zeolyte or nanotube that holds an amorphous system within it, 3) a surface upon which a disordered system is laid down.

Instance Methods [hide private]
 
__init__(self, struct=None)
Create a Scaffold object
bool
__nonzero__(self)
Causes scaffold objects to evaluate to False if the scaffold structure evaluates to False
 
approximateVolume(self, vdw_scale=1.0)
Computes the approximate volume of the scaffold molecule using a Monte Carlo sampling algorithm.
schrodinger.structure.Structure
getNewCell(self)
Return a new structure that contains the scaffold molecule.
bool
getExcludedVolume(self)
Get the amount of volume the scaffold occupies
Box
defineBox(self, volume)
The default implementation is to define a cube with all sides equal that is centered on the scaffold centroid.
 
addPBCProperties(self, struct, volume)
Add periodic boundary condition properties to the structure.
 
addDesmondPBC(self, struct, ax, ay=0.0, az=0.0, bx=0.0, by=None, bz=0.0, cx=0.0, cy=0.0, cz=None)
Add properties to the structure that define the periodic boundary condition in the way Desmond wants it defined.
 
addSpaceGroupPBC(self, struct, aval, bval, cval, alpha=90.0, beta=90.0, gamma=90.0, space_group='P 1')
Add properties to the structure that define the periodic boundary condition in the way Crystal wants it defined.
list
getPBCMinMaxes(self)
Get the length of one side of the periodic boundary condition
list
getPointInBox(self)
Get a point in a random position in the box

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, struct=None)
(Constructor)

 

Create a Scaffold object

Parameters:
Overrides: object.__init__

__nonzero__(self)
(Boolean test operator)

 

Causes scaffold objects to evaluate to False if the scaffold structure evaluates to False

Returns: bool
A boolean cast of the scaffold property

approximateVolume(self, vdw_scale=1.0)

 

Computes the approximate volume of the scaffold molecule using a Monte
Carlo sampling algorithm. The alogorithm:
    1) define a box that fully encloses the structure
    2) randomly pick a point inside the box
    3) check if the point lies inside the VDW radius of an atom
    4) iterate over steps 2 & 3 a bunch
    5) The volume is box_volume * fraction of points inside VDW radii

@type vdw_scale: float
@param vdw_scale: The VdW scale factor to apply to VdW radii when
checking to see if a point is "inside" an atom

@rtype: float
@return: The approximate volume of a molecule

@note: This is expensive, so is only done at class initialization. After
that, call getExcludedVolume to obtain the cached volume.

getNewCell(self)

 

Return a new structure that contains the scaffold molecule. If there is scaffold structure, the returned structure is empty

Returns: schrodinger.structure.Structure
A structure object that is either empty or contains the scaffold structure, depending on whether a scaffold structure exists or not.

getExcludedVolume(self)

 

Get the amount of volume the scaffold occupies

Returns: bool
The volume computed by approximateVolume when this object was created.

defineBox(self, volume)

 

The default implementation is to define a cube with all sides equal that is centered on the scaffold centroid.

Parameters:
  • volume (float) - The volume of the desired cube
Returns: Box
The Box object for this scaffold

addPBCProperties(self, struct, volume)

 

Add periodic boundary condition properties to the structure. This method overwrites any existing periodic boundary condition properties, including Desmond chorus and PDB space group properties.

Parameters:

addDesmondPBC(self, struct, ax, ay=0.0, az=0.0, bx=0.0, by=None, bz=0.0, cx=0.0, cy=0.0, cz=None)

 

Add properties to the structure that define the periodic boundary condition in the way Desmond wants it defined.

Parameters:
  • struct (schrodinger.structure.Structure) - The structure to add the properties to
  • ax - The value of the ax box property
  • ay - The value of the ay box property. Defaults to 0.
  • az - The value of the az box property. Defaults to 0.
  • bx - The value of the bx box property. Defaults to 0.
  • by - The value of the by box property. If not given, this value is set the same as ax.
  • bz - The value of the bz box property. Defaults to 0.
  • cx - The value of the cx box property. Defaults to 0.
  • cy - The value of the cy box property. Defaults to 0.
  • cz - The value of the cz box property. If not given, this value is set the same as ax.

addSpaceGroupPBC(self, struct, aval, bval, cval, alpha=90.0, beta=90.0, gamma=90.0, space_group='P 1')

 

Add properties to the structure that define the periodic boundary condition in the way Crystal wants it defined.

Parameters:
  • struct (schrodinger.structure.Structure) - The structure to add the properties to
  • side (float) - The length of one side of the cubic periodic boundary condition

getPBCMinMaxes(self)

 

Get the length of one side of the periodic boundary condition

Parameters:
Returns: list
A six item list that defines the min and max value of X, Y and Z. The six values in order are: Xmin, Ymin, Zmin, Xmax, Ymax, Zmax. If not PBC box has been created, a list of all 0.0 is returned

getPointInBox(self)

 

Get a point in a random position in the box

Returns: list
[x, y, z] coordinates of a random point in the box