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 and since at the University of Texas-Houston. Significant contributors are Willy Wriggers, Jochen Heyd, Valerio Mariani, Pablo Chacon, Julio Kovacs, and Paul Boyle. Updated information on our reserach 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.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 .