AMD Toolchain with SPACK

Micro Benchmarks/Synthetic

SPACK HPC Applications


HMMER is a popular open source implementation of profile Hidden Markov Models (HMM) algorithm, widely used for sequence analysis of bio-molecules. It is often used together with profile databases like, Pfam (for protein families), Rfam (for non-coded RNA families), Dfam (for repetitive DNA based), etc. It is developed and maintained by Prof. Sean Eddy (Harvard University).

Official Website for HMMER:

Build HMMER using Spack

Reference to add external packages to Spack: Build Customization (Adding external packages to Spack)

# Format For Building HMMER with AOCC
$ spack -d install -v hmmer@<Version> +mpi %aocc@<Version> ^openmpi@<Version>
# Example: For building HMMER 3.3.2 with AOCC 3.2.0
$ spack -d install -v -j 16 hmmer@3.3.2 +mpi %aocc@3.2.0 ^openmpi@4.1.1

Use any combination of following components/applications and their versions:

Component/Application Versions Applicable
HMMER 3.3.2, 3.3, 3.2.1, 3.0
AOCC 3.2.0, 3.1.0, 3.0.0, 2.3.0, 2.2.0

Specifications and Dependencies

Symbol Meaning
-d To enable debug
-v To enable verbose
-j 16 To enable parallel build
@ To specify version number
% To specify compiler
+mpi Compile with MPI
^openmpi Build with Open MPI

Running HMMER

Program Description
hmmbuild Build profile from input multiple alignment
hmmsearch Search profile against sequence database
hmmscan Search sequence against profile database
hmmalign Make multiple sequence alignment using a profiler

The following example illustrates the usage of hmmsearch using Pfam database and uniprot_sprot as the input:

Setting Environment
# Format for loading HMMER build with AOCC
$ spack load hmmer@<Version> %aocc@<Version>
# Example: Load HMMER build with AOCC 3.2.0 module into environment
$ spack load hmmer@3.3.2 %aocc@3.2.0


Obtaining Input Files
# Pfam Database
$ wget
$ unzip -d Pfam-A.hmm.gz
# uniprot_sprot.fasta input
$ wget
$ unzip -d uniprot_sport.fasta.gz

Running hmmsearch
$ mpirun -np 128 hmmsearch --mpi -o hmmsearch.out Pfam-A.hmm uniprot_sprot.fasta