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 $MODPIPE. External programs are usually installed in the $MODPIPE/ext/ directory, and ModPipe’s 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 setup.py script (run setup.py --help for a list of all such arguments). For example, you may have BLAST installed in /usr/bin in which case you can configure ModPipe to look for it there by running setup.py with the --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 $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

  1. Download the Modeller installer (.tar.gz) version from the Modeller website (ModPipe needs Modeller 10.0 or later).

  2. Run the installer and have it install Modeller in $MODPIPE/ext/mod/.

  3. Move the guess-arch.sh script from the ext directory to $MODPIPE/ext/mod/bin/.

  4. Rename $MODPIPE/ext/mod/bin/modpy.sh to modpy.sh.in; edit so the first two lines read:

    TOPDIR="@MODPIPEBASE@/ext/mod"
    EXETYPE=`${TOPDIR}/bin/guess-arch.sh set`
    

BLAST

  1. Download the BLAST binaries from the BLAST website (ModPipe is tested with BLAST 2.2.13).

  2. Make the following directories under $MODPIPE/ext/blast/bin: data, i386, ia64, x86_64.

  3. From your BLAST download, put all the files in the data directory into the $MODPIPE/ext/blast/bin/data directory and all the files in the bin directory into the relevant architecture directory.

  4. Again in the $MODPIPE/ext/blast/bin directory, make the following symlinks, all to ../../../int/runbinary.sh: blastall, blastpgp, formatdb. (Note that the runbinary.sh script is created when you run the setup.py script, so it may not exist at this point.)

HH-suite

  1. Download the binaries from the HH-suite website (ModPipe is tested with hhsuite-2.0.16-linux-x86_64.tar.gz).

  2. 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).

  3. 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

  1. Get the CD-HIT sources from the CD-HIT website (ModPipe is tested with CD-HIT 2007-0131).

  2. Extract the sources and compile with ‘make’.

  3. Create a directory $MODPIPE/ext/cd-hit/bin/XXX where XXX is your machine’s architecture (i386, x86_64 or ia64).

  4. Put the generated CD-HIT binaries in this directory.

  5. Link $MODPIPE/ext/cd-hit/bin/cd-hit to ../../../int/runbinary.sh.

PROCHECK

  1. Download the PROCHECK sources from the PROCHECK website.

  2. Extract the sources and compile by running the procomp.scr script.

  3. Copy setup.scr to $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
    
  4. Put the rest of the files in the relevant architecture-dependent directory (e.g. $MODPIPE/ext/procheck/i686) and rename procheck.scr to procheck.scr.in.