From: ftp-bimas.cit.nih.gov                       Last mod: June 27, 1999

                  FASTLINK, version 4.1P

This file describes installation of sequential FASTLINK, version
4.1P. See README for an overview of all the documentation. Most of these
instructions apply to the parallel versions, but you should also
read README.parallel, README.p4 (for shared-memory), and README.TreadMarks
(for networks) to fully install the parallel version.


|*| FTP DIRECTIONS
    ------------

The code is available by anonymous ftp to a machine at NIH
Here are specific instructions:

  ftp fastlink.nih.gov
or equivalently
  ftp ftp-bimas.cit.nih.gov

Login as anonymous, please leave your FULL e-mail address as password.
This is very important in case we need to let you know about bugs, fixes,
and future versions.

  cd pub/fastlink

To retrieve everything at once
  binary
  get fastlink.tar.Z

  uncompress fastlink.tar.Z

  tar xvf fastlink.tar

All the source code files will be in the subdirectory 4.1P/src
They produce fast versions of

	ilink
	lodscore
	linkmap
        mlink

and a FASTLINK-compatible version of
      
        unknown

In addition to four papers and this README file, the top level
directory contains various other pieces of documentation.
See the README file for a roadmap to the documentation.

|*| SOURCE CODE ORGANIZATION
    ------------------------

The code is broken up into .h files that have just definitions
and declarations, and .c files that have just C procedures. Each file
opens with a comment explaining what role that file plays. Here we
summarize only which files are needed for which programs:

File Name                 Used in
checkpointdefs.h          LODSCORE ILINK LINKMAP MLINK
commondefs.h              LODSCORE ILINK LINKMAP MLINK
compar.h                  ILINK LINKMAP MLINK (parallel versions only)
gemdefs.h                 LODSCORE ILINK
ildefs.h                  ILINK
lidefs.h                  LINKMAP
lodefs.h                  LODSCORE
mldefs.h                  MLINK
moddefs.h                 LODSCORE ILINK LINKMAP MLINK (faster versions)
slowmoddefs.h             LODSCORE ILINK LINKMAP MLINK (slower versions)
strbuff.h                 LINKMAP MLINK (parallel versions only)
unknown.h                 UNKNOWN
automodified.c            LODSCORE ILINK LINKMAP MLINK (faster versions)
check.c                   LODSCORE ILINK LINKMAP MLINK
ckpt.c                    auxiliary checkpointing program
comgetvect.c              LODSCORE ILINK LINKMAP MLINK
cominputcode.c            ILINK LINKMAP MLINK 
commoncode.c              ILINK LINKMAP MLINK
comnuclear.c              LODSCORE ILINK LINKMAP MLINK
comlike.c                 LODSCORE ILINK LINKMAP MLINK
comoutput.c               LINKMAP MLINK (parallel versions only)
compar.c                  ILINK LINKMAP MLINK (parallel versions only)
comrec.c                  LODSCORE ILINK LINKMAP MLINK
ilgetvect.c               ILINK
ilink.c                   ILINK
ilinputcode.c             ILINK
iloldnuclear.c            ILINK
iostuff.c                 LODSCORE ILINK LINKMAP MLINK
ligetvect.c               LINKMAP
liinputcode.c             LINKMAP
linkmap.c                 LINKMAP
lioldnuclear.c            LINKMAP
lodscore.c                LODSCORE
logetvect.c               LODSCORE
loinputcode.c             LODSCORE
looldnuclear.c            LODSCORE
loopbrk.c                 UNKNOWN
mlgetvect.c               MLINK
mlink.c                   MLINK
mlinputcode.c             MLINK
mloldnuclear.c            MLINK
oldsegup.c                LODSCORE ILINK LINKMAP MLINK
outbuff.c                 MLINK LINKMAP (parallel versions only)
parmodified.c             ILINK MLINK LINKMAP (parallel versions only)
sexmodified.c             LODSCORE ILINK LINKMAP MLINK (faster versions)
slowautomodified.c        LODSCORE ILINK LINKMAP MLINK (slower versions)
slowsexmodified.c         LODSCORE ILINK LINKMAP MLINK (slower versions)
strbuff.c                 MLINK LINKMAP (parallel versions only)
unknown.c                 UNKNOWN

The distinction between faster and slower versions is explained in
the COMPILATION section below.


|*| COMPILATION
    -----------

Part of the distribution is a file called Makefile, which enables you 
to compile the programs. There are eleven commands you can issue for 
compilation of sequential FASTLINK:

1. make lodscore
2. make slowlodscore
3. make ilink
4. make slowilink
5. make linkmap
6. make slowlinkmap
7. make mlink
8. make slowmlink
9. make installfast
10. make installslow
11. make unknown

1 and 2 put an executable version of LODSCORE in the file lodscore.
3 and 4 put an executable version of ILINK in the file ilink.
5 and 6 put an executable version of LINKMAP in the file linkmap.
7 and 8 put an executable version of MLINK in the file mlink.
11 puts an executable version of UNKNOWN in the file unknown.
9 does all of 1,3,5, 7 and 11 
10 does all of 2,4,6, 8 and 11

In each pair the first version is faster, but may use much more memory
depending on the data and run parameters. The second version is
slower, though still much faster than LINKAGE 5.1, and uses little
memory. If you do not have enough memory to run the faster version,
delete the faster version and make the slower one instead.  The new
compilation structure makes this recompilation much faster than it was
in version 1.0 because most of the code does not have to be be
recompiled.

The Makefile we distribute works on a variety of systems.
For a discussion of portability to various systems, see README.portability
and the files it refers to.

The Makefile we are distributing uses the gcc compiler distributed by
the Free Software Foundation. You should read README.Makefile for
much more detailed instructions on how to use a different compiler
and change constant settings.

It is useful that you read README.constants and follow the directions 
therein before doing any runs with FASTLINK.
