MM_System contains a procedure for constructing an MM system definition from data read in from an MM file and a sequence file. Essentially MM_System fills the variables in the module MM_TERMS.
Full details about the use of this module and the format of a sequence file can be found in chapter 5 of the book A Practical Introduction to the Simulation of Molecular Systems.
Module | Variables |
---|---|
DEFINITIONS | DP, MAX_RECORD_LENGTH |
ELEMENTS | MASS |
FILES | NEXT_UNIT |
IO_UNITS | INPUT, OUTPUT |
PARSING | Most public items in the module. |
STATUS | ERROR |
ATOMS | Most public items in the module. |
CONNECTIVITY | Most public items in the module. |
MM_FILE_DATA | Most public items in the module. |
MM_FILE_IO | MM_FILE_READ |
MM_TERMS | Most public items in the module. |
SEQUENCE | Most public items in the module. |
SYMMETRY | Most public items in the module. |
None.
There is a single public subroutine in this module.
Subroutine | Purpose |
---|---|
MM_SYSTEM_CONSTRUCT | Define the terms necessary to calculate the MM energy for a system. |
Argument | Type | Intent | Optional | Purpose |
---|---|---|---|---|
MMFILE | Character ( Len = * ) | In | No | The name of a processed binary MM file. |
SEQUENCE | Character ( Len = * ) | In | Yes | The name of the sequence file. |
Error | Place | Meaning |
---|---|---|
I/O Error. | MM_SYSTEM_CONSTRUCT | There is a problem opening the scratch file needed by the subroutine. |
Missing energy function parameters. | FILL_ATOMS_AND_MM_TERMS | Some MM term parameters were not defined. |
The last residue cannot have a `+R' bond specification. | GENERATE_STRUCTURE | The last residue in a system cannot be joined to a following residue except by using a variant. |
Unknown atom name: XXX. | GENERATE_STRUCTURE | An atom in a bond or improper definition is unknown. |
A bond contains no non-link atoms. | GENERATE_STRUCTURE | A bond specification has only `+R' or `-R' atoms. |
Only one connection to the previous residue is allowed. | GENERATE_STRUCTURE | There can only be one bond specified to the preceding residue using the `-R' syntax. |
Invalid bond to a previous residue. | GENERATE_STRUCTURE | The previous residue did not have a bond specified with a `+R' atom. |
Only one connection to the next residue is allowed. | GENERATE_STRUCTURE | There can only be one bond specified to the following residue using the `+R' syntax. |
Invalid bond atom index. | GENERATE_STRUCTURE | There has been a problem constructing the bond lists for a residue. |
Improper specified to previous residue without bond to `-R'. | GENERATE_STRUCTURE | A `-R' atom was given in an improper definition but without the corresponding bond specification. |
Improper specified without corresponding `+R' bond. | GENERATE_STRUCTURE | A `+R' atom was given in an improper definition but without the corresponding bond specification. |
There is a missing `*R' specification in a link. | GENERATE_STRUCTURE | A cross-linking bond specification is missing from a LINK statement. |
Unknown atom to delete: XXX. | GENERATE_STRUCTURE | Cannot find the atom which is to be deleted when applying a link or variant modification to a residue. |
Unknown atom to change charge: XXX. | GENERATE_STRUCTURE | Cannot find the atom whose charge to change when applying a link or variant modification to a residue. |
I/O Error. | READ_SEQUENCE_FILE | There is a problem with the sequence file. |
SEQUENCE label invalid. | READ_SEQUENCE_FILE | The `Sequence' tag is missing from the top of the sequence file. |
SUBSYSTEM label invalid. | READ_SEQUENCE_FILE | A `Subsystem' tag is missing. |
Duplicate subsystem names. | READ_SEQUENCE_FILE | Two subsystems have the same name. |
Subsystem residue count error. | READ_SEQUENCE_FILE | The number of residues specified for a subsystem and listed for its sequence are different. |
Unknown residue name: XXX. | READ_SEQUENCE_FILE | A residue name specified in a subsystem sequence definition could not be found in the MM file data. |
Invalid residue name or number in VARIANT statement. | READ_SEQUENCE_FILE | A residue specified in a VARIANT statement could not be found in the sequence. |
Unknown variant name: XXX. | READ_SEQUENCE_FILE | A variant name specified in a VARIANT statement could not be found in the MM file data. |
Invalid subsystem block terminator. | READ_SEQUENCE_FILE | An 'End' tag was missing at the end of a subsystem definition block. |
Unknown link name: XXX. | READ_SEQUENCE_FILE | A link name specified in a LINK statment could not be found in the MM file data. |
Unknown link subsystem name: XXX. | READ_SEQUENCE_FILE | A subsystem name specified in a LINK statement could not be found in the sequence. |
Invalid residue name or number in LINK statement. | READ_SEQUENCE_FILE | A residue specified in a LINK statement could not be found in the sequence. |
Invalid sequence block terminator. | READ_SEQUENCE_FILE | An `End' tag was missing at the end of the sequence file. |
Stable.