Size: 9183
Comment: Compiling software
|
Size: 9181
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 96: | Line 96: |
setenv TOOLNAME_TEST /tools/test_data/... setenv TOOLNAME_TEST_CMD "TOOLNAME [options] <REQUIRED PARAMETER>" |
setenv TOOLNAME_TEST /tools/test_data/... setenv TOOLNAME_TEST_CMD "TOOLNAME [options] <REQUIRED PARAMETER>" |
Installing software
Contents
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:
- Compiling/generating binaries (/tools/software/bioinfo-tools)
- Adding binaries and libraries to the path (/tools/modulefiles)
- Adding test data (/tools/test_data)
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 conda deactivate
1 conda activate --stack <env_name>
Replace <env_name>, with a descriptive 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>
Install R packages
- Packages for R are installed within R, so to install R packages, you will first need to load the module R and run R.
Use the following R command to print where are the R libraries. Users libraries are installed in /tools/R_libs/3.6.1
- To see all available/installed packages
1 .packages(all.available=T)
To install R packages and dependancies. Installation will automatically be done in a /tools/R_libs/3.6.1 if permissions allows it. If not you could be asked to create a private one.
1 install.packages(c("<package1>", "<package2>,..."), dep=T)
To install BIOINFORMATICS R PACKAGES, we recommend to use "bioconductor" channels.
Read more about R and bioconductor:
^#top |
FINISH |