Technical Documentation
A Reduced Representation Model of DNA: Service Functions

Introduction
Force Field Assembly

Calculate

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] '#' undifferentiated type [3] '@' type [4] Adenine [5] Cytosine [6] Guanine [7] 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. The second model type is 3DNA4.


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.


parmtop

The parmtop module derives a class ParmTop from the Amber class. The constructor function requires one argument, a Model object for a rrDNAv1 model.

As is required, this class overrides the method setparameters() defined in the parent class. In particular, this method provides a translation of the NULL exclusion atom type present in the rrDNAv1 model into a concept that is compatible with AMBER. In YUP, atoms that have NULL exclusion atom types will not participate in Implicit force field terms such as the SoftSphereX term used in the rrDNAv1 model. Yet, it is not feasible to generate AMBER exclusions for these atom types; it takes too long to generate the lists and the lists are likely too long for AMBER. Instead, these atoms are assigned vanishingly small AMBER parameters.



Manual
Introduction
Simplified RNA
Simplified DNA
Emmental
Virus Packing
Yup.scx Yup.vlat

Home
Information
News
User
Technical
Programmer
iYup
Download
Showcase
ETC