Technical Documentation
A Reduced Representation Model of DNA: Force Field Assembly

Introduction

The force field assembly module for the rrDNAv1 model defines a class and five functions. This module is called FFA and is located in Yup.Models.rrDNAv1, so the import statement is some variant of: from Yup.Models.rrDNAv1.FFA import *: this imports two types of objects, the class constructor function rrDNA() and the functions Make3DNA(), getsequence(), ResetCoords(), mcdefault() and mcaxial().

The rrDNAv1 Force Field Assembler class (rrDNA) is derived from the Chain Force Field Assembler (Chains) template in Yup.Tools.Chains.

Data Attributes

There are several data attributes but most are not meant to be manipulated. Therefore, they are not described here.

Attribute

Description

Xfactor

The bulk term is based on the Exclusion version of the Soft Sphere interaction. This means that only excluded pairs have to be listed. Only 'Center' atoms will take part in this interaction; other atom types have NULL Exclusion Atom Types and are never considered for the SoftSphere interaction. Each Center atom excludes a number of immediate neighbors equal to the Center to Center SoftSphere diameter (typically 50Å) divided by the length of the Center to Center bond (3.4Å) multipled by Xfactor. Preset value is 1.4.

Sfactor

Currently, the SoftSphereX term is used so this factor has no effect.

If, the SoftSphereI term is used instead the following description applies: A given
'Center' atom will have a SoftSphereI interaction with another 'Center' atom that is some number of atoms away. Thereafter, the interactions will skip some number of 'Center' atoms before interacting with the next. This is the number of atoms that separate a pair such that the nonbond diameter multiplied by Sfactor just exceeds the sum of all the ideal bond lengths that separate the pair. Preset value is 0.4.

Methods

Use rrDNA() to create an assembler object. Then use the startchain() method to start a chain. Call addtochain() to add links to the chain. This can be done as many times as is necessary. When all the links have been added, call closechain() to complete the chain. In theory, more chains can be added by calling startchain(), addtochain() and closechain() for each of the additional chains. In practice, there is no provision to generate coordinates for multiple chains.

rrDNA()

Constructor function

startchain()

Prepare for the assembly of a chain.

addtochain()

Add a tract to the end of the current chain

closechain()

Finish the current chain

finish()

Create and return the model

Note that the methods from the parent class are essential members of this class.


The constructor function initializes the parent class Chains which in turn initializes its parent FFA (which creates a Model object filled with a Potential object, which in turn is filled with four Energy objects, and a root AtomMap). Then, the version string in the parameter library is checked. The new object is then prepared for use.

Method Name
Number of Arguments
Return Value
rrDNA
2
The rrDNA FFA object
Argument
Type
Preset Value
paramdir
string
(path to) Yup/Data/rrDNAv1/
SZ
integer
1000

The paramdir argument is taken as the pathname to a parameter library. This is usually the path to a standard library supplied by the subclass. However, it is possible to supply the name of any library (e.g. while developing parameters for a new model). The parameter library is used to create the root atom map which is then added to the Model object.

The SZ argument is used to provide a hint of the size of the system. Memory is reallocated as necessary to accommodate an expanding model. If a good hint can be provided, the number of reallocations can be minimized and it may even avoid fragmentation of memory.


The startchain() method starts a new chain. This must not be called if another chain is already being built.

Method Name
Number of Arguments
Return Value
startchain
2
-
Argument
Type
Preset Value
modelname
string
-
root
integer
None

The modelname argument must be provided. This is the name of the model.

The root argument is not useful yet. It should be left at its preset value of None.


The addtochain() method adds a tract to the end of the current chain. This method can be called as many times as is needed to construct a chain. It must not be called until startchain() has been called.

Method Name
Number of Arguments
Return Value
addtochain
1
-
Argument
Type
Preset Value
sequence
string
-

The sequence argument must be specified. This is a string that consists entirely of digits which is then taken to be the length of a homogeneous tract with the first atom type defined in the const module. Otherwise, sequence must start with a legal character (also defined in the const module and these are 'A', 'C', 'G' and 'T'), followed by digits and legal characters. This is then taken, to be the composition of a heterogeneous tract. The characters are sequence letters and the numbers that follow are repeat counts. A homogeneous tract can be explicitly specified with the letter '#'. For example, '#1200' and '1200' both specify the same homogeneous sequence of 1200 basepairs. The sequence letters '#', 'A', 'C', 'G' and 'T' all result in 3DNA models. However, the parameter library does not have a complete set of constants to connect undifferentiated base types with the other four base types. Each sequence letter will result in three atoms and these will be placed in a group. Thus, there will be as many groups as basepairs.

To build a 3DNA4 model, use the base symbol '@' followed by the repeat count. For example, '@300' will result in a model that is equivalent to the '#1200' model. The '#' and '@' base types can be mixed, resulting in a hybrid model. For example, '#100@250#100' is a hybrid model that represents 1200 basepairs.


The closechain() method adds interactions to the Energy objects and initialize the coordinates to zeros (and are therefore unusable). At the completion of this method, the startchain() method can be called to start a new chain.

Method Name
Number of Arguments
Return Value
closechain
1
-
Argument
Type
Preset Value
closed
integer: 0 or 1
1

The closed argument specifies whether the chain is to be closed into a circle (if not zero) or not (if zero).


The finish() method creates the final model, then generates starting coordinates or read them from a file and then return the finished model.

Method Name
Number of Arguments
Return Value
finish
4
The rrDNAv1 Model
Argument
Type
Preset Value
overwind
float
10-30
arcfile
string
'' (blank string)
recnum
integer
0
closed
integer: 0 or 1
1

The overwind parameter specifies the amount of overwinding per basepair beyond the equilibrium level of winding of the DNA helix that is dictated by the torsion term. Units for this quantity is degrees. Specify a negative value to underwind. Note that although the preset value is effectively zero, it is not exactly zero which would have a special meaning (see below).

The arcfile argument specifies the name of an AtomVector file from which the starting coordinates will be obtained. If this is a blank string as in the default, then the starting coordinates will be generated as a straight line (if closed is zero) or a circle (if closed is not zero). If arcfile is not a blank string, then the recnum record (last argument) of the file will be read. If in addition, overwind is exactly zero, then arcfile is expected to contain exact coordinates for the model, the size and base sequence of the file must match those of the model. If overwind is not exactly zero, then arcfile is expected to only provide a template; the sequence is immaterial and the length will be scaled up or down to match the model.

The value of 0 for recnum indicates the last record of the file.

The closed argument specifies whether the chain is to be closed into a circle (if not zero) or not (if zero).

Functions

The Make3DNA() function creates one rrDNAv1 (specifically 3DNA) chain out of one link. Homogeneous and heterogeneous chains can be created.

Function Name
Number of Arguments
Return Value
Make3DNA
6
Model: the 3DNA model
Argument
Type
Preset Value
sequence
string
-
closed
integer: 0 or 1
1
modelname
string
'DNA'
overwind
float
10-30
arcfile
string
'' (blank string)
recnum
integer
0

The sequence parameter is passed to the addtochain() method. See the above for details.

The closed parameter is passed to the closechain() method. See the above for details.

The modelname parameter is passed to the startchain() method. See the above for a description.

The overwind parameter specifies the amount of overwinding per basepair. See the above for a description.

The arcfile argument specifies the name of an AtomVector file. See the above for a description.

The value of 0 for recnum indicates the last record of the file.


The ResetCoords() function regenerates a set of random coordinates for the specified chain or reads them from a file.

Function Name
Number of Arguments
Return Value
ResetCoords
6
-
Argument
Type
Preset Value
M
Model
-
overwind
float
10-30
arcfile
string
'' (blank string)
recnum
integer
0
closed
integer: 0 or 1
1
limit
AtomMap
None

The M parameter specifies the model containing the chain. The next four arguments are identical to the equivalent arguments in Make3DNA().

The effects of these arguments (also applicable to Make3DNA()) are summarized in this table:

Value of arcfile
Value of overwind
Value of closed
Coordinates are:

blank string

anything

0

generated as a straight line with the torsion at each base pair altered by the value of overwind.

not zero

generated as a planar circle with the torsion at each base pair altered by the value of overwind.

not a blank string

exactly 0.0

anything

read exactly from record recnum of arcfile; the base sequence must match exactly.

not 0.0

generated to follow the template, read from the recnum record of arcfile, and with the torsion at each base pair altered by overwind.


The getsequence() function reads a base sequence from a file. The base sequence is returned as a string.

Function Name
Number of Arguments
Return Value
getsequence
1
(the sequence) string
Argument
Type
Preset Value
seqfile
string
-

The seqfile parameter specifies the name of a file that contains the sequence letters. This file has a simple format based on the Wisconsin GenBank specification. Everything in the file is ignored until two contiguous periods in columns one and two are read. Thereafter, columns one to 10 are ignored and the sequence is read from the rest of each line.


The mcdefault() function generates the data structure that is required in order to use Grouped Monte Carlo.

Function Name
Number of Arguments
Return Value
mcdefault
1
-
Argument
Type
Preset Value
model
Model
-

The model is split into one group per base pair.


The mcaxial() function generates the data structure that is required in order to use Axial Monte Carlo.

Function Name
Number of Arguments
Return Value
mcaxial
2
-
Argument
Type
Preset Value
model
Model
-
segsize
integer
5

The model is split into overlapping segments of segsize base pairs each. Note that the preset value does not allow for much movement. Segments may have to be as large as 75 to work. However, with large segments we have the risk of strand crossings.


Calculate
Analysis
Service Functions

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

Home
Information
News
User
Technical
Programmer
iYup
Download
Showcase
ETC