#! /bin/sh # [The above is just for emacs -- this file should not be executed.] # CCP4 setup file for bash or ksh (untested) users. Actually, the aliases # can't work asis in ksh. Should use builtins instead and not worry about # ease of keeping in step with the csh one. # $Id: ccp4.setup-sh,v 1.68 2012/07/04 09:20:49 ccb Exp $ # This file is site specific and may also contain machine-specifics. The CCP4 # administrator will have to edit this file and then have anyone who wants to # use CCP4 source it from their .login file. They will require the full path # name since no environment variables relevant to CCP4 are known until this is # executed. # For sites with more than one machine, it is recommended that the suite is # installed on a single machine and other machines access the source code, and # shareable files (such as this one) via shared file systems with NFS, RFS # etc. Non-shareable files reside in $CBIN and $CLIB (see below). # Copy this file to ccp4.setup and customise it for your needs. There are # three sections. You MUST check the first section. You may want to check # the second. You don't need to look at the third. ################### THIS SECTION MUST BE EDITED ##################### # CCP4_MASTER is the location of the top-level directory containing `ccp4'. # This is assumed to be shared between machines at a multi-machine site. export CCP4_MASTER=/xtal export CCP4=$CCP4_MASTER/ccp4-6.3.0 # CCP4_SCR: a per-user directory for run-time-generated scratch # files. A dedicated scratch filesystem is probably better than (/usr)/tmp # BINSORT_SCR: a scratch directory for binsort's use; normally same as CCP4_SCR export CCP4_SCR=/tmp/$USER # check to see if this exists and if not try to make it test -d $CCP4_SCR || mkdir $CCP4_SCR test -d $CCP4_SCR || echo "Unable to assign CCP4_SCR. This will cause probs." export BINSORT_SCR=$CCP4_SCR ### CCP4i setup - you may need to edit CCP4I_TCLTK ### # CCP4I_TOP - the top directory of the interface export CCP4I_TOP=$CCP4/share/ccp4i # CCP4I_TCLTK - directory containing tclsh,wish and bltwish executables # as used in $CCP4I_TOP/bin/ccp4i,ccp4ish,loggraph # For 'standard' installations this is /usr/local/bin # but note the SGI distributed version of Tcl/Tk is not # appropriate version export CCP4I_TCLTK=/usr/bin # CCP4I_HELP - directory contain ccp4i help - default is $CCP4I_TOP/help export CCP4I_HELP=$CCP4I_TOP/help ###Optional - setting http_proxy environment #The commented out 'export' line below may have to be declared to download #and edit protein sequences using the new "Import/Edit protein sequences" #task. If so, uncomment this line and replace example proxy URL with your #relevant URL #export HTTP_PROXY wwwblah.blah.ac.uk:xxxx/blah.blah ################### NOVICE USERS STOP HERE ##################### ################### OPTIONS TO CUSTOMISE CCP4 ##################### # Set GFORTRAN_UNBUFFERED_ALL to either 1 or Y to ensure that the logfile # output from programs compiled with Gfortran is in the correct order. # Note that there will be some performance penalty for this. #export GFORTRAN_UNBUFFERED_ALL=Y # Gfortran 4.3.0 has new GFORTRAN_UNBUFFERED_PRECONNECTED variable # to make only STDOUT and STDERR unbuffered. # Unlike GFORTRAN_UNBUFFERED_ALL it doesn't slow down notably refmac # and probably also other programs. # Details: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33795 export GFORTRAN_UNBUFFERED_PRECONNECTED=Y # By default, CCP4 directories are appended to the end of paths (PATH, # LD_LIBRARY_PATH, and DYLD_LIBRARY_PATH). If ccp4_first_in_path is set # to 1, then they will be prepended to the beginning of paths. # When deciding local policy, bear in mind the possible existence of # other CCP4 installations, and the possibility of non-CCP4 programs # with conflicting names. ccp4_first_in_path=1 # The following checks the CCP4 server for available updates, and reports back. # Uncomment this line if you want to know about available updates. #eval python -V >& /dev/null 2>&1 && python $CCP4/etc/ccp4_updates.py -l # The commented-out switch statement below provides an example of how # to use this file for several machines/architectures sharing $CCP4_MASTER. # If necessary, uncomment and edit this. Otherwise, if you're only supporting # a single system alter the uncommented part as necessary. # # The significance of the environment variables is as follows: # CBIN: location of the executables -- must be on your path (see below); # CLIB: location of (binary) library files such as libccp4.a and libccp4.so; # MANPATH: set this if your system's `man' looks at such an environment # variable to determine where to look for man pages. By adding # $CCP4/man to the normal path you get the CCP4 man pages # with keyword searching as system ones. # MCTYPE: used for LAUE make -- see LAUE documentation # CCP4_BROWSER: set this if you intend to use the html documentation # (recommended). It should have the path and name of a html browser eg # /usr/bin/X11/mozilla or /usr/local/bin/lynx. The browser will be # started with the alias ccp4help and will open the file # $CHTML/INDEX.html. # case `hostname` in # edit this case statement if used # # for multiple systems # foo) export CBIN=$CCP4/bin export CLIB=$CCP4/lib export CCP4_BROWSER=firefox export MANPATH=$CCP4/man:$MANPATH # edit this if necessary if test -d $CCP4_MASTER/laue then export MCTYPE=unix # (only for Laue) fi # ;; # *) # echo "CCP4 not implemented on this system" # exit 1 # ;; # esac # The following are for all systems export CCP4_LIB=$CLIB export CCP4_BIN=$CBIN # CLASSPATH for Java export CLASSPATH=$CBIN:$CLASSPATH # edit this if necessary ### PLOT_COMMAND PRINT_COMMAND for the XCCPJIFFY programs to compile ### export PLOT_COMMAND='lp -s' export PRINT_COMMAND='lp -s' # HARVESTHOME specifies location of harvesting files (defaults to $HOME) export HARVESTHOME=$HOME ### CCP4_OPEN ### # CCP4_OPEN may be set to 'UNKNOWN' to stop open failures for files opened # as NEW that already exist. Novices should use 'NEW' to avoid inadvertant # over-writing of existing files, which is then treated as a fatal error. export CCP4_OPEN=UNKNOWN ### BINSORT_MEM ### # BINSORT_MEM is workspace used by the binsort program. In principle this # value is machine-dependent. It may benefit from being enlarged, but values # higher than 2M have been reported to cause excessive paging on some systems. # You might like to experiment with a program such as fft with different # values -- 102400 (bytes) is the default. csh's `time' command can tell you # about paging. # # export BINSORT_MEM=8388608 # LD_LIBRARY_PATH specifies where to find dynamic libraries (e.g. libccp4.so) # at runtime if test "$LD_LIBRARY_PATH"; then if test $ccp4_first_in_path -eq 1; then export LD_LIBRARY_PATH=$CLIB:$LD_LIBRARY_PATH else export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CLIB fi else export LD_LIBRARY_PATH=$CLIB fi # DYLD_LIBRARY_PATH specifies where to find dynamic libraries # (e.g. libccp4.dylib) at runtime if test "$DYLD_LIBRARY_PATH"; then if test $ccp4_first_in_path -eq 1; then export DYLD_LIBRARY_PATH=$CLIB:$DYLD_LIBRARY_PATH else export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$CLIB fi else export DYLD_LIBRARY_PATH=$CLIB fi ### XAPPLRESDIR ### # If you want to use xloggraph/xplot84driver, you need to get the application # defaults picked up somehow. As distributed, the file can't just live in an # application defaults directory since it requires reading by xrdb to sort out # the differences for monochrome displays. At Daresbury a version of the file # assuming a monochrome display is kept in the directory # $CCP4_LIB/X11/app-defaults and this is picked up through the # XUSERFILESEARCHPATH environment variable. That means you only see black and # white on a colour display. Alternatively you might make sure that it is # read by xrdb on startup of the X Windows system or delegate the # responsibility to users to run it. There are disadvantages to putting an # invocation of xrdb in here, one being that the correct value of DISPLAY may # not be set at the time this file is read. Thus edit this part as # appropriate. (SunOS will normally want to use /usr/openwin or $OPENWINHOME # instead of /usr; others may want /usr/local/lib or somw such): # export XAPPLRESDIR=/sw/etc/app-defaults/ if test -d $CCP4_LIB/X11/app-defaults ; then if test "$XUSERFILESEARCHPATH"; then export XUSERFILESEARCHPATH=$CCP4_LIB/X11/app-defaults/%N:$XUSERFILESEARCHPATH else export XUSERFILESEARCHPATH=$CCP4_LIB/X11/app-defaults/%N:/usr/lib/X11/app-defaults fi fi ### TRAPPFE ### # TRAPFPE is set to ensure (in collaboration with -lfpe) an abort on floating # point exceptions under IRIX. It shouldn't cause harm on other systems, but # edit this to comment it out if necessary. Have now added a case statement. case `uname` in *IRIX* ) export TRAP_FPE="OVERFL=ABORT; DIVZERO=ABORT; INVALID=ABORT" ;; * ) ;; esac # The following can be used to put a message of the day to announce news about # CCP4 or whatever to CCP4 users. You might also want to edit this part to # have machine-specific messages dependent on `hostname`. test -r $CCP4/include/ccp4.msg && cat $CCP4/include/ccp4.msg ################### EXPERIENCED USERS STOP HERE ##################### #Python path for the subprocess fixed module if test $ccp4_first_in_path -eq 1; then export PYTHONPATH=${CCP4}/share/python:${PYTHONPATH} else export PYTHONPATH=${PYTHONPATH}:${CCP4}/share/python fi ################### THE REST SHOULDN'T NEED EDITING ##################### ### dbCCP4i database handler setup ### export DBCCP4I_TOP=${CCP4}/share/dbccp4i ### IMOSFLM environment is now defined here export MOSFLM_EXEC=${CBIN}/ipmosflm export MOSFLM_WISH=${CCP4I_TCLTK}/wish ### MMCIFDIC is now defined here. cif_mmdic.lib is a binary file === # so on multiple installs it need to be unique and not in $CLIBD export MMCIFDIC=$CCP4/share/ccif/cif_mmdic.lib ### MOLREPLIB Point to the location of the files bs-zeros.dat ps.resource symlib.blc # They are distributed with CCP4 in $CLIBD. This env must have the trailing \ or / export MOLREPLIB=$CCP4/lib/data/monomers/ ### CRANK points to location of Crank automation suite within ccp4i export CRANK=$CCP4I_TOP/crank export CCP4_CRANK=1 ### XIA2 setup # XIAROOT directory (default is under the share folder) if test -e $CCP4/share/xia2/setup.sh then export XIA2_HOME=$CCP4/share/xia2 . $CCP4/share/xia2/setup.sh fi # Note: The PATH is updated with the xia2 Applications directory in the # construct below. ### PISA_CONF_FILE is the config file needed to run the stand-alone PISA, # though this can be set on the command line too. if test -e $CCP4/share/pisa/pisa.cfg then export PISA_CONF_FILE=$CCP4/share/pisa/pisa.cfg fi ### CLIBD_MON Point to the location of the dictionary files for REFMAC5 # They are distributed with CCP4 in $CLIBD/monomers. This env must have # the trailing \ or / export CLIBD_MON=$CCP4/lib/data/monomers/ ### PUBLIC_FONT84, CCP4_HELPDIR, HELPDIR, MOSHELPFILE ### # (essential for the relevant programs) export PUBLIC_FONT84=$CLIB/data/ccp4/font84.dat # plot84 fonts [used by plot84lib] # location of VMS-style help files required for mosflm [used by hlplib, chelp, # chlp, (ip)mosflm]: export CCP4_HELPDIR=$CCP4/help/ # NB trailing / # Rasmol path. Needed for prog. to find rasmol.hlp export RASMOLPATH=$CCP4/x-windows/RasMol # CCP4 executables and scripts live in $CBIN and $CETC respectively; put them # on the path in an appropriate order for scripts to be used as wrappers for # binaries of the same name. Put ccp4 stuff after the current path to avoid # confusion with `.' or whatever in the path: # # This construct prevents the path getting longer each time ccp4.setup is # executed (A. Perrakis) ccp4pathlist="${CCP4}/etc ${CBIN} ${CCP4I_TOP}/bin ${DBCCP4I_TOP}/bin" # for dir in ${ccp4pathlist} do if [ `expr ":${PATH}:" : ".*:${dir}:"` -eq 0 ]; then if test $ccp4_first_in_path -eq 1; then PATH=${dir}:${PATH} else PATH=${PATH}:${dir} fi fi done # Optional (useful) additional environment variables export CCP4=$CCP4 export CDOC=$CCP4/doc export CHTML=$CCP4/html export CETC=$CCP4/etc export CEXAM=$CCP4/examples export CINCL=$CCP4/include export CLIBD=$CCP4/lib/data export CLIBS=$CCP4/lib/libccp4 export CPROG=$CCP4/src # useful aliases, at least for developers alias ccp4='pushd $CCP4>/dev/null' alias xtal='pushd $CCP4_MASTER>/dev/null' alias cbin='pushd $CBIN>/dev/null' alias cetc='pushd $CETC>/dev/null' alias cprog='pushd $CPROG>/dev/null' alias cincl='pushd $CINCL>/dev/null' alias clib='pushd $CLIB>/dev/null' alias clibd='pushd $CLIBD>/dev/null' alias clibs='pushd $CLIBS>/dev/null' alias cbin='pushd $CBIN>/dev/null' alias cexam='pushd $CEXAM>/dev/null' alias cdoc='pushd $CDOC>/dev/null' alias chtml='pushd $CHTML>/dev/null' alias ccp4help='$CCP4_BROWSER $CHTML/INDEX.html' ### laue, lget, linkimages ### ### only if we have the Laue software suite... if ( test -d $CCP4_MASTER/laue ) ; then # Essential aliases for the Laue software suite alias laue='$CCP4_MASTER/laue/cmd/laue.cmd' alias lget='$CCP4_MASTER/laue/cmd/lget.cmd' alias linkimages='$CCP4_MASTER/laue/cmd/linkimages.cmd' # additional useful aliases for Laue directories alias llaue='pushd $CCP4_MASTER/laue' alias lsrc='pushd $CCP4_MASTER/laue/src>/dev/null' alias llib='pushd $CCP4_MASTER/laue/lib>/dev/null' alias llibs='pushd $CCP4_MASTER/laue/lib/src>/dev/null' alias ldoc='pushd $CCP4_MASTER/laue/doc>/dev/null' alias lmak='pushd $CCP4_MASTER/laue/make>/dev/null' alias lutils='pushd $CCP4_MASTER/laue/utils>/dev/null' alias lcmd='pushd $CCP4_MASTER/laue/cmd>/dev/null' alias ldl='pushd $CCP4_MASTER/laue/dl>/dev/null' alias ltestd='pushd $CCP4_MASTER/laue/testdata>/dev/null' alias lxdl='pushd $CCP4_MASTER/laue/xdl_view>/dev/null' alias lxdls='pushd $CCP4_MASTER/laue/xdl_view/src>/dev/null' alias lgnom='pushd $CCP4_MASTER/laue/gnom>/dev/null' alias lgnoms='pushd $CCP4_MASTER/laue/gnom/src>/dev/null' alias lbin='pushd $CBIN>/dev/null' fi # Set-up cctbx environment test -r $CCP4/lib/cctbx/cctbx_build/setpaths.sh && . $CCP4/lib/cctbx/cctbx_build/setpaths.sh # Set-up phaser environment #if ( test -d $CCP4/src/phaser) ; then # phaser_mtype=`$CCP4/src/phaser/bin/machine_type` # phaser_version=`grep PHASER_VERSION $CCP4/src/phaser/conf/version.sh | awk '{print $3}'` # phaser_setup_file="${CCP4}/src/phaser/phaser-${phaser_version}/build/${phaser_mtype}/setpaths.sh" # test -r $phaser_setup_file && . $phaser_setup_file #fi ### BALBES root configuration if ( test -d $CCP4/share/BALBES/Package) then export BALBES_ROOT=$CCP4/share/BALBES/Package fi # Test for ARP/wARP 7.3 and source if ( test -f ${CCP4_MASTER}/arp_warp_7.3/arpwarp_setup.bash ) then . ${CCP4_MASTER}/arp_warp_7.3/arpwarp_setup.bash fi