alphabetic index /
program documentation /
Installation for users
Specific hardware problems
Download the program from www.uni-jena.de/~b1glra/spscan/download/. You need a system-independent tar file "spscan-RELEASE.tar.gz" and either an executable for your hardware, "spscan-RELEASE-SYSTEM.gz", or the source code, "spscan-RELEASE-src.tar.gz".
Spscan does not need a specific directory structure. You can unpack the tar files anywhere on the system, if you have write access. The program needs about 3MB (exe, html files & libraries) or 20 MB (sources & compilation).
tar -xvf spscan-RELEASE.tar
All files are unpacked to a directory "./spscan". You can just
If you have not modified the default paths in the install script, this will copy the libraries and macros from spscan/manual/lib/ ... to spscan/lib/ and spscan/macro/, where they can be modified. A file 'spscan/manual/Spscan' will be created and a copy is put to $HOME/.Spscan, if no such file exists. You can also do these installation steps manually.
You can specify directory paths for peaklists, spectra, etc. for each project independently, and anywhere on the file system, as described in user customization.
Add a link to spscan/manual/spscan.html to your software web page. That is all.
Check spscan.README for a suitable executable for your computer. If you do not find one, see Compilation
The executables have only to be gunzip'd, and can be placed to /usr/bin or anywhere else.
If spscan has installed in your group, but you have not worked with the program yet
If you use spscan together with xeasy (see spscan and xeasy):
- copy a $HOME/.Spscan file from somebody who works with the program.
If spscan was properly installed and you are reading this file from your own computer, you should also find a suitable file at ...spscan/manual/Spscan. Use it as a template to modify the paths to your peaklists and spectra.
- Read "The program SPSCAN for efficient analysis of macromolecular NMR spectra" - an unpublished manuscript.
- Try a few examples from the tutorial to get a feeling for the program.
- If you have several projects that access different peaklists and spectra, use different directories to start spscan, and put customized ".Spscan" resource files to these directories.
- You shold be able to copy and modify macros and, possibly, libraries. If you don't have write access to the macro directory, copy these directories and set the path (in .Spscan) to your copies.
SPSCAN runs on UNIX machines with X-Window (R6) surface. It is written in C++, and makes use of exception handling.
- set XEasy.new_atom_numbers: true
- make sure that spscan and xeasy have the same settings for *traditional_calibration: , *residue_library: and *ppm_library:
- set Spscan*spec_color_xeasylike: on
SPSCAN does not run under XFree 4! The program starts as usual, but crashes after some time with an X-error. The bug has not been found yet.
SPSCAN Release 1.0.59 and later must be compiled with exception handling (even earlier releases were not very stable when compiled without). SPSCAN release 1.1.0 is tested on LINUX PC (SuSE 7.3). The previous Releases were also tested on SunOS 5.5 and on IRIX 6.2 SGI.
MEMORY: Most of the routines were running quite well on a 8MB 80486 laptop under LINUX. On the other hand, to make peak searches in 3D spectra with acceptable speed, it is necessary to have enough RAM to load the full spectrum (with 4 bytes per pixel).
USER INTERFACE: The spscan user interface is build on the base of GRAFIX by Wolfgang Koehler. The modified grafix code that is necessary to compile SPSCAN is provided as part of the SPSCAN source code. You dont need motif libraries or anything like that.
To compile the source code, load spscan-RELEASE-src.tar.gz. Gunzip and unpack it in any directory. Go to spscan/src. Copy one of the Makefile.SYSTEM to Makefile, and modify it if necessary. Have a look at sp_sys.h - this file contains most of the things that have to be changed for different compilers or operating systems.
With "make", a single executable "spscan" is created. It gets all configuration information from ".Spscan" and "XEasy" files.
Due to the construction of "root_window" in window.cc the order in which window.o is linked, relative to a few other files, is critical. On linux-a.out gcc 2.5.8, IRIX, and SunOS 5.5 CC, window.o must be the first object file, on gcc 2.7.x and 2.95.x window.o must be the last file. Otherwise you get a segmentation fault when the program starts up, before it shows any windows. As there are only two possibibities, it is easy to try out in which order the linker works.
Compiler warnings of the type "name hides class::name" can be safely ignored.
Most files (peak lists, sequence, proton lists, libraries, parameter files (*.scpa), project files, etc. ) are in text format, and fully compatible between different computers. Xeasy spectra files have a format which is independent of the system as it is stored as a 8-bit test file, and translated immediately upon reading or writing. nmrPipe files, however, are assumed to be float format, and they are not recognized if they come from a computer with different byte order.
Spscan probability matrices for sequential connections and amino acid type (*.seq_hd, *.res_hd) are binary files and may not be compatible between different system. To avoid problems, these files have a header string 'RES_HD_TYPEID' that prevents the files to be read on a different operating system.
There is a strange "feature" on IRIX 6 with some but not all architectures: you get
Assertion failed in file "../../c++runtime/throw.cxx", line 841
Abort (core dumped)
You get this crash only if you call the program as "spscan" from the shell. Everthing works fine when you call it with the full path, e.g. "/usr/bin/spscan55".
To my knowledege no C++ compiler with exception handling exists for IRIX 5.3 and earlier. Although g++ 188.8.131.52 compiles exception handling code without error messages, the code is obviousely ignored and the program crashes when it comes to the first "throw".
GNU g++ 2.7.2 and earlier cannot optimize files that are compiled with exception handling, so the executables produced with the native ANSI C++ compilers on SUN and SGI are a lot faster than the executables made with g++ 2.7.
alphabetic index /
program documentation /
Dr. Ralf W. Glaser
FSU Jena, Institut fuer Molekularbiologie
Winzerlaer Strasse 10
D-07745 Jena, Germany