|
The PDBPartMap module provides functions
to prepare, check and process models from PDB files. This module is located
in Yup/Models/Null/,
which contains other modules that may be used to construct parts of a
full-featured force
field assembler. The import statement is some variant of: from Yup.Models.Null.PDBPartMap import *.
Introduction
The PDBPartMap module
provides a link between PDB files and YUP models.
A common work flow is as
follows:
- One
or more PDB files are converted into a PDB Partition Map using makepartmap().
This is a Python program that constructs two tuples that together
define
a hierarchy.
- This
partition map is heavily annotated. It can be manually revised, to
alter the hierarchy, to change the (all-atom to coarse-grained)
representation and to designate rigid units for the Rigid Body Monte Carlo simulation method.
- The
function checkpartmap() can be used to
catch errors introduced by a manual revision of the partition map.
- The
function readpartmap() processes a
partition map to populate a YUP Model object. The model can then be
used in simulations.
- The
function rigidunits()
can be called to obtain a list of groups that are to be treated as
rigid bodies. The list is required to set up the Monte Carlo method.
- The
function writepdb()
can be used to convert a YUP Model object to one or more PDB files.
Only the atoms that have the proper PDB hierarchy encoded in their
names will appear in the output files.
The PDB hierarchy
(model>chain>residue>atom) is encoded in the nodename of the
atom AtomMaps that make up the
YUP Model object.
Normally, these functions
are used to construct a force field assembler. Users should not need to
use this module directly.
Constants
The
ATOM
GROUP
TRACT
HELIX
TRASH
VERBATIM
BACKBONE
GEOMCENTER
MASSCENTER
KEY_CHARGE
KEY_ITYPE
KEY_XTYPE
KEY_MASS
KEY_MASK
RIGID_NONE
RIGID_FILE
RIGID_CHAIN
RIGID_RESIDUE
RIGID_TRIPLET
RIGIDBODYPATTERN
Partition Maps
A partition map file
consists of a Python program in which is defined two tuples named
PDBFILES and ATOMMAP.
The PDBFILES tuple contains
an ordered list of the names of the PDB files that were used to create
the partition map.
The ATOMMAP tuple contains
three items.
Atom or group... Three
items...
Deeply
nested... Defined in stages, one level at a time... To make it easy to
modify... Can add new levels or collapse some levels... Designate rigid
units by negating symbol... Default is each chain is a rigid unit,
unlabeled chains grouped into one...
Functions
Creating Partition
Maps
The function makepartmap() converts one or a number
of PDB files into a Python program that defines two tuples that
together defines a YUP hierarchy:
|
Name
|
Arguments
|
Return |
|
makepartmap
|
required:
pdbfiles, partmap, option
|
- |
| Argument |
Type |
Preset |
|
pdbfiles
|
tuple
of strings
|
- |
| partmap |
pdbfiles |
- |
| option |
pdbfiles |
- |
| rigidity |
rigidity |
- |
The
Processing Partition
Maps
The function readpartmap() :
|
Name
|
Arguments
|
Return |
|
readpartmap
|
required: partmap, home, atoms, coords, params
|
- |
| Argument |
Type |
Preset |
|
partmap
|
Tuple
of energy constructor function-label pairs
|
- |
| home |
partmap |
- |
| atoms |
partmap |
- |
| coords |
partmap |
- |
| params |
partmap |
- |
The
Collecting Rigid
Units
The function rigidunits() collects :
|
Name
|
Arguments
|
Return |
|
rigidunits
|
required: root
|
Tuple of Group AtomMaps |
| Argument |
Type |
Preset |
|
root
|
Group
AtomMap
|
- |
The
Checking Partition
Maps
The function checkpartmap() can be used to check a
partition map file:
|
Name
|
Arguments
|
Return |
|
checkpartmap
|
required: partmap
|
- |
| Argument |
Type |
Preset |
|
partmap
|
Name
of a partition map file.
|
- |
This function is under
development.
Writing
PDB Files
The function writepdb() converts a YUP Model
object to one or more PDB files:
|
Name
|
Arguments
|
Return |
|
writepdb
|
required: model; optional: prefix, suffix
|
- |
| Argument |
Type |
Preset |
|
model
|
A
YUP Model object
|
- |
| prefix |
prefix for the file name |
'YUPDB' |
| suffix |
file name suffix |
'.pdb' |
It
is assumed that the YUP Model had been created to be compatible with
one or more PDB files, although the model need not be created
specifically with readpartmap().
This means that the original PDB hierarchy is encoded in the names of
the atoms which must be at least 23 characters wide and which can be
parsed to yield the following fields:
| Index or Slice |
Type |
Content |
| 0:5 |
integer |
atom
serial number |
| 5:9 |
string |
atom
label |
| 9 |
character |
alternate
location indicator |
| 10:13 |
string |
residue
label |
| 13:17 |
integer |
residue
sequence number |
| 17 |
character |
residue
insertion code |
| 18 |
character |
chain
label |
| 19:23 |
string |
zero
filled file number |
Trailing characters are
ignored. Atoms whose names are not formatted as the above are silently ignored.
The output will consist of
as many files as were originally used to create the model. File names
are formed from the prefix,
the file number and the suffix.
|