|
User Guide
|
| This guide is intended to be
used as a reference manual. More documentation is also available on the
Methodology
page of Situs and in the published
Situs articles.A usage example of FilaSitus is given in the Tutorial. |
|
Content:
The main FilaSitus programs:
filabuild
- Helical / Filament Symmetry Builder
kercon
- Kernel Convolution
Map editing, inspection, and conversion
tools borrowed from Situs1.4:
volcube
- Creating Isocontour Surfaces for VMD
convert
- File Conversion
histovox
- Inspecting and Shifting the Voxel Histogram
padup -
Zero Padding
pindown
- Map Cropping
subtract
- Subtracting Density Values
volslice
- Inspecting 2D Cross Sections of Density Values
Header File
and Library Routines |
| filabuild
- Helical / Filament Symmetry Builder
Purpose:
The filabuild tool generates multiple
copies of the input PDB file in the z-direction according to a user-specified
helical symmetry, and in the (x,y) direction, acoording to a specified
offset. All helical parameters, the start angle, flipping of filaments,
etc., can be adjusted by the user.
Usage (at
shell prompt):
| ./filabuild file1 [file2] file3
file1: inputfile, PDB format
file2: (optional) configuration file
file3: outputfile, PDB format |
Input at
program prompt (if file2 is not specified):
-
Number of filaments
-
For each filament:
-
Helical rise per subunit (in z-direction).
-
Angular twist per subunit (sign determines
handedness).
-
Start (offset) angle of filament
rotation about z-axis
-
Desired number of subunits to be
placed before file1 structure.
-
Desired number of subunits to be
placed after file1 structure.
-
x- and y-position of helical axis
(offset from file1 coordinate system origin).
-
Option to flip the filament. Flipping
is done such that the filaments are turned upside down, but the geometric
centers of the first and last subunit are transformed onto each other.
Thereby, the actin helix keeps a similar appearance after flipping.
All of these parameters can be specified
also in a configuration file (in this order) see the included template
configure.dat.
Output:
Helical / lattice symmetry PDB
file containing multiple copies of input PDB file. |
| kercon
- Kernel Convolution
Purpose:
The kercon utility is a real-space
convolution tool. It allows one to lower the resolution of an atomic structure
to a user-specified value, or to create a sphere model from atomic coordinates.
Both mass and charge density maps can be created. The output is a 3D density
file in Situs format that can be visualized with VMD (we recommend VMD version 1.7) or converted to other formats.
Usage
(at shell prompt):
| ./kercon file1 file2
file1: inputfile, PDB format
file2: outputfile, Situs format |
Input
at program prompt:
-
Choice of creating a charge or mass
density file. Charges are read from the occupancy field of file1. Atom
masses are assigned automatically.
-
Desired voxel spacing for output
map.
-
Kernel width, defined by either the
kernel half-max radius r-half (enter negative value) or by the target
resolution of the output map (enter value of resolution as positive number).
The standard deviation (sigma) of the kernel is assumed to be half
the target resolution.
-
Type of smoothing kernel:
-
Gaussian, A exp(-1.5 r^2 / sigma^2):
The
structure is first projected to a cubic lattice by tri-linear interpolation.
Subsequently, each lattice point is convoluted with the Gaussian kernel.
The user specifies also the amplitude A of the kernel and the kernel width,
defined by either the kernel half-max radius r-half (enter negative
value) or by the target resolution of the output map (enter value of resolution
as positive number). The standard deviation (sigma) of the kernel
is assumed to be half the target resolution. The user has a choice of correcting
for lattice smoothing (subtracts the lattice projection mean-square deviation
from the kernel variance).
-
Hard Sphere: 0 (r>R), A (r<R)
There is a thin region (1 voxel wide) where density values are ramped linearly
from 0 to A to avoid jaggies (anti-aliasing). The radii R of the spheres
are read from the B-factor field of file1. The amplitude A of the largest
sphere is user-specified. In the case of charge density maps, the amplitude
of the smaller spheres is automatically adjusted higher to maintain equally
weighted kernels i.e. charge balance.
Note:
If in doubt, use a kernel amplitude
A=1.
Output:
3D density file in Situs format.
The new grid follows the coordinate system origin convention of the atomic
structure and forms the smallest possible box that fully encloses the structure
convoluted by the kernel. A short header holds the voxel size and numbers
of x, y, and z increments, as well as the 3D coordinates of the first voxel
(x=1, y=1, z=1). The Situs header is followed by the sequence of data values.
The converted Situs files are in ASCII format, allowing the user to verify
the successful conversion of the data. |
| volcube
- Creating Isocontour Surfaces
Purpose:
The program volcube produces wireframe
meshes or solid surfaces of isocontours that can be displayed with atomic
models of proteins using the free molecular graphics package VMD. We recommend VMD 1.7 to ensure maximum compatibility.
The volcube utility takes advantage of VMD's Tcl scripting capabilities
[Dalke and Schulten, 1997] that allow the user to display geometric objects
and surfaces consisting of shaded triangles. In particular, volcube generates
the vertices and vertex norm vectors of triangles that can be used for
solid rendering of surfaces. The VMD-specific part of the volcube code
is concentrated in a single subroutine and can easily be modified to other
standard graphics packages with surface or mesh rendering capabilities.
The isosurfaces are generated with an improved version of the "marching
cubes'' algorithm [Lorensen and Cline, 1987].
Usage (at
shell prompt):
./volcube file1 file2
file1: inputfile, Situs format
file2: outputfile, graphics rendering primitives in VMD script format
|
Input at
program prompt:
-
New voxel size for rendering (the
input grid is automatically interpolated).
-
Isocontour surface density level.
-
Rendering style: lines (wireframe),
triangles (solid, flat shades), or trinorm (solid, smooth shades).
Output:
-
(Program level:) Diagnostic messages
and classification of the "marching cube" intersection patterns according
to Heiden et al., J. Comp. Chem. 14 (1993), 246-250.
-
(Shell level:) VMD script file with
graphics primitives. The primitives can be sourced from the VMD text console
(cf.
VMD
user guide). E.g. the following sequence of commands in the VMD text
console will first list all files in the current directory and then render
the graphics primitives of file "trinorm.vmd" in red", and those of file
"wireframe.vmd" in green:
ls
draw color red
source trinorm.vmd
draw color green
source wireframe.vmd |
Known Bugs:
To prevent shading of the wireframe
lines, the Tcl output scripts turn off the VMD "materials" rendering property.
Subsequently loaded solid surfaces will therefore be rendered flat. This
can be prevented by sourcing all solid surfaces before sourcing any wireframes.
|
| convert
- File Conversion
Purpose:
Volumetric density data is created
in a FilaSitus / Situs-specific format that provides data compatibility
between the individual FilaSitus and Situs programs and that makes the
core programs independent of the ever changing map format standards in
the structural biology community.
The convert utility reads and
writes file formats of standard structural biology application software.
These include the MRC, SPIDER, and CCP4 formats, as well as similar 4-byte
floating-point binary formats. X-PLOR maps in ASCII format, and ASCII files
that contain a sequence of density values in free format are also recognized.
The conversion of Situs format files to CCP4, MRC, X-PLOR, SPIDER format
is supported to facilitate the visualization of FilaSitus-generated
maps with programs other than VMD/volcube.
Usage (at
shell prompt):
| ./convert file1 file2
file1: inputfile
file2: outputfile |
Input at
program prompt (if necessary):
-
Input file format (in FilaSitus typically
Situs format): In Situs format, a short header holds the voxel size and
numbers of x, y, and z increments, as well as the 3D coordinates of the
first voxel (x=1, y=1, z=1). The default origin of the map coordinate system
in Situs is the origin of the PDB coordinate system from which the map
was created with kercon.
-
Number of x, y, and z increments
(columns, rows, and sections).
-
Voxel size (grid spacing).
-
Order of x, y, and z increments in
the input file.
Output:
Density file in selected format.
The order of values in the sequence of densities is altered, if necessary,
such that x increments change fastest and z increments change slowest.
If a SPIDER, MRC, CCP4, or X-PLOR map is created, the unit cell spans the
space from the coordinate system origin to the maximum extent of the input
Situs map.
Notes:
-
The program
name may get confused with any system installed convert tool. Enter "./convert"
at the command prompt to avoid confusion. You may also update your UNIX
path variable to search your local directory first.
-
The MRC and CCP4 map file headers
continue to evolve. Very old CCP4 maps may correspond to the format currently
denoted "MRC", whereas future MRC maps may correspond to the current "CCP4"
format. For a history and future plans of this development read Stephen
Fuller's page at EMBL.
-
Binary maps produced on a foreign
machine architecture may not be readable by convert. We will soon support
automatic binary format (endianism) adjustment. In the mean time, we suggest
to use FilaSitus on the same machine the map was created, or to convert
test-based ASCII maps. For a more powerful cross-platform conversion, see
the manual of the free program MAPMAN,
part of Gerard Kleywegt's RAVE package, or Image
Science's em2em
program.
|
| histovox
- Inspecting and Shifting the Voxel Histogram
Purpose:
The histovox utility prints the
voxel histogram [Frank et al., 1991] of the density values. The histogram
illustrates two general properties of low-resolution density distributions.
First, a pronounced peak at low densities is due to background scattering.
The protein density typically corresponds to a second, broader peak at
higher densities. When integrating the histogram "from the top down'',
the known molecular volume of a protein can be used to compute its boundary
density value. The histovox program also allows the user to add a constant
value to the densities to shift the background density peak to the origin,
and to rescale the densities.
Usage (at
shell prompt):
| ./histovox file1 [file2]
file1: inputfile, Situs format
file2: (optional) outputfile, Situs format |
Input at
program prompt (if file2 specified):
-
Offset density value (will be added
to all voxels).
-
Scaling factor.
Output:
-
(Program level:) Voxel histogram
and fractional volume of volumetric data echoed to the screen. The histogram
bars are normalized by the second highest density peak.
-
(Shell level:) Density file in Situs
format (if specified). The new density values are computed by adding the
offset value and by multiplying the scaling factor entered at the program
prompt. The new grid inherits all size and position parameters of the old
grid.
|
| padup
- Zero Padding
Purpose:
The padup utility allows one to
add margins of a user-specified density value to an existing density map.
In most cases this tool will be used for zero-padding of maps.
Usage (at
shell prompt):
| ./padup file1 file2
file1: inputfile, Situs format
file2: outputfile, Situs format |
Input at
program prompt:
-
Lower and upper x, y, and z margins
in integer voxels.
-
Padding density value.
Output:
Density file in Situs format.
The new grid inherits the voxel size (grid spacing) of the old grid. The
number of x, y, and z increments, and the coordinates of voxel (1,1,1)
depend on the chosen padding margins. |
| pindown
- Map Cropping
Purpose:
The pindown utility allows one
to crop away a user-specified margin to extract a box of interest located
within a map. This is useful e.g. if one wants to apply periodic boundary
conditions in z-direction using filaments with 13/6 symmetry:
First, create a model of filaments
that extend somewhat (3-4 actin monomers) on each side of the desired boundary
in z-direction (with filabuild). Then, blur the
model with kercon, choosing a suitable voxel spacing
that encodes 13 units in integer voxel numbers. Finally, use pindown to
crop away the extra densities:
Usage (at
shell prompt):
| ./pindown file1 file2
file1: inputfile, Situs format
file2: outputfile, Situs format |
Input at
program prompt:
The range of voxels of the selected
box (x, y, and z increments of the old grid).
Output:
Density file in Situs format.
The new grid inherits the voxel size (grid spacing) of the old grid. The
number of x, y, and z increments, and the coordinates of voxel (1,1,1)
depend on the chosen range of voxels. |
| subtract
- Subtracting Density Values
Purpose:
The subtract
utility allows one to compute the difference density map (discrepancy map)
of two matching datasets in Situs format. The input datasets can differ
in the origin of their coordinate systems, but must have identical voxel
size and number of x, y, and z increments.
Usage (at
shell prompt):
| ./subtract file1 file2 file3
file1: inputfile 1, Situs format
file2: inputfile 2, Situs format
file3: outputfile, Situs format |
Input at
program prompt:
(none)
Output:
Density
file in Situs format. The new density values are computed by subtracting
the corresponding values of input grid 2 from those of input grid 1. The
new grid inherits the voxel size and the number of x, y, and z increments
of the two input grids, and the coordinate system of input grid 1. |
| volslice
- Inspecting 2D Cross Sections of Density Values
Purpose:
Cross sections of the density
data in the (x,y)-, (y,z)-, or (z,x)-planes can be inspected with the simple
terminal window graphics program volslice. All voxels whose corresponding
density values exceed a threshold level are represented by text characters.
The background is represented by a two-dimensional grid to help identify
positions in the cross section. This simple rendering method is sufficient
to locate individual voxels in the map.
Usage (at
shell prompt):
| ./volslice file1
file1: inputfile, Situs format |
Input at
program prompt:
Type of cross section, (x,y),
(y,z), or (z,x).
Threshold (cutoff) value for
the rendering of the density.
z, x, or y position of the cross
section plane (grid units).
Output:
(Shell window:) Cross section
of the input map in Situs format. Note that pairs of voxels neighboring
in the vertical direction are represented by a single character:
'^' if the upper voxel
density exceeds a threshold (cutoff) level,
'u', if the lower voxel density
exceeds the threshold level,
'0' if both upper and lower voxel
densities exceed the threshold level, and
' ', if the densities are
below the threshold.
This program requires the use of
a fixed-width font in the shell window. On a Silicon Graphics workstation,
select the font by clicking the right mouse button in the shell window.
The recommended font on a Silicon Graphics workstation is ``fixed(misc)
medium semicondensed 13 pt''. |
| Header
File and Library Routines
The suite
of programs is supported by a documented header file (situs.h) containing
user-defined parameters (e.g., the floating point type used) and by auxiliary
library programs. The library programs handle input and output of atomic
coordinates in PDB format (pdbio.c), input and output of volumetric data
(volio.c), and input of data at the prompt (stdread.c). |
| Return
to the front page. |
|