2.20 ********************
* EXTRMSK WRITE-UP *
********************
Program EXTRMSK extracts a region from an input solvent mask file
(prepared by BNDRY) and writes it to a file in a form suitable for
input to any of the averaging programs (MAPORTH,MAPAVG,SKEW,LSQROT
etc.) This program is needed only if one wants to edit a SOLVENT mask,
and even then only if the desired asymmetric unit volume must span a
cell edge. Note that a similar result can frequently be obtained with
MAPVIEW provided one selects the entire map region, i.e. x,y,z all
going from 0 to .999, and the mask from BNDRY is read in as well. Then
upon exiting from MAPVIEW one can save a subset of the map and mask.
However, if the desired subregion to be extracted does not lie
completely within the bounds of the input map (for example, a cell
edge must be crossed), then this program must be used instead. In
EXTRMSK there are no restrictions on the specified output region, i.e.
unit cell edges can be crossed, both in the positive and negative
direction.
INPUT DATA (UNIT 5)
RECORD I PAMFIL (free format)
PAMFIL = Input parameter file, used only to get the
"running log" filename.
RECORD II INPMSK (free format)
INPMSK = Input mask file, as generated by BNDRY
RECORD III OUTMSK (free format)
OUTMSK= Output mask file
RECORD IV XMIN, XMAX, YMIN, YMAX, ZMIN, ZMAX (free format)
XMIN =
XMAX =
Minimum and maximum coordinates, fractional,
YMIN =
YMAX = defining volume to be extracted and output.
ZMIN =
ZMAX =
***** FILES *****
INPUT (AND OUTPUT) MASK FILES (BINARY)
record 1) A,B,C,AL,BE,GA,NX,NY,NZ,IXMN,IYMN,IZMN,IXMX,IYMX,IZMX
with first 6 values REAL*4, next 9 INTEGER*4, lengths in Angstroms,
angles in degrees.
NX =
Number of grid points defining one "cell length" along
NY = respective axis. Implicitly defines grid spacing as
del x = A/NX, del y = B/NY and del z = C/NZ
NZ =
IXMN, IXMX =
Minimum, maximum grid index defining map region such
IYMN, IYMX = that x (fractional) = IX * (del x) / A etc.
There are no restrictions on magnitudes or signs.
IZMN, IZMX =
The mask follows as (IYMX-IYMN+1)*(IZMX-IZMN+1) records, with
each containing one row (IXMX-IXMN+1 BYTE values) along X,
starting at IXMN. Y is slowest varying, i.e. the file could have
been created with the following FORTRAN code where the array
MASK is FORTRAN type BYTE:
DO 30 IY=IYMN,IYMX
DO 20 IZ=IZMN,IZMX
20 WRITE(LU)(MASK(IX,IY,IZ),IX=IXMN,IXMX)
30 CONTINUE