Installation by users: Difference between revisions

From HPCwiki
Jump to navigation Jump to search
Line 6: Line 6:


== Preparing modules for local or domain specific use ==
== Preparing modules for local or domain specific use ==
Example of making a very simple module that would load a specific version of the short-read aligner bwa to your environment. Simple example, but demonstrates the principle. The example assumes that the executable file(s) are in:
  /cm/shared/apps/WUR/ABGC/bwa/bwa-0.5.9/


=== create a module file ===
All users can store executable or library files in:
  /cm/shared/apps/WUR/ABGC/
Within that folder, a modules folder was created where modules can be stored.
  /cm/shared/apps/WUR/ABGC/modules
In the case of bwa, there are quite a few versions, and users may have a preference for a newer or older version, depending on your pipeline.
The first step is to create a 'root' bwa directory, where multiple module files, one for each version, can be created.
<source lang='bash'>
mkdir /cm/shared/apps/WUR/ABGC/modules/bwa
</source>
note that this may already have been done by somebody else; pay attention not to remove existing module files.
The next step involves making a small TCL-based script. The name of the script is the version of the software that the module pertains. In this case 0.5.9.
<source lang='bash'>
vi  /cm/shared/apps/WUR/ABGC/modules/bwa/0.5.9
</source>
A basic module script may look like this:
<source lang='tcl'>
<source lang='tcl'>
#%Module1.0#######################################################################
#%Module1.0#######################################################################

Revision as of 23:39, 29 November 2013

Domain specific folders for executables and libraries

Many packages and applications can be installed locally in the $HOME directory. Users of each of the groups (e.g. 'WUR/ABGC') can deposit a map with executables or library files that can be of interest to multiple users

 /cm/shared/apps/WUR/ABGC/

Preparing modules for local or domain specific use

Example of making a very simple module that would load a specific version of the short-read aligner bwa to your environment. Simple example, but demonstrates the principle. The example assumes that the executable file(s) are in:

 /cm/shared/apps/WUR/ABGC/bwa/bwa-0.5.9/

create a module file

All users can store executable or library files in:

 /cm/shared/apps/WUR/ABGC/

Within that folder, a modules folder was created where modules can be stored.

 /cm/shared/apps/WUR/ABGC/modules

In the case of bwa, there are quite a few versions, and users may have a preference for a newer or older version, depending on your pipeline.

The first step is to create a 'root' bwa directory, where multiple module files, one for each version, can be created.

mkdir /cm/shared/apps/WUR/ABGC/modules/bwa

note that this may already have been done by somebody else; pay attention not to remove existing module files.

The next step involves making a small TCL-based script. The name of the script is the version of the software that the module pertains. In this case 0.5.9.

vi  /cm/shared/apps/WUR/ABGC/modules/bwa/0.5.9

A basic module script may look like this:

#%Module1.0#######################################################################
## bwa 0.5.9 modulefile
##
proc ModulesHelp { } {

        puts stderr "\tAdds bwa v0.5.9 to your environment"
}

module-whatis   "Adds bwa v0.5.9 to your environment"

set             bwa_059_root        /cm/shared/apps/WUR/ABGC/bwa/bwa-0.5.9/

prepend-path     PATH             $bwa_059_root

< text here >

export MODULEPATH=$MODULEPATH:/cm/shared/apps/WUR/ABGC/modulesfiles
source .bash_profile

See also

External links

http://modules.sourceforge.net http://www.admin-magazine.com/HPC/Articles/Environment-Modules