RMF
Installation

Binary installation

The simplest way to obtain RMF is by using a pre-built binary, either standalone or as part of IMP.

Standalone: if you are using Anaconda Python, install with

conda install -c conda-forge rmf

or on a Mac with Homebrew, install with

brew tap salilab/salilab; brew install rmf

or on a Fedora or RedHat Enterprise Linux system, install via COPR with

dnf copr enable salilab/salilab; dnf install RMF

or on an Ubuntu LTS system, install via PPA with

apt install software-properties-common; add-apt-repository ppa:salilab/ppa; apt install rmf

IMP: Download an IMP binary (which includes RMF) from the IMP download page.

Source code installation

Prerequisites

In order to build from source, you will need:

If you want to be able to read older format RMF files, you will also need:

  • HDF5 (1.8 or later)

Download

  • Use git to get the code directly from our GitHub repository with something like:

      git clone -b main https://github.com/salilab/rmf.git
    

    (the main branch tracks the most recent stable release; alternatively you can use develop to get the most recent code).

Compilation

Make a separate directory to keep the compiled version of RMF in (it's tidier to keep this separate from the source code, and if you need to later you can just delete this directory without affecting the source). Set up the build with CMake, then finally compile it, with something like:

mkdir build
cd build
cmake <path to RMF source> -DCMAKE_BUILD_TYPE=Release
make -j8

Testing

Once the compilation is complete, you can optionally run the test suite. Test are run using ctest. A good start is to run ctest --output-on-failure.

Tests are labeled with the cost of the test, so to run just the cheap tests, use ctest -L CHEAP.

Installation

Once everything is compiled (and optionally tested) you can install RMF by simply running make install. If you opted to install in a non-standard location, it is up to you to set up your environment variables so that RMF can be found (you may need to set PATH, PYTHONPATH, and LD_LIBRARY_PATH).