.. _install-ext: Installing external programs **************************** ModPipe relies on a number of external programs for some of its functionality. These must be obtained separately and set up if you are using ModPipe outside of the Sali lab: we cannot distribute them under the ModPipe license. This document assumes that the top-level ModPipe directory is called :file:`$MODPIPE`. External programs are usually installed in the :file:`$MODPIPE/ext/` directory, and ModPipe's :file:`setup.py` script will by default look there for them, but for all programs other than Modeller, you can specify a non-default location with a suitable argument to the :file:`setup.py` script (run :file:`setup.py --help` for a list of all such arguments). For example, you may have BLAST installed in :file:`/usr/bin` in which case you can configure ModPipe to look for it there by running :file:`setup.py` with the :file:`--with-blast=/usr/bin` option. The only package **required** to use ModPipe is Modeller, but BLAST and HH-suite are also very useful for some of the fold assignment methods. Other packages are only rarely used by ModPipe, so it is probably not necessary to install them. The instructions below are for installing external packages in the :file:`$MODPIPE/ext/` directory. Most of these packages are architecture-dependent; these instructions can be simply repeated for each architecture (ModPipe will run the correct binaries for each architecture at runtime). Modeller ======== #. Download the Modeller installer (.tar.gz) version from the `Modeller website `_ (ModPipe needs Modeller 10.0 or later). #. Run the installer and have it install Modeller in :file:`$MODPIPE/ext/mod/`. #. Move the :file:`guess-arch.sh` script from the :file:`ext` directory to :file:`$MODPIPE/ext/mod/bin/`. #. Rename :file:`$MODPIPE/ext/mod/bin/modpy.sh` to :file:`modpy.sh.in`; edit so the first two lines read:: TOPDIR="@MODPIPEBASE@/ext/mod" EXETYPE=`${TOPDIR}/bin/guess-arch.sh set` BLAST ===== #. Download the BLAST binaries from the `BLAST website `_ (ModPipe is tested with BLAST 2.2.13). #. Make the following directories under :file:`$MODPIPE/ext/blast/bin`: `data`, `i386`, `ia64`, `x86_64`. #. From your BLAST download, put all the files in the :file:`data` directory into the :file:`$MODPIPE/ext/blast/bin/data` directory and all the files in the :file:`bin` directory into the relevant architecture directory. #. Again in the :file:`$MODPIPE/ext/blast/bin` directory, make the following symlinks, all to :file:`../../../int/runbinary.sh`: `blastall`, `blastpgp`, `formatdb`. (Note that the :file:`runbinary.sh` script is created when you run the :file:`setup.py` script, so it may not exist at this point.) HH-suite ======== #. Download the binaries from the `HH-suite website `_ (ModPipe is tested with `hhsuite-2.0.16-linux-x86_64.tar.gz`). #. Extract the tarfile in the `$MODPIPE/ext/hhsuite` directory and make a `hhsuite_latest` symlink to point to it (e.g. `ln -s hhsuite-2.0.16-linux-x86_64 hhsuite_latest`). #. Edit `$MODPIPE/ext/hhsuite/hhsuite_latest/lib/hh/scripts/HHPaths.pm` to tell HH-suite where its own dependencies are (PSIPRED, BLAST, DSSP). CD-HIT ====== #. Get the CD-HIT sources from the `CD-HIT website `_ (ModPipe is tested with CD-HIT 2007-0131). #. Extract the sources and compile with 'make'. #. Create a directory :file:`$MODPIPE/ext/cd-hit/bin/XXX` where `XXX` is your machine's architecture (i386, x86_64 or ia64). #. Put the generated CD-HIT binaries in this directory. #. Link :file:`$MODPIPE/ext/cd-hit/bin/cd-hit` to :file:`../../../int/runbinary.sh`. PROCHECK ======== #. Download the PROCHECK sources from the `PROCHECK website `_. #. Extract the sources and compile by running the :file:`procomp.scr` script. #. Copy :file:`setup.scr` to :file:`$MODPIPE/ext/procheck/setup.scr.in` and add the following at the start to set the `prodir` variable:: set MODPIPE = "@MODPIPEBASE@" set arch = `uname -m` switch ( $arch ) case ia64: set prodir = ${MODPIPE}/ext/procheck/ia64 setenv prodir ${MODPIPE}/ext/procheck/ia64 breaksw case i686: set prodir = ${MODPIPE}/ext/procheck/i686 setenv prodir ${MODPIPE}/ext/procheck/i686 breaksw endsw #. Put the rest of the files in the relevant architecture-dependent directory (e.g. :file:`$MODPIPE/ext/procheck/i686`) and rename :file:`procheck.scr` to :file:`procheck.scr.in`.