-
Notifications
You must be signed in to change notification settings - Fork 5
LinuxUnixInstallFromSource
Users without access to the sudo
command or without the ability to install system packages should see the local source install notes for instructions on how to build RNAStructViz in their home directory. All other users on a recent enough Linux or BSD Unix machine can follow the next instructions given below. Mac OSX users choosing a source install method should see these notes first instead.
First install the Mesa/GL, OpenSSL (for hashing), and Boost libraries
with apt
if you do not already have them on your system:
$ sudo apt-get install libglu1-mesa-dev mesa-common-dev libxinerama-dev libssl-dev libboost1.62-all-dev
If problems with the package names arise, you can try searching for the correct package to install by issuing the following command:
apt-cache search package-name
Once these libraries are installed make sure that you have the development packages for Cairo installed by running:
$ sudo apt-get install libcairo2-dev
We fetch and extract a recent stable version of the FLTK library source (v1.4.x) and extract it to our local home directory:
$ cd ~
$ wget https://www.fltk.org/pub/fltk/snapshots/fltk-1.4.x-20191025-4f8e692f.tar.gz
$ tar xvzf fltk-1.4.x-20191025-4f8e692f.tar.gz
$ cd fltk-1.4.x-20191025-4f8e692f
Now we need to enable the configure-time options which will enable Cairo support by default in our FLTK build:
$ make clean
$ CPPFLAGS=`pkg-config --cflags libpng` LDFLAGS=`pkg-config --libs libpng` ./configure --enable-cairo --enable-threads --with-x --enable-x11
$ make
$ sudo make install
You can verify that the install was successful by verifying that the following output is sane:
$ which fltk-config
/usr/local/bin/fltk-config
$ fltk-config --libs --use-cairo
Next, we tell the RNAStructViz
Makefile where it should look for
fltk-config
:
$ export FLTKCONFIG=`which fltk-config`
We will require the latest source of Vienna RNA to install the necessary RNAlib library which we utilize to generate radial layout diagrams in the application:
$ sudo apt-get install python3-dev libmpfr6 python-dev
$ cd ~
$ wget https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_4_x/ViennaRNA-2.4.14.tar.gz
We continue below by installing Vienna and its component library from source:
$ tar xvzf ViennaRNA-2.4.14.tar.gz
$ cd ViennaRNA-2.4.14
$ make clean
$ ./configure --disable-debug --disable-dependency-tracking --with-python
$ make
$ sudo make install
Test if the library is installed by running:
$ pkg-config --cflags --libs RNAlib2
-pthread -I/usr/local/include -I/usr/local/include/ViennaRNA -L/usr/local/lib -lRNA -fopenmp
Now on to building RNAStructViz from source. We need to fetch a local copy of the RNAStructViz source code so that we can build it for ourselves:
$ cd ~
$ git clone https://github.com/gtDMMB/RNAStructViz.git
$ cd RNAStructViz
If you previously built FLTK in a local directory, you need to first run:
$ export FLTK_INSTALL_DIR=/home/myUserName/path/to/FLTK
Now we are ready to build the source:
$ make clean && make && make run
At this point if all goes well you should have a working copy of the RNAStructViz binary in the current working src/
directory. Let's make an alias for this command so it's easier to find and use on the system:
(On Linux)
$ echo "alias RNAStructViz=\'$(readlink -f src/RNAStructViz)'" >> ~/.bashrc
$ source ~/.bashrc
$ RNAStructViz
(On Mac)
$ echo "alias RNAStructViz=\'$(greadlink -f src/RNAStructViz)'" >> ~/.bash_profile
$ source ~/.bash_profile
$ RNAStructViz
Alternately, if you want your recent build of RNAStructViz installed in your default system search path, you can choose to just install the application globally on your system by running the following command:
$ sudo make install
RNAStructViz has been developed by the Georgia Tech Research Group in Discrete Mathematics and Molecular Biology (gtDMMB) directed by Professor Christine Heitsch (current credits and citations). All communication about running our software, including instantiating bug reports, feature requests, wiki edits, and general inquiries, is logged via our GitHub issues page. Please view the detailed instructions before posting a new issue about support requests.
Source Code Update Information (JSON Format): 📑 Most Recent Commit Activity | 🔖 Latest Release Tag | 📋 Lines of Code