Installation:

This package uses GNU autoconf generated configure scripts, see the
file INSTALL.configure for generic configure documentation.

Quickstart: Usually you'll just have to type:
----------
	./configure
	make
and (as root)
	make install 

Install Paths:
-------------
The main programs, library, man, and info pages are
installed in the usual places by default
(i.e. /usr/local/{bin,lib,man,info}). In addition the following
install paths are used:
header files	/usr/local/include/ViennaRNA	[includedir/ViennaRNA]
parameter files	/usr/local/share/ViennaRNA      [datadir/ViennaRNA]
extra scripts	/usr/local/share/ViennaRNA/bin  [datadir/ViennaRNA/bin]
documentation   /usr/local/share/ViennaRNA/doc  [datadir/ViennaRNA/doc]

All these locations can be changed by calling ./configure with
appropriate options.

If you like having all software packages separated in their own directories
you could run e.g.:
./configure --prefix=/opt/packages/ViennaRNA --datadir=/opt/packages/ViennaRNA 
resulting in /opt/packages/ViennaRNA/{bin,lib,man,info,include,doc} directories

The installed location of the Perl module is determined by Perl's own
configuration, independent of any configure options. 
To leave out the Perl modules run
   ./configure --without-perl

The programs AnalyseSeqs and AnalyseDists offer some cluster analysis
tools (split decomposition, statistical geometry, neighbor joining,
Ward's method) for sequences and distance data. To also build these
programs add  --with-cluster  to your configure options.

This release includes the RNAforester and Kinfold programs, which can also 
be obtained as independent packages. Running ./configure in the ViennaRNA 
directory will configure those two packages as well. However, for detailed
information and compile time options, see the README and INSTALL files in 
the respective subdirectories. 

The Kinfold program can be used to simulate the folding dynamics of an 
RNA molecule, and is compiled by default. Use the --without-kinfold
option to skip compiling Kinfold.

The RNAforester program is used for comparing secondary structures using 
tree alignment. To compile RNAforester you'll need to first install the
g2 graphic library, then run configure with the --with-forester option.

Calculation of partition functions (via RNAfold -p) uses double
precision floats by default, to avoid overflow errors on longer sequences.  
If your machine has little memory and you dont't plan to fold sequences
over 1000 bases in length you can compile the package to do the computions 
in single precision by giving ./configure the --enable-floatpf option.

Memory requirements for a sequence of length n will be approximately
12*n^2 bytes for RNAfold -p in the double precision version, and
 4*n^2 bytes for the minimum free energy alone.
  

The readseq program is not integrated in the build process. If desired,
install readseq manually, following the instructions in the readseq
directory.

There are man pages for all executables, the library is documented in
./doc/RNAlib-2.0.7.pdf as well as a set of HTML pages in
./doc/html/index.html. Documentation in HTML can also be found at
http://www.tbi.univie.ac.at/~ivo/RNA/


System specific notes:

MacOS X users:

Depending on your version of gcc (< 4.4 ?) it might be necessary to deactivate OpenMP support by passing the option

--disable-openmp

to the ./configure script, since the OpenMP support is only partial in earlier versions of gcc shipped for MacOS X.

Additionally, since MacOS X 10.5 the perl installation distributed with MacOS X seems to always include so called
fat-binaries, i.e. binaries for multiple architecture types. Although this may be a nice portability feature of MacOS X
it will break compilation of the perl interface to the RNAlib!
To circumvent this problem you have two options

1. Compile the perl interface without fat-binary support. Do so by setting the global shell variable ARCHFLAGS to
include only the target architecture used for compiling RNAlib. E.g. do the following before executing make

export ARCHFLAGS="-arch x86_64"

2. Compile the complete ViennaRNA package with fat-binary support. Therefore, run the ./configure script in the
following manner

./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
            CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
            CPP="gcc -E" CXXCPP="g++ -E"

The second option is not guaranteed to produce a working result, thus we suggest using the first one to create a
single architecture build of the RNAlib perl interface! 

General remarks:

Calculating the partition function for long sequences ( >400 bases)
generates a lot of floating point underflows. On some system this can slow
down the calculation dramatically because an exception is invoked for each 
underflow. How to avoid this problem is highly system specific:

On SunOS 4.1 the remedy is calling nonstandard_arithmetic() add a -DSUN4 to
the CFLAGS in lib/makefile to do this. Use CC=gcc since SUN's standard cc
doesn't understand ANSI C.

On HP machines running hpux-9 or hpux-10 add -DHP9 to the CFLAGS so that
fpsetfastmode() will be called.


