Installation Guide

Author: Menachem Sklarz

General

Since most high-throughput sequencing analysis programs are Linux based, NeatSeq-Flow is typically used on a Linux operating system, preferably (but not necessarily) on a computer cluster. However, the workflow design and script generation steps can be run on any operating system that has Phyton installed.

NeatSeq-Flow GUI is also installed on the Linux computer/cluster, but it is possible to access it from a Windows computer through a Windows X server.

NeatSeq-Flow can be installed in one of the following ways:

  1. Install NeatSeq-Flow with installation script (recommended)
  2. Install and execute NeatSeq-Flow with Conda
  3. Install and execute NeatSeq-Flow without Conda

Conda allows easy installation of NeatSeq-Flow in one go. For selected workflows, as well as for the NeatSeq-Flow tutorial, we also provide entire Conda environments which include NeatSeq-Flow with all necessary analysis programs (see NeatSeq-Flow Workflows.

Install NeatSeq-Flow with installation script

You can install NeatSeq-Flow and all it’s dependencies in one go with a provided bash script.

The script performs the following:

  • Miniconda installation
  • git installation
  • NeatSeq-Flow conda environment creation

Installing

Temporary installation

Everything will be installed in a directory called NeatSeq_Flow_install. To uninstall NeatSeq-Flow, just delete the directory.

curl -sl https://raw.githubusercontent.com/bioinfo-core-BGU/neatseq-flow/master/docs/source/_extra/extra/NeatSeq_Flow_install_script.sh | bash -s -- temp
Permanent installation

Miniconda will be installed in the default location. If it already exists, the installed version will be used.

The NeatSeq-Flow environment will be created in the default conda environments directory (“$HOME/miniconda3/envs”).

curl -sl https://raw.githubusercontent.com/bioinfo-core-BGU/neatseq-flow/master/docs/source/_extra/extra/NeatSeq_Flow_install_script.sh | bash -s -- perm

Running NeatSeq-Flow

Follow the instructions given by the installation script when complete. Briefly:

  1. Add conda to the PATH (copy-paste the command from the terminal)

  2. Activate the environment and tell NeatSeq-Flow where the base conda installation is located:

    source activate NeatSeq_Flow
    export CONDA_BASE=$(conda info --root)
    
  3. Run NeatSeq_Flow_GUI:

    NeatSeq_Flow_GUI.py
    
  4. Alternatively, run NeatSeq_Flow command-line version:

    neatseq_flow.py --help
    
  5. When done, deactivate the environment:

    source deactivate
    

Install and execute NeatSeq-Flow with Conda

Installing Using Conda will install NeatSeq-Flow with all its dependencies [1] in one go:

Prerequisites

  • The computer where the GUI is installed needs to have a web browser, preferably FireFox.
  • To use the GUI from another computer having a Windows operating system, that computer needs to have a Windows X server, e.g. MobaXterm.

Install miniconda

For Linux 64bit, in the terminal:

curl -LO https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
sh Miniconda3-latest-Linux-x86_64.sh

During conda’s installation: type *yes* to add conda to the PATH

Note

For different operating system go to minionda downloads page NeatSeq-Flow uses python version>=3.5. Make sure you download an appropriate version.

Important

If you do not have git installed, please install it with the following command:

conda install -c anaconda git

Install NeatSeq-Flow

  1. Download the NeatSeq-Flow conda environment file:

    curl -LO http://neatseq-flow.readthedocs.io/en/latest/extra/NeatSeq_Flow_conda_env.yaml
    
  2. Create the NeatSeq_Flow conda environment:

    conda env create -n NeatSeq_Flow -f NeatSeq_Flow_conda_env.yaml
    

Running NeatSeq-Flow

  1. Activate the NeatSeq_Flow conda environment:

    bash
    source activate NeatSeq_Flow
    
  2. Execute the following command to tell NeatSeq-Flow where the base conda installation is located:

    export CONDA_BASE=$(conda info --root)
    
  3. Make a directory for your project and change into it:

    mkdir first_neatseq_flow_proj; cd first_neatseq_flow_proj
    
  4. Run NeatSeq_Flow_GUI:

    NeatSeq_Flow_GUI.py
    
  5. Alternatively, run NeatSeq_Flow command-line version:

    neatseq_flow.py \
       --sample_file $CONDA_PREFIX/NeatSeq-Flow-Workflows/Sample_sets/PE_tabular.nsfs \
       --param_file $CONDA_PREFIX/NeatSeq-Flow-Workflows/RNA_seq_Trinity.yaml \
       --message "My first NeatSeq-Flow WF using conda"
    
  6. When done, deactivate the environment:

    source deactivate
    

Note

You don’t need to have the environment activated in order to execute the scripts!

Attention

See the tutorial for a full example of how to use NeatSeq-Flow

Install and execute NeatSeq-Flow without Conda

First, install NeatSeq-Flow as described here.

Then, make sure you have these programs installed:

  • git
  • pip
  • python = 3.6.5
  • wxpython [2]
  • pyyaml
  • munch
  • pandas [2]
  • Flexx [2]
  • A web-browser (Preferably firefox) [2]

Now, install the GUI:

  1. Clone the package from github:

    git clone https://github.com/bioinfo-core-BGU/neatseq-flow.git
    
  2. You may have to install the dependencies. This can be done with:

    pip install wxpython pyyaml munch pandas Flexx
    
  3. Clone the package of modules from github:

    git clone https://github.com/bioinfo-core-BGU/neatseq-flow-modules.git
    
  4. Clone the github repository of the GUI:

    git clone https://github.com/bioinfo-core-BGU/NeatSeq-Flow-GUI.git
    
  5. Execute the GUI:

    python3 NeatSeq-Flow-GUI/bin/NeatSeq_Flow_GUI.py
    
  6. Alternatively, execute the CLI version of NeatSeq-Flow:

    Create a new directory anywhere, cd into it and execute the following commands ($NSF_main is the directory where NeatSeq-Flow is installed):

    python $NSF_main/bin/neatseq_flow.py                         \
        --sample_file $NSF_main/Workflows/Sample_sets/PE_tabular.nsfs    \
        --param_file  $NSF_main/Workflows/mapping.yaml       \
        --message     "My first NeatSeq-Flow WF"
    

To use the GUI from another computer having a Windows operating system, use a Windows X server such as MobaXterm.

Footnotes

[1]Not including the web-browser
[2](1, 2, 3, 4) Required for the GUI only