3.4.1. Linux Installation

RMG-Py and all of its dependencies may be easily installed through a short series of Terminal commands. The instructions listed below were written for Ubuntu 12.04 and should generally apply to other distributions.

Warning

This installation method is no longer actively maintained, and is not guaranteed to work as written. Please refer to Installation for more up-to-date instructions.

  • Install compilers and libraries:

    sudo apt-get install git g++ gfortran python-dev liblapack-dev
    sudo apt-get install python-openbabel python-setuptools python-pip
    
  • After creating a Github account, generate your public key:

    cd ~; ssh-keygen                # press enter to save to the default directory
                                    # create a password if desired
    cat .ssh/id_rsa.pub
    

    Copy this public key to your Github profile.

  • Install dependencies:

    sudo apt-get install libpng-dev libfreetype6-dev graphviz
    
    sudo pip install numpy          # install NumPy before other packages
    
    sudo pip install scipy cython nose matplotlib quantities sphinx psutil xlwt
    
    cd ~
    git clone https://github.com/ReactionMechanismGenerator/PyDAS.git
    git clone https://github.com/ReactionMechanismGenerator/PyDQED.git
    cd PyDAS; make F77=gfortran; sudo make install; cd ..
    cd PyDQED; make F77=gfortran; sudo make install; cd ..
    
  • Install RDKit

    Full installation instructions: https://www.rdkit.org/docs/Install.html Be sure to build it with InChI support. Here’s a synopsis:

    cd ~
    sudo apt-get install flex bison build-essential python-numpy cmake python-dev sqlite3
    sudo apt-get install libsqlite3-dev libboost-dev libboost-python-dev libboost-regex-dev
    git clone https://github.com/rdkit/rdkit.git
    cd rdkit
    export RDBASE=`pwd`
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RDBASE/lib
    export PYTHONPATH=$PYTHONPATH:$RDBASE
    cd External/INCHI-API
    ./download-inchi.sh
    cd ../../
    mkdir build
    cd build
    cmake .. -DRDK_BUILD_INCHI_SUPPORT=ON
    make
    make install
    

    You’ll need various environment variables set (you may want to add these to your .bash_profile file), eg.:

    export RDBASE=$HOME/rdkit # CHECK THIS (maybe you put RDKit somewhere else)
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RDBASE/lib
    export PYTHONPATH=$PYTHONPATH:$RDBASE  # (or some other way to make sure it's on your Python path)
    
  • The following dependencies are also required for core RMG functions and must be installed from source before building RMG:

    pyrdl: RingDecomposerLib, used for ring perception. Download from https://github.com/rareylab/RingDecomposerLib. Requires CMAKE to compile.

    lpsolve: Mixed integer linear programming solver. Download from https://sourceforge.net/projects/lpsolve/. Python extension also required.

  • Install RMG-Py:

    cd ~
    git clone https://github.com/ReactionMechanismGenerator/RMG-database.git
    git clone https://github.com/ReactionMechanismGenerator/RMG-Py.git
    sudo pip install -r RMG-Py/requirements.txt
    cd RMG-Py
    make
    
  • Run an example:

    python rmg.py examples/rmg/minimal/input.py
    

    Verify your installation by opening the resulting output.html file under the “examples/rmg/minimal” directory.

    You can also use the Makefile targets to test and run examples:

    make test
    make eg1
    make eg2
    
  • Compiling RMG-Py with Sensitivity Analysis:

    Running sensitivity analysis in RMG-Py requires the prerequisite DASPK solver and DASPK compiled wrapper in PyDAS. To do so first compile daspk in PyDAS and agree to download the daspk31.tgz file when prompted.

    cd PyDAS/
    make
    make install
    

    Then compile RMG-Py normally. It will automatically be compiled with sensitivity analysis if DASPK is found.

    cd RMG-Py
    make clean-solver
    make
    

    Note that using this option will allow RMG to both run with and without sensitivity.