Introduction

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: www.hmmer.org

 

Build HMMER using Spack

Please refer to this link for getting started with spack using AMD Zen Software Studio.

    # Example for building HMMER with AOCC
$ spack install hmmer %aocc ^openmpi fabrics=cma,ucx

Explanation of the command options:

Symbol Meaning
%aocc Build HMMER with AOCC compiler.
^openmpi fabrics=cma,ucx Use OpenMPI as the MPI provider and use the CMA network for efficient intra-node communication, falling back to the UCX network fabric, if required.. 
Note: It is advised to specifically set the appropriate fabric for the host system if possible. Refer to Open MPI with AMD Zen Software Studio for more guidance.

Running HMMER

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

Run Script for AMD EPYC™ Processors

    #!/bin/bash
# Loading HMMER built with AOCC
spack load hmmer %aocc

# Downloading Pfam Database
wget http://ftp.ebi.ac.uk/pub/databases/Pfam/current_release/Pfam-A.hmm.gz
gzip -d Pfam-A.hmm.gz

# Downloading uniprot_sprot.fasta input
wget https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/complete/uniprot_sprot.fasta.gz
gzip -d uniprot_sprot.fasta.gz

# MPI and OMP settings
# MPI_RANKS=Number of cores available in the system.
MPI_RANKS=$(nproc)
export OMP_NUM_THREADS=1
MPI_OPTS="-np $MPI_RANKS --bind-to core "

# Run Command to carry out search using hmmsearch binary
mpirun $MPI_OPTS hmmsearch --mpi -o hmmsearch.out Pfam-A.hmm uniprot_sprot.fasta

Note: The above build and run steps are tested with HMMER-3.4, AOCC-5.0.0, and OpenMPI-5.0.5 on Red Hat Enterprise Linux release 8.9 (Ootpa) using Spack v0.23.0.dev0 (commit id : 2da812cbad ).

For technical support on the tools, benchmarks and applications that AMD offers on this page and related inquiries, reach out to us at toolchainsupport@amd.com