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 22: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.

<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'>

  1. %Module1.0#######################################################################
    1. 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

</source> < text here > <source lang='bash'> export MODULEPATH=$MODULEPATH:/cm/shared/apps/WUR/ABGC/modulesfiles </source> <source lang='bash'> source .bash_profile </source>

See also

External links

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