Peter Briggs: mapslice - a map viewer for CCP4i
The basic list of requirements from a user perspective is:
- Colour contours or level
- Specifying contour levels either absolute or rms
- Info about the map - rms and mean of density
- Dispaly PDB files (peaks or atoms)
- need to be able to alter slab search distance & label atoms
- Scaleable (ie must be able to resize window)
- Plottable (ie must be able to print out)
- All harker sections
- Cursor position in fractional and/or absolute coordinates
- Choosing actual section and/or axis
This list is not in any order of importance.
The basic mapslice program will consist of Tcl/Tk code interacting
with external (non-Tcl) code of some description. The purpose is to
perform the following basic functions:
- Read in an arbitrary map section
- Generate contour lines
- Display the contours
My present thinking is that steps 1 and 2 should be performed by non-Tcl
code, producing a set of Tcl drawing commands which are then executed by
the Tcl code (step 3). Some possible ways of achieving this are:
- Use an external program to read sections from a map directly
each time a section is required. Call mapmask to reorder
the map axes if sections along other axes are required.
a. Requires calls to two programs (speed)
b. Requires creating external temporary map files
- Use an external program to read in a whole map each time a
section is required. Any axis reordering can be done inside the
program before generating the contours.
a. Reading in a whole map is slower than reading in a single
- As (2) above, but: the external program runs "interactively"
with the Tcl code. Each map is read into memory only once.
a. Difficulties with extracting Tcl information from the
Beyond this are options (?) which involving interfacing the
Tcl directly with compiled Fortran (or C/Fortran) subroutines to
read in and contour the sections. I really have no idea at this
stage how feasible this would be, and how easy it would be to
[Back to home page]