Linux for Research Platform - Software Packaging


Question

Software can be installed via many different methods on the Linux for Research Platform.  The FAQ below tries to help address the most common questions.

Answer

How do I install and manage software?

The most common way to install an update packages is via a package manager. Yum is the package manager for RHEL and apt is the package manager for Ubuntu.

For the majority of the software needs, the package manager should be able to provide that.

 

When would I not want to use the package manager?

The default update policy for workstations in the Linux for Research Platform is to pull and apply updates at regular intervals.   This could pose problems for software packages that you intend to keep at a specific version. R is a good example of a package that will update to a new version every few weeks.  If a particular pipeline was built to run on R/3.4.4, a sudden change to R/3.5.2 could have unintended consequences on the pipeline. In this instance, we'd want to use modules.

 

What are modules?

Modules are very common in HPC environments like Great Lakes, and Armis.  One of the primary features of modules is that multiple versions of the same package can be installed on the same server.   This allows for the ability to pipeline or create production analysis using a particular version of software, and then also simultaneously develop and test on a newer version without impacting the older one.  This also allows you to work on multiple projects at once. The other advantage of modules is that they will not affect the patch process of the workstation, nor will the modules be affected by the patch process.   This keeps to software you want at the desired version. If you want a new version, you can submit a ticket to have a new version compiled and installed.

 

What is /app and why do I need it?

/app is where HITS will try to install any software that will not be provided via the package manager.   This space is a separate partition so that we are less likely to fill up our system partition with software.  A full system partition can cause the system to not patch properly..

/app is also suitable location to put custom applications you might be developing.  Again, because the system be patching and updating at regular intervals, common places like /usr and /usr/local could be in flux.   /app provides a safe space for you application to reside.

/app is also the primary location for software on virtual machines and physical servers in the datacenter.   By using /app on the workstations, this helps provide some consistency on how the environments will be setup on the workstation and in the datacenter.

 

What software can HITS provide us via modules?

HITS will keep a software repo for modules that it can use to deploy software relatively quick.   Most software packages can be made available via modules provided that the source code is available. Popular packages include: python, R, samtools, gcc, fastqc, bowtie2, bwa, gatk, perl & cufflinks.

 

How do I request software to be packaged and/or provisioned?

Submit a request here