Changes between Initial Version and Version 1 of HPC_deploy


Ignore:
Timestamp:
2015-11-16T12:48:48+01:00 (9 years ago)
Author:
Roan Kanninga
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HPC_deploy

    v1 v1  
     1Downloading and deploying tools is done with a tool called [https://hpcugent.github.io/easybuild/ EasyBuild]. This helps to get consistent installing and deploying of tools on the cluster.
     2
     3For most of the tools there is already an !EasyBuild file existing. These files are stored on github and are called easyconfigs and can be found [https://github.com/hpcugent/easybuild-easyconfigs/tree/master/easybuild/easyconfigs here]
     4
     5If there is not an easybuild file (.eb) on github and there is no eb file on the cluster (/apps/sources/EasyBuild/custom), we have to create one ourselves.
     6
     7First an example of an custom !EasyBuild file created for deploying NGS_DNA on the cluster. Below the code there will be the explanation of all the steps in the script.
     8
     9name = 'NGS_DNA'
     10version = '3.1.2'
     11namelower = name.lower()
     12homepage = 'https://github.com/molgenis/molgenis-pipelines'
     13description = """This distribution already contains several pipelines/protocols/parameter files which you can use 'out-of-the-box' to align and impute your NGS data using MOLGENIS Compute."""
     14
     15toolchain = {'name': 'dummy', 'version': 'dummy'}
     16easyblock = 'Tarball'
     17
     18#dependencies
     19molname = 'Molgenis-Compute'
     20molversion = 'v15.04.1-Java-1.7.0_80'
     21versionsuffix = '-%s-%s' % (molname,molversion)
     22dependencies = [(molname,molversion)]
     23
     24source_urls = [('http://github.com/molgenis/molgenis-pipelines/releases/download/%s/' % (version))]
     25sources = [('%s-%s.tar.gz' % (name, version))]
     26
     27sanity_check_paths = {
     28    'files': ['workflow.csv', 'parameters.csv'],
     29    'dirs': []
     30}
     31
     32moduleclass = 'bio'
     33
     34name and version are pretty clear,
     35homepage and description; are recommended when releasing a future release of the tool.
     36toolchain; can be left like it is in the example (only when multiple tools need to be installed before this, you should use toolchain (see manual online of Easybuild).
     37easyblock; this is the type of data, tar.gz = ‘Tarball’ , executable = ‘Binary’ . All the different easyblocks are [https://github.com/hpcugent/easybuild-easyblocks/tree/master/easybuild/easyblocks/generic here]
     38If there any dependencies (in this case Molgenis-Compute), you put it in the name of your eb file (name will look like this: NGS_DNA-3.1.2-Molgenis-Compute-v15.04.1-Java-1.7.0_80)
     39Using variables instead of typing the same string 5 times is done with %s and then between () the name of the variable.
     40One necessary step is to set sanity_check_paths, this is a check whether the file is unpacked/installed correctly.
     41All the installed eb configs are put automatically in the /apps/modules/all folder, but with moduleclass you can specify an extra module path. N.B. when typing the command module avail on the cluster will only display the non-all modules. So specifying an extra moduleclass is necessary to find your module back in module avail
     42