|
The
Yup.Models.Emmental.Analyze module provides a number of functions to
examine an Emmental model.
ShowHooke, ShowSCX, ShowNoe,
SCXScore
|
The
following functions take one argument, the Model object (created by the
Yup.Models.Emmental.FFA module) and prints the results to the standard
output. The output can be voluminous and is formatted for processing in
a spreadsheet program.
| Function |
Print Output
|
| ShowHooke |
Six columns per pair
of all the bonds in the Hooke term(s).
|
| ShowSCX |
Seven columns for
each atom-hole pair that is currently within the cutoff distance in all
the SwissCheeseX term(s).
|
| ShowNOE |
Eight columns per
atom pair of the Noens term.
|
| SCXScore |
The total SCX energy,
divided by the number of atoms, normalized by the depth of the deepest
hole. Dimensionless, positive value, maximum value of 1 in most cases.
|
SizeOfHooke, CenterOfMass
|
The
following functions take one argument, the Emmental Model object and
return the value(s) to the caller.
| Function |
Type |
Return value(s)
|
| SizeOfHooke |
Integer |
The total number of bond
pairs in the Hooke term(s).
|
| CenterOfMass |
Tuple of floats
|
The center of mass (atomic
weight is obtained for each atom after determining its element; all
data come from the Yup.Tools.ChemNames module).
|
This
function takes two or three arguments, and will report the SCX score
for a PDB file when it is placed on the named density map.
| Argument |
Type |
Preset Value
|
Description |
| pdbfile |
string |
|
the name of a PDB file
|
| scxfile |
string |
|
the name of a SCX-format
density map file
|
| partmapfile |
string |
"XXX" |
Prefix for a temporary
Partition Map file, which will be removed when the function exits. Best
to use only letters of the alphabet.
|
The Partition Map file has to be generated in order to calculate the
SCX score. The file will be given a name with the specified prefix
followed by nine digits generated at random. You must not have files
with this naming scheme in the current directory or you will risk
losing them. You may be able to avoid a name clash by changing the
prefix.
The WritePDB() function takes one to
five arguments and it will generate a PDB file for the given Emmental
Model object.
| Argument |
Type |
Preset Value
|
Description |
| model |
Model |
|
The Model object for an
Emmental model
|
| prefix |
string |
"SCX" |
leading part of the name of
the output PDB file
|
| suffix |
string |
".pdb" |
extension of the output PDB
file
|
| verbose |
integer: 0 or not 0
|
1 |
whether to work silently or
not
|
| shift |
None or list of floats
|
None |
translate the coordinate
before writing the PDB file, or not.
|
The
Emmental model would have been created out of one or more PDB
files. The same number of PDB files will be created. The output file
name will be based on the original file name with the prefix and suffix
added. The verbose mode will likely report that some atoms could not be
converted. These atoms whose name do not follow the PDB convention.
This would be normal for the focal atom added for the NOE term, for
example.
The TransformPDB() function takes three
or four arguments, apply the given transformation matrices on the
specified model and writes out the resulting coordinates to one or more
PDB files.
| Argument |
Type |
Preset Value
|
Description |
| partmap |
string |
|
name of a partition map file
containing the names of PDB files
|
| model |
Model |
|
The Model object for an
Emmental model
|
| xforms |
list of lists
|
|
transformation matrices, one
for each rigid unit
|
| prefix |
string |
"X-" |
to be prefixed on the
original PDB file name to generate the output file name
|
Usually,
the transformation matrices are the outcome of a Monte Carlo method, in
particular the Rigid Body Monte Carlo method. The transformation
matrices will be obtained from a simulation with a reduced model and
are now to be applied to the original all-atom model. The
transformation matrices can be obtained from the transforms() function
in the Yup.Methods.MonteCarlo
module. This function calls the xformpdb()
function in the
Yup.Models.Null.PDBPartMap
module which will handle multiple transforms automatically.
EXAMPLES
In the
following, all the commands are typed into a Python interpreter.
from Yup.Models.Emmental.Analyze import SCXScore,
WritePDB
SCXScore( M2 )
WritePDB( M2, 'MD-' )
|
In the
above example, the model M2
was created in earlier examples, as an all-atom model from three PDB
files, and fitted into
the density map using a molecular dynamics-based simulated annealing
procedure. The SCX score is calculated. Then, the final coordinates are
written out. Since there were three original files, there will be three
output files: "MD-tRNA.pdb", "MD-mRNA.pdb" and "MD-rRNA.pdb".
from Yup.Models.Emmental.Analyze import TransformPDB
TransformPDB( "T0001", M1, T )
|
In this
example, we make use of the model M1, which was created from a single
PDB file as coarse-grained model. It was then refined using a Monte
Carlo based simulated annealing procedure using Rigid Body moves. In
the example from the last section, we saved the transformation matrices
returned by the AnnealMC()
function in the symbol T.
This is passed to the TransformPDB()
function. We
can expect to find an output file named "X-tRNA.pdb" which is identical
to "tRNA.pdb" except for the applcation of the transformation matrices.
| This module
makes extensive use of the functions of Yup.Tools.PDBPartMap. In its
turn, PDBPartMap is based on the Yup.Tools.Brookhaven module. |
Utilities
|