Tags:
create new tag
view all tags

SoftwareInstallation

Can I install my own software?

The answer is: yes, (of course) you can. There is a group-specific directory that is made available for this purpose:

/hpc/local/osversion/group/

Note that osversion is the current Linux version and group is your own group name. Here, you can install any software you like and maintain it yourself. See here for explanations how to install C, Perl or R packages.

Software of general interest

If you find a software to be of general interest to HPC users, let us know. We can provide is as an software module or install it as a system package (rpm) and update it on a regular basis.

However, if you are dependent on a specific version of a software package and don't want regular updates, we advise you to install it yourself and encourage you to take the benefits of #Making software available using LMOD.

How to install your own software

A specific directory is made available for group-specific software to be installed:

/hpc/local/osversion/group/

C software

You can download your C software of interest and unpack it in this directory. Typically, a pre-installation configuration is done by executing:

./configure --prefix /hpc/local/osversion/group/package

This will create a "Makefile" which explains to the "make" utility how the software should be compiled, and where the software will be installed. The 'prefix' is the top directory under which the whole package will be installed. You may want to include the package version number in the name of this directory; that way you can install more than one version next to each other. Use symlinks to point to the 'default' installation.

After the configure step, you compile the software using:

make

The Makefile will be read, building the application binaries. To install these binaries, use:

make install

That is it! You can check the user documentation of the installed software for details of how to run the application.

Python modules

use pip to install python modules.
module load python
module list
pip list
pip install --user <module>

Create your virtual software environment for a specific Python project with Python Virtual Environment :
see : http://docs.python-guide.org/en/latest/dev/virtualenvs

Your own R version

Go to http://cran-mirror.cs.uu.nl/, download the latest "R-3.0.whatever.tar.gz" file to a submit host (hpcs01/hpcs02). Copy this file to a directory that has enough space (about 300M). In this case, let's assume /tmp, but your homedir probably has enough space as well.

cd /tmp
wget http://cran-mirror.cs.uu.nl/src/base/R-3/R-3.0.2.tar.gz
tar -zxvf R-3.0.2.tar.gz
cd R-3.0.2

Now, we'll have to "configure" and "make" this:

./configure --prefix=/hpc/local/CentOS7/bofh/R-3.0.2
make
make install

Where you replace "/hpc/local/CentOS7/bofh/R-3.0.2" with some path where you have write-access. Something like "/hpc/local/CentOS7/YOURGROUP/R-3.0.2" would probably be a good choice.

Now, you would start this version of R by entering the full path:

/hpc/local/CentOS7/bofh/R-3.0.2/bin/R

Or by adding the directory /hpc/local/CentOS7/YOURGROUP/R-3.0.2/bin to your own PATH (e.g. in your $HOME/.bash_profile).

R packages

Packages can easily be installed inside R by providing a local path:

R
install.packages( "yourLibrary", lib = "/hpc/local/osversion/group/path" )
library( "yourLibrary", lib.loc = "/hpc/local/osversion/group/path" )

Alternatively, you can customize your Linux environment variables and set R_LIBS to /hpc/local/osversion/group/path. This way, you can leave out the path specification in R.

Check
module load R
R
find.package('<mypackage>')

Perl libraries

To install CPAN perl libraries, you first have to instruct CPAN which directory to use. You can do this by modifying your CPAN configuration, from within the CPAN shell:

cpan
o conf mbuildpl_arg "installdirs=site install_base=/hpc/local/osversion/group"
o conf makepl_arg "INSTALLDIRS=site INSTALL_BASE=/hpc/local/osversion/group"
o conf prefer_installer MB
o conf prerequisites_policy follow
o conf commit

After this, CPAN should install all perl libraries in the appropriate directory such that they are available on the entire cluster. Your PERLLIB environment variable should be set to include /hpc/local/OSVERSION/GROUP/lib/perl5.

In the past, the environment variable PERL_INSTALL_ROOT used to be used for cpan installs, but that doesn't work anymore and wreaks havoc on the install if you use the cpan configuration shown above. I.o.w., be sure not to define PERL_INSTALL_ROOT.

If you later just wish to install packages, you can use the cpan -i command from the command line. No need to startup the CPAN shell.

Making software available using GUIX

Guix is a package manager and is installed for general use.
You can find information in the and

Add these lines in your ~/.bash_profile file to enable guix .

# guix environment 
# see : https://hpcguix.op.umcutrecht.nl/getting-started 

export PATH=$PATH:"/gnu/profiles/base/bin"

GX_PROFILE="$HOME/.guix-profile"
if [ -f "$GX_PROFILE/etc/profile" ]; then
  . "$GX_PROFILE/etc/profile"
fi

Making software available using LMOD

#Making software available using LMOD.

Making software available using SINGULARITY

Singularity (docker compatible but more secure) is available on the compute-nodes (n00XX).
You can download docker- or singularity- images and run your programs in singularty.
p.e. R and SAIGE module :

You can execute this in a qlogin session.

SAIGE on singularity(image)
# Download a singularty image for SAIGE:
singularity pull shub://singularity-hub.org/statgen/singularity-saige

# Login into the container
singularity shell ./statgen-singularity-saige-master-latest.simg

# Check if SAIGE is available

R
installed.packages() 
q()
n

# run a R script in the container
# create 1.R
library("SAIGE") 
print("Hello World!") 

# You can run this in a qsub script
# Run your code by :
singularity exec ./saige-0.35.8.1.simg Rscript 1.R

SAIGE on singularity with docker image

singularity pull docker://wzhou88/saige:0.35.8.1
singularity shell ./saige:0.35.8.1
R
installed.packages()
q()
n

# run
singularity exec ./saige-0.35.8.1.simg Rscript 1.R

Edit | Attach | Watch | Print version | History: r15 < r14 < r13 < r12 < r11 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r15 - 2019-05-07 - MartinMarinus
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback