Appendix A: The Maestro File Format
Schrödinger Software Release 2015-2
418
Blocks can be nested within other blocks, and if a block contains a list of data values, the block
may be indexed. That is, the number of data values contained in the block can be appended to
the name. Indexed blocks are identified by having names of the form: 'name[
items>]'
. For example, the file shown in
Section A.5
contains an indexed block of the name
m_atom[18]
. In this block name, 'm' means that the data originated in Maestro, 'atom'
means that the data values included in the block belong to atoms, and '18' indicates that are
18 sets of data in the indexed block (representing 18 atoms).
Within each block there are two sections: a list of the names corresponding to the data fields
included in each data item, and the actual data items. In the example file, the first three data
field names in the m_atom[18] block are:
The end of the first section is denoted by a separator ':::', and followed by the actual data items.
In the example file, the first three data items are:
There must be the same number of data values as there are data names, and the fields within the
data items must appear in the same order as the data names are listed. In the above example, for
instance, the first field in the first line of data ('1') is the index number. The second number
('3') is the MacroModel atom type, indicated by the data name i_m_mmod_type. Index
numbers are required in an indexed block and do not count against data names.
The end of the data item section is indicated by a second ':::' separator. A file may contain any
number of structures (CT blocks), and each structure block may contain any number of atom
and bond data items.
i_m_mmod_type
r_m_x_coord
r_m_y_coord
1 3 0.547623 1.262401 -0.990300 1 " " X " " 2
0.00000 0.00000 CHEX " " " " 6 0 0 1 ""
2 3 -0.930177 1.296701 -1.411700 1 " " X " " 2
0.00000 0.00000 CHEX " " " " 6 0 0 1 ""
3 3 -1.821477 1.772701 -0.253300 1 " " X " " 2
0.00000 0.00000 CHEX " " " c1" 6 0 0 1 ""
Appendix A: The Maestro File Format
Maestro 10.2 User Manual
419
A.3
Compressed Format
Files may use a compressed format, most commonly when storing information for a set of
conformers. In a compressed file, the first CT block must be a “full” block containing all the
information described above. The name of this block is 'f_m_ct'. This full block can be
followed by any number of “partial” CT blocks with the name 'p_m_ct'. The partial blocks
contain only information which is different from that in the last preceding full CT block. For
example, a file of conformers will have only one copy of the bond table (the m_bond[36]
block in the example file), and it will be stored in the full CT. Subsequent partial CT blocks
will read bond information from the preceding full CT block.
A.4
Data Item Names
The names of data items in a Maestro format file follow a convention which allows the type of
the data item and the “owner” of the data to be identified. Names have the form 't_o_d',
where t is the type descriptor, o is the “owner” and d is the actual data name. For instance, the
first data name in the m_bond[36] block is 'i_m_mmod_type'. The first character of the name
represents the data type. The acceptable types are:
Owner values indicate the application from which the data item most likely originated.
Including this field in the data name allows multiple applications to store identically titled
quantities. For instance, two applications could store data fields named “energy.” Currently,
basic geometrical and connectivity information, which is shared by most Schrödinger applica-
tions, have 'm' (for Maestro) owner fields. Data introduced by MacroModel have 'mmod'
owner fields, data introduced by QikProp have 'qp' owner fields.
In the 'i_m_mmod_type' example, 'i' indicates the value in the corresponding data field is an
integer. The letter 'm' in the owner field means that the data originated from Maestro, and
'mmod_type'
is an abbreviation for “MacroModel atom type,” which is what the data field
represents.
A.5
Example Maestro File
Below is extract from a Maestro format file. The complete file is not shown. Where data has
been exempted, it has been noted with an ellipse (...). The text in italic type is provided as
annotation and is not a part of the file.
i – integer
s – string value
r – real number
b – Boolean value