Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Howto create your own/group software modulesIntroduction | ||||||||
Line: 50 to 50 | ||||||||
local version = "VERSION" | ||||||||
Changed: | ||||||||
< < | --local base = "/hpc/local/\$MY_DISTRO/\$MY_GROUP/software/PROGRAM-" .. version local base = "\$HOME/\$MY_DISTRO/software/PROGRAM-" .. version | |||||||
> > | local base = "/hpc/local/\$MY_DISTRO/\$MY_GROUP/software/PROGRAM-" .. version | |||||||
conflict("PROGRAM") | ||||||||
Line: 67 to 66 | ||||||||
remarks
| ||||||||
Deleted: | ||||||||
< < |
| |||||||
load("Java/1.8.0_60") |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Howto create your own/group software modulesIntroduction |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Howto create your own/group software modulesIntroduction | ||||||||
Line: 49 to 50 | ||||||||
local version = "VERSION" | ||||||||
Changed: | ||||||||
< < | --local base = "/hpc/local/$MY_DISTRO/$MY_GROUP/software/PROGRAM-" .. version local base = "$HOME/$MY_DISTRO/software/PROGRAM-" .. version | |||||||
> > | --local base = "/hpc/local/\$MY_DISTRO/\$MY_GROUP/software/PROGRAM-" .. version local base = "\$HOME/\$MY_DISTRO/software/PROGRAM-" .. version | |||||||
conflict("PROGRAM") | ||||||||
Line: 62 to 63 | ||||||||
EOF | ||||||||
Added: | ||||||||
> > | ||||||||
remarks
| ||||||||
Line: 90 to 90 | ||||||||
#$echo $CLASSPATH Also check if unloading the module restores the environment | ||||||||
Deleted: | ||||||||
< < | ||||||||
#$module unload PROGRAM | ||||||||
Added: | ||||||||
> > | ShareOnce you are convinced that the module file is working correctly please let your group members also benefit from it. Sharing is easy!
#$mv $HOME/$MY_DISTRO/software/PROGRAM-VERSION /hpc/local/$MY_DISTRO/$MY_GROUP/software/PROGRAM-VERSION
#$mv $HOME/$MY_DISTRO/etc/modulefiles/PROGRAM /hpc/local/$MY_DISTRO/$MY_GROUP/etc/modulefiles/PROGRAMAllow your group members to add (module files) of other version of the program by making the PROGRAM directory writable: #$chmod 770 /hpc/local/$MY_DISTRO/$MY_GROUP/etc/modulefiles/PROGRAM | |||||||
-- ![]() Comments |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Howto create your own/group software modulesIntroduction | ||||||||
Line: 6 to 6 | ||||||||
Often a program requires particular environment variables in order to run. LMOD environment modules provide a convenient way to meet these requirements in a dynamical way. By creating modulefiles for your softwares it will be easy to add and remove directories to the PATH,LIBRARY_PATH,MANPATH,CLASSPATH and many other environment variables just by loading and unloading the module(file). This will allow for easily changing the environment (variables) and or software versions. Here an introduction on how to create these software module files. | ||||||||
Added: | ||||||||
> > | We also have a number of system-provided modules. Before creating your own module, please check whether this is already provided system-wide. For details, see FirstTimeUsers#Environment_software_modules | |||||||
CaseLets assume we want program PROGRAM with version VERSION to become available as a software module. |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Howto create your own/group software modules | ||||||||
Changed: | ||||||||
< < | Introduction | |||||||
> > | Introduction | |||||||
Often a program requires particular environment variables in order to run. LMOD environment modules provide a convenient way to meet these requirements in a dynamical way. By creating modulefiles for your softwares it will be easy to add and remove directories to the PATH,LIBRARY_PATH,MANPATH,CLASSPATH and many other environment variables just by loading and unloading the module(file). This will allow for easily changing the environment (variables) and or software versions. Here an introduction on how to create these software module files. | ||||||||
Changed: | ||||||||
< < | Lets assume we want program PROGRAM with version VERSION to become available as a software module.
#PROGRAM (e.g. samtools, plink, bedtools) with VERSION (e.g. 1.3, 2, 2.4.8) #for creating your own modules replace PROGRAM and VERSION according to the program of version that you are about to install | |||||||
> > | Case | |||||||
Added: | ||||||||
> > | Lets assume we want program PROGRAM with version VERSION to become available as a software module.
| |||||||
Get and install the program in a standardized way | ||||||||
Added: | ||||||||
> > | #$wget https://url/to/PROGRAM-VERSION.tar.gz/download #$tar -zxvf PROGRAM-VERSION.tar.gz #$cd PROGRAM-VERSION #$configure --prefix=$HOME/$MY_DISTRO/software/PROGRAM-VERSION #$make -j4 #$make install Make your own (cluster distribution specific) software modules visible when you login | |||||||
Changed: | ||||||||
< < | wget https://url/to/PROGRAM-VERSION.tar.gz/download![]() This has to be added once to your $HOME/.bash_profile After changing your .bash_profile also update your environment by invoking `source ~/.bash_profile` #MY PRIVATE SOFTWARE MODULES privatemodules=\$HOME/\$MY_DISTRO/etc/modulefiles if [ -d \$privatemodules ];then MODULEPATH=\$privatemodules:\$MODULEPATH fi #Now we create a module file for the program of choice #These module files should end up in a path that is defined in the $MODULEPATH environment variable #It might be convenient to to name the module after the program name mkdir -p $HOME/$MY_DISTRO/etc/modulefiles/PROGRAM #the next lines cat..EOF should be copied in a file and modified according to your (PROGRAMs) needs #at least replace PROGRAM and VERSION cat <<EOF>$HOME/$MY_DISTRO/etc/modulefiles/PROGRAM/VERSION.lua help( ! PROGRAM(version VERSION) Just Another Algorithm. It is a program for analysis of again something using a simulation and not wholly unlike another program. JAA is licensed under the ShareYourCode License. You may freely modify and redistribute it under certain conditions (see the file COPYING for details). - Homepage: http://JAA.sources.notyet ![]() ) whatis("JAA (version VERSION) Just Another Algorithm. It is a program for analysis of again something using a simulation not wholly unlike another program. - Homepage: http://JAA.sources.notyet" ![]() local version = "VERSION" --local base = "/hpc/local/$MY_DISTRO/$MY_GROUP/software/PROGRAM-" .. version local base = "$HOME/$MY_DISTRO/software/PROGRAM-" .. version conflict("PROGRAM") | |||||||
> > | This needs to be added once to your $HOME/.bash_profile After changing your .bash_profile also update your environment by invoking `source ~/.bash_profile` | |||||||
Changed: | ||||||||
< < | Article text. | |||||||
> > | #MY PRIVATE SOFTWARE MODULES privatemodules=\$HOME/\$MY_DISTRO/etc/modulefiles if [ -d \$privatemodules ];then MODULEPATH=\$privatemodules:\$MODULEPATH fi Create a module file for the program | |||||||
Changed: | ||||||||
< < | -- ![]() | |||||||
> > | These module files should end up in a path that is defined in the $MODULEPATH environment variable
It might be convenient to to name the module after the program name
#$mkdir -p $HOME/$MY_DISTRO/etc/modulefiles/PROGRAMThe lines cat..EOF should be copied in a (script) file and modified according to your (PROGRAMs) needs At least replace PROGRAM and VERSION and execute the file (script) cat <<EOF>>$HOME/$MY_DISTRO/etc/modulefiles/PROGRAM/VERSION.lua help( [[ PROGRAM(version VERSION) Just Another Algorithm. It is a program for analysis of again something using a simulation and not wholly unlike another program. JAA is licensed under the ShareYourCode License. You may freely modify and redistribute it under certain conditions (see the file COPYING for details). - Homepage: http://JAA.sources.notyet ]]) whatis("JAA (version VERSION) Just Another Algorithm. It is a program for analysis of again something using a simulation not wholly unlike another program. - Homepage: http://JAA.sources.notyet") local version = "VERSION" --local base = "/hpc/local/$MY_DISTRO/$MY_GROUP/software/PROGRAM-" .. version local base = "$HOME/$MY_DISTRO/software/PROGRAM-" .. version conflict("PROGRAM") prepend_path("LD_LIBRARY_PATH", pathJoin(base, "lib")) prepend_path("LIBRARY_PATH", pathJoin(base, "lib")) prepend_path("PKG_CONFIG_PATH", pathJoin(base, "lib/pkgconfig")) prepend_path("MANPATH", pathJoin(base, "share/man")) prepend_path("PATH", pathJoin(base, "bin")) EOF remarks | |||||||
Added: | ||||||||
> > |
load("Java/1.8.0_60") prereq("Java/1.8.0_60") Check module fileOnce you have installed the program and created its module file lets see if the module is available:#$module spiderIf it does not appear check if the module (lua) file is in the right path. #$module load PROGRAMShould load dependencies (if exists) and report on any changes in the environment In case of (lua) syntax errors it will show the line number that has an error. Now check if the environment variables have been changed according to the module file and the programs needs e.g. #$echo $PATH #$echo $MANPATH #$echo $CLASSPATHAlso check if unloading the module restores the environment #$module unload PROGRAM-- ![]() | |||||||
Comments |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Added: | ||||||||
> > |
Howto create your own/group software modulesIntroductionOften a program requires particular environment variables in order to run. LMOD environment modules provide a convenient way to meet these requirements in a dynamical way. By creating modulefiles for your softwares it will be easy to add and remove directories to the PATH,LIBRARY_PATH,MANPATH,CLASSPATH and many other environment variables just by loading and unloading the module(file). This will allow for easily changing the environment (variables) and or software versions. Here an introduction on how to create these software module files. Lets assume we want program PROGRAM with version VERSION to become available as a software module. #PROGRAM (e.g. samtools, plink, bedtools) with VERSION (e.g. 1.3, 2, 2.4.8)#for creating your own modules replace PROGRAM and VERSION according to the program of version that you are about to install Get and install the program in a standardized waywget https://url/to/PROGRAM-VERSION.tar.gz/download![]() This has to be added once to your $HOME/.bash_profile After changing your .bash_profile also update your environment by invoking `source ~/.bash_profile` #MY PRIVATE SOFTWARE MODULES privatemodules=\$HOME/\$MY_DISTRO/etc/modulefiles if [ -d \$privatemodules ];then MODULEPATH=\$privatemodules:\$MODULEPATH fi #Now we create a module file for the program of choice #These module files should end up in a path that is defined in the $MODULEPATH environment variable #It might be convenient to to name the module after the program name mkdir -p $HOME/$MY_DISTRO/etc/modulefiles/PROGRAM #the next lines cat..EOF should be copied in a file and modified according to your (PROGRAMs) needs #at least replace PROGRAM and VERSION cat <<EOF>$HOME/$MY_DISTRO/etc/modulefiles/PROGRAM/VERSION.lua help( ! PROGRAM(version VERSION) Just Another Algorithm. It is a program for analysis of again something using a simulation and not wholly unlike another program. JAA is licensed under the ShareYourCode License. You may freely modify and redistribute it under certain conditions (see the file COPYING for details). - Homepage: http://JAA.sources.notyet ![]() ) whatis("JAA (version VERSION) Just Another Algorithm. It is a program for analysis of again something using a simulation not wholly unlike another program. - Homepage: http://JAA.sources.notyet" ![]() local version = "VERSION" --local base = "/hpc/local/$MY_DISTRO/$MY_GROUP/software/PROGRAM-" .. version local base = "$HOME/$MY_DISTRO/software/PROGRAM-" .. version conflict("PROGRAM") Article text. -- ![]() Comments |