Main class for generating crystals.
|
__init__(self,
asymmetric_unit,
space_group=None,
a_param=None,
b_param=None,
c_param=None,
alpha_param=None,
beta_param=None,
gamma_param=None,
ncella=1,
ncellb=1,
ncellc=1,
origin=[ 0.0, 0.0, 0.0] ,
bonding=' none ' ,
bond_orders=' none ' ,
translate=' none ' ,
keep_edge_atoms=False,
cov_offset=0.45,
intact_molecules=None,
fract_offset=0.0001,
no_pbc_bonding=False,
logger=None)
Create an instance. |
|
|
|
handleSettings(self)
Handle the settings of this crystal build. |
|
|
bool
|
doBonding(self)
Determine if this script should handle the bonding both inside and
between unit cells. |
|
|
bool
|
doBondOrders(self)
Determine if this script should handle the assignment of bond orders
both inside and between unit cells. |
|
|
bool
|
doTranslation(self)
Determine if the atoms should be translated to the first unit cell. |
|
|
|
getLatticeParameters(self)
Get lattice parameters. |
|
|
|
checkInputParams(self)
Check input parameters. |
|
|
|
updateLatticeProperties(self)
Update the lattice properties for the asymmetric unit structure. |
|
|
|
setAsuColor(self)
Set the color scheme to use for the ASU structure. |
|
|
mmcrystal handle
|
|
|
determineBasisVectors(self)
Determine the lattice vectors in the cartesian basis and the
cartesian vectors in the lattice basis. |
|
|
|
setUnitCellLowerBounds(self)
Set the lower bounds of the unit cell. |
|
|
|
|
|
labelSymEquivPos(self)
Label the symmetry equivalent positions. |
|
|
|
labelAsuAtoms(self,
astructure)
Label the atoms that make up an ASU, i.e. |
|
|
|
|
|
|
|
setStructureProperties(self)
Set some structure properties. |
|
|
|
printCrystalParams(self)
Print some crystal parameters. |
|
|
|
updateFractionals(self,
next_cell,
indexa,
indexb,
indexc)
Update the fractional coordinates of the next unit cell. |
|
|
|
setAsuAtomsFalse(self,
astructure)
Set the ASU atom labels to false for this structure. |
|
|
bool
|
cellFromOuterLayer(self,
indexa,
indexb,
indexc,
ncella,
ncellb,
ncellc)
Return True if the query cell is in the outer layer of cells of a
super cell build with three or more cells along each lattice vector. |
|
|
|
|
int, int, int
|
|
dict or None
|
getIntactMolecules(self,
crystal_super_cell)
Get the original super cell including intact molecules at the
boundary from the larger super cell. |
|
|
|
translateSupercell(self,
delta_a,
delta_b,
delta_c)
Translate the super cell by the given amount along each of the
lattice vectors and update the fractional coordinates. |
|
|
|
|
dict
|
getRealPBCBonds(self,
ncella,
ncellb,
ncellc)
From all bonds made in building the crystal super cell (plus two
extra unit cell along each lattice vector), obtain only those bonds
that involve the outer layer of cells bonded to the inner cells. |
|
|
tuple, int
|
getImageCellInfo(self,
real_cell,
ncella,
ncellb,
ncellc)
Given the real cell tuple return both the image cell tuple as well as
the number of cells between the real and image according to a
traversal path of c then b then a. |
|
|
int
|
getImageAtomIndex(self,
real_index,
ncella,
ncellb,
ncellc,
real_cell=None)
Return the image atom index from the real atom index. |
|
|
list
|
getImageAtomsForRealPBCBonds(self,
real_pbc_bonds,
ncella,
ncellb,
ncellc)
For all real PBC bonds collect the image atom indices for the outside
atoms and return a list of unique tuples containing information about
both real and image bonds. |
|
|
dict
|
getAromaticPBCRingBonds(self,
bonding_triples,
ncella,
ncellb,
ncellc)
For all aromatic rings that cross the PBC collect and return a
dictionary containing bonding and bond order information for real and
image rings. |
|
|
|
|
|
|
|
trimOuterCells(self,
ncella,
ncellb,
ncellc)
Remove the extra layer of outer cells from the crystal super cell. |
|
|
|
|
|
orchestrate(self)
Orchestrate the construction of the crystal. |
|
|
Inherited from object :
__delattr__ ,
__format__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__repr__ ,
__setattr__ ,
__sizeof__ ,
__str__ ,
__subclasshook__
|
|
SPACE_GROUP_KEY = ' s_pdb_PDB_CRYST1_Space_Group '
|
|
A_KEY = ' r_pdb_PDB_CRYST1_a '
|
|
B_KEY = ' r_pdb_PDB_CRYST1_b '
|
|
C_KEY = ' r_pdb_PDB_CRYST1_c '
|
|
ALPHA_KEY = ' r_pdb_PDB_CRYST1_alpha '
|
|
BETA_KEY = ' r_pdb_PDB_CRYST1_beta '
|
|
GAMMA_KEY = ' r_pdb_PDB_CRYST1_gamma '
|
|
SPACE_GROUP_ID_KEY = ' i_matsci_Space_Group_ID '
|
|
LATTICE_VECTOR_A_KEY = ' s_matsci_Lattice_Vector_A/(3*Ang.) '
|
|
LATTICE_VECTOR_B_KEY = ' s_matsci_Lattice_Vector_B/(3*Ang.) '
|
|
LATTICE_VECTOR_C_KEY = ' s_matsci_Lattice_Vector_C/(3*Ang.) '
|
|
LATTICE_VECTOR_COORDS = 6
|
|
CHORUS_BOX_BASE_KEY = ' r_chorus_box_ '
|
|
CHORUS_BOX_AX_KEY = ' r_chorus_box_ax '
|
|
CHORUS_BOX_AY_KEY = ' r_chorus_box_ay '
|
|
CHORUS_BOX_AZ_KEY = ' r_chorus_box_az '
|
|
CHORUS_BOX_BX_KEY = ' r_chorus_box_bx '
|
|
CHORUS_BOX_BY_KEY = ' r_chorus_box_by '
|
|
CHORUS_BOX_BZ_KEY = ' r_chorus_box_bz '
|
|
CHORUS_BOX_CX_KEY = ' r_chorus_box_cx '
|
|
CHORUS_BOX_CY_KEY = ' r_chorus_box_cy '
|
|
CHORUS_BOX_CZ_KEY = ' r_chorus_box_cz '
|
|
CHORUS_BOX_A_KEYS = [ ' r_chorus_box_ax ' , ' r_chorus_box_ay ' , ' r_ ...
|
|
CHORUS_BOX_B_KEYS = [ ' r_chorus_box_bx ' , ' r_chorus_box_by ' , ' r_ ...
|
|
CHORUS_BOX_C_KEYS = [ ' r_chorus_box_cx ' , ' r_chorus_box_cy ' , ' r_ ...
|
|
NUM_DECIMAL_COORDS = 4
|
|
MSGWIDTH = 80
|
|
GENERAL_VEC_1 = matrix([[ 1...
|
|
GENERAL_VEC_2 = matrix([[ 0...
|
|
GENERAL_VEC_3 = matrix([[ 0...
|
|
F1F2F3_FORMAT = ' (%.4f, %.4f, %.4f) '
|
|
F1F2F3_KEY = ' s_matsci_f1f2f3 '
|
|
F1_KEY = ' r_matsci_f1 '
|
|
F2_KEY = ' r_matsci_f2 '
|
|
F3_KEY = ' r_matsci_f3 '
|
|
FRACT_KEYS = [ ' r_matsci_f1 ' , ' r_matsci_f2 ' , ' r_matsci_f3 ' ]
|
|
SYMMETRY_LABEL_KEY = ' i_matsci_Symmetry_Label '
|
|
ASU_LABEL_KEY = ' b_matsci_ASU_Atom '
|
|
CM_TO_ANGSTROM = 100000000.0
|
|
UNIT_CELL_FORMULA_KEY = ' s_m_Unit_Cell_Formula '
|
|
UNIT_CELL_VOLUME_KEY = ' r_m_Unit_Cell_Volume/Ang.^3 '
|
|
UNIT_CELL_DENSITY_KEY = ' r_m_Unit_Cell_Density/g/cm^3 '
|
|
FORMULA_ENTRY_PATTERN = re.compile(r'( [ A- Z] [ a- z] ? ) ( \d* ) ')
|