SPSCAN Installation

alphabetic index / program documentation / database / internals / methods

Contents SPSCAN Installation

Directory structure
Installation for users
Hardware requirements
Compilation problems
System compatibility
Specific hardware problems

Download and Installation

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".

Directory structure

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).

gunzip spscan-RELEASE.tar.gz
tar -xvf spscan-RELEASE.tar
All files are unpacked to a directory "./spscan". You can just
cd spscan
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.

Getting started / Information for new users

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):

Hardware and software requirements

SPSCAN runs on UNIX machines with X-Window (R6) surface. It is written in C++, and makes use of exception handling.

new: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.

System compatibility

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.

Specific hardware problems

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++ 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 / database / internals / methods
Dr. Ralf W. Glaser
FSU Jena, Institut fuer Molekularbiologie
Winzerlaer Strasse 10
D-07745 Jena, Germany
Tel.: +49-3641-65-7573
Fax: +49-3641-65-7520
E-mail: Ralf.Glaser@uni-jena.REMOVSPMTAG.de