Skip to content


Appname is a ... short description taken from project website.

Appname is available as a module on Apocrita. Optionally add some lines about modules if there are special use cases, e.g MPI


Optional section to cover MPI / OpenJDK vs Oracle versions. Not to be used to cover 2.7 -> 2.3 differences, except for things like python 2 / python 3 where major changes have been made and they are effectively separate.

Open JDK

Open JDK is a free and open source implementation of the Java Platform.

Oracle JDK

Oracle JDK is a free, closed source implementation of the Java Platform.

Open MPI

Using Open MPI is supported but it is recommended to use Intel MPI.

Intel MPI

Intel MPI is better apparently.


Useful and or essential parameters and settings for the application. To run the default version of appname, simply load the modulename module:

module load appname
  • If the usage page looks neat, add the appname -h output
  • If it's ugly, but possible to provide a cleaned up version in < 5 lines, add the appname -h output
  • If it's long, tell the user how to find the help documentation (man page, -h , --help) and maybe a typical example or syntax

then run one of the appname commands such as:

appname -wibble -i input.txt

Issues and bugs should be listed here in the usage section unless they affect an optional version e.g. OpenMPI, then they should be listed under that section, be careful to avoid any time sensitive text e.g. 'Will be fixed soon'. See examples:

Known Issue jobRunner

Failure to set -jobRunner will result in a failed job that does not request resources correctly.

Appname 2.7 Handling of bob

A bug affecting the handling of values of bob in version 2.7 means bobby drop no work. Further information is available in the bug report.

This issue is fixed in version 2.8 available as a module module load bob/2.8


$SV_DIR is set by the modulefile allowing Genome STRiP to function correctly.

Core Usage

To ensure that APPNAME uses the correct number of cores, the --threads=${NSLOTS} option should be used.


Optional section for applications with licencing limitations e.g. MATLAB, ansys, stata. Make sure example jobs have licence requests correct.

APPNAME is licensed for XXX cores on Apocrita, when running the application you can request licences via -l APPNAME=<number of cores>.

Example jobs

Serial job

Here is an example job running on 4 cores:

#$ -cwd
#$ -j y
#$ -pe smp 4
#$ -l h_rt=1:0:0
#$ -l h_vmem=2G

module load appname
export VARS
appname params

Parallel job

#$ -cwd
#$ -j y
#$ -pe parallel 48
#$ -l h_rt=1:0:0
#$ -l infiniband=sdv-i

module load appname
export VARS
appname params

GPU job

#$ -cwd
#$ -j y
#$ -pe smp 8
#$ -l h_rt=1:0:0
#$ -l h_vmem=7.5G
#$ -l gpu=1

module load appname
export VARS
appname params

Installing packages / plugins / addons

Optional section on installing packages / plugins e.g. rubygems python venvs

Python modules can be managed via virtualenv...

module load python
virtualenv bob
source bob/bin/activate

pip install requests


List of websites for project page, manuals, tutorials etc.

Template notes / usage

Remove this section

  • Remove sections that are not required, no blank sections with N/As
  • Check any images fit the page and don't distort the layout on desktop or mobile
  • Don't just replicate the manual
  • Explain how to use the tool on the cluster not the tool itself
  • Check that all qsub scripts / commands ACTUALLY work
  • Update the main apps page via the script
  • If bash code is present, change no-highlight to bash in code blocks

Job scripts

  • Change the examples to fit app.
  • Follow the examples, don't add sge options that are not required.
  • Use the full name of sge options not shortcuts e.g. infiniband not ib
  • Make sure to keep requests on at a usable size but not excessive as values may be copy pasted by users.
  • Ensure that the job actually works.