Installing software

Installing software or pipeline can be a difficult task to accomplish. Therefore we suggest all users to make the programs they installed available to all users whenever it is possible. In general programs/pipelines that should be available to all are installed in /tools folder. On this page will be described how to make tools available on our system for installation procedure of your specific program please refer to the instructions coming with that program.

Who can install software

In principle any users except students and guests should be able to install bioinfo tools in folders made for that purpose.

Test data

We do ask users to provide test data for all install software. This way it becomes easy to check whether a software works or not. It is also good to define default command to test a tool, see next section to know more about this.

Install binaries

Installing software on potato can be separated into 3 parts:

Path to place tool's binaries

The following scheme will help you understanding how tools should be placed in /tools/software/bioinfo-tools/
/tools/software/bioinfo-tools/<category_name>/<generic_name>/<version_name>/

CATEGORY NAME
Every tool is place in a specific category, users have to choose which category is adequate for there tool. If no category is suited for the new tool, make a new folder.
GENERIC NAME
This the name of the tool without any version information
VERSION NAME
This the tool's name and the version or simply the version

an example for assembly tools could look like this,

/tools/software/bioinfo-tools/assembly/
-- spades
    -- SPAdes-3.14.0-Linux
       |-- bin
       |-- lib
       `-- share
    -- SPAdes-2.19.0-Linux
       |-- bin
       |-- lib
       `-- share
-- megahit
    -- 1.0
       `-- bin
    -- 1.4
       `-- bin
...

Adding software to modules

Once the binaries has been placed in software folder, the next step is to add the path to modules. By doing so users can easily load the software using the command module. For each software installed a module file should be created, users module files are located in /tools/modulefiles. Make a new file following this scheme, /tools/modulefiles/<TOOL_NAME>/<VERSION> Here is a test module file that you can modify to suit your case,

   1 #%Module1.0#####################################################################
   2 
   3 proc ModulesHelp { } {
   4 
   5     puts stderr " "
   6     puts stderr "This module loads <TOOLNAME> version <VERSION>"
   7     puts stderr "toolchain."
   8     puts stderr "\nVersion 1.0\n"
   9 
  10 }
  11 module-whatis "Name: <TOOLNAME>"
  12 module-whatis "Version: <VERSION>"
  13 module-whatis "Category: bioinfo-tools / <CATEGORY>"
  14 module-whatis "Description: <DESCRIPTION>"
  15 module-whatis "URL <URL WHERE YOU HAVE DOWNLOADED THE TOOL>"
  16 
  17 set     version                     <VERSION>
  18 
  19 # Path to binaries for the tool
  20 prepend-path    PATH                /tools/software/bioinfo-tools/<PATH TO BINARIES>
  21 # Path to MAN folder if exists, most of the time in share/man
  22 prepend-path    MANPATH             /tools/software/bioinfo-tools/<PATH TO MAN FOLDER>
  23 # Path to INCLUDE folder if exists
  24 prepend-path    INCLUDE             /tools/software/bioinfo-tools/<PATH TO INCLUDE>
  25 # Path to LIB folder if exists
  26 prepend-path    LD_LIBRARY_PATH     /tools/software/bioinfo-tools/<PATH TO LIB>
  27 
  28 # Set environment variable for your tool
  29 # setenv        TOOLNAME_VAR         value
  30 # Replace TOOLNAME with your program name
  31 setenv          TOOLNAME_DIR        /tools/software/bioinfo-tools/...
  32 setenv          TOOLNAME_BIN        /tools/software/bioinfo-tools/...
  33 setenv          TOOLNAME_LIB        /tools/software/bioinfo-tools/...
  34 setenv          TOOLNAME_INC        /tools/software/bioinfo-tools/...
  35 setenv          TOOLNAME_TEST       /tools/test_data/...
  36 setenv          TOOLNAME_TEST_CMD   "TOOLNAME [options] <REQUIRED PARAMETER>"

Test data

We kindly as all users to provide test data for all software they install as we as a basic command to run the a test (cf. module file). Test data should be a very tiny (simulated or not) amount of data to use to test a tool, a test run should last less than 5min.

Make a folder for your tool in /tools/test_data/<TOOL> then add your data and a "sbatch" file to run the test.

Install miniconda/anaconda packages

Anaconda (or Conda) is a well known program for managing environments and packages. It is very popular inn bioinformatics as it allows users with little experience to easily install needed tools and all dependencies. It also makes it easy for users to load the specific environments they need without modifying their bashrc themselves.

On this server you will find 2 versions of miniconda installed, miniconda3 for python 3 and miniconda2 for python 2.7 environments.

Conda's users guide can be found here, https://docs.conda.io/projects/conda/en/latest/user-guide/index.html.

   1 module load miniconda3/4.8.2
   2 source $CONDA_INIT

   1 which python
   2 #/tools/software/bioinfo-tools/miniconda/miniconda3/bin/python
   3 

   1 conda info --envs
   2 # OR
   3 conda env list
   4 ## conda environments:
   5 ##
   6 #test                     /home/fhoma/.conda/envs/test
   7 #base                  *  /tools/software/bioinfo-tools/miniconda/miniconda3
   8 

   1 conda activate <environment_name>
   2 # For example, you can try
   3 conda activate base

   1 conda deactivate

   1 conda activate --stack <env_name>

   1 # Create an environment with only default packages
   2 conda create --name <env_name>
   3 # You can be asked to confirm the location of the location of the envs folder
   4 # Use the command below to accept any question by default
   5 conda create --yes --name <env_name>
   6 
   7 # Make an environment with python 3.6
   8 conda create --yes --name <env_name> python=3.6
   9 
  10 # Create an environment from YAML file
  11 conda env create -f <environment.yml>

   1 conda env remove --name <env_name>
   2 # OR
   3 conda remove --name <env_name> --all

Install R packages

   1 module load R
   2 R

   1 .libPaths()
   2 #[1] "/tools/R_libs/3.6.1"
   3 #[2] "/opt/ohpc/pub/libs/gnu8/R/3.6.1/lib64/R/library"

   1 .packages(all.available=T)

   1 install.packages(c("<package1>", "<package2>,..."), dep=T)

   1 library(BiocManager)
   2 BiocManager::install(c("<package1>", "<package2>",...))

Read more about R and bioconductor:

  1. Computers description

  2. Request an account

  3. storage description

  4. First login

  5. Receiving sequencing data

  6. transferring data

  7. Submitting jobs

  8. Monitor jobs

  9. Install tools

  10. Space management

#top

mibPotatoWiki: Install tools (last edited 2023-04-25 11:43:41 by fhoma)