From Rost Lab Open

Avaialability/web service

The SNAP program can be accessed through the SNAPweb service

2015-07-23 : The Snapfun (SNAPweb service) has been superseded by an improved version of SNAP, named SNAP2. Requests for the SNAPweb service now point to SNAP2. If for some reason, you require the original SNAPweb service, please contact More information about SNAP2 is available here.

Installation with aptitude (Debian, Ubuntu, etc.)

Software Installation

  1. If you have not done so until now, add the rostlab repository to the list of your syanptic package manager. This is how it's done: Debian_repository#sources.list.d
  2. aptitude update
  3. aptitude (search for rostlab keyring and install by marking the package with a '+' and hit 'g' twice to install)
  4. aptitude update (to determine all rostlab packages to install)
  5. aptitude install snapfun. Here's a step by step guide Debian_repository#Installing_a_package_step_by_step

Instructions contributed by Joseph N. Lemaire


  • Ubuntu karmic blast2 version is faulty (last column of PSSM (-Q output) is all 'inf' instead of floats), snapfun will fail with it

Where was SNAPfun installed

Typically the main binary is installed in:


while the package root is usually located in


HOWEVER this may vary from one system to another depending on the distribution you are using, please refer to your system's manual to check where packages are installed by default.

NOTE: in this installation guide we refer to the location of a SNAPfun installation as /path/to/your/snapfun/ you should replace this path with the VERIFIED, REAL path to your SNAPfun installation.

Installation From Packaged Archives



The SNAPfun package in archive form is available upon request but is rarely being distributed.

Note that we do not distribute the following two required packages that are readily available through other distributions:

Build Dependencies

You will need the following utilities in place to be able to build the SNAPfun and dependencies packages:

  • Make
  • GCC or some comparable C++ compiler aliased to GCC
  • GFortran compiler or some comparable fortran compiler aliased to GFortran


For the these packages

  • librg-liu-bundle-perl
  • librg-utils-perl
  • profnet
  • profphd
  • psic
  • sift
  • snapfun

install by following these steps:

a. tar -xvzf <archive_name.tgz>
b. cd unarchived folder 
c. make
d. make install [prefix=/path/to/install/folder]

For the following packages

  • profbval

use these steps to install:

a. tar -xvzf <archive_name.tgz>
b. cd into unarchived folder 
c. ./configure [prefix=/path/to/install/folder]
d. make
e. make install

Getting the databases

The README file of snapfun contains the most recent information on these issues.

SNAPfun requires 4 databases, those should be preferably installed locally on the processing host (however you can also install them on some mounted file system).

Please make sure you fetch and deploy the following databases before you give SNAPfun a first try. make a note of where each database is stored on your system, you will need to reference those paths in the snapfun config file:

 gunzip uniref100.fasta.gz
 gunzip uniprot_sprot.fasta.gz

You will then need to format the uniprot database so it can searched by BLAST. This can be done using the formatdb utility already installed if you have the blast2 package installed on your system:

 formatdb -i uniprot_sprot.fasta
 gunzip uniprot_sprot.dat.gz

you will also need to process the SwissProt entries file using the dbSwiss utility provided in the librg-utils-perl package:

 /path/to/librg-utils-perl/dbSwiss --datadir /data/swissprot --infile /data/swissprot/uniprot_sprot.dat

Congratulations, you are almost done!

Configuring SNAPfun

SNAPfun configurations can be tweaked by modifying the /etc/snapfunrc file; this file defines a system wide configuration for the program. For user specific configuration you may copy the template configuration file '/path/to/your/snapfun/snapfunrc.default' to '~/.snapfunrc'. Values in '~/.snapfunrc' override system-wide configuration values.

Congratulations! Now you are really done!

(information below this section is only relevant for package maintainers and should be ignored by others)

Superfluous dependencies

Packaged dependencies

  • SIFT 2.1
  • PSIC (binary with no source)
  • PROFBval
    • profnet (used to be called NetRun) rostlab Neural Network (FORTRAN)
  • PROFphd
  • hmmer
  • librg-utils-perl


  • BIG (sprot+pdb+trembl)
  • pfam
  • uniref
  • Swiss-Prot