Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Website | Documentation | Tutorial

Build Status Coverage Status Coverity Scan Build Status Release License

ToPS is an objected-oriented framework implemented with C++ which facilitates the integration of probabilistic models for sequences over an user defined alphabet. ToPS contains the implementation of eight distinct models to analyze discrete sequences:

  1. Independent and identically distributed model (IID)
  2. Variable-Length Markov Chain (VLMC)
  3. Inhomogeneous Markov Chain (IMC)
  4. Hidden Markov Model (HMM)
  5. Pair Hidden Markov Model
  6. Profile Hidden Markov Model
  7. Similarity Based Sequence Weighting (SBSW)
  8. Generalized Hidden Markov Model (GHMM)

Users can implement models either by manual description of the probability values in a configuration file, or by using training algorithms provided by the system. ToPS framework also includes a set of programs that implement bayesian classifiers, sequence samplers, and sequence decoders. Finally, ToPS is an extensible and portable system that facilitates the implementation of other probabilistic models, and the development of new programs.

Git Repository

You can download the development version of ToPS by executing the command below:

git clone --recursive


ToPS was designed to run on Unix/Linux operating systems. Tested platforms include: MacOS X, Ubuntu Linux and Arch Linux.

Software Requirement

ToPS was written in C++. It was compiled and tested using g++ 4.9.2 and clang 3.6.0. Besides one of the compilers, it requires:

  • Git
  • GNU Make

Installing ToPS

  1. Download ToPS from GitHub

    git clone --recursive

    This will create a directory named tops

  2. Go to the tops directory:

    cd tops
  3. Run make

  4. Run make install

    sudo make install
  5. If you are using linux run ldconfig

    sudo ldconfig