|
History
|
| Situs
was initially developed 1998/99 by Willy Wriggers in collaboration with
the research groups of Ron
Milligan
and Andy McCammon. The work was
later carried on at The Scripps Research Institute (199-2003), at the
University of Texas-Houston (2003-2007), and since 2007 at various
laboratories. Significant contributors are
Willy Wriggers, Pablo
Chacon, Mirabela Rusu, Jochen
Heyd, Valerio Mariani, Julio Kovacs, Paul Boyle, and Stefan Birmanns.
Updated
information on our research can be
found at the URL biomachina.org.
The
program history below describes changes that were implemented after
version
1.0. |
Changes
in Version 2.5
vs. Version 2.4:
- Added a new tool, matchpoint for vector quantization
based matching of arbitrarily sized point clouds. It is expected that matchpoint will eventually
supersede the more limited qrange and qdock tools.
- map2map was extensively revised and now
supports interpolation of skewed MRC2000/CCP4 maps as well as axis
permutations. The program checks if maps are cubic, orthogonal (angles
90 but unequal spacing), or skewed (angles !=90). The supported map
formats are now X-PLOR, SPIDER, ASCII, and MRC2000/CCP4, and there are
manual options to edit the header fields arbitrarily. Bug fix to
run on 64-bit architectures. Situs map format is now supported by em2em and verified to
display correctly in the recommended graphics
programs.
- The Makefile was completely revised
and distribution ported to PC (cygwin and Mingw) as well as MacOS X in addition to
Linux.
- colores: new -sculptor option to support
interactive exploration of fits with Sculptor; output of debugging maps
(filtered maps just before correlation calculation); optimization of
zero padding results in smaller maps and (in most cases) faster FFT
calculations (10-30% speed and memory improvements); default
correlation method depends on resolution; default FFT zero padding
depends on correlation.
- colacor: default correlation method
depends on resolution.
- 2 deprecated tools, volcube and
volvoxl, have been removed in this version (volvoxl functionality is
now part of voledit).
- voledit revised to support voxel step
display, enabling 2D slice display of very large maps.
- voldiff: new interpolation / bug fix
enforces map dimensions of first read map.
- A number of library functions were revised, mainly to
ensure that origins that are not in register with the PDB coordinate
system can be freely used throughout. Registration with the origin
(useful for generating crystallographic style indexing) is now
performed
only when an interpolation function is called. Also, to
better reflect the purpose, the earlier "grid[x,y,z]" variables were
renamed to "orig[x,y,z]" throughout the package.
|
Changes
in Version 2.4
vs. Version 2.3:
- Added a new tool, qplasty, for user-friendly flexible
fitting of structures using coarse models.
- Improved options for a
codebook
vector connectivity learning feature in qvol.
- Automatic
interpolation of maps to 2 x Nyquist rate in colores yielding
significant (an order of magnitude or more) speedups for fine voxel
spacings.
- Implementation of
overlap check for lattice projection of poorly docked atomic
structures in Powell
optimization of colores and colacor
(in lib_pwk.c).
- Improvements to correlation
peak detection and peak sparsification in colores.
- Bug fix: -ani feature
introduced in 2.1 for colacor and colores was broken
(fixed in 2.4.1). Minor optimization of zero padding and use of library
functions in colacor (in 2.4.2).
|
Changes
in Version 2.3
vs. Version 2.2:
- Addition of Situs Flavors, i.e. user
modified
code based on earlier versions of Situs.
- Implementation of a
non-recursive floodfill in voledit
to enable segmentation of large maps.
- More accurate angle
distribution in proportional Euler generation of lib_eul.c.
- Commented out
confusing grid registration warnings in lib_vwk.c
and lib_vio.c.
- Made type of index variables in
routine create_laplacian consistent with gidz_cube function declaration
in lib_vwk.c.
|
Changes
in Version 2.2
vs. Version 2.1:
- Added a new tool, colacor, for simple cross
correlation calculations and simple refinement of manually docked
structures.
- Added a new tool, eul2pdb, for inspection of Euler
angles generated by colores.
- Added a new tool, pdb2sax, for the generation of
simulated hexagonal bead models for validation of SAXS modeling
approaches.
- Added a new tool, vol2pdb, as a complent to pdb2vol,
for the generation of PDB files from 3D maps.
- Four main programs replaced by a
combined map editing and visualization tool that offers more
convenience (volslice,
volpad, volcrop, floodfill ---> voledit).
- Two main programs replaced by better
versions (subtract, hlxbuild ---> voldiff, pdbsymm); voldiff now resamples the second
input file is necessary, pdbsymm supports also C and D symmetries in
addition to helical.
- Four
main programs renamed and slightly updated (conformat, interpolate,
histovox, pdblur ---> map2map, volvoxl,
volhist, pdb2vol)
to fix bugs and to make consistent with new naming convention.
- Added more
functionality to the colores
program: (1) support of multi-processor architecture through
parallelization;
(2) an improved peak search filter; (3) patches for mask generation; (4) support of map fitting through vol2pdb; (5)
general tuning of functions and improvements in speed; (6) new Euler
angle generation routine (proportional), old routines tested and tuned;
(7) New correlation calculation choices for Powell optimization,
automatic selection of the fastest routine.
- Makefile is now cygwin compatible.
- FFTW included in source distribution.
- Dynamic memory allocation (still work
in progress, the q... programs are not dynamic yet).
- Since VMD is now supporting the
editing of PSF files, qvol was modified to allow import of
connectivities from PSF files for distance constraint (skeleton) setup
(useful for flexible fitting).
- A general rewrite and expansion of library files, for documentation please
consult the source files directly (file and function headers).
|
Changes
in Version 2.1
vs. Version 2.0:
- Automatic
endianism adjustment (byte
swapping) in conformat allows
transparent sharing of binaries across architectures.
- Added more
functionality to the colores
program: (1) support of resolution anisotropy by means of "-ani"
option;
(2) use of a 4-sigma kernel instead of 3-sigma kernel for generating
Laplacian
filter; (3) automatic masking of hard boundaries when applying
Laplacian
filter; (4) update of inside-molecule-poslist (erosion); (5) better
user
feedback.
- In the library
file "lib_vwk.c", improved peak search and added interpolate function.
Rewrite of interpolate
to take advantage of the library.
- Added polygon
clipping functionality
to volslice.
|
Changes
in Version 2.0
vs. Version 1.4:
- Added a new
program: colores
(FFT-accelerated rigid-body search) and a number of supporting libraries: lib_eul.c (Euler angle
generation), lib_rnd.c (random number
generator), lib_pow.c (Powell optimization), lib_pwk.c (PDB
manipulation), lib_vec.c (array management), lib_tim.c (timing), and
lib_vwk (map
manipulation).
- Renamed the
earlier libraries
(stdread.c, pdbio.c, volio.c, jacobi3.c ---> lib_std.c, lib_pio.c,
lib_vio.c,
lib_jac.c) to conform to the new naming convention.
- Renamed
three
main programs (convert,
padup, pindown ---> conformat, volpad, volcrop)
to avoid naming
conflicts.
- Two
redundant routines (qhlx
and invert) were removed from the distribution.
- Added
comment to volcube
Tcl output to indicate isocontour level.
- Preliminary
patch to better recognize
non-PDB standard atom types (pdblur,
qrange, qpdb).
- Added
option to export slice
data (volslice).
- Added
option to save both connectivity
and PSF files in same run (qpdb, qvol).
Bug fixes: (i)
removed empty
trailing spaces from input strings (lib_std.c)
, (ii) patched output file check throughout to avoid segmentation
faults
on certain Linux architectures, (iii) added random number generator (lib_rnd.c) to enhance portability, (iv)
replaced 'strcasecmp' with
'strcmp' throughout to enhance portability, (v) fixed underflow
variables
in lib_jac.c and removed
preprocessor
code to increase stability on Compaq machines, (vi) limited
output
of atom number to 5 digits (lib_pio.c),
defined surface norm behavior if flat density regions are present
(volcube).
|
Changes
in Version 1.4
vs. Version 1.3:
- Addition of
new
programs: padup, qhlx (helical
symmetry equivalent of qvol), hlxbuild (helical symmetry
builder),
and volslice3d
(now superseded 3D equivalent of volslice).
- Optional
addition of vector distance
constraints, LBG and TRN optimization (qvol).
- Learn and
output vector connectivities;
compute effective Voronoi cell radius; option
to
export Voronoi cells (qpdb).
- Addition of
a
hard sphere convolution
option to pdblur to convert SAXS
bead
models into Situs density format.
- Removing
now-redundant specialiced
SAXS routines (qvol_saxs, qdock_saxs, qrange_saxs).
- Printing of
occupied volume (qvol, qrange, floodfill).
- Printing of
fraction of occupied
volume in voxel histogram (qvol, qrange, histovox).
- Addition of
sphericity shape descriptor
(qrange, qpdb).
- Degeneracy
warning for three vectors
(qrange, qdock).
- Ignoring
codebook vectors and warning
if there are unrecognized atom types (pdblur,
qrange, qpdb).
- Grid start
at
origin (pdblur) and handling of
negative voxel coordinates in convert.
- Adjust
SPIDER
lattice spacing and
simplify reading of arbitrary binaries in convert.
- Append
sorted
and fitted vectors
to docked structure (qdock).
- Search for
nearest start voxel (floodfill).
- Bug fixes:
(i)
MAXPDB violation and
empty line errors (pdbio.c), (ii)
complete surface at grid boundary and reset view (volcube), (iii)
remove empty leading
spaces from input strings (stdread.c),
(iv) tolerate
missing
EOF flag in X-PLOR maps (convert),
(v) tolerate constant density maps (qvol,
qrange, histovox), (vi) avoid division by 0 in
LBG clustering algorithm (qvol, qrange, qpdb),
(vii) negative rmsd in Kabsch algorithm (qrange,
qdock).
|
Changes
in Version 1.3
vs. Version 1.2:
- Addition of
a
new tool for lowering
the resolution of atomic structures: pdblur.
- Flexible
refinement of structures against low-resolution data based on Situs
codebook vectors using X-PLOR
scripts.
- Porting to
Sun
workstations made
possible by rewriting jacobi3.c, qpdb, qrange,
and qrange_saxs.
- Exclusion
of
water molecules made
possible (qpdb, qrange, qrange_saxs).
- Bug fix:
tri-linear interpolation
in qdock, qrange,
and qrange_saxs.
|
Changes
in Version 1.2
vs. Version 1.1:
- Addition of
new
tools for combined
vector quantization and docking: qrange
and qrange_saxs.
- Skewed
(non-orthogonal) unit cells
are now automatically converted to cubic lattices using trilinear
interpolation
by the convert
utility.
The routine now also reads and writes ASCII X-PLOR file formats.
- Docking by
3
vectors now possible
(qdock, qdock_saxs, qrange, qrange_saxs).
- Rotational
and
positional docking
accuracy is now estimated (qdock,
qdock_saxs, qrange,
qrange_saxs).
- Porting to
diverse UNIX architectures
made possible by rewriting IRIX-specific "Quicksort" routines (qvol, qvol_saxs, qpdb).
- Bug fixes:
(i)
writing non-stamped
CCP4 maps in convert, (ii)
overlap-based sorting in qdock_saxs, (iii) trilinear
interpolation
in qdock .
|
Changes
in Version 1.1
vs. Version 1.0:
- Addition of
new
SAXS tools: qvol_saxs
and qdock_saxs (now superseded).
- Down-weighting
of flexible / poorly
defined regions in atomic-resolution structures can now be accomplished
by ignoring all atoms with B-factor values above a user defined cutoff
(qpdb).
- The qdock
utility now allows to rank the results by the correlation coefficient
(carbon
alpha or full atom), and gives the user the opportunity to change the
origin
of the EM map coordinate system.
- The faster
and
more accurate Linde-Buzo-Gray
clustering algorithm (qvol, qvol_saxs, qpdb) avoids "empty receptive field"
errors, and gives information about
the
size of the Voronoi cells (receptive fields) of the vectors.
- EM map file
headers are now read
automatically by the convert
utility. The routine now also reads and writes CCP4 file formats.
- Four-letter
residue names are now
fully supported.
- The grid
size
may be kept unchanged
when using the floodfill utility.
- Double
lines in
wireframe rendering
(volcube) are eliminated;
"materials"
rendering is turned off.
- The interpolate
utility now preserves the origin of the EM map coordinate system.
- Output file
argument for histovox
is now optional; user may now rescale the densities;
- Precomputed
normalization of high
resolution density (qdock) yields
faster
search, avoids out of bounds errors.
|
| Return
to the front page . |
|