Installation by users: Difference between revisions
m (<source> to <pre> to fix code blocks) |
|||
(9 intermediate revisions by 3 users not shown) | |||
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. | |||
<pre> | |||
mkdir /cm/shared/apps/WUR/ABGC/modulefiles/bwa | |||
</pre> | |||
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. | |||
<pre> | |||
vi /cm/shared/apps/WUR/ABGC/modulefiles/bwa/0.5.9 | |||
</pre> | |||
A basic module script may look like this: | |||
<pre> | |||
#%Module1.0####################################################################### | #%Module1.0####################################################################### | ||
## bwa 0.5.9 modulefile | ## bwa 0.5.9 modulefile | ||
Line 22: | Line 48: | ||
prepend-path PATH $bwa_059_root | prepend-path PATH $bwa_059_root | ||
</ | </pre> | ||
< | |||
< | === Adding a custom module directory to your environment === | ||
export MODULEPATH=$MODULEPATH:/cm/shared/apps/WUR/ABGC/ | To allow the <code>module</code> program to find the custom module directory, the location of that directory has to be added to <code>MODULEPATH</code> variable. | ||
</ | |||
< | <pre> | ||
export MODULEPATH=$MODULEPATH:/cm/shared/apps/WUR/ABGC/modulefiles | |||
</pre> | |||
This can be made permanent by adding this line of code to the <code>.bash_profile</code> file in the root of your home folder. To then load the modified <code>MODULEPATH</code> variable you have to load <code>.bash_profile</code> again: | |||
<pre> | |||
source .bash_profile | source .bash_profile | ||
</ | </pre> | ||
This needs to be done only once. Next time you login, <code>.bash_profile</code> will be loaded automatically. | |||
You can check if the modules are found. | |||
<pre> | |||
module avail | |||
</pre> | |||
This should give output that includes something similar to this: | |||
----------------------------------- /cm/shared/apps/WUR/ABGC/modulefiles ----------------------------------- | |||
bwa/0.5.9 bwa/0.7.5a | |||
== See also == | == See also == | ||
* [[ | * [[Anunna | Anunna]] | ||
* [[Environment_Modules | Environment Modules]] | * [[Environment_Modules | Environment Modules]] | ||
* [[Control_R_environment_using_modules | Control R environment using modules]] | |||
* [[Create_shortcut_log-in_command | Create a shortcut for the ssh log-in command]] | * [[Create_shortcut_log-in_command | Create a shortcut for the ssh log-in command]] | ||
* [[Installing_R_packages_locally | Installing R packages locally]] | * [[Installing_R_packages_locally | Installing R packages locally]] | ||
* [[ABGC_modules | ABGC specific modules]] | |||
== External links == | == External links == | ||
http://modules.sourceforge.net | * http://modules.sourceforge.net | ||
http://www.admin-magazine.com/HPC/Articles/Environment-Modules | * http://www.admin-magazine.com/HPC/Articles/Environment-Modules |
Latest revision as of 14:39, 15 June 2023
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/modulefiles/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/modulefiles/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
Adding a custom module directory to your environment
To allow the module
program to find the custom module directory, the location of that directory has to be added to MODULEPATH
variable.
export MODULEPATH=$MODULEPATH:/cm/shared/apps/WUR/ABGC/modulefiles
This can be made permanent by adding this line of code to the .bash_profile
file in the root of your home folder. To then load the modified MODULEPATH
variable you have to load .bash_profile
again:
source .bash_profile
This needs to be done only once. Next time you login, .bash_profile
will be loaded automatically.
You can check if the modules are found.
module avail
This should give output that includes something similar to this:
----------------------------------- /cm/shared/apps/WUR/ABGC/modulefiles ----------------------------------- bwa/0.5.9 bwa/0.7.5a
See also
- Anunna
- Environment Modules
- Control R environment using modules
- Create a shortcut for the ssh log-in command
- Installing R packages locally
- ABGC specific modules