Skip to content

A stepwise protocol for running Forna locally on Linux (suit for c5a911f on Dec 2, 2015) #52

@fzc1997

Description

@fzc1997

I have successfully run Forna locally on Linux, but this took some time primarily due to compatibility issues between Forna and its dependencies, such as Forgi.

In the README, detailed version information about Forna's dependencies is not provided. After some experimentation, I found a workable solution. Here is the stepwise protocol:

  1. Create a Conda environment with the necessary packages:
conda create -qyc bioconda viennarna forgi python=2 -n forna
  1. Install additional dependencies:
conda install -qyc conda-forge flask flask-bootstrap werkzeug==0.16.0 -n forna
  1. Navigate to the site-packages directory:
cd ~/conda/envs/forna/lib/python2.7/site-packages
mv forgi forgi_backed 
  1. Download and unzip Forgi version 0.3:
wget -O forgi-0.3.zip https://codeload.github.com/ViennaRNA/forgi/zip/refs/tags/v0.3
unzip forgi-0.3.zip
mv forgi-0.3 forgi-0.3.dist-info
mv forgi-0.3.dist-info/forgi .
  1. Activate the Forna environment:
conda activate forna
  1. Download and set up Forna:
cd ~/software
wget -O forna-master.zip https://codeload.github.com/ViennaRNA/forna/zip/refs/heads/master
unzip forna-master.zip
cd forna-master
  1. Edit the 'forna_server.py' file by adding the following line before 'import forna_db as fdb':
vim forna_server.py
# Add: sys.path.append("~/software/forna-master");
# Save and quit
  1. Run the Forna server:
python forna_server.py -s -d
  1. Access Forna by visiting 127.0.0.1:8008 in your web browser.

Here is my final conda environment.yml file. Please note that the actual version of Forgi is 0.3.

name: forna
channels:
  - bioconda
  - conda-forge
  - defaults
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=2_gnu
  - alsa-lib=1.2.10=hd590300_0
  - appdirs=1.4.4=pyh9f0ad1d_0
  - beautifulsoup4=4.6.0=py27_0
  - biopython=1.70=np112py27_1
  - blas=1.0=mkl
  - bzip2=1.0.8=h7f98852_4
  - ca-certificates=2023.7.22=hbcca054_0
  - cairo=1.12.18=6
  - certifi=2019.11.28=py27h8c360ce_1
  - click=7.1.2=pyh9f0ad1d_0
  - cycler=0.10.0=py27_0
  - dbus=1.13.6=h5008d03_3
  - decorator=4.4.2=py_0
  - dominate=2.3.1=py27_0
  - expat=2.5.0=hcb278e6_1
  - flask=1.1.2=pyh9f0ad1d_0
  - flask-bootstrap=3.3.7.1=py_0
  - fontconfig=2.11.1=6
  - forgi=2.0.3=pyh864c0ab_1
  - freetype=2.5.5=2
  - functools32=3.2.3.2=py_3
  - future=0.18.2=py27h8c360ce_1
  - gettext=0.21.1=h27087fc_0
  - glib=2.78.0=hfc55251_0
  - glib-tools=2.78.0=hfc55251_0
  - gst-plugins-base=1.22.6=h8e1006c_1
  - gstreamer=1.22.6=h98fc4e7_1
  - icu=54.1=0
  - itsdangerous=1.1.0=py_0
  - jinja2=2.11.3=pyh44b312d_0
  - jpeg=8d=2
  - libexpat=2.5.0=hcb278e6_1
  - libffi=3.4.2=h7f98852_5
  - libgcc=7.2.0=h69d50b8_2
  - libgcc-ng=13.2.0=h807b86a_2
  - libgfortran=3.0.0=1
  - libglib=2.78.0=hebfc3b9_0
  - libgomp=13.2.0=h807b86a_2
  - libiconv=1.17=h166bdaf_0
  - libnsl=2.0.0=hd590300_1
  - libogg=1.3.4=h7f98852_1
  - libopus=1.3.1=h7f98852_1
  - libpng=1.6.39=h753d276_0
  - libsqlite=3.43.0=h2797004_0
  - libstdcxx-ng=13.2.0=h7e041cc_2
  - libvorbis=1.3.7=h9c3ff4c_0
  - libxcb=1.15=h0b41bf4_0
  - libxml2=2.9.4=0
  - libzlib=1.2.13=hd590300_5
  - logging_exceptions=0.1.8=py_0
  - markupsafe=1.1.1=py27hdf8410d_1
  - matplotlib=2.0.2=np112py27_0
  - mkl=2017.0.3=0
  - mmtf-python=1.0.2=py27_0
  - msgpack-python=0.4.8=py27_0
  - ncurses=6.4=hcb278e6_0
  - networkx=2.2=py_1
  - nodejs=6.13.1=0
  - numpy=1.12.1=py27_0
  - openssl=1.0.2u=h516909a_0
  - pandas=0.24.2=py27hf484d3e_0
  - pcre2=10.40=hc3806b6_0
  - perl=5.32.1=4_hd590300_perl5
  - pip=20.0.2=py27_1
  - pixman=0.32.6=0
  - pthread-stubs=0.4=h36c2ea0_1001
  - pycairo=1.10.0=py27_0
  - pyparsing=2.4.7=pyh9f0ad1d_0
  - pyqt=5.6.0=py27h13b7fb3_1008
  - python=2.7.18=h42bf7aa_3
  - python-dateutil=2.8.1=py_0
  - python_abi=2.7=1_cp27mu
  - pytz=2017.3=py27_3
  - qt=5.6.2=0
  - readline=8.2=h8228510_1
  - reportlab=3.2.0=py27_0
  - scipy=0.19.1=np112py27_0
  - setuptools=36.4.0=py27_1
  - sip=4.18=py27_0
  - six=1.16.0=pyh6c4a22f_0
  - sqlite=3.43.0=h2c6b66d_0
  - subprocess32=3.5.4=py27h516909a_0
  - tk=8.6.13=h2797004_0
  - viennarna=2.5.1=py27pl5321h8f2a353_1
  - visitor=0.1.3=pyh9f0ad1d_1
  - werkzeug=0.16.0=py_0
  - wheel=0.36.2=pyhd3deb0d_0
  - xorg-kbproto=1.0.7=h7f98852_1002
  - xorg-libx11=1.8.6=h8ee46fc_0
  - xorg-libxau=1.0.11=hd590300_0
  - xorg-libxdmcp=1.1.3=h7f98852_0
  - xorg-libxext=1.3.4=h0b41bf4_2
  - xorg-libxrender=0.9.11=hd590300_0
  - xorg-renderproto=0.11.1=h7f98852_1002
  - xorg-xextproto=7.3.0=h0b41bf4_1003
  - xorg-xproto=7.0.31=h7f98852_1007
  - zlib=1.2.13=hd590300_5
prefix: ~/conda/envs/forna

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions