Boundary conditions

Allows periodic boundary conditions to be added to the model.

Implicit water

Switch implicit and explicit water calculation modes.


This module creates molecular lattices.


This module creates and edits chain molecules. Chain molecules are molecules composed of residues. In this program, residues are fragments specified in the molecule layout rather than arbitrary chemical residues. Such layout is commonly present in model files or can be defined in this module when a molecule is created.

Using this module is described in the Chain builder section.

The Chain editor manipulates residues contained in mlm files, which are stored in the data/Repository folder. The appropriate residue files are grouped in specialized sets such as Amino Acids, Nucleic Acids, etc.

The user can also develop its own residues for model construction. Their main distinction from the common mlm files is the obligatory specification of the joints and an optional table specifying the Fine types with the types and charges accepted in molecular mechanics force fields. The mlm files in the data/Repository folder and its subfolders are considered as residues for the construction and are shown as buttons in the Chain panel.

The user can also define conformational prototypes of chain molecules, which are stored in files with conf extension. Nevertheless, their content is a part of the mlm format. It includes one or two tables. The first of them specifies the torsion angle types defining the residue conformation in the chain molecule. For instance:

@Table Torsion_types
str str str str str str
Type Fine1 Fine2 Fine3 Fine4 Comment
Phi C_amide N_amide C_alpha C_amide
Psi N_amide C_alpha C_amide N_amide

This table specifies the φ and ψ angles for the polypeptide chain, which will be represented in the Chain panel as Phi and Psi. The Fine1–Fine4 columns specify identifiers of atoms that define the torsion angles. These identifiers can be atomic Fine types, names, or IDs. Note that atomic IDs are local for a given file and can be used within this file only, while the names and Fine types can be used to create conformational prototypes. Once specified, they are stored throughout the program session and can be applied to generate any model. Such conformational prototypes are used in the Chain editor. All identifiers should be either Fine types (if available for all four atoms), names (if Fine type is not available for at least one atom and names are available for all four atoms), or atomic IDs. The residue atoms of the types specified in the Fine2 and Fine3 columns define the bond about which torsional rotation is performed, while the Fine1 and Fine4 atoms associated with them define the Fine1–Fine2Fine3–Fine4 torsion angle. Note that two central atoms always belong to the residue, while the lateral atoms can also belong to the neighboring residue. Essentially, they should have a corresponding Fine type (Name or ID) and the bond to the corresponding central atoms. The torsion angle of the bond between different residues should not be specified in this table. Special keyword Joint is reserved for this angle.

The second table specifies the torsion angle values:

@Table Torsions
str double str str
Type Value Res Comment
Joint 180 1
Phi -140.53 1
Psi 89.02 1
Joint 180 2
Phi 76.04 2
Psi -129.7 2

This example defines the conformations consecutively applied to each odd and even residues of the polypeptide chain. Specific values are given for the φ and ψ angles for each step as well as the ω angle, which is denoted Joint since it applies to the bond between two different residues. The Joint values of 180° can be omitted since it is the default value.


is a panel with examples of nanocarbon structures. (For demonstration purposes.)


This command removes hydrogen atoms nonexistent in terms of the current force field. Such atoms are assigned to the molecular mechanics type '0'. This operation is unsafe, since removed atoms cannot be restored. It is recommended to save a model copy before this operation.

Force field

This command associates the user-selected force field with the model. In this case, the Fine types are used to define the molecular mechanics type of each atom. New partial charges should be set for atoms if they were specified for the selected force field in the @Table MM_types. Note that the association of atomic types with a particular force field does not mean that this field is available in the program. Such association makes sense if the constructed model is to be used in some other program, where the desired force field is available.





Software for