|
Introduction
Preparing
Molecular Descriptions
Force
Field Assembly
Analysis
const
The
const
module defines the regular expressions for the name
of base groups in the variable named
BASEGROUPPATTERN.
The pattern for names of center atoms is defined in
the variable
CENTERATOMPATTERN.
params
The
params
module defines several tables:
|
Table
|
Contents
|
|
CHAINCONST
|
Columns:
[1] Sequence letter [2]
Inclusion Type [3] Exclusion
Type [4] Mass
Rows: [1] Undifferentiated type
[2] Adenine [3]
Cytosine [4] Guanine
[5] Thymine
|
|
CONST3DNA
|
Dictionary
with keys 'FRONT' and 'LEFT' for
dictionaries of parameters for 'Front'
and 'Left' atoms respectively. Each of
the inner dictionaries is keyed by the
sequence letter 'A', 'C', 'G' and 'T'
and maps to a table. Each table
contains three items: [1] atom
name prefix [2] atom name
[3] Mass
|
|
RIGHTANGLE
|
a
tuple to define the Angles type that
has an equilibrium angle of
90°.
|
|
TWISTYPE
|
A
dictionary keyed by the sequence letter
of one base that map to a dictionary
keyed by the sequence letter of a
succeeding base that map to a tuple of
four items: [1] atom name of
the 'Left' atom of the first base
[2] atom name of the 'Center'
atom of the first base [3] atom
name of the 'Center' atom of the second
base [4] atom name of the
'Left' atom of the second
base.
|
|
MODELPARAMS
|
To
tables of parameters. Each table
contains parameters for a model type
the first of which is the 3DNA model:
[1] The style letter for the
model [2] the distance between
base units (pairs) [3] The
equilibrium twist angle between
successive base units [4] The
number of base pairs represented by the
base unit [5] The coordinates
of an ideal base unit in a coordinate
frame that is also included.
|
rr3dna
The
rr3dna
module defines four functions used by the FFA
module.
The
add3datoms
function creates a Group AtomMap for each base pair
and to each group, adds the 'Front' and 'Left'
atoms. The list of groups are added and the caller
is expected to add the 'Center' atom to each
group.
|
Function
Name
|
Returned
Value
|
|
add3datoms()
|
List
of Group (one for each base pair)
AtomMaps
|
|
Arguments
|
Description
|
|
tract
|
The
base sequence converted by the parseq()
function of the LinSeq
module.
|
|
prevlen
|
The
length of the chain (number of existing
groups or base pairs) so
far.
|
|
Cconst
|
Parameters
for the 'Center' atoms. A definition is
available in
params.CHAINCONST.
|
|
Chain
|
The
root AtomMap to which the Group
AtomMaps are added.
|
|
Fatoms
|
The
atom AtomMaps of the 'Front' atoms are
appended to this list.
|
|
Latoms
|
The
atom AtomMaps of the 'Left' atoms are
appended to this list.
|
The
add3dfield
function registers the indvidual interactions of
the force field.
|
Function
Name
|
Returned
Value
|
|
add3dfield()
|
None
|
|
Arguments
|
Description
|
|
Catoms
|
List
of 'Center' atom AtomMaps
|
|
Fatoms
|
List
of 'Front' atom AtomMaps
|
|
Latoms
|
List
of 'Left' atom AtomMaps
|
|
Efuncs
|
List
of Energy object, indexed by the
constants BOND, ANGLE, BEND and TWIST
defined in the
const
module.
|
|
closed
|
The
chain is closed (if not zero) or open
(if zero)
|
The
grmcmoveunits
function generates and returns a list of groups for
use in setting up Grouped Monte Carlo.
|
Function
Name
|
Returned
Value
|
|
grmcmoveunits()
|
List
of tuple (one per base pair)
[1] fraction of moves that is
to be translation, always 0.5
[2] the starting atom number of
this group [3] the last atom
number of this group
|
|
Arguments
|
Description
|
|
numbp
|
Number
of base pairs
|
The
axmcmoveunits
function generates and returns a list of groups for
use in setting up Axial Monte Carlo.
|
Function
Name
|
Returned
Value
|
|
axmcmoveunits()
|
List
of tuple (one per segment) [1]
fraction of moves that is to be
translation, always -1 [2] the
starting atom number of this group
[3] the last atom number of
this group [4] first atom
number of the pivot [5] second
atom number of the pivot (rotations of
this group of atoms will be about a
line through the pivot
atoms)
|
|
Arguments
|
Description
|
|
numbp
|
Number
of base pairs
|
|
segsize
|
Segment
size. Segments overlap.
|
tracechain
The
tracechain
module derives a class Curves from the
TraceChain
class. The constructor function requires one
argument, the potential energy term that is used to
implement the twist term.
As
is required, this class defines a method
pathfromavf
to replace the method of the same name in the
parent class. (The method in the parent class is
just a placeholder that will raise a runtime
exception if it is called.) This method reads the
specified record of the named Atom Vector file. The
file is assumed to be that of a rrDNAv1 model and
therefore the method looks for particular atoms in
specific places. If the supplied file is not for a
rrDNAv1 model, the method will fail
ungracefully.
|
Function
Name
|
Returned
Value
|
|
pathfromavf()
|
List
of coordinate tuples of the center axis
of the DNA model.
|
|
Arguments
|
Description
|
|
filename
|
Name
of an AtomVector file
|
|
record
= 0
|
Number
of the record that is to be read. 0
indicates the last record.
|
In
addition, this class also replaces the
makebasetwist() method. The default method (in the
parent class) generates a single twist value for
each base pair according to the base sequence. The
twists are derived from the equilibrium improper
torsion angles. There are no arguments and there is
no return value.
|
Function
Name
|
Returned
Value
|
|
makebasetwist()
|
None
|
From
this class, this module defines three functions to
generate various starting structures for rrDNAv1
models.
The
MakeCircle
function generates a circular path for a rrDNAv1
model.
|
Function
Name
|
Returned
Value
|
|
MakeCircle()
|
None
|
|
Arguments
|
Description
|
|
basegroup
|
List
of group AtomMaps, one per base
pair
|
|
coordinates
|
The
generated coordinates will be saved to
this Atom Vector
|
|
twistterm
|
The
potential energy term that is used to
implement the twist term: improper
torsion.
|
|
deltatwist
= 0.0
|
In
the generated curve the base pairs will
be placed along the curve and each base
pair will be offset from the previous
by a standard angle plus this quantity
given in degrees.
|
|
noise
= 1E-9
|
The
circle is generated in the X-Y plane.
The Z axis is given a random value from
the uniform distribution in the range
-noise
to +noise.
|
The
MakeLine
function generates a straight path for a rrDNAv1
model.
|
Function
Name
|
Returned
Value
|
|
MakeLine()
|
None
|
|
Arguments
|
Description
|
|
basegroup
|
List
of group AtomMaps, one per base
pair
|
|
coordinates
|
The
generated coordinates will be saved to
this Atom Vector
|
|
twistterm
|
The
potential energy term that is used to
implement the twist term: improper
torsion.
|
|
deltatwist
= 0.0
|
In
the generated curve the base pairs will
be placed along the curve and each base
pair will be offset from the previous
by a standard angle plus this quantity
given in degrees.
|
|
noise
= 1E-9
|
The
line is generated along the X-axis. The
Y and Z axes are given random values
from the uniform distribution in the
range -noise
to +noise.
|
The
TracePath
function reads an Atom Vector file, extracts the
path out of the coordinates and uses the path as a
template to generate the starting coordinates of a
rrDNAv1 model. The template and the model need not
be of the same size; the path will be scaled as
necessary.
|
Function
Name
|
Returned
Value
|
|
TracePath()
|
None
|
|
Arguments
|
Description
|
|
basegroup
|
List
of group AtomMaps, one per base
pair
|
|
coordinates
|
The
generated coordinates will be saved to
this Atom Vector
|
|
twistterm
|
The
potential energy term that is used to
implement the twist term: improper
torsion.
|
|
filename
|
The
name of an Atom Vector file containing
the template
|
|
record
= 0
|
The
record to be read: 0 means the last
record
|
|
deltatwist
= 0.0
|
In
the generated curve the base pairs will
be placed along the template and each
base pair will be offset from the
previous by a standard angle plus this
quantity given in degrees.
|
|
closed
= 1
|
Whether
the model is of a closed circle
(closed
not zero) or open or linear chain
(closed
is zero).
|
curves
The
curves
module generates curves that are then passed to the
appropriate functions in the Topology
module. The curve of the center axis is taken as
the coordinates of the 'Center' atom of the 3DNA
model. The curve of one strand of a double helix is
taken as the coordinates of the 'Left' atom. The
curve of the second strand is taken as the
coordinates of a generated 'Right' atom using the
simple transformation: r(Right) = 2 r(Center) -
r(Left).
|
Function
Name
|
Description
|
|
GaussWrithe
|
The
Writhing number calculated using the
Gauss Integral
|
|
GaussLink
|
The
Linking number calculated using the
Gauss Integral
|
|
CountWrithe
|
The
Writhing number calculated using direct
counting of apparent crossings
|
|
CountLink
|
The
Linking nunber calculated using direct
counting of apparent
crossing
|
All
four functions take two arguments: M, the model
which is expected to be a rrDNAv1 model and limit
which is the Group AtomMap of a part of the model
that is to be analyzed. The preset value is None
which means that the entire model is to be
analyzed.
All
four functions will print the calculated results.
There are no return values.
internalC
The
internalC
module supplies a function to generate internal
coordinates from the cartesian coordinates of the
given model.
|
Function
Name
|
Returned
Value
|
|
PrintInternalCoords()
|
None
|
|
Arguments
|
Description
|
|
V
|
An
Atom Vector containing the cartesian
coordinates of the model
|
|
P
|
A
list of Atom Maps of pairs of bonded
atoms
|
This
function uses the AutoGen class to generate angles
and torsion angles from the bond list provided (P).
Therefore, the internal coordinates will be
overspecified for rings, i.e., more internal
coordinates are generated than are
needed.
|