(C) Johannes Soeding, Markus Meier, Martin Steinegger, Michael Remmert, Andreas Hauser, Andreas Biegert 2015
The HH-suite is an open-source software package for sensitive protein sequence searching based on the pairwise alignment of hidden Markov models (HMMs).
We had to rename our repository for ffindex, so it might be necessary to run the following commands to update the submodule in your clone:
git pull
git submodule deinit
git submodule init
To compile from source, you will need:
- a recent C/C++ compiler
- CMake 2.8.12 or later
- install pdbx python library
We recommend compiling HHsuite on the machine that should run the computations so that it can be optimized for the appropriate CPU architecture.
Some distributions incorporate HHsuite on their own:
- Ubuntu/Debian/etc. DPKGs are provided by Laszlo Kajan.
- For Archlinux you can find a PKGBUILD on aur
The release tarballs should contain all required source files. Simply download and extract
If you want to compile the most recent version, simply clone the git repository. Then, from the repository root, initialize the ffindex submodule:
git submodule init
git submodule update
With the sourcecode ready, simply run cmake with the default settings and libraries should be auto-detected:
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=${INSTALL_BASE_DIR} ..
make
make install
In your shell set environment variable HHLIB to ${INSTALL_BASE_DIR}, e.g (for bash, zsh, ksh):
export HHLIB=${INSTALL_BASE_DIR}
HHsearch and HHblits look for the column state library file cs219.lib
and the context library file context_data.lib in
Add the location of HHsuite binaries and scripts to your search PATH variable
export PATH=${PATH}:${INSTALL_BASE_DIR}/bin:${INSTALL_BASE_DIR}/scripts
Specify paths in ${INSTALL_BASE_DIR}/scripts/HHPaths.pm where they are read by HHsuite's perl scripts.
Download current databases from our server To build up multiple sequences alignments using HHblits uniprot20 is sufficient.
For performing a single search iteration of HHblits, run HHblits with the following command:
hhblits -i <input-file> -o <result-file> -n 1 -d <database-basename>
For generating an alignment of homologous sequences:
hhblits -i <input-file> -o <result-file> -oa3m <result-alignment> -d <database-basename>
You can get a detailed list of options for HHblits by running HHblits with the "-h" option.
It might be good to do the following steps in a fresh VM with Ubuntu.
-
Adjust
/README.md
(see TODOs) The following line has to be updatedHHsuite for sensitive sequence searching version current_version (release_date)
-
Adjust
/CMakeLists.txt
-
Update the version number
set (HHSUITE_VERSION_MAJOR 3) set (HHSUITE_VERSION_MINOR 0) set (HHSUITE_VERSION_PATCH 3)
-
Update the release date
set (HHSUITE_DATE "14-07-2017")
-
Check the package version
set (CPACK_PACKAGE_VERSION_MAJOR "${HHSUITE_VERSION_MAJOR}")
The beta is required for the current beta releases
set (CPACK_PACKAGE_VERSION_MINOR "${HHSUITE_VERSION_MINOR}-beta") set (CPACK_PACKAGE_VERSION_MINOR "${HHSUITE_VERSION_PATCH}")
-
-
Build the packages
rm -rf build mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/home/mmeier/opt/hh-suite -DHAVE_SSE2=1 \ -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF \ -DCMAKE_EXE_LINKER_FLAGS_RELEASE=-static -static-libgcc \ -static-libstdc++ -DCMAKE_FIND_LIBRARY_SUFFIXES=.a .. make -j 16 make package make package_source
The generated packages can be found in /build
- Build README.md with cmake to update release version and release date (compare to src/hhsuite_config.h.in)
The HHsearch/HHblits software package is distributed under Gnu Public Licence, Version 3. This means that the HH-suite is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
See the copy of the GNU General Public License in the LICENSE file. If you do not have this file, see http://www.gnu.org/licenses/
For full documentation see the user guide in hhsuite-userguide.pdf
We are very grateful for bug reports! Please contact us at soeding@mpibpc.mpg.de
The hhsuite contains in file hhprefilter.cpp code adapted from Michael Farrar (http://sites.google.com/site/farrarmichael/smith-waterman). His code is marked in the file hhprefilter.cpp. For the copy right of that code, please see the LICENSE file that comes with HHsuite. Reference: Farrar M. Striped Smith-Waterman speeds database searches six times over other SIMD implementations. Bioinformatics. 2007, 23:156-61. Many posthumous thanks to Michael Farrar for his great code!