Installation of Version1.3 of CCP4Interface

Released April 2002 with CCP4 Version 4.2

See also INSTALL.html for advice on installing the main CCP4 suite.


What is Tcl/Tk/BLT?
Do You Need to Install a New Tcl/Tk?
Downloading Tcl/Tk/BLT
Installing Tcl/Tk/BLT
Installing CCP4i
Configuring CCP4i to Use Local Resources
The TEMPORARY Directory
Programs not Distributed by CCP4

See also
CCP4i Main Page
Problems with CCP4i
Problems installing Tcl/Tk/BLT.

What is Tcl/Tk and BLT?

Tcl and Tk are two separate but very closely linked packages - Tcl is a scripting language like Perl and Tk is X-based 2D graphics. Both packages are written in C and require compiling and building. A combined version of the two packages is built into a program called wish. A Tcl program without the graphics is called tclsh.

Wish is an interpreter which will process command line input or scripts. The CCP4 Interface is a series of Tcl/Tk scripts. Tcl/Tk scripts can have command structure and procedures and can be built up like Fortran or C programs but they do not need to be compiled - they are interpreted at run time.

There are several packages which provide add-on features to Tcl/Tk - the interface uses the BLT package which provides graph plotting in the loggraph utility. The combined Tcl/Tk/BLT program is called bltwish.

Do You Need to Install a New Tcl/Tk?

Tcl8.0/Tk8.0/BLT2.4 or later are the recommended versions. The interface will not run under any earlier versions. Previous versions of CCP4i required Tcl/Tk built with a non-default flag - this is no longer true for CCP4i1.2.

You may already have Tcl/Tk installed on your machine. The version of Tcl/Tk which is currently distributed as standard with SGIs is Tcl7.4/Tk4.0 (at least for Irix6.2 and earlier). These versions will not support the interface. At least some flavours of Linux come with Tcl/Tk installed.

Testing Tcl/Tk installed version
You can find out which version is installed by typing:
> wish
% puts $tk_version
% exit

Downloading Tcl/Tk/BLT

You will need to download from the CCP4 FTP site
either the pre-built executables for Tcl/Tk/BLT currently available:
tcltk_alpha_build.tar.gz - prebuilt Tcl/Tk/BLT for DEC Alpha machines
tcltk_sgi_build.tar.gz - prebuilt Tcl/Tk/BLT for SGIs Irix6.2 or above
or the source code:
tcl_tk_blt.tar.gz - the source code for the Tcl/Tk and BLT packages which the interface uses
You unpack these files with the command:

> gzip -dc filename | tar xvf -

Installing TCL/TK and BLT

Using Pre-Built versions of Tcl/tK/BLT
The tarred file contains the directory structure
- bin
- include
- lib
The contents should usually be moved to /usr/local - for example first uncompress and untar the file in a safe directory and then move the contents:
> gzip -dc tcltk_sgi_build.tar.gz | tar xvf -
> cp local/bin/* /usr/local/bin
> cp local/include/* /usr/local/bin
> cp local/lib /usr/local/lib
Installation from tcl_tk_blt.tar.gz
Once you have uncompressed and untarred the file you will have three directories containing the Tcl, Tk and BLT source - these are the standard released versions of the packages except that one flag has been changed in the Tk Makefile. There is also a shell script which will automatically build all three packages. You will need to edit that file to set two variables which define the root directory and the required install directory. Read the instructions in the file and then run:
This will run configure, make and make install for all three packages and on completion you should have them fully installed and useable. There is a separate page discussing problems with building Tcl/Tk/BLT.

Installing the CCP4Interface

The CCP4 Setup File

Once you have installed CCP4 you will have the interface in the directory $CCP4/ccp4i - this is referred to by the environment variable CCP4I_TOP which is set in the ccp4.setup script. Also set in the ccp4.setup script is the environment variable CCP4I_TCLTK which should refer to the directory containing the wish, tclsh and bltwish executables.

Finding the Right tclsh/wish/bltwish

There are three scripts in $CCP4I_TOP/ccp4i/bin which are run to start up the interface. The first thing these scripts do is exec one of the Tcl/Tk/Blt executables which it expects to find in the directory $CCP4I_TCLTK (which is defined in the setup file as described above).
$CCP4I_TOP/bin/ccp4i uses wish8.0
$CCP4I_TOP/bin/ccp4ish uses tclsh8.0
$CCP4I_TOP/bin/loggraph uses bltwish
If you do not have all the executables in the same place or the specified version of wish/tclsh/blt you will need to edit (some of) these scripts.

After that the commands to run CCP4i are:

> source $CCP4/include/ccp4.setup
> ccp4i [-help]
Once you have CCP4i running you can use the graphical interface to use the configuration options:

Configuring CCP4i to Use Local Resources

The interface needs access to local resources (such as a web browser to display help text) and must be configured so that it can find them. Once the basic CCP4i is installed this can be done through an interface:
> ccp4i -c<onfigure>
The Help button on the top right of the window will bring up documentation in your web browser if (Catch 22!) CCP4i is configured correctly to find your browser. If not then point your browser at:

$CCP4I_HELP/general/configure.html (equivalent to $CCP4/ccp4i/help/general/configure.html).

The TEMPORARY Directory

CCP4i has the idea of a TEMPORARY directory which by default is the same as $CCP4_SCR. CCP4i scripts put large output files such as map files in the TEMPORARY directory. If you run jobs remotely or in batch from CCP4i and the $CCP4_SCR is local to the remote machine (e.g. /usr/tmp or /tmp) then it may be difficult for users to access these files. In this case you will need to set TEMPORARY to something such as $HOME/temporary. You set the default definition of TEMORARY for all users by editing the file $CCP4I_TOP/etc/directories.def and changing the definition of the parameter DEF_DIR_PATH,1 (see the file for example). You may also need to warn users to create the appropriate directory. Users can reset the definition using the Directories and ProjectDir option in CCP4i.

Programs not Distributed by CCP4

CCP4i uses non-CCP4 programs to convert map file formats (mapman for O and mbkall for Quanta) but if you have the graphics program installed then you should have the conversion program available already.

CCP4i has interfaces to two non-CCP4 programs:

Direct methods and Patterson search obtainable from
Building homolgy models and automatic editing of protein structure after molecular replacement (the Edit Protein Structure task in Molecular Replacement module). This is obtainable from


Please contact us if you have any problems: