MAKBRK: Make Bricked File for FRODO
Authors: Debra Holland, Keith Watenpaugh and Jim Stewart
Contact: Keith Watenpaugh, The Upjohn Company,
Physical and Analytical Chemistry, Kalamazoo, MI 49001, USA
MAKBRK converts a FOURR map into a random-access bricked electron density
file suitable for use by the FRODO graphics program.
Purpose
MAKBRK reads an electron density map stored on a bdf by FOURR. Using logical
record 21 to describe its size and layout, MAKBRK partitions the electron
density map into bricks of density of specified dimensions. The input map can
be generated using any XYZ Fourier summation order. However, the bricks are
organized in a predetermined row-column-page order expected by FRODO; the map
will be sectioned along z, with y running fastest.
The electron density bricks can be output in one of two FRODO formats. The
fmt1 option (default) generates a bricked map readable by the
UCSD and RICE version of FRODO as a DSN6 file. The fmt2 option
produces a bricked file that can be read by the Cambridge version of FRODO and
used as any one of the four background maps. The dimension of bricks output in
the fmt2 format can be controlled by the user, whereas the size
of the fmt1-formatted bricks is a constant 8x8x8.
fmt1 Output Format
fmt1 produces a random-access unformatted binary file with a
record size of 512 bytes. The header record for this file contains 256 2-byte
integers:
integer 1-3 lower limits for x,y,z
4-6 limit range for x,y,z
7-9 number of grid points in x,y,z
10-12 cell dimensions (times F1) in x,y,z
13-15 cell angles (times F1) in x,y,z
16 multiplicative term (times F2) for density value to map to
[0,255]
17 additive term (times F2) for density value to map to [0,255]
18 F1
19 F2
20-256 0
The density values are stored in the bricks in 1-byte values, 512 values per
record. Since bricks are sized as 8x8x8 for the fmt1 format,
one brick per record is stored.
fmt2 Output Format
fmt2 produces a random-access unformatted binary brick file
with a record size of 1024 bytes. The header record for this file contains 256
4-byte reals:
real 1-3 number of points in input map for x,y,z
4 storage format type, always 10 to denote bricked byte map
5-7 lower limits of map in x,y,z
8-10 grid sampling along x,y,z
11-13 cell dimensions
14-16 cell angles
17 column direction to axis mapping (1,2,3 for x,y,z)
18 row direction to axis mapping (1,2,3 for x,y,z)
19 page direction to axis mapping (1,2,3 for x,y,z)
20 minimum density value stored in bricks
21 maximum density value stored in bricks
22 average density value stored in bricks
23 space group number (not used)
24-37 not used
38 multiplicative term for packing density values into [0,255]
39 additive term for packing density values into [0,255]
40-42 brick size in xyz
43-54 not used
55 rms deviation of map from mean density
56-256 not used
The density values are stored in the bricks as 1-byte values, 1024 density
values per record. The brick sizes can differ from 8x8x8 for the
fmt2 format, thus dictating the number of bricks per record. It
is not mandatory that an integral number of bricks be stored in a record;
bricks can be split between records in the output file. Another difference
between the fmt1 and fmt2 files exists in that
adjacent bricks of the fmt2 format files share an edge, whereas
fmt1 bricks are completely disjoint from one another.
File Assignments
Reads FOURR map from file map
Writes FRODO file to file fro
Example
MAKBRK fmt1 swap
scale 1.2
limits 1 50 1 50 1 70
Map output as 8x8x8 bricks in the UCSD format for FRODO. Byte-swapping is
applied so that the bricked file can be transferred to another machine where
the bit order (low to high) is the opposite of that on the source machine. All
density values are scaled by 1.2 before storing. Only a portion of the map is
used as specified by the limits line in grid units. The brick
file can be read by FRODO as DSN6.