KIRMES Source Code

Welcome to KIRMES!

Quick Start

Run the example to see how it works:

python -e -v -p Example/positives.fasta -n Example/negatives.fasta -q Example/query.fasta -r Example/resume.pck

To see all available options, run:

python --help

Use your own FASTA files to run KIRMES!


KIRMES consists of a series of object-oriented Python scripts. It requires several other programs to run, that are not included in any download package due to copyright and redistribution issues.

Operating System

A *nix-like shell will be necessary, we have tested Mac OS X and Ubuntu Linux. Feel free to try others.


KIRMES relies on these programs and Python modules that need to be installed and available in the (Python-)path for KIRMES to run:

Python Interpreter: you will need Python 2.5, which is probably already installed, with a couple of extras:

  • SciPy
  • NumPy
  • wxPython
  • matplotlib (pylab)

Third-party Software

  • For the SVMs to work, you will need the large-scale machine learning toolbox Shogun, available at Shogun has its own requirements that need to be met, e.g. the installation of SVMLight

Optional Software

  • For the Gibbs sampling programs supported by KIRMES, you need to download the ones you want to use (optional):
    • MotifSampler from the INCLUSive package by Gert Thijs et al.
    • A Gibbs Binary with an interface in the BioPERL project
    • Soon: Priority by Raluca Gordan et al.
  • KIRMES has a cool Galaxy interface, and you will need to install the Python-based Galaxy web service: instructions


  • First, install all the packages for Python.

  • Then install SVMLight.

  • Afterwards, you can download and compile the shogun source code. Be sure to use the latest version. Compile shogun with the option:


    which enables the python bindings that KIRMES requires.

  • The command-line version of KIRMES is now ready to use.

  • Then you can download and install Galaxy. It needs to be checked out via their mercurial (hg) versioning system.

  • Follow the instructions to set up the server and then create a directory in the tools subdirectory called KIRMES. Here, you can unzip the KIRMES files and afterwards add it as a tool to the tool_conf.xml in the root directory, e.g. with the following line:

    <section name="KIRMES" id="KIRMES">
       <tool file="mlb/kirmes/KExamplesInstructions.xml" />
       <tool file="mlb/kirmes/KKMC.xml" />
       <tool file="mlb/kirmes/KIMS.xml" />
       <tool file="mlb/kirmes/KIML.xml" />
       <tool file="mlb/kirmes/KTraining.xml" />
  • Install the Gibbs samplers you wish to use and put them in your system's path variable, or directly into the KIRMES directory in the Galaxy instance.

  • Finally, you can start Galaxy by running:

    sh ./

    in the Galaxy directory. As soon as it is up and running, you can connect to it via http://localhost:8080 (if you didn't change the port during setup). You should see KIRMES as one of the tools in the left-hand pane.

First Steps in Galaxy

Start by uploading a FASTA file to Galaxy, or preferably two, with a positive and a negative set. You can first run the training part of KIRMES and afterwards test it on a third set of genes via the Classifier part.